Протокол распределения ключей (англ. Key distribution protocols) — это условленная последовательность действий пользователей (криптографический протокол) по созданию защищенного канала связи, заключающаяся в генерации и обмене сеансовыми ключами и аутентификации сообщений.
Основной задачей протоколов распределения ключей является выработка участниками (будем называть их в дальнейшем, как всегда, Алисой и Бобом) общего ключа. Вместе с тем и Боб, и Алиса должны быть уверены в том, что связь ведется именно с собеседником, а не со злоумышленником или подставным лицом. Большинство подобных протоколов основываются на существовании доверенного центра (в дальнейшем — Трент), и предполагается, что каждому пользователю Трент выделяет секретный ключ, таким образом перед началом работы протокола все ключи уже находятся у пользователей.
Все протоколы распространения ключей так или иначе делятся на следующие категории (пересекающиеся):
Идентификаторы Алисы (Alice), инициатора сессии | |
Идентификатор Боба (Bob), стороны, с которой устанавливается сессия | |
Идентификатор Трента (Trent), доверенной промежуточной стороны | |
Открытые ключи Алисы, Боба и Трента | |
Секретные ключи Алисы, Боба и Трента | |
Шифрование данных ключом Алисы, либо совместным ключом Алисы и Трента | |
Шифрование данных ключом Боба, либо совместным ключом Боба и Трента | |
Шифрование данных секретными ключами Алисы, Боба (цифровая подпись) | |
Порядковый номер сессии (для предотвращения атаки с повтором) | |
Случайный сеансовый ключ, который будет использоваться для симметричного шифрования данных | |
Шифрование данных временным сеансовым ключом | |
Метки времени, добавляемые в сообщения Алисой и Бобом соответственно | |
Случайные числа (nonce), которые были выбраны Алисой и Бобом соответственно |
основная статья: Симметричные криптосистемы
Протокол "Лягушка с открытым ртом" (Wide-Mouth Frog англ.), оригинальная статья Wide-Mouth Frog — простейший протокол управления ключами. Он позволяет двум абонентам установить общий сессионный ключ для защищенного общения между собой.[1] В протоколе принимает участие доверенный центр.
1. K — случайный сеансовый ключ
2. TA — метку времени
и отправляет Тренту (доверенному центру), добавив своё имя:
M0 = A, EA (TA, B, K).
TB — новую метку времени (которая может отличаться от TA) и отправляет Бобу
M1 = EB (TB, A, K).
Протокол Нидхема-Шрёдера на симметричных ключах (англ. The Needham-Schroeder shared-key protocol) важен, в первую очередь, по историческим причинам. Он является основой для многих протоколов распространения ключей, использующих доверенный центр, начиная с 1978 года. В том числе протоколы Kerberos и Otway-Rees (описанные ниже) берут своё начало в этом протоколе.
Данный протокол является примером протокола, не зависящего от меток времени и при этом обеспечивающего выработку и подтверждение ключа.
M0 = A, B, NA.
M1 = EA (NA, B, K, EB (K, A)).
M2 = EB (K, A).
M3 = EK (NB).
M4 = EK (NB - 1).[3]
В этой статье не хватает ссылок на источники информации. |
Протокол Kerberos (англ. Kerberos Protocol) — это распределенная система аутентификации (проверки подлинности), которая позволяет процессу (клиенту), запущенному от имени пользователя, доказать свою личность серверу без отправления данных по сети, которое может позволить злоумышленнику впоследствии выдавать себя за пользователя. Kerberos при необходимости обеспечивает целостность и конфиденциальность данных, передаваемых между клиентом и сервером.
Kerberos был разработан в середине 80-х в рамках проекта Athena в MIT.
Потому как использование Kerberos распространялось в различные среды, оказались необходимыми изменения для поддержки новых моделей использования. Для удовлетворения этих потребностей в 1989 году началась разработка Kerberos версии 5 (Kerberos V5). И хотя версия 4 до сих пор работает на многих сайтах, пятая версия считается стандартом Kerberos.[4]
M0 = A, B, NA.
M1 = EA (K, NA, t, B) , EB (K, A, t).
M2 = EB (K, A, t), EK(A, TA, t).
M3 = EK (TA).
В специализированной литературе зачастую сообщение EB (K, A, t) называется ticket. Каждый раз, когда условная Алиса доказывает свою личность условному Бобу (ведь число пользователей в сети может быть гораздо больше, чем 2), она полагается на Трента (доверенный центр), доверяя ему сгенерировать новый секретный ключ и безопасно вручить его обоим пользователям. Новый секретный ключ K называется сеансовым ключом (англ. Session key), и как раз Kerberos Ticket используется, чтобы доставить его Бобу. Kerberos Ticket является сертификатом, выданным доверенным центром и зашифрованным с помощью EB — общего ключа Боба и Трента. Среди прочей информации, билет содержит случайный сеансовый ключ, который будет использоваться для аутентификации Алисы Бобом, имя участника (в данном случае Алисе), которому сеансовый ключ был выдан, и срок действия, по истечении которого сеансовый ключ больше не действителен. Данный сертификат (Kerberos Ticket) не отправляется непосредственно Бобу, но вместо этого отправляется клиенту (Алисе), который направляет его для проверки Бобу в составе запроса. Так как сертификат шифруется на сервере ключом, известным только Тренту и Бобу, то изменить сертификат (Kerberos Ticket) для клиента (Алисы) не представляется возможным.[4]
Протокол Отвея-Рииса (англ. The Otway-Rees Protocol) — протокол на симметричных ключах, позволяющий распределять ключи, не используя метки времени.
Повторимся, что перед началом работы протокола у нас есть:
M0 = N, A, B, EA(NA, N, A, B)
M1 = N, A, B, EA(NA, N, A, B), EB(NB, N, A, B).
Трент генерирует ключ K и посылает Бобу сообщение.
M3 = EA (NA, K), EB (NB, K).
M4 = EA (NA, K).
Изящно получаем за 4 сообщения:
основная статья: Криптосистема с открытым ключом
Протокол Нидхема-Шрёдера на асимметричных ключах (англ. The Needham-Schroeder public-key protocol) был опубликован так же, как его симметричный родственник, в 1978 году. Это широко применяемая модель при изучении формальных методов проверки криптографических протоколов. Эта популярность очевидно идет от одной из самых успешных историй в этой области — в 1994 году протокол подвергся успешной атаке повтором (replay attack) спустя 16 лет после его публикования. Атаку произвел David G. Lowe — канадский ученый в области Computer Science.[7]
На сайте Вурстерского политехнического института (англ. Worcester Polytechnic Institute) можно найти оригинальную статью, которую публиковал David G. Lowe [8]
Данный протокол предоставляет взаимную передачу ключей kA и kB, а также взаимную аутентификацию.
M0 = PB (A, kA).
M1 = PA (kA, kB).
M2 = PB (kB).
Подмена (англ. Impersonation) — попытка подменить одного пользователя другим. Нарушитель, выступая от имени одной из сторон и полностью имитируя её действия, получает в ответ сообщения определенного формата, необходимые для подделки отдельных шагов протокола.
Методы противодействия состоят в:
Например, одна из сторон, имеющая доверительные отношения с сервером, выступает от его имени, подменяет его трафик обмена с другими сторонами и в результате получает возможность раскрывать значения генерируемых центром ключей.
Атака повтором (англ. Replay attack) — повторное использование ранее переданного в текущем или предыдущем сеансе сообщения или его части в текущем сеансе протокола.
Например, повторная передача информации ранее проведенного протокола идентификации может привести к повторной успешной идентификации того же самого или другого пользователя.
В протоколах передачи ключей данная атака часто применяется для повторного навязывания уже использованного ранее сеансового ключа — атака на основе новизны (freshness attack).
Методы противодействия состоят в обеспечении целостности сеанса и невозможности вставки в него лишних сообщений. Для этого используется вставка в передаваемые сообщения временных меток или случайных чисел, а также идентификаторов сторон.
Комбинированная атака (англ. interleaving attack) — подмена или другой метод обмана, использующий комбинацию данных из ранее выполненных протоколов, в том числе протоколов, ранее навязанных противником.
Метод противодействия состоит в обеспечении целостности сеансов протоколов и отдельных сообщений.
Alfred J.Menezes, Paul C. van Oorschot, Scott A. Vanstone. Handbook of Applied Cryptography. — 1996. — С. 489-534. — 816 с. — ISBN 0-8493-8523-7.
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .