Новости о прорывах, ведущих к появлению практически полезного квантового компьютера, появляются регулярно. А самого компьютера пока нет, поэтому взламывать шифрование на нем никто не может. Но когда такой компьютер появится, решать проблему будет поздно, поэтому уже сегодня в мире активно стандартизуются новые алгоритмы шифрования, устойчивые и к классическим способам взлома, и к атакам на квантовом компьютере. Подобные алгоритмы называются постквантовыми или квантово устойчивыми. Поддержка этих алгоритмов постепенно появляется в повседневных устройствах и приложениях, например, недавно ее включили в Google Chrome. Это, кстати, немедленно обнажило проблемы совместимости в обычной IT-инфраструктуре организаций. Итак, где уже внедрены «посткванты» и к чему готовиться IT-командам?
В каких сервисах уже поддерживаются постквантовые алгоритмы
Amazon. Облачный гигант еще в 2020 году внедрил «постквантовую» разновидность TLS 1.3 для своего сервиса управления ключами AWS KMS. С тех пор решение обновлялось, переходя на параметры конфигурации в соответствии с рекомендациями NIST.
Apple iOS/iPadOS/macOS. В феврале 2024 года Apple анонсировала обновление протокола iMessage, который будет использовать квантово устойчивый протокол PQ3 для обмена ключами. Он основан на рекомендованном NIST алгоритме Kyber, но параллельно использует классическую эллиптическую криптографию, то есть шифрование двойное.
Cloudflare. С сентября 2023 года Cloudflare поддерживает постквантовые алгоритмы согласования ключей при установке соединения с origin-серверами (сайтами клиентов) и постепенно разворачивает поддержку постквантового шифрования для соединений с клиентами. Технология используется при установке соединения TLS с совместимыми серверами/клиентами — это двойной алгоритм согласования ключей: классический X25519 для вычисления одной части ключа и постквантовый Kyber для другой. Это популярная комбинация получила название X25519Kyber768.
Google Chrome. Тестовая поддержка ПКШ для установки TLS-соединений появилась в августе 2023 года, а с выходом версии 124 в апреле 2024 года она была включена по умолчанию. Алгоритм — X25519Kyber768.
Mozilla Firefox. Поддержка X25519Kyber768 для TLS и QUIC появилась в начале 2024 года, но все еще не включена по умолчанию, нужно делать это самостоятельно.
Mullvad. Популярный сервис VPN использует следующую схему ПКШ: сначала устанавливается традиционное зашифрованное соединение, затем по нему проходит новое согласование ключей при помощи алгоритмов Classic McEliece и Kyber, после чего соединение заново устанавливается с этими ключами.
Signal. Мессенджер внедрил протокол PQDXH в сентябре 2023 года. Применен все тот же X25519Kyber768.
Tuta (nota). Популярный сервис конфиденциальной почты позволяет посылать постквантовые e-mail, зашифрованные по той же схеме X25519Kyber768. Очевидный недостаток системы — она работает только при переписке с другими абонентами Tuta.
Хотя это еще не коммерческий продукт, отметим также реализацию аппаратных ключей FIDO2 от Google, использующую пару классического ECDSA и постквантового Dilithium.
Помимо этого, ПКШ поддерживается целым рядом библиотек, которые лежат в основе других продуктов, — от почтовых и веб-серверов до операционных систем. Отметим библиотеки OpenSSL и BoringSSL, экспериментальную ветвь Debian. Многие из этих реализаций стали возможны благодаря инициативе Open Quantum Safe, поддерживающей «постквантовые» форки популярных криптографических утилит и библиотек, доступные для множества популярных языков программирования.
Основные недостатки квантово устойчивого шифрования
Алгоритмы недостаточно проанализированы. Хотя криптоанализ широким научным сообществом идет уже несколько лет, сами математические принципы у ПКШ более сложные, да и опыт с классическим шифрованием показывает, что серьезные дефекты или новые методы атак находят порой спустя десятки лет. У современных алгоритмов ПКШ почти наверняка обнаружатся уязвимости (не просто уязвимости реализации, а именно принципиальные дефекты алгоритма).
Размеры ключа значительно больше, чем у RSA и ECC. У алгоритма ПКШ Kyber768, например, открытый ключ занимает 2400 байт. Это приводит и к многократному росту объемов передачи данных, если пересогласование ключей проводится часто. А на слишком жестко спроектированных или просто маломощных системах для таких ключей может не хватать памяти.
Вычислительная нагрузка ПКШ выше «классической», что замедляет операции и повышает энергопотребление в 2-3 раза. Правда, этот дефект может в будущем сгладиться с появлением оптимизированного оборудования.
Проблемы совместимости. Все обновления стандартов и протоколов шифрования, даже классических, создают сложности, когда одни системы уже обновились, а другие, связанные с первыми, еще нет.
Проблемы постквантовой совместимости
Практические проблемы в первую очередь затронут сервисы, использующие для соединений протокол TLS. Он реализован десятками способов в тысячах продуктов, иногда с ошибками. Как только Google включил по умолчанию поддержку Kyber в Chromium 124, администраторы стали жаловаться на то, что в Chrome и Edge невозможно установить соединение с веб-сервером, оно мгновенно обрывается с ошибкой после TLS-рукопожатия ClientHello. Сработала проблема номер два — огромный размер ключа. В результате TLS-сообщение ClientHello, которое всегда помещалось в один TCP-пакет, растянулось на множество, и те реализации серверов, прокси и файерволов, которые не были готовы к такому ClientHello, немедленно прерывали соединение. Нормальным поведением было бы прочитать следующие пакеты и согласовать с клиентом старый, классический алгоритм шифрования. Список несовместимых веб-серверов и межсетевых экранов, подверженных этой проблеме, отслеживается на специальном сайте, в данный момент ярким именем в нем, безусловно, является Cisco.
Если в организации внезапно стало невозможно открыть ни один веб-сайт, скорее всего, проблема в прокси или межсетевом экране, которому нужно обновление. Пока у разработчиков несовместимых приложений и устройств не вышли патчи, временное решение проблемы — отключить ПКШ:
с помощью групповых политик MS Edge и Chrome;
через скрытые настройки Chrome:chrome://flags/#enable-tls13-kyber;
через настройки Firefox: about:config -> security.tls.enable_kyber.
Администраторам рекомендовано проверить вверенные им веб-сайты и веб-приложения, включив поддержку Kyber в Firefox или Chrome и попытавшись зайти на сайт. В случае возникновения ошибки SSL/TLS нужно обновлять веб-сервер.
Стандарты квантово устойчивого шифрования
Предотвратить появление зоопарка протоколов и проблем совместимости должна стандартизация. Для ПКШ этот процесс идет, но далек от завершения.
Американский NIST недавно представил первые полноценные стандарты постквантового шифрования — FIPS 203, FIPS 204 и FIPS 205. По сути, это CRYSTALS-Kyber для согласования ключей, а также CRYSTALS-Dilithium и SPHINCS+ для разных сценариев цифровой подписи.
Европейские организации, от ENISA и ETSI до BSI и ANSSI, собираются активно пользоваться наработками NIST, но готовы рассматривать и дополнительные алгоритмы, если те будут доказуемо лучше. Также все они указывают на необходимость двойного шифрования важных данных — одновременно постквантовыми и классическими алгоритмами. Учитывая новизну постквантовых алгоритмов, могут найтись инновационные способы их взлома, от чего должен защитить второй слой шифрования.
В Китае планируют стандартизовать постквантовые алгоритмы в 2025 году. Профильная ассоциация криптографов (Chinese Association for Cryptologic Research, CACR) объявила алгоритмы-финалисты в 2020 году: Aigis-sig и Aigis-enc (модифицированные родственники CRYSTALS-Kyber и CRYSTALS-Dilithium) и LAC.PKE.
В России процесс разработки стандартов тоже запущен, но конкретные сроки их появления не обозначены. Обсуждение проходят алгоритмы с красивыми названиями «Крыжовник» и «Шиповник». Первый является вариацией Crystals-Dilithium, а второй уникален.
Тем временем рабочая группа IETF, ответственная за интернет-протоколы, вероятно, узаконит использование в этих протоколах стандартов криптографии, предложенных NIST.
Бизнес — Блог Касперского