Механизм инкапсуляции ключей¶
Механизм инкапсуляции ключей (англ. Key Encapsulation Mechanism, KEM) — это криптографический протокол, предназначенный для безопасной передачи симметричного ключа (сеансового ключа) между двумя сторонами по открытому каналу связи с использованием асимметричной криптографии. В отличие от традиционных схем шифрования ключей, KEM генерирует и инкапсулирует (упаковывает) ключ внутри одного зашифрованного сообщения, которое может быть расшифровано только владельцем соответствующего секретного ключа. KEM является фундаментальным строительным блоком в современных криптосистемах, особенно в протоколах гибридного шифрования и постквантовой криптографии.
¶История и развитие
Концепция инкапсуляции ключей возникла как развитие идей гибридного шифрования, где асимметричная криптография используется для защиты симметричного ключа. В 1990-х годах стандартные схемы, такие как RSA-OAEP (Optimal Asymmetric Encryption Padding), фактически выполняли функцию KEM, но не были формально описаны как отдельный механизм.
Формальное определение KEM было введено в 2003 году Виктором Шоупом (Victor Shoup) в рамках работы над стандартом ISO/IEC 18033-2. Шоуп предложил строгую математическую модель, отделяющую процесс генерации и инкапсуляции ключа от его расшифровки. Это позволило унифицировать подходы к гибридному шифрованию и упростить анализ безопасности.
В 2010-х годах, с развитием постквантовой криптографии, KEM стал центральным элементом многих схем, устойчивых к атакам с использованием квантовых компьютеров. В 2022 году Национальный институт стандартов и технологий США (NIST) выбрал алгоритм CRYSTALS-Kyber в качестве основного стандарта для постквантового KEM.
¶Принцип работы
Механизм инкапсуляции ключей состоит из трёх основных алгоритмов:
- Генерация ключей (KeyGen): Сторона-получатель генерирует пару ключей — открытый ключ (pk) и секретный ключ (sk). Открытый ключ публикуется, секретный остаётся у получателя.
- Инкапсуляция (Encaps): Сторона-отправитель, используя открытый ключ получателя, генерирует случайный сеансовый ключ K и его зашифрованную версию — шифротекст C. На выходе алгоритма получается пара (K, C).
- Декапсуляция (Decaps): Получатель, используя свой секретный ключ и полученный шифротекст C, восстанавливает исходный сеансовый ключ K. Если шифротекст подделан или повреждён, алгоритм возвращает ошибку или случайный ключ.
Важное свойство KEM — детерминированность декапсуляции: для одного и того же шифротекста и секретного ключа всегда получается один и тот же ключ. Инкапсуляция, напротив, является вероятностной — каждый вызов алгоритма генерирует новый случайный ключ и новый шифротекст.
¶Отличие от традиционных схем
Традиционные схемы шифрования с открытым ключом (например, RSA-OAEP) могут использоваться для передачи ключа, но они имеют ряд недостатков:
- Избыточность: Симметричный ключ обычно имеет фиксированную длину (например, 256 бит), а асимметричное шифрование оперирует с блоками данных, размер которых может быть больше. Это требует дополнительного форматирования.
- Отсутствие гарантии случайности: При шифровании ключа с помощью детерминированного алгоритма (например, RSA без дополнения) злоумышленник может проверить догадки о значении ключа.
- Сложность анализа безопасности: Доказательство безопасности схемы гибридного шифрования, построенной на основе общего шифрования, требует более сложных математических выкладок.
KEM решает эти проблемы, предоставляя чётко определённый интерфейс, гарантирующий, что сгенерированный ключ является случайным и неотличимым от равномерно распределённого случайного значения для любого злоумышленника, не обладающего секретным ключом.
¶Классификация
¶По математической основе
- На основе целочисленных решёток: KEM, построенные на задачах LWE (Learning With Errors) и Ring-LWE. Примеры: CRYSTALS-Kyber, FrodoKEM. Эти схемы считаются устойчивыми к квантовым атакам.
- На основе кодов, исправляющих ошибки: Например, Classic McEliece. Основаны на сложности декодирования случайного линейного кода.
- На основе хэш-функций: KEM, построенные на основе схемы Меркла — Дамгора. Пример: HQC (Hamming Quasi-Cyclic).
- На основе эллиптических кривых: Традиционные схемы, такие как ECDH (Elliptic Curve Diffie-Hellman), используемые в протоколах TLS 1.3. Однако ECDH не является полноценным KEM, так как не включает формальную инкапсуляцию.
¶По типу безопасности
- IND-CPA (Indistinguishability under Chosen Plaintext Attack): Схема устойчива к атакам с выбором открытого текста. Гарантирует, что шифротексты неотличимы для разных ключей.
- IND-CCA (Indistinguishability under Chosen Ciphertext Attack): Более сильное свойство, гарантирующее неотличимость даже при наличии доступа к оракулу декапсуляции. Большинство современных KEM, включая CRYSTALS-Kyber, обеспечивают IND-CCA2 — устойчивость к адаптивным атакам с выбором шифротекста.
¶Применение
¶Гибридное шифрование
KEM является основой для гибридных криптосистем, где асимметричная криптография используется для передачи симметричного ключа, а сам ключ — для шифрования данных. Стандартная схема:
- Отправитель вызывает
Encaps(pk)и получает (K, C). - Использует K как ключ для симметричного шифрования сообщения M, получая шифротекст CT.
- Передаёт получателю пару (C, CT).
Получатель, в свою очередь, вызывает Decaps(sk, C) для восстановления K, а затем расшифровывает CT.
¶Протоколы TLS и HTTPS
В современных версиях протокола TLS (1.3) KEM используется для установления сеансового ключа. Например, схемы на основе эллиптических кривых (ECDHE) фактически реализуют KEM, хотя и не называются так явно. В постквантовых расширениях TLS (например, в проекте Open Quantum Safe) KEM, такие как Kyber, используются для защиты от квантовых атак.
¶Постквантовая криптография
KEM является ключевым компонентом большинства постквантовых криптосистем, проходящих стандартизацию NIST. В 2024 году NIST утвердил три алгоритма:
- CRYSTALS-Kyber (ML-KEM) — основной стандарт для общего шифрования.
- CRYSTALS-Dilithium (ML-DSA) — для цифровых подписей.
- FALCON и SPHINCS+ — дополнительные алгоритмы подписей.
Все эти схемы используют KEM как часть своей архитектуры.
¶Системы электронной почты и мессенджеры
В протоколах сквозного шифрования, таких как Signal Protocol и Matrix, KEM используется для обмена ключами между участниками. Например, в протоколе Signal применяется X3DH (Extended Triple Diffie-Hellman), который по сути является KEM, основанным на эллиптических кривых.
¶Интересные факты
- Размер шифротекста в KEM обычно значительно меньше, чем в традиционных схемах шифрования. Например, для CRYSTALS-Kyber-512 шифротекст занимает 768 байт, а для RSA-2048 — 256 байт, но последний не обеспечивает постквантовой безопасности.
- В некоторых KEM, таких как Classic McEliece, размер открытого ключа может достигать нескольких мегабайт, что делает их непригодными для мобильных устройств, но безопасными для долговременного хранения.
- KEM может быть комбинирован с протоколами аутентификации, такими как HMQV (Hashed Menezes-Qu-Vanstone), для обеспечения взаимной аутентификации сторон.
¶Критика и ограничения
- Уязвимость к квантовым атакам: Традиционные KEM, основанные на RSA и эллиптических кривых, уязвимы к атакам с использованием квантовых компьютеров (алгоритм Шора). Это стимулировало разработку постквантовых схем.
- Сложность реализации: Постквантовые KEM, особенно на основе решёток, требуют сложных математических операций, что может приводить к ошибкам в реализации. Например, уязвимости в реализации CRYSTALS-Kyber были обнаружены в 2023 году.
- Проблемы с производительностью: Некоторые KEM, такие как Classic McEliece, имеют высокие требования к памяти и вычислительным ресурсам, что ограничивает их применение на встраиваемых устройствах.
¶Источники
- Shoup, V. (2003). A Proposal for an ISO Standard for Public Key Encryption. ISO/IEC 18033-2.
- National Institute of Standards and Technology (NIST). (2022). Post-Quantum Cryptography: Selected Algorithms 2022.
- Bernstein, D. J., & Lange, T. (2017). Post-Quantum Cryptography. Springer.
- Peikert, C. (2014). Lattice Cryptography for the Internet. In: Post-Quantum Cryptography.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →


