Обмен и установление ключей
Протоколы установления ключей позволяют сторонам согласовать новый общий секретный ключ, привязывая его к аутентифицированным идентификаторам, чтобы последующая связь могла быть защищена с помощью быстрой симметричной криптографии.
Definition
Установление ключа — это протокол, посредством которого две или более стороны приходят к общему секретному ключу; при согласовании ключей обе стороны вносят вклад в ключ, тогда как при транспортировке ключей одна сторона генерирует и безопасно отправляет его.
Scope
Эта тема охватывает протоколы аутентифицированного обмена ключами (AKE): согласование ключей в сравнении с транспортировкой ключей, угрозы, которым они должны противостоять (атака «человек посередине», повторное воспроизведение, компрометация ключа с выдачей себя за другое лицо), свойства безопасности, такие как прямая секретность и контролируемое участие в создании ключа, а также формальные модели (Белларе-Рогавей, Канетти-Кравчик), используемые для их анализа. В ней рассматривается, как аутентификация добавляется к исходному протоколу Диффи-Хеллмана. Исключаются математические аспекты лежащих в основе проблем и развернутые протоколы каналов, которые рассматриваются отдельно.
Core questions
- Какие свойства безопасности должен гарантировать протокол аутентифицированного обмена ключами?
- Как аутентификация накладывается на протокол согласования ключей, такой как Диффи-Хеллман?
- Что такое прямая секретность и как выбор эфемерных ключей обеспечивает ее?
- Как формальные модели описывают активного злоумышленника, который контролирует сеть?
- Каким атакам (человек посередине, повторное воспроизведение, компрометация ключа с выдачей себя за другое лицо, атака с неизвестным общим ключом) должны противостоять протоколы?
Key concepts
- согласование ключей против транспортировки ключей
- аутентифицированный обмен ключами
- прямая секретность
- эфемерные ключи
- атака «человек посередине»
- компрометация ключа с выдачей себя за другое лицо
- атака с неизвестным общим ключом
- модели Белларе-Рогавея и Канетти-Кравчика
- функция вывода ключа
Key theories
- Аутентифицированный обмен ключами
- Исходное согласование ключей дает общий секрет, но не гарантирует подлинность партнера; протоколы AKE добавляют аутентификацию (с помощью подписей, сертификатов или предварительно разделенных ключей), чтобы каждая сторона знала, что она разделяет ключ с предполагаемым партнером, а не с самозванцем.
- Прямая секретность и свежесть сеансового ключа
- Использование свежего эфемерного ключевого материала для каждого сеанса и его объединение с долгосрочными ключами аутентификации дает сеансовый ключ, который остается секретным, даже если долгосрочные ключи впоследствии будут скомпрометированы, при этом противодействуя повторному воспроизведению старых сеансов.
Mechanisms
Типичный AKE сочетает эфемерный обмен Диффи-Хеллмана с аутентификацией: стороны обмениваются эфемерными публичными значениями и доказывают свою личность, подписывая данные транскрипта или используя предварительно разделенный или сертифицированный долгосрочный ключ. Полученный общий секрет передается через функцию вывода ключа с хешем транскрипта, чтобы привязать его к сеансу, предотвращая атаки повторного воспроизведения и атаки с неизвестным общим ключом, а также обеспечивая свежие, аутентифицированные сеансовые ключи.
Clinical relevance
Установление ключа является начальным этапом почти каждого защищенного сеанса: рукопожатие TLS 1.3, Signal X3DH и Double Ratchet, IPsec IKEv2, SSH и WireGuard — все они выполняют аутентифицированный обмен ключами до начала передачи каких-либо данных. Их корректность определяет, может ли злоумышленник выдать себя за сервер или незаметно находиться между двумя сторонами.
Evidence & guidelines
Схемы установления ключей стандартизированы в NIST SP 800-56A/B и анализируются в таких моделях, как Белларе-Рогавей и Канетти-Кравчик. Современные протоколы (TLS 1.3, фреймворк Noise) предписывают эфемерные обмены с прямой секретностью и прошли формальный анализ безопасности. Устаревшие обмены со статическими ключами без прямой секретности не рекомендуются.
History
Аутентифицированный обмен ключами вырос из протокола Диффи-Хеллмана 1976 года и признания того, что ему требовалась аутентификация для противодействия активным злоумышленникам. В 1990-х — 2000-х годах были разработаны строгие модели безопасности (Белларе-Рогавей 1993, Канетти-Кравчик 2001) и протоколы типа «станция-станция» и MQV. Полученные уроки были консолидированы в формально проанализированном рукопожатии TLS 1.3 и фреймворке протоколов Noise.
Key figures
- Whitfield Diffie
- Martin Hellman
- Mihir Bellare
- Phillip Rogaway
- Ran Canetti
- Hugo Krawczyk
Related topics
Seminal works
- diffie1976
- katz2020
- menezes1996
Frequently asked questions
- В чем разница между согласованием ключей и транспортировкой ключей?
- При согласовании ключей (как в Диффи-Хеллмане) обе стороны вносят случайность, поэтому ни одна из них в одиночку не определяет окончательный ключ. При транспортировке ключей одна сторона генерирует ключ и отправляет его зашифрованным с использованием открытого ключа другой стороны. Согласование более естественно поддерживает прямую секретность.
- Почему однократного установления ключа недостаточно для длительного сеанса?
- Долгоживущие ключи увеличивают риск раскрытия в случае компрометации и могут быть ослаблены криптоанализом или наблюдением злоумышленника. Протоколы периодически меняют ключи или обновляют их (как в Signal), чтобы компрометация одного сеансового ключа не раскрывала прошлые или будущие сообщения.