Реализация EKE с помощью Diffie-Hellman
При использовании протокола Diffie-Hellman Kгенерируется автоматически. Окончательный протокол еще проще. Значения gи nопределяются для всех пользователей сети.
(1) Алиса выбирает случайное число rAи посылает Бобу
A, mod n
При использовании Diffie-Hellman Алисе не нужно шифровать с помощью P свое первое сообщение.
(2) Боб выбирает случайное число rBи вычисляет
K= mod n
Он генерирует случайную строку RB, затем вычисляет и посылает Алисе:
EР( mod n),EK(RB)
(3) Алиса расшифровывает первую половину сообщения Боба, получая mod n. Затем она вычисляет Kи использует его для шифрования RB. Она генерирует другую случайную строку RA,, шифрует обе строки ключом K и посылает результат Бобу.
EK(RA,,RB)
(4) Боб расшифровывает сообщение, получая RA, и RB. Если полученная от Алисы строка RB совпадает с той, которую он посылал ей на этапе (2), он шифрует RA ключом Kи посылает результат Алисе.
EK(RA)
(5) Алиса расшифровывает сообщение, получая RA. Если полученная от Боба строка RA совпадает с той, которую она посылала Бобу на этапе (3), протокол завершается. Теперь стороны могут обмениваться сообщениями, используя K в качестве сеансового ключа .
Усиление EKE
Белловин (Bellovin) и Мерритт (Merritt) предложили улучшение запросно-ответной части алгоритма, которое позволяет избежать возможного вскрытия при обнаружении криптоаналитиком старого значения K.
На базовый протокол EKE. На этапе (3) Алиса генерирует другое случайное число SAи посылает Бобу
EK(RA, 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 и отправляет
EР'( mod n)
(2) Боб, который знает только P'и не может получить из него P, выбирает Rbи посылает
EР( mod n)
(3) Алиса и Боб вычисляют общий сеансовый ключ K= 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].
Дата добавления: 2021-01-26; просмотров: 363;