Ремонт принтеров, сканнеров, факсов и остальной офисной техники


назад Оглавление вперед




[127]

На этапе (3) и Алиса, и Боб знают K и K. K - это сеансовый ключ, он может быть использован для шифров а-ния всех других сообщений, которыми обмениваются Алиса и Боб. Ева, сидя между Алисой и Бобом, знает только EP(K), £P(£jf(K) и несколько сообщений, зашифрованных K. В других протоколах Ева могла бы попробовать угадать P (люди все время любят выбирать плохие пароли, и если Ева достаточно умна, она может этот пароль) и затем проверить свои предположения . В рассматриваемом протоколе Ева не может проверять свои предположения, не вскрыв при этом и алгоритм с открытым ключом . И, если K и K выбираются случайным образом, то эта проблема будет непреодолимой.

Ответная часть протокола, этапы (3) - (6), обеспечивает подтверждение. Этапы (3) - (5) доказывают Алисе, что Боб знает K, этапы (4) - (6) доказывают Бобу, что Алиса знает K. Обмен метками времени, используемый в протоколе Kerberos, решает ту же задачу.

EKE может быть реализован с множеством алгоритмов с открытыми ключами : RSA, ElGamal, Diffie-Hellman. Проблемы с безопасностью возникают при реализации EKE с алгоритмом рюкзака (даже без учета проблем безопасности, присущих самим алгоритмам рюкзака ): нормальное распределение шифротекста соо б-щений сводит на нет преимущества EKE.

Реализация EKE с помощью RSA

Алгоритм RSA кажется идеальным для такого использования, но есть ряд тонких проблем . Авторы рекомендуют шифровать на этапе (1) только показатель степени, посылая модуль . Объяснение этого совета и другие тонкости, связанные с использованием RSA, можно найти [109].

Реализация EKE с помощью ElGamal

Реализация EKE на базе алгоритма ElGamal проста, можно даже упростить основной протокол. Используя обозначения из раздела 19.6, g и p служат частями открытого ключа, общими для всех пользователей . Закрытым ключом является случайное число r. Открытым - gr mod p На этапе (1) Алиса посылает Бобу следующее сообщение

Алиса, gr mod p

Обратите внимание, что этот открытый ключ не нужно шифровать с помощью P. В общем случае это неверно, но это так для алгоритма ElGamal algorithm. Подробности в [109].

Боб выбирает случайное число R (для алгоритма ElGamal, независимо от других случайных чисел, выбира е-мых для EKE), и сообщение, которое он посылает Алисе на этапе (2), выглядит так

EP(gR mod p KgrR mod p)

Существующие ограничения на выбор переменных для ElGamal были приведены в разделе 19.6.

Реализация EKE с помощью Diffie-Hellman

При использовании протокола Diffie-Hellman K генерируется автоматически. Окончательный протокол еще проще. Значения g и n определяются для всех пользователей сети .

(1)Алиса выбирает случайное число rA и посылает Бобу A, grA mod n

При использовании Diffie-Hellman Алисе не нужно шифровать с помощью P свое первое сообщение.

(2)Боб выбирает случайное число rB и вычисляет

K= grA *rB mod n

Он генерирует случайную строку RB, затем вычисляет и посылает Алисе : £Д grB mod n),EK(RB)

(3)Алиса расшифровывает первую половину сообщения Боба, получая grB mod n. Затем она вычисляет K и

использует его для шифрования RB. Она генерирует другую случайную строку RA,, шифрует обе строки ключом K и посылает результат Бобу.

Ek(Ra, ,Rb)

(4)Боб расшифровывает сообщение, получая RA, и RB. Если полученная от Алисы строка RB совпадает с той, которую он посылал ей на этапе (2), он шифрует RA ключом K и посылает результат Алисе.


(5) Алиса расшифровывает сообщение, получая RA. Если полученная от Боба строка RA совпадает с той, которую она посылала Бобу на этапе (3), протокол завершается. Теперь стороны могут обмениваться сообщениями, используя K в качестве сеансового ключа .

Усиление EKE

Белловин (Bellovin) и Мерритт (Merritt) предложили улучшение запросно-ответной части алгоритма, которое позволяет избежать возможного вскрытия при обнаружении криптоаналитиком ста рого значения K.

На базовый протокол EKE. На этапе (3) Алиса генерирует другое случайное число SA и посылает Бобу

На этапе (4), Боб генерирует другое случайное число SB и посылает Алисе Ek(Ra, ,Rb,Sb)

Теперь Алиса и Боб могут вычислить истинный сеансовый ключ, SA © SB. Этот ключ в дальнейшем используется для сообщений, которыми обмениваются Алиса и Боб, K используется в качестве ключа обмена ключами.

