Открыть сервис

Эфемерный ключ

Эфемерный ключ (англ. ephemeral key) — это криптографический ключ, генерируемый для однократного использования в рамках одного сеанса связи или одной транзакции и уничтожаемый после завершения операции. В отличие от долговременных (статических) ключей, эфемерные ключи не хранятся и не используются повторно, что обеспечивает свойство прямой секретности (forward secrecy) в протоколах шифрования.

История

Концепция эфемерных ключей возникла в рамках развития криптографии с открытым ключом в 1970-х годах. Первые упоминания относятся к протоколу Диффи — Хеллмана (1976), где для установления общего секрета между двумя сторонами использовались временные секретные числа, по сути являющиеся эфемерными ключами. Однако термин «эфемерный ключ» закрепился позже, с развитием протоколов аутентифицированного согласования ключей, таких как STS (Station-to-Station) и IKE (Internet Key Exchange).

В 1990-х годах, с ростом популярности интернета и электронной коммерции, потребность в обеспечении прямой секретности привела к широкому внедрению эфемерных ключей в протоколы TLS (Transport Layer Security) и IPsec. В 2010-х годах, после массовых утечек долговременных ключей серверов, использование эфемерных ключей стало стандартом де-факто для защищённых соединений.

Принцип работы

Эфемерный ключ генерируется случайным образом на стороне участника протокола непосредственно перед началом сеанса связи. Процесс включает:

  1. Генерация: с использованием криптографически стойкого генератора псевдослучайных чисел (CSPRNG) создаётся пара ключей (открытый и закрытый).
  2. Обмен: открытый эфемерный ключ передаётся другой стороне, часто в составе сертификата или отдельного сообщения.
  3. Вычисление сеансового ключа: на основе эфемерных ключей обеих сторон с помощью алгоритма согласования ключей (например, ECDH, X25519) вычисляется общий сеансовый ключ.
  4. Уничтожение: после завершения сеанса закрытый эфемерный ключ безвозвратно удаляется из памяти.

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

Виды эфемерных ключей

По алгоритму генерации

  • Эфемерные ключи Диффи — Хеллмана (DHE): основаны на дискретном логарифмировании в конечных полях. Используются в протоколах TLS 1.2 и ниже.
  • Эфемерные ключи на эллиптических кривых (ECDHE): основаны на эллиптических кривых. Обеспечивают аналогичную стойкость при меньшей длине ключа и более высокой скорости. Являются стандартом в современных версиях TLS (1.3) и Signal Protocol.
  • Эфемерные ключи для постквантовой криптографии: разрабатываются для устойчивости к атакам с использованием квантовых компьютеров. Примеры: CRYSTALS-Kyber, FrodoKEM.

По способу применения

  • Сеансовые ключи: используются для шифрования всего трафика одного сеанса связи.
  • Ключи для одной подписи: применяются в протоколах аутентификации, например, в схеме подписи Эль-Гамаля.
  • Ключи для одного сообщения: используются в протоколах с гарантированной доставкой, таких как Signal Protocol, где каждое сообщение шифруется отдельным эфемерным ключом.

Применение

Защищённые протоколы связи

  • TLS/SSL: в современных версиях (TLS 1.3) по умолчанию используется ECDHE для согласования ключей. Это обеспечивает прямую секретность даже при компрометации сертификата сервера.
  • IPsec: протокол IKEv2 поддерживает эфемерные ключи для создания защищённых туннелей.
  • SSH: протокол использует эфемерные ключи для установления сеансового ключа на основе алгоритма Диффи — Хеллмана.

Мессенджеры и системы мгновенного обмена сообщениями

  • Signal Protocol: использует комбинацию долговременных, среднесрочных и эфемерных ключей для обеспечения сквозного шифрования (end-to-end encryption). Каждое сообщение шифруется уникальным эфемерным ключом, что предотвращает повторное использование ключей.
  • **WhatsApp (продукт Meta, признанной экстремистской и запрещённой в РФ) (принадлежит компании Meta, признанной экстремистской и запрещённой в РФ), Telegram (в режиме секретных чатов) и Viber** применяют аналогичные схемы на основе эфемерных ключей.

Криптовалюты и блокчейн

  • Биткойн: для каждой транзакции генерируется новый эфемерный ключ, который используется для подписи. Это предотвращает связывание транзакций по одному и тому же ключу.
  • Ethereum: аналогично, для каждой транзакции используется уникальный одноразовый номер (nonce) и эфемерный ключ для подписи.

Аутентификация и электронная подпись

  • Протоколы аутентификации: эфемерные ключи используются в схемах аутентификации с нулевым разглашением (zero-knowledge proof) и в протоколах типа «запрос-ответ».
  • Электронная подпись: в некоторых схемах (например, ECDSA) для каждой подписи генерируется эфемерный ключ, который после использования уничтожается.

Преимущества и недостатки

Преимущества

  • Прямая секретность (forward secrecy): компрометация долговременного ключа не позволяет расшифровать ранее перехваченные сеансы.
  • Устойчивость к атакам повторного воспроизведения (replay attacks): так как каждый ключ уникален, злоумышленник не может повторно использовать перехваченные данные.
  • Снижение риска утечки ключей: эфемерные ключи хранятся в памяти только во время сеанса и не записываются на диск.
  • Повышение анонимности: в криптовалютах использование эфемерных ключей затрудняет отслеживание транзакций.

Недостатки

  • Увеличение вычислительной нагрузки: генерация и согласование эфемерных ключей требуют дополнительных вычислительных ресурсов, особенно на мобильных устройствах.
  • Сложность реализации: требуется корректная реализация генерации случайных чисел и управления памятью для предотвращения утечек.
  • Уязвимость к атакам на генератор случайных чисел: если генератор псевдослучайных чисел скомпрометирован, эфемерные ключи могут быть предсказаны.
  • Необходимость синхронизации: в протоколах с эфемерными ключами требуется надёжная передача открытых ключей между сторонами.

Критика и ограничения

Основная критика эфемерных ключей связана с их уязвимостью к атакам на генератор случайных чисел. В 2012 году исследователи обнаружили, что в некоторых реализациях TLS генератор случайных чисел был недостаточно стойким, что позволяло предсказывать эфемерные ключи. Это привело к ужесточению требований к CSPRNG в стандартах.

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

Перспективы

С развитием квантовых компьютеров эфемерные ключи на основе дискретного логарифмирования и эллиптических кривых могут стать уязвимыми. В связи с этим активно разрабатываются постквантовые схемы согласования ключей, такие как CRYSTALS-Kyber, которые уже включены в стандарт NIST (2024). Ожидается, что в ближайшие годы эфемерные ключи на основе решёток (lattice-based) станут основой для защищённых протоколов.

Источники

  • Шнайер Б. «Прикладная криптография». — М.: Триумф, 2002.
  • Менезес А., ван Оорсхот П., Ванстон С. «Руководство по прикладной криптографии». — М.: Вильямс, 2006.
  • RFC 5246 — The Transport Layer Security (TLS) Protocol Version 1.2.
  • RFC 8446 — The Transport Layer Security (TLS) Protocol Version 1.3.
  • NIST Special Publication 800-56A — Recommendation for Pair-Wise Key Establishment Schemes Using Discrete Logarithm Cryptography.
  • Мартин Л. «Криптография: теория и практика». — М.: ДМК Пресс, 2020.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →