Реферат: ТИПИЧНЫЕ ДЕФЕКТЫ В КРИПТОГРАФИЧЕСКИХ ПРОТОКОЛАХ
В : ДСЧ (В) tb ; ; [B ║A ║Z] A
A : ДСЧ (A) ta ; ;
; ;
[A ║B ║U ║V] канал [ ║ ║ ║] B
В: =A(?); =B(?);;
Здесь знак “~ ” означает возможность искажения каналом или модификации противником, знак “ ” означает возведение в степень , - обратный к tb по mod (p -1), знак (? ) после равенства означает, что проверяется выполнение равенства: при невыполнении протокол разрывается, при выполнении осуществляется переход к следующей операции.
В результате ключ при U отличается от Kab , если выполняется проверка аутентичности . Отсюда следует:
Атака 1. Противник Еа , играющий роль пользователя А, подменяет в канале сообщение [A ║B ║U ║V] на [A ║B ║║] с условием . В результате пользователь В формирует ложный ключ Kab .
Атака 2. Противник Еb , играющий роль В , посылает А число , на что тот по протоколу отвечает числами (U , V ), где В результате противник Е устанавливает с А ключ парной связи Kae , переданный по открытому каналу связи, причем А считает, что это ключ для связи с В.
Протоколы с криптосистемой RSA
Предварительно все пользователи А , В , С , ... сети связи генерируют личные модули na , nb , nc , ..., каждый из которых имеет структуру: n=pq произведения двух простых чисел p и q (na =pa qa ; nb =pb qb ; nc =pc qc ; ... ), выбранных надлежащим образом [ 2 ]. Затем каждый пользователь соответствующим образом выбирает пару чисел (e, d ), удовлетворяющих условию , где Далее числа (n, e) в качестве открытого ключа отправляются по достоверному каналу в общедоступный справочник. Числа (p, q, , d) пользователи сохраняют в секрете.
Протокол шифрования и цифровой подписи по RSA
Данный протокол рекомендован МККТТ, рекомендация Х.509. Дефект протокола состоит в неправильном порядке операции шифрования и подписывания: правильно сначала подписать, затем шифровать. В формальной записи протокола применяются следующие обозначения:
М - передаваемое сообщение от А к В ;
Сb - шифрованное А сообщение М на ключе eb получателя В ;
Сba - сообщение Сb , подписанное А на ключе da отправителя А .
Предполагается, что nb <na . Обоснование последних двух равенств состоит в следующих преобразованиях:
Атака1 . Некоторый пользователь Х (нарушитель) перехватывает сообщение (Рис.5), снимает ЭЦП пользователя А, пользуясь открытым ключом (na , ea ).
Рис.5
Полученное шифрованное сообщение Сb он подписывает на своем секретном ключе dx , тем самым присваивая себе авторство на сообщение М . Получив сообщение , пользователь В снимает подпись Х с помощью открытого ключа (nx , ex ), расшифровывает на своем секретном ключе db и выделяет сообщение М , которое считает сообщением от Х , но не от А , если само сообщение М не содержит признаков А .
Замечание : если na =nb , то операции шифрования и подписывания становятся перестановочными, так что снятие ЭЦП становится возможным при любом порядке этих операций.
Протокол шифрования по RSA на общем модуле
Пусть сообщение М шифруется по криптосистеме RSA с общим модулем “n ”. Пользователи А и В получают шифрованные сообщения ,
Атака1. Противник Е перехватывает шифрованные сообщения Са и Сb . Зная открытые ключи ea и eb , противник по алгоритму Эвклида находит числа x , y так, что xea + yeb = 1 (с большой вероятностью числа ea и eb взаимно просты). Тогда . В результате противник вычисляет сообщение М , зная только открытые ключи ea , eb и модуль n , но не зная модуля , что равносильно знанию факторизации n=pq .
Протоколы с коммутативным алгоритмом шифрования
Алгоритм шифрования называется коммутативным, если результат последовательного шифрования сообщения М на ключах К1 и К2 не зависит от порядка используемых ключей: К2{К1{M}}= =K1{K2{M}}, где K{M} - результат шифрования M на ключе К. Примерами коммутативного алгоритма шифрования являются алгоритм DH, алгоритм RSA при общем модуле, алгоритм гаммирования (сложения по модулю). Коммутативность алгоритма шифрования является здесь следствием коммутативности операций модульного умножения и сложения.
Коммутативный алгоритм шифрования привлекателен тем, что пользователям не нужно устанавливать общий ключ парной связи, а достаточно генерировать личные секретные ключи. Идея конфиденциальной связи без предварительной договоренности о ключе шифрования наиболее ярко демонстрируется примером Шамира (Рис.6).
Трехшаговый протокол шифрования Шамира
Рис.6
Формальная запись протокола:
A: ДСЧ (А) х; М х В
В: ДСЧ (В) y; (М х) y A
A: (М х y) x = M y B
B: (M y) y = M
Атака 1 . Противник Е перехватывает все три сообщения в канале связи и складывает их по mod2 . В результате получается М в открытом виде.