Google met à jour la cryptographie post-quantique utilisée dans le navigateur Chrome pour se protéger contre les attaques TLS utilisant des ordinateurs quantiques et pour atténuer les attaques de stockage maintenant déchiffrées ultérieurement.
Le changement à venir échangera Kyber utilisé dans les échanges de clés hybrides vers une version plus récente et légèrement modifiée, renommée Mécanisme d’encapsulation de clé de réseau de module (ML-KEM).
Ce changement intervient environ cinq mois après que Google a déployé le système d’encapsulation de clés TLS post-quantum secure sur Chrome stable pour tous les utilisateurs, ce qui a également causé des problèmes avec les échanges TLS.
Le passage de Kyber à ML-KEM n’est cependant pas lié à ces problèmes précoces, qui ont été résolus peu de temps après s’être manifestés. C’est plutôt un choix stratégique d’abandonner un système expérimental pour un mécanisme approuvé et entièrement normalisé par le NIST.
ML-KEM a été entièrement approuvé par le National Institute of Standards and Technology (NIST) des États-Unis à la mi-août, l’agence publiant à l’époque les spécifications techniques complètes de la version finale.
Google explique que bien que les modifications techniques de Kyber à ML-KEM soient mineures, les deux sont essentiellement incompatibles, il a donc fallu procéder à un changement.
« Les modifications apportées à la version finale de ML-KEM la rendent incompatible avec la version précédemment déployée de Kyber », explique Google.
« En conséquence, le point de code dans TLS pour l’échange de clés hybride post-quantique passe de 0x6399 pour Kyber768 + X25519 à 0x11EC pour ML-KEM768 + X25519. »
Abandonner Kyber
Google explique que la prise en charge de Kyber doit être entièrement supprimée car la cryptographie post-quantique implique des tailles de données beaucoup plus importantes que les algorithmes pré-quantiques.
Par exemple, un échange de clés basé sur Kyber peut prendre plus de 1 000 octets, et les signatures post-quantiques comme ML-DSA sont encore plus volumineuses, ce qui conduit à plus de 14 000 octets dans une poignée de main typique.
Si Google décidait de maintenir la prise en charge de Kyber en plus de ML-KEM, les performances et l’efficacité du réseau sur Chrome seraient sérieusement affectées.
Google note que les opérateurs de serveurs pourraient temporairement prendre en charge les deux normes pour maintenir la sécurité d’un plus grand nombre de clients et faciliter la transition pour les clients qui n’ont pas encore mis à niveau, mais ML-KEM devrait être la cible finale pour toutes les parties prenantes.
Une solution proposée (projet IETF) à long terme consiste pour les serveurs à annoncer les algorithmes cryptographiques qu’ils prennent en charge via DNS, de sorte que le client utilise la clé appropriée dès le départ, évitant ainsi des allers-retours supplémentaires lors de la négociation.
La mise à jour doit être implémentée dans Chrome 131 (la version actuelle est 128), dont la sortie est prévue le 6 novembre 2024.
Les utilisateurs de canaux de développement tels que Chrome Canary, Beta et Dev devraient consulter la prise en charge de ML-KEM plus tôt.