Обмен зашифрованными ключами
Эту статью Инкубатора предлагается удалить. |
[1]. EKE работает при условии, что у пользователей до начала работы протокола есть общий секрет. Протокол позволяет формировать сеансовый ключ для установления защищенного соединения. Для каждого сеанса генерируется новый сессионный ключ.
Обмен зашифрованными ключами (Encrypted Key Exchange, EKE) — протокол, разработанный Стивом Белловином и Майклом МерритомПредисловие
Данный протокол использует симметричное и асимметричное шифрование, обеспечивая проверку подлинности[неизвестный термин]. В каждой сессии протокола генерируется случайным образом открытый ключ и шифруется на имеющимся у сторон секретном ключе. Использование двух видов шифрования - главное достоинство[источник не указан 971 день] данного протокола. На каждом шаге протокол использует случайные последовательности, обеспечивая хороший[уточнить] уровень конфиденциальности даже в условиях простого[неизвестный термин] общего секрета. В качестве общего секрета в схеме может выступать пароль, что делает данный протокол удобным в использовании в пользовательских[неизвестный термин] системах, где в качестве сторон в протоколе выступают люди, не способные запомнить достаточно сложный пароль.
Протокол EKE
Алиса и Боб обладают общим секретом P. Используя протокол EKE у них есть возможность проверить подлинность сторон[неизвестный термин] и генерировать общий сеансовый ключ K.
- Алиса генерирует случайную пару открытый-закрытый ключ, шифрует симметричным шифрованием открытый ключ K' с использованием общего секрета P в качестве ключа. Посылает Боб.
- Боб, зная общий секрет, расшифровывает сообщение и получает ключ K'. Далее - случайным образом генерирует сеансовый ключ k, шифрует его открытым ключом K' и общим секретом P. Посылает Алиса.
- Алиса получает общий сеансовый ключ k, расшифровывая сообщение. Генерирует случайную строку , шифрует её на k. Посылает Боб.
- Боб получает строку Алисы, расшифровывая сообщение. Далее - генерирует свою случайную строку . Общим сеансовым ключом шифрует обе строки, передает зашифрованные строки Алисе.
- Алиса получает и , расшифровывая сообщение. Значение ,полученное от Боба, сравнивается с тем, что было выбрано в пункте (3). Если значения совпадают, то Алиса шифрует на ключе и посылает Бобу.
- Боб получает , расшифровывая сообщение. Значение ,полученное от Алисы, сравнивается с тем, что было выбрано в пункте (4). Если значения совпадают, то работа протокола завершена - участники могут обмениваться сообщениями используя при их шифровании ключ k.
Стойкость к атакам
В результате работы протокола пассивный криптоаналитик Ева может получить доступ только к и , а также к сообщениям, зашифрованным на общем сессионном ключе k. Так как в алгоритме используется схема асимметричного шифрования и ключи K' и k выбираются случайно, Ева не сможет подобрать P. Таким образом общий секрет P может быть простым паролем, который в состоянии запомнить человек.
Этапы 3-6 обеспечивают подтверждение. На этапах 3-5 Алиса удостоверяется, что Боб знает общий сеансовый ключ. На этапах 4-6 Боб удостоверяется, что Алиса знает общий сеансовый ключ. Эта же задача решается в протоколе Kerberos посредством обмена метками времени.
Реализации
При реализации данного протокола возможно использование многих алгоритмов с открытыми ключами, но также надо учитывать, что ограничения методов шифрования на ключи могут дать взломщику дополнительные возможности для проведения атак. Использование случайных последовательностей в данном протоколе сделает атаку "брут-форсом" невозможной.
Реализация EKE с использованием системы Эль-Гамаля
Преимущества
При использовании схемы Эль-Гамаля возможно упрощение основного протокола.
Инициализация
Значения g - порождающий элемент группы и p - модуль, по которому производятся вычисления, выбираются для всех пользователей протокола. Также в соответствии с протоколом EKE у пользователей есть общий секрет r. Тогда - открытый ключ.
Работа протокола
- В данном алгоритме открытый ключ не надо шифровать на общем секрете P. Для общего случая такой подход не работает. На первом шаге протокола Алиса посылает Бобу:
- Для алгоритма Эль-Гамаля Боб выбирает случайное число R. Тогда на данном этапе Боб посылает данное сообщение:
Реализация EKE с использованием протокола Диффи — Хеллмана, DH-EKE
При реализации EKE с использованием протокола Диффи — Хеллмана ключ K генерируется автоматически[кем?][где?].
Преимущества
При использовании протокола DH-EKE решается уязвимость базового протокола Диффи-Хеллмана к атаке человек посередине(MITM). Если криптоаналитик не знает пароль[неизвестный термин], то он не сможет[источник не указан 971 день] подобрать ключ, потому что шифруются случайные значения.
Инициализация
Стиль этого раздела неэнциклопедичен или нарушает нормы литературного русского языка. |
Значения g - порождающий элемент группы и n - модуль, по которому производятся вычисления, выбираются для всех пользователей протокола. Также в соответствии с протоколом EKE у пользователей есть общий секрет P.
Работа протокола
- Алиса случайно выбирает , посылает его Бобу. При этом нет необходимости, чтобы Алиса шифровала первое сообщение на общем секрете P.
- Боб случайно выбирает , вычисляет K, генерирует случайную строку , шифрует её на ключе K. Далее - вычисляет , шифрует его на общем секрете P. Передает Алисе.
- Алиса получает , расшифровывая первую часть сообщения с использованием общего секрета P. Далее - вычисляет K, расшифровывает полученным ключом вторую часть сообщения Боба. Генерирует случайную строку , шифрует полученные строки на ключе K и посылает Бобу.
- Боб получает и , расшифровывая сообщение. Значение ,полученное от Алисы, сравнивается с тем, что было выбрано в пункте (3). Если значения совпадают, то Боб шифрует на ключе k и посылает Алисе.
- Алиса получает , расшифровывая сообщение. Значение ,полученное от Боба, сравнивается с тем, что было выбрано в пункте (4). Если значения совпадают, то работа протокола завершена - участники могут обмениваться сообщениями используя при их шифровании ключ k.
Усиленный протокол EKE
Стиль этого раздела неэнциклопедичен или нарушает нормы литературного русского языка. |
Было[когда?] предложено[кем?] усиление части протокола запрос-ответ. Данное усиление позволяет[источник не указан 971 день] избежать вскрытия[неизвестный термин] протокола при условии, что у криптоаналитика есть значение прошлого общего сеансового ключа k.
На шаге 3 Алиса генерирует случайное число . Посылает Бобу:
Также Боб генерирует случайное число на шаге 4 и посылает Алисе:
При такой работе протокола Алиса и Боб могут вычислить общий сеансовый ключ -- . В дальнейшем этот ключ используется для установления защищенного соединения, ключ k используется как ключ обмена ключами.
Допустим, что Ева получила доступ к значению S, но при этом работа протокола построена так, что это не даст Еве никакой информации об общем секрете P. К тому же, так как на ключе K шифруются только случайные данные, то криптографические подходы для его восстановлению неприменимы.
Примечания
- ↑ S. M. Bellovin; M. Merritt (May 1992). "Encrypted Key Exchange: Password-Based Protocols Secure Against Dictionary Attacks" (PDF). Proceedings of the I.E.E.E. Symposium on Research in Security and Privacy, Oakland.
Ссылки
Шнайер Б. Обмен зашифрованными ключами // Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си = Applied Cryptography. Protocols, Algorithms and Source Code in C. — М.: Триумф, 2002. — С. 82. — 816 с. — 3000 экз. — ISBN 5-89392-055-4.
S.M. Bellovin and M. Merritt, "Encrypted Key Exchange: Password-Based Protocols Secure Against Dictionary Attacks," Pro ceedings of the 1992 IEEE Computer Society Conference on Research in Security and Privacy, 1992, pp. 72-84.