Классическая криптографических ключей обмена и аутентификации


  Share  
|

Предположим, Алиса и Боб хотел общаться. Если они разделяют общую ключ, они могут использовать классическое криптосистеме. Но как они согласуют общий ключ? Если Алиса посылает одного до Боб, накануне в eavesdropper увидят его и сможет читать трафик между ними.

Чтобы избежать этого bootstrapping проблемы классической протоколов полагаться на доверенной третьей стороной, Кэти. Алиса и Кэти доля тайного ключа, и Боб и Кэти поделиться (разные) секретный ключ. Наша цель - предоставить тайным ключом, Алиса и Боб акцию. Ниже простой протокол служит отправной точкой.

  1. Алиса -> Кэти: (просьбу о сессии ключ к Бобу) kAlice

  2. Кэти -> Алиса: (ksession) kAlice | | (ksession) kBob

  3. Алиса -> Bob: (ksession) kBob

Теперь Боб расшифровывает сообщение и использует ksession общаться с Алисой.

Этот протокол является основой для многих более сложных протоколов. Однако Боб не знает, кому он говорит. Предположим, что Алиса посылает Бобу сообщение (например, "Депозит $ 500 в Дан на банковский счет сегодня") enciphered под ksession. Если накануне записи второй сигнал в обмен выше, а сообщение enciphered под ksession, она может послать сообщение Бобу (ksession) kBob последовали сообщения enciphered под ksession. Боб не будет знать, кто послал его.

Как избежать проблем такого рода повторения нападения добавляет значительные сложности. Основные протоколы обмена, как правило добавить, как минимум, определенный аутентификации и защиты от повторения атаки. Одним из наиболее известных таких протоколов является Нидхам - Шредер протокола.

  1. Алиса -> Кэти: (Алиса | | Bob | | rand1)

  2. Кэти -> Алиса: Алиса (| | Bob | | rand1 | | ksession | | (Алиса | | ksession) kBob) kAlice

  3. Алиса -> Боб: Алиса (| | ksession) kBob

  4. Боб -> Алиса: (rand2) ksession

  5. Алиса -> Bob: (rand2 1) ksession

В этот протокол, rand1 и rand2 два номера генерируется случайным образом, за исключением того, что они не могут повторить между различными протокола обмена. Эти цифры называются nonces. (Если Алиса протокола начинается заново, ее rand1 в первом обмена не будет использоваться там.) Основой для безопасности этого протокола заключается в том, что как Алиса и Боб доверия Кэти.

Когда Боб получает третье сообщение и расшифровывает его, он видит, что сообщение имен Алиса. Поскольку он может decipher сообщение, это сообщение было enciphered использованием ключевых он делит только с Кэти. Поскольку он надеется, Кэти, не разделяет основных kBob с кем-либо еще, сообщения должны были enciphered на Кэти. Это означает, что Кэти является vouching что она в ksession так Боб может общаться с Алисой. Поэтому Боб надеется, что Кэти направил послание Алисе, и Алиса направила ему.

Однако, если канун зарегистрировано сообщение, она могла бы replayed его Боб. В таком случае Ева не будет знать ключ сессии, поэтому Боб устанавливает, чтобы убедиться, что его вовсе неизвестных получателей знаю. Он посылает случайное сообщение enciphered на ksession к Алисе. Если Ева перехватывает сообщение, она не будет знать, что возвращение; Если она что-либо отправить, шансы ее случайную выборку сообщение о том, что является правильным является очень низким и Боб будет обнаруживать попытки воспроизвести. Но если Алиса действительно начала общения, когда она получает сообщение, она может decipher он (потому что она знает ksession), некоторые функции фиксированных на случайные данные (в данном случае, сокращением его 1), и encipher результат и вернуть его Боб. Тогда Боб будут уверены, что он говорит с Элис.

Алиса должна убедить себя, что она поговорить с Бобом, а также. Когда она получает второе послание от Кати, она расшифровывает его и проверяет, Алиса, Боб и rand1 присутствуют. Это говорит ей, что Кэти послал второе сообщение (поскольку enciphered с kAlice, что только она и Кэти знаю) и что в ответ на первое сообщение (поскольку rand1 это как в первой и второй сообщений). Она получает ключ сессии и передает остальным на Боба. Она знает, что только Боб имеет ksession, поскольку только она и Боб могут читать сообщения, содержащий ключ. Поэтому, когда она получает сообщения enciphered с этим ключом, она будет уверен, что она поговорить с Бобом.

