Постквантовый TLS внедряют уже сейчас
Квантовый компьютер, который будет решать криптографические задачи (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%:
Постквантовая стратегия 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 в дереве Меркла.
Возможно, владельцам сайтов в будущем придётся выбирать между безопасностью новых клиентов и совместимостью со старыми клиентами.