Chrome 154 beta: постквантовое шифрование в браузере
Прочитал в рассылке, что Chrome 154 beta добавил постквантовое шифрование в Web Crypto — теперь в браузере можно генерировать ключи по алгоритмам ML-KEM и ML-DSA. Это не просто новинка: впервые в JavaScript появилась поддержка криптографии, устойчивой к будущим квантовым компьютерам. Также в бете появились изменения в WebSocket, CSS и фоновых загрузках — всё это может повлиять на работу веб-приложений, особенно тех, что работают с локальными устройствами или используют сквозное шифрование. Пока это бета, но уже стоит смотреть на код, который работает с криптографией, WebSocket и доступом к лок
На мой взгляд, главный сдвиг — не в новых возможностях, а в том, что они теперь доступны прямо в браузере. Пока это бета, но если в вашем приложении есть сквозное шифрование — например, в мессенджере или хранилище паролей — стоит проверить, как оно будет работать с новыми алгоритмами. Не все браузеры уже поддерживают ML-KEM, но Chrome уже включил их в API, и это значит, что в будущем это может стать стандартом. Я уже проверяю, как реагирует код на вызов crypto.subtle.generateKey с новыми именами алгоритмов — если не падает с NotSupportedError, значит, в будущем будет работать.
Что касается WebSocket с targetAddressSpace — это важно для приложений, которые управляют IoT-устройствами или локальными серверами. Раньше такое было невозможно с публичного HTTPS-сайта. Теперь можно, но только при условии secure context, разрешения пользователя и резолвимости хоста в локальный IP. Это не просто «работает» — это меняет архитектуру. Я пока не включаю это в работу у клиентов, но отмечаю в плане на неделю: если у кого-то есть панель управления устройствами — стоит проверить, как она будет вести себя в бете.
Самое неприятное — изменения в поведении Background Fetch и AbortController. Теперь фоновые загрузки применяют CORS, а отмена запросов передаёт причину в Response. Это может сломать код, который проверяет тип ошибки. Я уже начал смотреть, где у клиентов используются эти API — вроде бы не у всех, но у некоторых есть обработчики, которые зависят от точного типа ошибки. Если что-то пойдёт не так — лучше знать заранее, чем в стабильной версии.