Посмотрим на уровни защиты, предоставляемые EKE. Восстановленное значение S не дает Еве никакой информации о P, так как P никогда не используется для шифрования чего-то такого, что ведет непосредственно к S. Криптоаналитическое вскрытие K также невозможно, K используется только для шифрования случайных данных, а S никогда не шифруется отдельно.

Расширенный EKE

Протокол EKE страдает одним серьезным недостатком : он требует, чтобы обе стороны знали P. В большинстве систем авторизации доступа хранятся значения однонаправленной хэш-функции паролей пользователей, а не сами пароли (см. раздел 3.2). Протокол Расширенный EKE (Augmented EKE, A-EKE) использует в варианте EKE на базе Diffie-Hellman значение однонаправленной хэш-функции пароля пользователя в качестве ключа сверхшифрования. Затем пользователь посылает дополнительное сообщение, основанное на реальном пароле, это сообщение удостоверяет заново выбранный сеансовый ключ .

Вот как это работает. Как и обычно, Алиса и Боб хотят проверить подлинность друг друга и генерировать общий ключ. Они выбирают какую-нибудь схему цифровой подписи, в которой в качестве закрытого ключа может использоваться любое число , а открытый ключ получается из закрытого, а не генерируется отдельно . Прекрасно подходят алгоритмы ElGamal и DSA. Пароль Алисы P (или, может быть, какое-нибудь простое хэш-значение этого пароля) будет использоваться в качестве закрытого ключа и как P.

(1)Алиса выбирает случайный показатель степени Ra и отправляет ЕР( grB mod n)

(2)Боб, который знает только P и не может получить из него P, выбирает Rb и посылает ЕР( grB mod n)

(3)Алиса и Боб вычисляют общий сеансовый ключ K=grA*rB mod n. Наконец Алиса доказывает, что она сама знает P, а не только P, посылая

Ek(Sp(K))

Боб, который знает K и P, может расшифровать и проверить подпись . Только Алиса могла прислать это сообщение, так как только она знает P. Самозванец, добывший копию файла паролей Боба, может попытаться P, но он не сможет подписать сеансовый ключ .

Схема A-EKE не работает с вариантом EKE, использующим открытые ключи, так как в этом протоколе одна сторона выбирает сеансовый ключ и навязывает его другой. Это позволяет взломщику, заполучившему Р, выполнить вскрытие "человек в середине" .

Применения EKE

Белловин и Мерритт предлагают использовать этот протокол для безопасной телефонной связи [109]:

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

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


введения PIN-кода. Так как PIN-код не хранится в телефоне, его невозможно извлечь из украденного экземпляра.

Главная сила EKE состоит в том, что криптография с открытыми ключами и симметричная криптография объединяются и усиливают друг друга:

В общей перспективе EKE работает как усилитель секретности. То есть, его можно использовать для усиления сравнительно слабых симметричных и асимметричных систем, используемых вместе . Рассмотрим, например, размер ключа, необходимый для обеспечения безопасности при использовании обмена ключом - показателем степени . Как показали ЛаМачча (LaMacchia) и Одлыжко (Odlyzko) [934], даже модули с размерами, считавшимися безопасными, (а именно, 192 бита) чувствительны к вскрытию, занимающему несколько минут компьютерного времени . Но их вскрытие становится невозможным, если необходимо перед применением вскрытия угадать п ароль.

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

EKE запатентован [111].

22.6Защищенные переговоры о ключе

Эта схема также защищает переговоры о ключе от плохого выбора паролей и вскрытий "человек в середине" [47, 983]. В ней используется хэш-функция двух переменных, обладающая особенным свойством : она часто приводит к столкновениям по первой переменной, и практически никогда - по второй .

H(x,y) = H(H(k,x) mod 2m, x), где H(k,x) - обычная функция k и x

Вот как выглядит этот протокол. Алиса и Боб используют общий секретный пароль P и уже обменялись секретным ключом K, используя обмен ключом Dime-Hellman. Они используют P для проверки, что их сеансовые ключи одинаковы (и что Ева не предприняла вскрытие "человек в середине" ), не позволяя Еве получить P.

(1)Алиса посылает Бобу Я(Р,К)

(2)Боб вычисляет i7(P,K) и сравнивает результат со значением, присланным Алисой. Если они совпадают, он посылает Алисе

(3)Алиса вычисляет H(H(P,K)) и сравнивает результат со значением, полученным от Боба.

Если Ева пытается выполнить вскрытие "человек в середине", она использует один ключ, K1, общий с Алисой, и другой, K2, общий с Бобом. Чтобы обмануть Боба на этапе (2), ей придется вычислить общий пароль и затем послать Бобу H(P,K2). При использовании обычной хэш-функции она может перебирать часто встреча ю-щиеся пароли, пока не угадает правильный , и затем успешно проникнуть в протокол. Но при использовании предлагаемой хэш-функции, многие пароли дают одно и то же значение при хэшировании с ключом K1. Поэтому, когда она находит совпадение, то скорее всего это неправильный пароль, и в этом случае Боба обмануть не удастся.

