Протокол Деннинг — Сакко — общее название для симметричного и асимметричного протоколов распространения ключей с использованием доверенной стороны.

История В 1981 году сотрудники университета Пердью (англ. Purdue University) Дороти Деннинг (англ. Dorothy E. Denning) и Джованни Мария Сакко (англ. Giovanni Maria Sacco) представили атаку на протокол Нидхема — Шрёдера и предложили свою модификацию протокола, основанную на использовании временны́х меток.

Протокол Деннинг — Сакко с симметричным ключом При симметричном шифровании предполагается, что секретный ключ, принадлежащий клиенту, известен только ему и некоторой третьей доверенной стороне — серверу аутентификации. В ходе выполнения протокола клиенты (Алиса, Боб) получают от сервера аутентификации (Трент) новый секретный сессионный ключ для шифрования взаимных сообщений в текущем сеансе связи. Рассмотрим реализацию протокола Деннинг — Сакко с симметричным ключом:

Описание Первое сообщение от Алисы к Тренту содержит в себе идентификаторы участников предстоящего обмена — Алисы и Боба. Данное сообщение посылается открытым текстом:

Трент генерирует сессионный ключ и отправляет Алисе зашифрованное сообщение, которое включает в себя идентификатор Боба, сессионный ключ, метку времени и пакет , выполняющий роль сертификата Алисы:

Затем Алиса расшифровывает сообщение Трента и отправляет Бобу свой сертификат :

По окончании протокола у Алисы и Боба есть общий сеансовый ключ .

Алиса и Боб могут убедиться в том, что полученные ими сообщения валидные, с помощью проверки меток времени .

Атака на протокол В 1997 году Гэвин Лоу (англ. Gavin Lowe) представил атаку на протокол:

Алиса и Боб завершают сеанс протокола, в результате чего у сторон вырабатывается сессионный ключ :

1. 2. 3.

Далее злоумышленник повторяет последнее сообщение Алисы:

4.

Действия злоумышленника приводят к тому, что Боб решает, будто Алиса хочет установить с ним новое соединение.

Модификация протокола В той же работе Лоу предложил модификацию протокола, в которой обеспечивается аутентификация Алисы перед Бобом:

Сначала Алиса и Боб полностью повторяют сеанс протокола:

1. 2. 3.

Затем Боб генерирует случайное число, шифрует его на сессионном ключе и отправляет Алисе:

4.

Алиса расшифровывает сообщение Боба, прибавляет к единицу, шифрует полученный результат на сессионном ключе и отправляет Бобу:

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

В рамках протокола Боб никак не подтверждает получение нового сессионного ключа и возможность им оперировать. Сообщение от Алисы на 5-м проходе могло быть перехвачено или изменено злоумышленником. Но никакого ответа Алиса от Боба уже не ожидает и уверена, что протокол завершился успешно.

Протокол Деннинг — Сакко с открытым ключом Асимметричный вариант протокола Деннинг — Сакко. Сервер аутентификации владеет открытыми ключами всех клиентов. Рассмотрим реализацию протокола Деннинг — Сакко с открытым ключом:

Описание Первое сообщение от Алисы к Тренту содержит в себе идентификаторы участников предстоящего обмена — Алисы и Боба. Данное сообщение посылается открытым текстом:

В ответ Трент отправляет Алисе подписанные сертификаты открытых ключей Алисы и Боба. Дополнительно в каждый сертификат добавляются временные метки:

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

Боб проверяет подпись доверенного центра на сертификате , расшифровывает сессионный ключ и проверяет подпись Алисы.

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

Сначала Алиса и Боб проводят стандартный сеанс протокола, выработав новый сессионный ключ :

1. 2. 3.

После этого Боб инициирует новый сеанс с Кларой и действует в рамках протокола:

4. 5.

На последнем шаге протокола Боб воспроизводит в сеансе с Кларой сообщения и , полученные от Алисы:

6.

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

Примечания

Литература

Деннинг — Сакко