Эллиптическая кривая Диффи – Хеллмана - Elliptic-curve Diffie–Hellman

Эллиптическая кривая Диффи – Хеллмана ( ECDH ) - это протокол согласования ключей , который позволяет двум сторонам, каждая из которых имеет пару открытого и закрытого ключей эллиптической кривой , установить общий секрет по незащищенному каналу . Этот общий секрет может использоваться непосредственно как ключ или для получения другого ключа . Затем ключ или производный ключ можно использовать для шифрования последующих сообщений с использованием шифра с симметричным ключом . Это вариант протокола Диффи – Хеллмана , использующий криптографию на основе эллиптических кривых .

Протокол установления ключа

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

Алиса вычисляет точку . Боб вычисляет точку . Общий секрет ( координата x точки). Большинство стандартизованных протоколов, основанных на ECDH, получают симметричный ключ с помощью некоторой хэш-функции получения ключа.

Общий секрет, рассчитанный обеими сторонами, равен, потому что .

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

Открытые ключи либо статические (и доверенные, скажем, через сертификат), либо эфемерные (также известные как ECDHE , где последняя буква «E» означает «эфемерный»). Эфемерные ключи являются временными и не обязательно аутентифицируются, поэтому, если требуется аутентификация, гарантии аутентичности должны быть получены другими способами. Аутентификация необходима, чтобы избежать атак «злоумышленник посередине» . Если один из открытых ключей Алисы или Боба статичен, то атаки «злоумышленник посередине» предотвращаются. Статические открытые ключи не обеспечивают ни прямой секретности, ни отказоустойчивости олицетворения взлома ключа, помимо других дополнительных свойств безопасности. Владельцы статических закрытых ключей должны проверять другой открытый ключ и должны применять функцию безопасного получения ключа к необработанному общему секрету Диффи – Хеллмана, чтобы избежать утечки информации о статическом закрытом ключе. Схемы с другими свойствами безопасности см. В MQV .

Если Алиса злонамеренно выбирает недопустимые точки кривой для своего ключа, а Боб не проверяет, что точки Алисы являются частью выбранной группы, она может собрать достаточно остатков ключа Боба, чтобы получить его закрытый ключ. Было обнаружено, что несколько библиотек TLS уязвимы для этой атаки.

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

Программное обеспечение

Смотрите также

Рекомендации

  1. ^ NIST, Специальная публикация 800-56A, Рекомендации по схемам создания парных ключей с использованием криптографии с дискретным логарифмом , март 2006 г.
  2. ^ Certicom Research, Стандарты эффективной криптографии, SEC 1: Криптография с эллиптическими кривыми , Версия 2.0, 21 мая 2009 г.
  3. ^ NSA Suite B Cryptography, Руководство разработчика Suite B по NIST SP 800-56A. Архивировано 6 марта 2016 г. на Wayback Machine 28 июля 2009 г.
  4. ^ Тибор Ягер; Йорг Швенк; Юрай Соморовский (04.09.2015). «Практические атаки неверной кривой на TLS-ECDH» (PDF) . Европейский симпозиум по исследованиям в области компьютерной безопасности (ESORICS'15) .
  5. JI (13 октября 2015 г.). «Новое поколение безопасного обмена сообщениями:« Запечатывание писем » » . Блог инженеров LINE . LINE Corporation . Проверено 5 февраля 2018 .