Эллиптическая кривая Диффи – Хеллмана - Elliptic-curve Diffie–Hellman
Эллиптическая кривая Диффи – Хеллмана (ECDH) это ключевое соглашение протокол, который позволяет двум сторонам, каждая из которых эллиптическая кривая пара открытого и закрытого ключей, чтобы установить поделился секретом над небезопасный канал.[1][2][3] Этот общий секрет может использоваться непосредственно как ключ или для получить еще один ключ. Ключ или производный ключ можно затем использовать для шифрования последующих сообщений с помощью шифр с симметричным ключом. Это вариант Диффи – Хеллмана протокол с использованием криптография с эллиптической кривой.
Протокол установления ключа
В следующем примере показано, как устанавливается общий ключ. Предполагать Алиса хочет установить общий ключ с Боб, но единственный доступный для них канал может быть перехвачен третьей стороной. Первоначально параметры домена (то есть, в простом случае или в двоичном случае) должны быть согласованы. Кроме того, каждая сторона должна иметь пару ключей, подходящую для криптографии с эллиптической кривой, состоящую из закрытого ключа. (случайно выбранное целое число в интервале ) и открытый ключ, представленный точкой (куда , то есть результат добавление себе раз). Пусть пара ключей Алисы будет и пара ключей Боба будет . Каждая сторона должна знать открытый ключ другой стороны до выполнения протокола.
Алиса вычисляет точку . Боб вычисляет точку . Общий секрет (в Икс координата точки). Большинство стандартизованных протоколов, основанных на ECDH, получают симметричный ключ от используя некоторую функцию вывода ключей на основе хеша.
Общий секрет, рассчитанный обеими сторонами, равен, потому что .
Единственная информация о своем ключе, которую изначально предоставляет Алиса, - это ее открытый ключ. Таким образом, ни одна сторона, включая Алису, не может определить закрытый ключ Алисы (Алиса, конечно, знает это, выбрав его), если только эта сторона не может решить эллиптическую кривую дискретный логарифм проблема. Закрытый ключ Боба также безопасен. Ни одна сторона, кроме Алисы или Боба, не может вычислить общий секрет, если эта сторона не может решить эллиптическую кривую. Проблема Диффи – Хеллмана.
Открытые ключи либо статические (и доверенные, скажем, через сертификат), либо эфемерные (также известные как ECDHE, где конечная буква «E» означает «эфемерный»). Эфемерные ключи являются временными и не обязательно аутентифицируются, поэтому, если требуется аутентификация, гарантии аутентичности должны быть получены другими способами. Аутентификация необходима, чтобы избежать Атаки посредника. Если один из открытых ключей Алисы или Боба статичен, то атаки типа «злоумышленник в середине» предотвращаются. Статические открытые ключи не обеспечивают ни прямая секретность ни отказоустойчивость от несанкционированного доступа к ключам, а также другие дополнительные свойства безопасности. Держатели статических закрытых ключей должны проверять другой открытый ключ и применять безопасный ключевая деривационная функция к необработанному общему секрету Диффи – Хеллмана, чтобы избежать утечки информации о статическом закрытом ключе. Схемы с другими свойствами безопасности см. MQV.
Если Алиса злонамеренно выбирает недопустимые точки кривой для своего ключа, а Боб не подтверждает, что точки Алисы являются частью выбранной группы, она может собрать достаточно остатков ключа Боба, чтобы получить его закрытый ключ. Несколько TLS библиотеки оказались уязвимыми для этой атаки.[4]
Хотя общий секрет может использоваться непосредственно как ключ, может быть желательно хэшировать секрет, чтобы удалить слабые биты из-за обмена Диффи-Хеллмана.
Программного обеспечения
- Подкрутка25519 - популярный набор параметров эллиптических кривых и эталонная реализация Дэниел Дж. Бернштейн в C. Привязки и альтернативные реализации также доступны.
- Приложение для обмена сообщениями LINE использовал протокол ECDH для «запечатывания писем» сквозное шифрование всех сообщений, отправленных через указанное приложение с октября 2015 года.[5]
- Сигнальный протокол использует ECDH для обеспечения безопасности после взлома. Реализации этого протокола находятся в Сигнал, WhatsApp, Facebook Messenger и Skype.
Смотрите также
Рекомендации
- ^ NIST, Специальная публикация 800-56A, Рекомендации по схемам создания парных ключей с использованием криптографии с дискретным логарифмом, Март 2006 г.
- ^ Certicom Research, Стандарты эффективной криптографии, SEC 1: Криптография с эллиптическими кривыми, Версия 2.0, 21 мая 2009 г.
- ^ Криптография NSA Suite B, Руководство разработчика Suite B по NIST SP 800-56A В архиве 2016-03-06 в Wayback Machine, 28 июля 2009 г.
- ^ Тибор Ягер; Йорг Швенк; Юрай Соморовский (04.09.2015). «Практические атаки неверной кривой на TLS-ECDH» (PDF). Европейский симпозиум по исследованиям в области компьютерной безопасности (ESORICS'15).
- ^ JI (13 октября 2015 г.). «Новое поколение безопасного обмена сообщениями:» Печать писем"". Блог инженеров LINE. LINE Corporation. Получено 5 февраля 2018.