Denning–Sacco (протокол)

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 14:10, 25 мая 2016.

Denning–Sacco — модифицированная версия симметричной версии протокола Needham–Schroeder, полученная путем замены одноразовых случайных кодов на временные метки для предотвращения атаки повторного воспроизведения. Именно такая версия используется в Kerberos [1].

Предпосылки

Атака на протокол Needham-Schroeder

Протокол Needham–Schroeder уязвим для атаки повторного воспроизведения[2]. Если злоумышленник использует старое скомпрометированное значение , он может повторить отправку сообщения третьей стороне , которая его примет, будучи не в состоянии проверить актуальность ключа.

Защита от атаки

Эта уязвимость была исправлена в модификации протокола путем замены одноразовых случайных кодов на временные метки[3].

Описание протокола

Протокол предполагает наличие двух пользователей и , а также доверенной стороны (Key Generator Center), с которой у пользователей есть заранее установленные симметричные ключи ( и соответственно). [4]

  1. передаёт доверенной стороне (в открытом виде) информацию о требуемом соединении: свой идентификатор, идентификатор , а также временная метка :


  2. генерирует сессионный ключ и формирует посылку для , которая содержит вычисленную метку времени , идентификатор , сессионный ключ , а также посылку, предназначенную для : сессионный ключ и идентификатор , зашифрованные общим ключом и . Вся эта посылка шифруется общим ключом и , и отправляется :


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


  4. Расшифровав сообщение, узнаёт сессионный ключ и идентификатор собеседника. Далее следует проверка: вычисляет метку времени и, зашифровав её сессионным ключом, отправляет :


  5. расшифровывает сообщение и посылает подтверждение успешного установления сессии - значение , уменьшенное на , зашифрованное сессионным ключом:

Примечания

  1. http://www.slashroot.in/needham-schroeder-protocol-explained
  2. Gavin Lowe. A family of attacks upon authentication protocols. Technical Report 1997/5, Department of Mathematics and Com- puter Science, University of Leicester, 1997
  3. Denning-Sacco shared key. Dorothy E. Denning and Giovanni Maria Sacco 1981
  4. http://ru.morfey13.wikia.com/wiki/Построение,_плюсы_и_минусы,_криптографическая_стойкость_на_примере_протокола_DASS,_Деннинга-Сакко_или_Ву-Лама