В Нидхам - Шредер протокола предполагается, что все криптографические ключи в безопасности. На практике ключи сессии будет генерироваться pseudorandomly. В зависимости от используемых алгоритмов, можно было предсказать, например ключей. Деннинг и Сакко, что Ева может получить ключ сессии и подрывает протокола. Предположим, что протокол выше состоялся. Тогда:

  1. Канун -> Боб: Алиса (| | ksession) kBob

  2. Боб -> Алиса: (rand3) ksession [перехвачены канун]

  3. Канун -> Bob: (rand3 1) ksession

Теперь Боб считает он поговорить с Алисой. Он действительно общались в сочельник.

Деннинг и Сакко рекомендуем использовать времени для того, чтобы Боб обнаружить это воспроизвести. Применение их метода к Нидхам - Шредер протокола урожайности

  1. Алиса -> Кэти: (Алиса | | Bob | | rand1)

  2. Кэти -> Алиса: Алиса (| | Bob | | rand1 | | ksession | | (Алиса | | T | | ksession) kBob) kAlice

  3. Алиса -> Боб: Алиса (| | T | | ksession) kBob

  4. Боб -> Алиса: (rand2) ksession

  5. Алиса -> Bob: (rand2 1) ksession

, где Т - времени. Когда Боб получит сообщение в шаге 3, он отвергает его, если времени слишком старая (слишком стары, определяется из системы используется). Это изменение требует синхронизации часов. Деннинг и Сакко отметить, что одним из главных, с медленным часы уязвимы для повторения атаки. А, с быстрыми часы также уязвимы, и просто сбросить часы не устраняет уязвимости.

В Отвай - Реес протокола устраняет эти проблемы, избегая использования времени.

  1. Алиса -> Bob: количество | | Алиса | | Bob | | (rand1 | | количество | | Алиса | | Боб) kAlice

  2. Боб -> Кэти: - количество | | Алиса | | Боб, | | (rand1 | | количество | | Алиса | | Боб) kAlice | | (rand2 | | количество | | Алиса | | Боб) kBob

  3. Кэти -> Bob: количество | | (rand1 | | ksession) kAlice | | (rand2 | | ksession) kBob

  4. Боб -> Алиса: - количество | | (rand1 | | ksession) kAlice

Цель этого целое количество заключается в том, чтобы связать все сообщения с конкретной валюты. Кроме того, рассмотреть элементы протокола.

Когда Алиса получает четвертое послание от Боба, она проверяет, что количество согласна с количество в первое сообщение о том, что она направлена Боб. Если это так, она знает, что это часть обмена. Она также надеется, что Кэти генерирует ключ сессии, поскольку только Кэти и Алиса знают kAlice, и случайное число rand1 согласен с тем, что Алиса поместить в enciphered часть сообщения. Сочетание этих факторов, Алиса теперь убежден, что она поговорить с Бобом.

Когда Боб получает сообщение от Кати, он определяет, что количество соответствует одной он получил от Алисы и послал к Кэти. Он расшифровывает, что часть сообщения enciphered с его ключевым, и проверяет, rand2 то, что он направил. Затем он знает, что Кэти направил ответ, и что он применяется для обмена с Элис.

Поскольку времени не используются, синхронизация часов системы не имеет никакого значения. Теперь предположим, что накануне приобрел старый ключ сессии и сообщения 3.

Она передает, что сообщение Алиса. Алиса сразу же отвергает ее, если она не имеет постоянного ключевых обменов с Бобом. Если она делает, и количество не совпадает, она отвергает накануне послании. Единственный способ Ева может выдавать Боб является, если она приобрела ksession для постоянного обмена, отчет о третьей сообщение, и недоволен соответствующие части к Алисе до Боб может сделать это. В этом случае, однако, вечером может просто слушать трафик, а не повторение будет участвовать.

в этой статье идет речь добавил Билл Kuriko

Share  

© 2005-2010 E-articles.info All Rights Reserved - Terms and conditions