22.7Распределение ключа для конференции и секретная широковещательная передача

Алиса хочет передать сообщение M сразу нескольким получателям . Однако она совсем не хочет, чтобы кто угодно смог прочесть его. В действительности, ей нужно, чтобы только получатели из определенного подмножества могли правильно раскрыть M. У всех остальных должна получиться чепуха.

Алиса может использовать для каждого получателя отличный ключ (секретный или открытый) . Она шифрует сообщение каким-нибудь случайным ключом K. Затем она шифрует копию K каждым из ключей выбранных получателей сообщения. Наконец она широковещательно посылает зашифрованное сообщение , а затем все зашифрованные K. Слушающий передачу Боб либо пытается расшифровать все K своим секретным ключом, пытаясь найти правильный, либо, если Алиса не забыла перечислить получателей своего сообщения, он ищет свое имя, сопровождаемое зашифрованным ключом . Также будет работать и ранее рассмотренная криптография с несколькими ключами.

Другой способ предлагается в [352]. Сначала каждый из получателей договаривается с Алисой об общем для них двоих ключе, который длиннее любого возможного шифрованного сообщения . Все эти ключи должны быть взаимно простыми. Она шифрует сообщение случайным ключом K. Затем она вычисляет одно целое число R, которое по модулю секретного ключа конгруэнтно K, если этот секретный ключ предполагается использовать для расшифровки сообщения, и конгруэнтно нулю в противном сл учае.

Например, если Алиса хочет, чтобы секрет получили Боб, Кэрол и Эллен, но не Дэйв и Фрэнк, она шифрует



[стр.Начало] [стр.1] [стр.2] [стр.3] [стр.4] [стр.5] [стр.6] [стр.7] [стр.8] [стр.9] [стр.10] [стр.11] [стр.12] [стр.13] [стр.14] [стр.15] [стр.16] [стр.17] [стр.18] [стр.19] [стр.20] [стр.21] [стр.22] [стр.23] [стр.24] [стр.25] [стр.26] [стр.27] [стр.28] [стр.29] [стр.30] [стр.31] [стр.32] [стр.33] [стр.34] [стр.35] [стр.36] [стр.37] [стр.38] [стр.39] [стр.40] [стр.41] [стр.42] [стр.43] [стр.44] [стр.45] [стр.46] [стр.47] [стр.48] [стр.49] [стр.50] [стр.51] [стр.52] [стр.53] [стр.54] [стр.55] [стр.56] [стр.57] [стр.58] [стр.59] [стр.60] [стр.61] [стр.62] [стр.63] [стр.64] [стр.65] [стр.66] [стр.67] [стр.68] [стр.69] [стр.70] [стр.71] [стр.72] [стр.73] [стр.74] [стр.75] [стр.76] [стр.77] [стр.78] [стр.79] [стр.80] [стр.81] [стр.82] [стр.83] [стр.84] [стр.85] [стр.86] [стр.87] [стр.88] [стр.89] [стр.90] [стр.91] [стр.92] [стр.93] [стр.94] [стр.95] [стр.96] [стр.97] [стр.98] [стр.99] [стр.100] [стр.101] [стр.102] [стр.103] [стр.104] [стр.105] [стр.106] [стр.107] [стр.108] [стр.109] [стр.110] [стр.111] [стр.112] [стр.113] [стр.114] [стр.115] [стр.116] [стр.117] [стр.118] [стр.119] [стр.120] [стр.121] [стр.122] [стр.123] [стр.124] [стр.125] [стр.126] [стр.127] [стр.128] [стр.129] [стр.130] [стр.131] [стр.132] [стр.133] [стр.134] [стр.135] [стр.136] [стр.137] [стр.138] [стр.139] [стр.140] [стр.141] [стр.142] [стр.143] [стр.144] [стр.145] [стр.146] [стр.147] [стр.148] [стр.149] [стр.150] [стр.151] [стр.152] [стр.153] [стр.154] [стр.155] [стр.156] [стр.157] [стр.158] [стр.159] [стр.160] [стр.161] [стр.162] [стр.163] [стр.164] [стр.165] [стр.166] [стр.167] [стр.168] [стр.169] [стр.170] [стр.171] [стр.172] [стр.173] [стр.174] [стр.175] [стр.176] [стр.177] [стр.178] [стр.179] [стр.180] [стр.181] [стр.182] [стр.183] [стр.184] [стр.185] [стр.186] [стр.187] [стр.188] [стр.189] [стр.190] [стр.191] [стр.192] [стр.193] [стр.194] [стр.195] [стр.196] [стр.197] [стр.198] [стр.199] [стр.200] [стр.201] [стр.202] [стр.203]