Постквантовый TLS внедряют уже сейчас

fzwvumtxmurjw76wqm3u-zp6q1m.png

Квантовый компьютер, который будет решать криптографические задачи (cryptographically-relevant quantum computer или CRQC в терминологии АНБ), пока далёк от реальности. Но проблема в том, что создатели такого компьютера вряд ли сразу сообщат миру о его существовании, а могут тайно воспользоваться возможностью взлома мировой криптографической системы.

Хуже всего, что с появлением CRQC можно будет расшифровать весь зашифрованный трафик, перехваченный и сохранённый в предыдущие годы (то есть сейчас). Записью и сохранением зашифрованного трафика сейчас занимаются хостинг-провайдеры, операторы мобильной связи, интернет-провайдеры и спецслужбы (стратегия harvest now, decrypt later).
Индустрия уже начала готовиться к такому сценарию. Поскольку многие доквантовые шифры будут скомпрометированы, нужно заранее продумать переход на новые, постквантовые алгоритмы.

Разработчики браузеров тоже начали внедрять поддержку постквантовых алгоритмов. Это будущий стандарт шифрования для веб-сайтов в интернете, который планируется включить в TLS 1.3.

TLS нового поколения


В прошлом году разработчики Chrome поделились планами по внедрению в браузер поддержки гибридного протокола постквантового шифрования ML-KEM (ранее известен как Kyber). В данное время он оформлен как черновик стандарта X25519Kyber768, а по сути представляет собой сочетание доквантового алгоритма на эллиптических кривых X25519 и постквантового алгоритма Kyber-768.

Kyber-768 — метод инкапсуляции ключей, устойчивый к квантовому воздействию, победитель конкурса NIST PQC для шифров общего назначения (доступ к веб-сайтам). Для цифровых подписей победители другие.

Другими словами, в 2022 году NIST выбрал Kyber-768 в качестве TLS нового поколения. А сейчас разработчики Chrome предлагают утвердить в качестве стандарта «гибридную» версию X25519Kyber768 (Kyber-768 + X25519).

В мае 2024 года последняя спецификация ML-KEM для TLS 1.3 и QUIC включена по умолчанию на всех десктопных версиях Chrome (с версии Chrome 124.2).

Поскольку стандарты от NIST и IETF ещё не утверждены окончательно, текущую реализацию в Chrome позже удалят и заменят финальными версиями. На данном этапе это скорее эксперимент для энтузиастов, которые хотят уже сейчас попробовать, как работает постквантовое шифрование будущего.

Запуск квантово-устойчивого обмена ключами — часть более широкой стратегии по приоритетному внедрению постквантовой криптографии во все существующие системы, учитывая вероятность квантовой угрозы.

Квантовая угроза


В контексте HTTPS криптография используется в основном тремя способами:

  • Симметричное шифрование/дешифрование. HTTP передаёт данные внутри TLS с помощью AEAD-шифра, такого как AES-GCM. Эти алгоритмы в целом считаются безопасными для квантового криптоанализа, их можно оставить.
  • Обмен ключами. Для симметричной криптографии требуется секретный ключ. Обмен ключами — это форма асимметричной криптографии, в которой две стороны взаимно генерируют общий секретный ключ по общедоступному каналу. Этот секретный ключ может быть использован для симметричного шифрования и дешифрования. Все существующие формы асимметричного обмена ключами, стандартизированные для использования в TLS, уязвимы для квантового криптоанализа.
  • Аутентификация. В HTTPS аутентификация достигается в основном с помощью цифровых подписей, которые используются для передачи идентификационных данных сервера, аутентификации при рукопожатии и прозрачности при выдаче сертификата. Все алгоритмы цифровых подписей и открытых ключей, стандартизированные для аутентификации в TLS, уязвимы для квантового криптоанализа.


Это означает две конкретные квантовые угрозы для HTTPS:

  • Угроза для трафика, генерируемого сегодня. Противник может сейчас сохранить зашифрованный трафик — и подождать появления CRQC, чтобы его расшифровать постфактум.
  • Подделка зашифрованного трафика в будущем. Если CRQC действительно появится, его можно использовать для взлома аутентификации HTTPS и имперсонации сервера со стороны CRQC.


Согласно опросу специалистов для аналитического отчёта «Хронология квантовой угрозы 2023» от Global Risk Institute, вероятность взлома шифра RSA-2048 в течение ближайших 15 лет составляет около 43%:

zpqsqanqxafj_mqq8cyesq_tjoa.png

wph-s6kiyh8rnnigygnbxddjqlc.png

Постквантовая стратегия Chrome также затрагивает улучшение криптографических сертификатов Web PKI и правил Chrome Root Program для центров сертификации.

Чтобы защитить нынешний трафик от расшифровки в будущем, нужно уже сейчас внедрять постквантовые алгоритмы шифрования, ещё до появления CRQC. Внедрение ML-KEM в браузерах позволяет серверам защититься от этой атаки.

Нужно заметить, что реализация постквантового TLS связана с рядом трудностей, прежде всего, с большим размером криптографических примитивов (1 КБ трафика при рукопожатии в ML-KEM вместо 32 байт в X25519). Приходится разделять ClientHello в TLS на два пакета, что приводит к увеличению средней задержки на 4% для всех рукопожатий TLS в Chrome.

Впрочем, при повторном использовании HTTP/2 и HTTP/3 это увеличение уже не отражается в показателях Core Web Vitals на десктопе. К сожалению, разница ещё заметна под Android, где пропускная способность каналов меньше, а задержка выше. Поэтому новый TLS пока не выкатили в Chrome под Android.

При аутентификации увеличение трафика ещё более серьёзное. Ключи и подписи ML-DSA (Dilithium) в 40 раз больше ECDSA. Сегодня типичное TLS-соединение использует при аутентификации два открытых ключа и пять подписей. Это означает, что ML-DSA добавит примерно 14 КБ к рукопожатию TLS. По оценке Cloudflare, это увеличит задержку на 20−40%. Поэтому сейчас разрабатываются альтернативные подходы к аутентификации в HTTPS, такие как Trust Expressions для TLS и сертификаты TLS в дереве Меркла.

Возможно, владельцам сайтов в будущем придётся выбирать между безопасностью новых клиентов и совместимостью со старыми клиентами.

© Habrahabr.ru