<<
>>

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. Протоколы распределения ключей, основанные на асимметричных криптосхемах: