Протоколы с коммутативным алгоритмом шифрования [ 4 ]

Алгоритм шифрования называется коммутативным, если результат последовательного шифрования сообщения М на ключах К1 и К2 не зависит от порядка используемых ключей: К2{К1{M}}= =K1{K2{M}}, где K{M} – результат шифрования M на ключе К. Примерами коммутативного алгоритма шифрования являются алгоритм DH, алгоритм RSA при общем модуле, алгоритм гаммирования (сложения по модулю). Коммутативность алгоритма шифрования является здесь следствием коммутативности операций модульного умножения и сложения.

Коммутативный алгоритм шифрования привлекателен тем, что пользователям не нужно устанавливать общий ключ парной связи, а достаточно генерировать личные секретные ключи. Идея конфиденциальной связи без предварительной договоренности о ключе шифрования наиболее ярко демонстрируется примером Шамира (Рис.6).

5.1. Трехшаговый протокол шифрования Шамира [ 4 ]

clip_image002

Рис.6

Формальная запись протокола:

A: clip_image004ДСЧ (А) clip_image006 х; М clip_image008 х clip_image010 В

В: ДСЧ (В) clip_image006[1] y; (М clip_image008[1] х) clip_image008[2] y clip_image010[1] A

A: (М clip_image008[3] х clip_image008[4] y) clip_image008[5] x = M clip_image008[6] y clip_image010[2] B

B: (M clip_image008[7]y) clip_image008[8]y = M

Атака 1. Противник Е перехватывает все три сообщения в канале связи и складывает их по mod2. В результате получается М в открытом виде.

Атака 2. Пользуясь отсутствием идентификации корреспондентов А и В, противник Е может сыграть роль В, разрушая конфиденциальность М, или сыграть роль А, навязывая ложное сообщение пользователю В.

5.2. Трехшаговый протокол с коммутативным шифрованием [6]

В общем случае трехшаговый протокол шифрования Шамира имеет следующую формальную запись (Рис.7):

А: Ka { M }clip_image010[3]B

B: clip_image012

A: clip_image014

B: clip_image016

clip_image018

Рис.7

Ведущий А протокола применяет сначала операцию шифрования на ключе Ка, затем операцию расшифрования с ключом clip_image020;clip_image004[1]

ведомый B применяет сначала операцию расшифрования с ключом Кclip_image022, затем операцию шифрования с ключом Кb. Предполагается, что для всякого М и К имеет место: К-1{K{M}}=K{K-1{M}}.

Атака 1. Рефлексия [6]

Противник Еb, играющий роль В, возвращает А его первое сообщение. Действуя по протоколу, А применяет к нему операцию clip_image024, и в канале оказывается открытое сообщение М.

А: clip_image026

Атака 2. (Параллельный протокол) [6]

Противник Еb возвращает А его первое сообщение не в качестве ответа, а как начало параллельного протокола с ведущим Еb и ведомым А. Предполагается, что при работе в сети такое возможно (Рис.8).

clip_image028

Рис.8

I протокол ( А clip_image006[2] Еb )

II протокол ( Еb clip_image006[3] А )

1. А: Ка{M}clip_image010[4]Еb

1’. Еb: Ka{M}clip_image010[5]A

2’. A: clip_image030{Ka{M}}=Mclip_image010[6]Еb

2. Еb: clip_image032clip_image010[7]A

3. A: clip_image030[1]{clip_image032[1]}clip_image010[8]Еb

 

3’. Еb : clip_image030[2]{clip_image032[2]}clip_image010[9]A

4. A: Ка{clip_image030[3]{clip_image032[3]}}=clip_image032[4]

 
 

4’. ___________________

В результате противник Е получает сообщение М, предназначенное для В, а пользователь А получает ложное сообщение clip_image036, якобы от В.

Атака рефлексии и с параллельным протоколом являются сильным оружием противника, против которого трудно предложить простую защиту. Возможны также атаки с несколькими параллельными протоколами, в которых противник Е может играть одновременно несколько ролей: например, Ea, Eb и Es – роль сервера S.

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100