Предисловие
Данный текст будет являться одной из переписанных глав для учебного пособия по защите информации кафедры радиотехники и систем управления, а также, с этого учебного кода, кафедры защиты информации МФТИ (ГУ). Полностью учебник доступен на github (см. также draft releases). На Хабре планирую выкладывать новые «большие» куски, во-первых, чтобы собрать полезные комментарии и замечания, во-вторых, дать сообществу больше обзорного материала по полезным и интересным темам. Предыдущие разделы главы «Криптографически протоколы»: 1, 2, 3, 4, 5; следующий по порядку: 7.
Асимметричные протоколы, или же протоколы, основанные на криптосистемах с открытыми ключами, позволяют ослабить требования к предварительному этапу протоколов. Вместо общего секретного ключа, который должны иметь две стороны (либо каждая из сторон и доверенный центр), в рассматриваемых ниже протоколах стороны должны предварительно обменяться открытыми ключами (между собой либо с доверенным центром). Такой предварительный обмен может проходить по открытому каналу связи, в предположении, что криптоаналитик не может повлиять на содержимое канала связи на данном этапе.
Протокол Деннинга—Сакко
Протокол предложен Дороти Деннинг и Джованни Сакко в 1981 году (англ. Dorothy E. Denning, Giovanni Maria Sacco). В данном протоколе к доверенному центру (Тренту) за сертификатами сразу обоих участников обращается инициатор (Алиса). Этот же участник отвечает и за формирование нового сессионного ключа .
- Алиса генерирует новый сессионный ключ
- Боб проверяет подпись доверенного центра на сертификате , расшифровывает сессионный ключ и проверяет подпись Алисы.
Отсутствие в сообщении каких-либо идентификаторов делает протокол уязвимым к атаке с известными сеансовым ключом и позволяет второй стороне (Бобу) выдать себя за инициатора (Алису) в сеансе с третьей стороной (Кларой).
- Алиса и Боб провели сеанс протокола, выработав новый сессионный ключ .
- Боб воспроизводит сообщения и от Алисы в сеансе с Кларой:
- Клара успешно проверяет подпись доверенного центра на сертификате , расшифровывает сессионный ключ и проверяет подпись Алисы.
В результате Клара уверена, что получила от Алисы новый сессионный ключ .
Протокол DASS
Протокол DASS являлся составной частью сервиса распределённой аутентификации DASS (англ. Distributed Authentication Security Service), разработанного компанией DEC и описанного в RFC 1507 в сентябре 1993 года.
В протоколе DASS, по аналогии с протоколами Wide-Mouth Frog и Деннинга—Сакко, инициатор (Алиса) генерирует и новый сеансовый ключ, и, для каждого сеанса протокола, новую пару открытого и закрытого ключей отправителя. Доверенный центр (Трент) используется как хранилище сертификатов открытых ключей участников. Но в отличие от Деннинга—Сакко к доверенному центру обращаются по очереди оба участника.
С помощью сертификатов открытых ключей и , которые отправляет Трент, и дальнейшего подтверждения владения соответствующими ключами, участники могут аутентифицировать друг-друга. Успешная расшифровка временных меток из сообщений и обеспечивает подтверждение владением сеансовым ключом.
В протоколе используется время жизни () сеансового ключа , однако в сообщение не включена метка времени. В результате протокол остаётся уязвимым к атаке с известным сеансовым ключом. Предположим, что Меллори смогла записать полностью прошедший сеанс связи между Алисой и Бобом, а потом смогла получить доступ к сеансовому ключу . Это позволяет Меллори аутентифицировать себя как Алиса перед Бобом.
На первом проходе Меллори меняет только первое сообщение, содержащее метку времени . Всё остальное Меллори копирует из записанного сеанса связи. Если Боб не записывает используемые ключи, он не заметит подмены. Простейшее исправление данной уязвимости состоит во включении метки времени в сообщение .
Так как в протоколе сеансовый ключ шифруется «мастер»-ключом Боба , то компрометация последнего приведёт к компрметации всех использованных ранее сеансовых ключей. То есть протокол не обеспечивает совершенной прямой секретности (цель G9).
Ни Трент, ни Боб не участвуют в формировании новых сеансовых ключей. Поэтому Алиса может заставить Боба использовать старый сеансовый ключ, как в протоколах Wide-Mouth Frog и Yahalom.
Протокол Ву—Лама
Протокол Ву—Лама, предложенный в 1992 году (англ. Thomas Y. C. Woo, Simon S. Lam), добавляет к сообщениям случайные числа участников, что позволяет защитить протокол в том числе от атак повтором, а также обеспечивает подтверждение владения ключами. Также это единственный из рассмотренных в этом разделе протоколов, в котором новый ключ формируется доверенной стороной (Трентом).
Так как в сертификате сессионного ключа присутствует случайное число Алисы , то злоумышленник не сможет использовать старый сертификат в новом сеансе от имени Боба. Следовательно 6-й проход протокола позволяет Алисе убедиться, что Боб знает новый сессионный ключ , и, следовательно владеет своим «мастер»-ключом (так как это единственный способ получить сертификат из сообщения ).
Сообщение от Алисы к Бобу на седьмом проходе позволяет одновременно гарантировать, что Алиса знает и свой «мастер»-ключ (так как смогла расшифровать ), и новый сессионный ключ , так как смогла корректно зашифровать этим ключом.
Послесловие
Последним разделом главы про распределение ключей является уже опубликованный материал о квантовом протоколе BB84. Так что текущая статья фактически завершает цикл разделов про криптографические протоколы для Хабра. Автор будет благодарен за фактические и другие замечания к тексту.