В условиях стремительного развития квантовых технологий безопасность данных в интернете получает новое значение. Традиционные алгоритмы, применяемые для защиты информации, такие как эллиптическая криптография, уже подвержены риску быть вскрытыми при помощи квантовых компьютеров. В результате возникает угроза, известная как «сбор и последующая расшифровка» — когда злоумышленники перехватывают данные, чтобы расшифровать их позже, используя квантовые возможности. Сегодня для обеспечения надежной защиты требуется внедрение методов, устойчивых к атакам квантовых машин, иначе известным как постквантовая криптография. Одним из самых перспективных решений является использование метода ML-KEM поверх WebSockets, позволяющего гарантировать постквантовую безопасность для всех браузерных пользователей без исключения.
Ранее в основе защищенной передачи данных в интернете лежала эллиптическая криптография, например алгоритмы X25519, составляющие часть протокола TLS 1.3. Однако способность квантовых компьютеров эффективно решать задачи, лежащие в основе таких алгоритмов, подрывает текущие стандарты безопасности. Несмотря на то, что недавно в протоколы TLS была интегрирована гибридная схема ключевого соглашения, включающая ML-KEM (многоуровневый ключевой метод инкапсуляции), распространение поддерживающих эту схему браузеров пока остается ограниченным. Статистика последних исследований показывает, что лишь около трети запросов к крупным сервисам, таким как Cloudflare, обрабатываются с использованием этой технологии.
Это ограничивает возможность гарантировать защиту всех пользователей традиционным способом. Именно поэтому команда разработчиков из проекта yellowpages приняла решение об инновационном подходе — реализации протокола ML-KEM поверх WebSockets на уровне приложения. Этот метод позволяет не полагаться исключительно на поддержку браузеров, но внедрять дополнительный уровень постквантовой защиты уже в самом приложении. Первоначальное установление соединения происходит через стандартный защищенный WebSocket-запрос (wss://), обеспечивающий шифрование на основе TLS с традиционными алгоритмами. После этого происходит дополнительный обмен ключами ML-KEM, который устанавливает общий секретный ключ, устойчивый к квантовым атакам.
В итоге данные, передаваемые по каналу, шифруются дважды — сначала TLS-слоем с гибридным ключевым соглашением (ECC+AES), а затем на уровне приложения с помощью ML-KEM и AES-GCM, что значительно повышает уровень безопасности. Выбор параметров для ML-KEM и AES был продиктован балансом между высочайшей степенью защиты и производительностью системы. Был выбран набор параметров ML-KEM с уровнем 768, обеспечивающий 192-битную защиту, что считается оптимальным для эффективной и надежной работы в условиях постквантовой угрозы. Одновременно применяется AES-256-GCM, известный своим уровнем устойчивости к классическим атакам. Хотя Grover’s алгоритм, теоретически угрожающий симметричным шифрам, может снизить эффективность AES-256 до эквивалента 128 бит, это пока менее острая угроза по сравнению с взломом ключевого обмена эллиптическими методами.
Практическая реализация решения опирается на современные технологии и прошла экспертный аудит для исключения уязвимостей в коде. Серверная часть выполнена на языке Rust с использованием фреймворка Axum и работает в изолированном AWS Nitro Enclave, что обеспечивает надежное управление ключами и безопасность исполнения. Взаимодействие с клиентской частью, написанной на JavaScript и работающей в браузере, происходит посредством стандартного WebSocket клиента. На стороне клиента используется библиотека noble-post-quantum, которая предоставляет инструменты для генерации ключей ML-KEM и операций инкапсуляции и декапсуляции. Тем самым достигается расширенный уровень криптографической защиты, не зависящий от версии браузера пользователя.
Алгоритм взаимодействия начинается с генерации клиентом пары ключей ML-KEM: открытого ключа — инкапсуляционного ключа, и закрытого — декапсуляционного. Клиент передает открытый ключ серверу в закодированном виде через WebSocket. Сервер, используя надежный источник энтропии, производит инкапсуляцию, формируя общий секретный ключ и зашифрованный текст (ciphertext), который возвращается клиенту. Клиент, в свою очередь, декодирует полученный зашифрованный текст и используя закрытый ключ получает общий секрет. Теперь обе стороны способны использовать этот секрет для симметричного шифрования AES-256-GCM с генерацией уникального для каждого сообщения nonce, что обеспечивает целостность и конфиденциальность передаваемых данных.
Преимущества предлагаемого подхода очевидны: во-первых, внедрение ML-KEM на уровне приложения делает защиту всех пользователей универсальной и не зависит от текущей поддержки со стороны браузеров и серверов TLS. Во-вторых, двойной уровень шифрования усложняет злоумышленникам задачу — им придется взломать сразу два ряда криптографической защиты, причем второй извне — невозможный для известных квантовых атак. В-третьих, система остается совместимой с существующей инфраструктурой, что снижает издержки на внедрение и повышает удобство использования. Разработчики отмечают, что хотя самостоятельная реализация криптографических протоколов является сложной задачей и сопряжена с рисками ошибок, их код прошел независимый аудит от специалистов Cure53. Тем не менее, для других проектов предлагается, если не требуется безусловная постквантовая гарантия, применять готовые решения на уровне TLS и ориентироваться на постепенное обновление клиентов и серверов.
В контексте yellowpages выбор был обусловлен спецификой приложения и необходимостью уверенности в безопасности каждого соединения. Еще одним важным аспектом служит использование надежных криптографических библиотек с открытым кодом и проверенной историей. На клиенте это noble-post-quantum и noble-ciphers, а на сервере — RustCrypto, обеспечивающие стабильное и эффективное выполнение всех операций шифрования и обмена ключами. Такой подход давно зарекомендовал себя в среде профессиональных разработчиков и проектировщиков систем безопасности. Благодаря ML-KEM поверх WebSockets пользователи получают доступ к веб-приложениям, которые уже сегодня готовы противостоять вызовам квантовой эпохи.