<<
>>

2.2.4. Протоколы распределения ключей, основанные на асимметричных криптосхемах

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

Протоколы транспортировки ключей, в свою очередь, под-разделяются на три класса:

1.

Протоколы, использующие только открытое шифрование без цифровой подписи. Примером такой конструкции является протокол Needham - Schroeder с открытыми ключами. Пусть А,В - абоненты криптосистемы, Т- центр доверия, РА, РВ, РТ~ их соответствующие открытые ключи, ST - секретный ключ центра доверия. /*(...) - оз-начает зашифровку на открытом ключе участника X, Sy(...) - подпись на секретном ключе участника X,/(...) - общеизвестная одно-направленная функция.

Протокол может быть построен в двух вариантах. В первом случае, при использовании доверенного сервера в режиме реального времени он выглядит так:

А-> Т:А,В,

T^A:Pb,B>S7{Pb>B),

А Я : Рв(1съА),

В Т: В,А,

(5В :РА> A, Sj{Pa,A), (6)B->A:PA(kuk2),

(7 )A^B:PB(k2),

(8) А,В : к =f(khk2)>

В результате выполнения шагов (1) - (2) абонент А получает ау-тентичный открытый ключ абонента В. В результате выполнения шагов (4) - (5) абонент В получает аутентичный открытый ключ абонента А. Остальные шаги вполне очевидны. В результате на шаге (8) оба участника получают сеансовый ключ к.

Во втором случае протокол использует уже имеющиеся в обще-доступном справочнике сертификаты открытых ключей абонентов А и В. Он приведен в табл. 2.9. Номера над стрелками показывают со-ответствие шагов этого варианта протокола первому варианту.

Слабости этого протокола - точно такие же, как и у протокола Needham - Schroeder с секретными ключами: нет гарантий свежести ключа, получаемого от сервера Т. Если секретные ключи SA или SB скомпрометированы, возможна атака методом повтора сеанса.

Таблица 2.9.

Протокол Needham - Schroeder с открытыми ключами А В Cert, и. ^ / (3) Рв(киА) (6) РА(ЬМ (7) Рв(к2) к = іїкик2) (8) к = Якък2)

2. Инфраструктура криптосистем 137

2. Протоколы, комбинирующие открытое шифрование и цифровую подпись. К этому классу относятся протоколы стандарта ITV Х.509\ однопроходный, двухпроходный и трехпроходный. Во всех протоколах приняты следующие обозначения: ТА, Тв - это метки времени, RA, RB - случайные числа, Хд, Хв - произвольные данные, для которых требуется обеспечить целостность и ПОДЛИННОСТЬ, Уд, Ув - произвольные данные, для которых требуется обеспечить еще и секретность (в том числе это могут быть сеансовые ключи), означает зашифровку данных с помощью схемы открытого шифро-вания участником X, означает подписание данных участни-ком X. (Аналогичные обозначения используются в записи после-дующих протоколов.)

Однопроходный протокол обеспечивает одностороннюю аутен-тификацию:

(1 )А^В: A,{Ta,Ra,B,Xa,{Ya} }

L " J КЛ

Прибавление к нему еще одной пересылки сообщения дает двух-проходный протокол, который уже обеспечивает двустороннюю ау-тентификацию:

В А : ВЬв^АЛа,Хв,{Ув}к }

Добавлением еще одной пересылки получается трехпроходный протокол из этого же стандарта:

А^В: A,{B,Rb}k:1.

В трехстороннем протоколе полагают ТА-ТВ - 0, так как указание меток времени является избыточным.

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

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

138 Запечников С. В. Криптографические протоколы и их применение

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

К этому же классу принадлежит широко известный протокол SSL (Secure Sockets LayerJ, используемый на сеансовом уровне ком-муникационной архитектуры TCP/IP.

Пусть А - клиент, В - сервер. Клиент желает установить защищенное соединение с сервером. А генерирует сеансовый ключ sAB, который должен стать общим для клиента и сервера, и инициирует протокол: (1 )A^B:{sab}Kb,

(2 )B*A:{NB}tM,

(3 )А^В: {CertA,[NB}^ , где CertA = {КА} .

Приведенная запись соответствует версии 2 протокола SSL. Однако на такой протокол транспортировки ключа возможна атака злоумышленника. Пусть Е - другой сервер, находящийся в том же домене, но контролируемый злоумышленником. Тогда Е может провести атаку методом включения в канал, в результате чего будет контролировать трафик между клиентом и сервером: (1 )А-»Е: {Кае}Ке,

(2 )Е^В:{Кев}кГ

В^Е {Nb}K?b,

?->А: {Nb}Ka?,

А^> E:{CertA={KA}Kj {NB}K.^ ,

u сл л jkae

E + B:[CA,{NB} Л .

l j kf.s

С целью исключения возможности ее осуществления в версии 3 этого протокола было изменено содержание сообщения, передаваемого на шаге (3):

(З)А^Я: \CertA,{A,B,sAB,NB} \ ,

1 Л "^лл

где по-прежнему CertA ={А'/1}а:_1 .

3. Гибридные протоколы, использующие одновременно симмет-ричные и асимметричные криптосхемы. Весьма интересным примером такого протокола является протокол Beller - Yacobi. Он предна-значен для использования в ситуациях, когда между участниками протокола существует значительный дисбаланс вычислительной мощности, например в случае обмена данными между интеллектуальной картой и приемным устройством или между терминалом и сервером. Такой протокол сокращает до минимума требования к слабейшей стороне (А), тогда как основную вычислительную нагрузку несет более сильная сторона (В). Итак, пусть А - терминал (слабейшая сторона), В ~ сервер (сильная сторона), Т - центр доверия, 1А, /я - идентификаторы участников протокола, h - однонаправленная хеш-функция. Протокол состоит из двух этапов: предварительного и рабочего. Действия участников протокола показаны в табл. 2.10.

Любопытной особенностью протокола Beller - Yacobi является то, что в нем используются две схемы открытого шифрования: RSA и Эль-Гамаля. Схема RSA с е = 3 дает эффективные операции с от-крытым ключом: зашифровку и проверку цифровой подписи. Для этого требуется выполнить всего по два модульных умножения.

Таблица 2.10. Протокол Beller - Yacobi Предварительный этап А | Т | В 1 Выбор системных па раметров: Параметры для схемы Эль-Гамаля: п, - простое число, CLE Zn -образующий элемент.

Параметры подписи Т по схеме RSA: р,д~ простые числа, пт = рд, ет= 3, dy

: eTdr =1 (mod (/?-l)(g-l)) 2 Распределение системных параметров: h Каждому участнику присваивается ^"уникальный идентификатор-^ h

Продолжение табл. 2.10 Предварительный этап А Г В 3 Инициализация терминала: А идентифицирует себя некриптографическими средствами, выбирает а - случайное число,

1 < а < ns — 2, вычис ляет открытый ключ цифровой ПОДПИСИ ПО схеме Эль-Гамаля: = a" mod п? ] Откр. ключ А по схеме Эль-Гамаля сертифицируется цифровой ПОДПИСЬЮ центра доверия по схеме RSA:

Ga=St(Ia,ua) =

= {ІІ(ІЛ >ил)УТ m0d»7-

GB = ST(lB,nD) = В идентифицирует себя не- криптогра фич е- скими средствами, выбирает рв, Чп - простые числа, ев - 3, вы-числяет^ и от-крытый ключ цифровой под-писи по схеме RSA: Пв = РвЦв-

<г[пв] = (h(lB,nB)fT modtt,. [іCertB={!B,nB,GB)]-»

2. Инфраструктура криптосистем 141

Окончание табл. 2.10 Рабочий этап А В 1 Предварительные вычисления терминала: выбирает Л' - случ.: 1 < X < ris — 2,

1) = 1,вычисляет v = a*modпг,

х-1 mod(/ii -1), flvmod(n, -l) 2 <-[CertB = (/в,ид,Св)] 3 Проверка аутентичности лд:

h(lD,nB )-Gl mod^.

Генерация сеансового ключа: А1- случ.: \u-\.

[у = Рв(К) = Кг modrcfl]-> 4 Восстанавливает ключ К: К = Sn (К)=Г'В mod7ifl, те Z-случ., / = 50. 5 Расшифровывает поступившее сообщение и проверяет, что последние t бит равны нулю. Формирует М - (m,h), вычисляет

w = (А/-av)x~l mod^ -l);

(v,w) - подпись участника А под сообщением М по схеме Эль-Гамаля.

[X ((v.w),CertA =(1A,UA,Ga))] 6 Расшифровывает поступившее сообщение и проверяет:

і

h (1А, иА)=G\ mod rij , формирует М = (т,1в) и проверяет.

7

0Iм • Vі" mod. В случае положительного исхода принимает участника А с идентификатором 1л как источник ключа К

142 Запечников С. В. Криптографические протоколы и их применение

Схема Эль-Гамаля дает эффективные операции с секретным ключом: расшифровку и генерацию цифровой подписи. Для этого требуется всего одно модульное умножение, предполагая выполне-ние предварительных вычислений. Открытые ключи схемы Эль- Гамаля сертифицируются центром доверия цифровой подписью по схеме RSA. Этот протокол обеспечивает аутентификацию его участ-ников и явную аутентификацию ключа.

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

Начнем с протоколов, обеспечивающих основные свойства. Хорошо известен протокол Диффи - Хеллмана открытого распреде-ления ключей (табл. 2.11) - исторически первый протокол обмена ключами, предложенный в 1976 г.

Таблица 2.11. Протокол открытого распределения ключей

Диффи - Хеллмана А В р - простое число, а є Z* - образ, элемент, 2 < а < р-2 х - случ., 1<х<р-2

[a* mod р] -> у - случайное число, \<у<р-2

[ос* mod р] К = (а3 У mod р К - (ах У mod р

Простой протокол обмена ключа Диффи - Хеллмана не обеспе-чивает ни одного из основных свойств протоколов распределения ключей: ни аутентификацию, ни подтверждение ключа, ни аутенти-фикацию участников протокола. Активный противник может по-строить атаку на протокол методом включения в канал, как показано в табл."2.12. В итоге он сможет контролировать весь обмен данными между участниками по «защищенному», как им кажется, каналу.

Таблица 2.12. Атака активного противника на протокол Диффи - Хеллмана Обмен ключами А Е в х - случайное число, х - случ. у - случайное число, <гау' у - случайное число, <гау КА = a**' mod р КА = (a'r j' mod р, Ки = (а-' У mod р Кв = (Хху mod р Обмен данными А Е В М

[С = ЕКЛ (Л/)]-» M=DKy (С), [C = EKt(M)] + M=DKb{C>) т = ПКл(с*) т = °кв (с), ±[с=ЕКл («)] т Более защищенным является протокол MTl (Matsumoto, Takashima, Ішаі, 1986), показанный в табл. 2.13; а,Ь - это долговре-

менные секретные ключи участников протокола, ZA> zB - их долго-временные открытые ключи. Компрометация разовых секретных ключей участников протокола не влияет на безопасность долговре-менных секретных ключей. Можно построить четыре варианта этого протокола, различающиеся сообщениями, которые участники пере-дают друг другу, и способом формирования общего секретного ключа (табл. 2.14).

Таблица 2.13. Протокол MTI Предварительный этап А В а - случайное число, 1< а < р-2,

[zA = a" mod р] -> р - простое число, а є Z*p - образ, элемент, 2 < а < р - 2 b - случайное число, \.<Ь< р — 2,

<- [гд = ab mod р] Рабочий этап 1 х - случайное число, 1<*< р-2,

[шлв = ах mod р] 2 у - случайное число, 1< у < р-2,

[mM = <ху mod р] 3 КА zxB mod р К = КА = кп =

= а***'0' mod р Кв =(axf zyA modp

Таблица 2.14. Варианты построения протокола MTI

№ п/п »ІАВ ПІКА КА Кк Общий ключ К 1 ах ау ZA ™ХВА тАВ aabxy

2. Инфраструктура криптосистем 145

Протокол МТ1 обеспечивает взаимную неявную аутентификацию ключей, но не обеспечивает аутентификацию участников про-токола и подтверждение ключа. Такой протокол устойчив только против пассивных атак. Активный противник может осуществить атаку на него методом подстановки источника, как продемонстриро-вано в табл. 2.15.

Таблица 2.15. Атака на протокол MTI методом подстановки источника (с одинаковыми открытыми ключами) А С В CertA

Certn

Certc ах mod р, CertA \ ах mod р, Certc mod

Суть атаки заключается в том, что злоумышленник С регистри-рует в удостоверяющем центре сертификат с таким же открытым ключом, как и А, а затем модифицирует сообщение, передаваемое от А к В. В результате В считает, что последующие сообщения зашиф-рованы на ключе k = аЬх+"у mod р , исходящем от С, в то время как только А знает ключ к и может производить такие сообщения. Для избежания атаки необходимо проверять уникальность открытого ключа при регистрации сертификатов.

Можно построить более сложную атаку, которая достигает того же самого, но с открытым ключом С, отличным от открытого ключа А (табл. 2.16).

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

Таблица 2.16. Атака на протокол MTI методом подстановки источника (с различными открытыми ключами) А с В zA - откр. ключ А е - случайное число, 1<е< р-2,

= a"e mod p ~ откр. ключ С ZB - откр. ключ В Cell's Certc

І/ЛЛЧ ах mod р, СепЛ _ ax mod p, Certc (avmod p [a" mod p J к =

= ~J ¦zxB modр

= аму-а*то dp = mod р K =
= • Z-^ MOD P R /)
- A ¦ A ¦ MOD P -
= *AEY+xbmod P

Протокол STS (station-to-station), показанный в табл. 2.17, тоже основан на протоколе Диффи - Хеллмана. Дополнительно он ис-пользует симметричную схему шифрования (E,D) и две схемы цифровой подписи вида Sx (/и) = (я (tn)f x mod пх, X = {А, В}, Н(т)<пх. На эту роль подходят схемы RSA или Рабина.

Таблица 2.17. Протокол STS Предварительный этап А В ПА = РАЯЛ (еА, пА)

dA : eAdA =

slraod(pA-l)(gA-l) JvUJvi^

р - простое число, а є Z* - образ, элемент, 2 < a < р-2 "в = РвЧв <г(ев, пв)

da :endu =

slmod(/>e-l)(gB-l) Рабочий этап А В 1 х - случайное число, 1<х< р-2, [a'modp] 2 у - случайное число, I < у < Р~2 ,к modр 3 к = (осу mod р, расшифровывает Ек, проверяет подпись В, в случае положительного исхода

формирует [^(^(aW))] 4 Расшифровывает Ек, проверяет подпись А, в случае поло-жительного исхода принимает ключ к как общий с А

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

Разработка новых безопасных протоколов распределения ключей, основанных на асимметричных криптосхемах, продолжаются и поныне. Многочисленные публикации по этой проблеме можно найти в трудах международных конференций CRYPTO, EUROCRYPT, ASIACRYPT за последние годы.

<< | >>
Источник: Запечников С. В.. Криптографические протоколы и их применение в финансовой и коммерческой деятельности: Учебное пособие для вузов. - М.: Горячая линия-Телеком,2007. - 320 с.. 2007

Еще по теме 2.2.4. Протоколы распределения ключей, основанные на асимметричных криптосхемах:

  1. ПРЕДИСЛОВИЕ
  2. 1.1. Закономерности организации сложных криптосистем
  3. Криптографические функции
  4. 1.2. Основы теории криптографических протоколов
  5. 1.4. Протоколы аутентификации
  6. 1.4.3. Аутентификация, основанная на доказательствах с нулевым разглашением знания
  7. 1.5. Проблемы обеспечения конфиденциальности и аутентичности информации
  8. 1.8. Технические средства поддержки криптографических протоколов
  9. 2.1.2. Жизненный цикл криптографических ключей
  10. 2.1.3. Модели управления ключами
  11. 2.1.5. Методы распространения открытых ключей
  12. 2.1.7. Особенности управления ключами в сложных (многодоменных) информационных системах
  13. 2.2. Протоколы распределения ключей
  14. 2.2.2. Свойства протоколов распределения ключей
  15. 2.2.3. Протоколы распределения ключей, основанные
  16. 2.2.4. Протоколы распределения ключей, основанные на асимметричных криптосхемах
  17. 2.2.5. Конферепц-связъ
  18. 2.2.6. Методы анализа протоколов распределения ключей
  19. Контрольные вопросы и задачи к гл. 2
  20. 6.1.1. Распределение дохода при голосовании по принципу простого большинства