
« Nous sommes ravis d'annoncer une avancée significative en matière de sécurité du protocole Signal : l'introduction du Sparse Post Quantum Ratchet (SPQR). Ce nouveau cliquet renforce la résilience du protocole Signal face aux futures menaces liées à l'informatique quantique, tout en conservant nos garanties de sécurité existantes en matière de confidentialité persistante et de sécurité post-compromission », a écrit l'équipe dans son annonce.
Signal est une application multiplateforme de messagerie chiffrée de bout en bout. SPQR apporte une sécurité post-quantique à des millions d'utilisateurs de Signal. La combinaison du SPQR et de l'algorithme Double Ratchet (double cliquet) existant offre une sécurité post-quantique renforcée tout en conservant toutes les propriétés de sécurité existantes de Signal et en restant très efficace en termes de bande passante.
« Il s'agit apparemment d'une amélioration solide et réfléchie du protocole Signal existant. Signal a procédé à une optimisation intéressante en arrière-plan afin de minimiser l'impact sur les performances du réseau de l'ajout de la fonctionnalité post-quantique », a déclaré Brian LaMacchia, ingénieur en cryptographie qui a supervisé la transition post-quantique de Microsoft de 2015 à 2022 et qui travaille désormais chez Farcaster Consulting Group.
À l'heure actuelle, environ la moitié des connexions TLS établies au sein du réseau Cloudflare et seulement 18 % des entreprises du Fortune 500 ont des réseaux protégés contre les attaques informatiques quantiques, ce qui signifie que très peu d'organisations sont prêtes. Ce fort taux d'impréparation est dû au coût et à l'absence de date butoir claire pour l'arrivée des ordinateurs quantiques. En attendant, Signal travaille à sécuriser davantage son application.
Un protocole de chiffrement hybride et résistant aux quantas
Le nouveau protocole de chiffrement post-quantique SPQR ajoute des protections basées sur ML-KEM-768, une implémentation de l'algorithme CRYSTALS-Kyber qui a été sélectionnée en 2022 et officialisée l'année dernière par le National Institute of Standards and Technology (NIST) des États-Unis. ML-KEM est l'abréviation de « Module-Lattice-Based Key-Encapsulation Mechanism », mais la plupart du temps, les cryptographes l'appellent simplement KEM.
À l'instar du protocole Diffie-Hellman à courbe elliptique (ECDH), KEM est un mécanisme d'encapsulation de clés. KEM permet à deux parties qui ne se sont jamais rencontrées de s'entendre en toute sécurité sur un ou plusieurs secrets partagés en présence d'un adversaire qui surveille leur connexion.
Les algorithmes RSA, ECDH et autres algorithmes d'encapsulation sont utilisé depuis longtemps pour négocier des clés symétriques (presque toujours des clés AES) dans des protocoles tels que TLS, SSH et IKE. Contrairement à ECDH et RSA, KEM est plus récent et résistant aux quantas.
Signal utilise CRYSTALS-Kyber (un KEM post-quantique) parallèlement à une implémentation du protocole Diffie-Hellman à courbe elliptique depuis 2023 afin de se protéger contre les attaques quantiques qui menacent de briser le chiffrement actuel des informations électroniques. SPQR vient s'ajouter au système « double cliquet » existant, formant ce que Signal appelle un « triple cliquet » (Triple Ratchet), qui formule une « clé mixte » hyper sécurisée.
Tout comme un cliquet traditionnel permet à un engrenage de tourner dans un sens, mais pas dans l'autre, les cliquets Signal permettent aux parties à la conversation de créer de nouvelles clés basées sur une combinaison de secrets précédents et nouvellement convenus. Les cliquets fonctionnent dans un seul sens, celui de l'envoi et de la réception des messages futurs. Même si un adversaire compromet un secret nouvellement créé, les messages chiffrés à l'aide d'anciens secrets ne peuvent pas être déchiffrés.
Les difficultés techniques rencontrées par l'équipe Signal
Comme indiqué précédemment, le protocole Signal a subi sa première refonte post-quantique en 2023. Cette mise à jour a ajouté PQXDH, une implémentation spécifique à Signal qui combine les accords de clés des courbes elliptiques utilisées dans X3DH (plus précisément X25519) et le KEM quantique sécurisé, dans la poignée de main initiale du protocole. (Par la suite, X3DH a ensuite été mis au rancart en tant qu'implémentation autonome.)
L'équipe a fait face à plusieurs défis techniques. Les clés à courbe elliptique générées dans l'implémentation X25519 ont une longueur d'environ 32 octets, ce qui est suffisamment petit pour être ajouté à chaque message sans alourdir les bandes passantes ou les ressources informatiques déjà limitées.
En revanche, une clé ML-KEM-768 fait 1 000 octets. De plus, selon l'annonce de l'équipe Signal, son implémentation nécessite l'envoi à la fois d'une clé de chiffrement et d'un texte chiffré, ce qui porte la taille totale à 2 272 octets. C’est donc 71 fois plus gros, ce qui signifie que les échanges chiffrés vont consommer encore plus de bande passante. Pour gérer cette augmentation, les développeurs de Signal ont envisagé différentes options.
Les pistes explorées par les développeurs de Signal
L'une des solutions proposées consistait à envoyer la clé KEM de 2 272 octets moins souvent, par exemple tous les 50 messages ou une fois par semaine, plutôt qu'à chaque message. Mais cette idée a été rejetée, car elle ne fonctionne pas bien dans les environnements de messagerie asynchrones ou conflictuels. Elle soulève également des risques en matière de sécurité. Graeme Connell et Rolfe Schmidt, développeurs du protocole Signal, ont expliqué :

Le protocole pourrait gérer ce scénario en renvoyant simplement les morceaux après avoir envoyé les 71 précédents. Mais alors, les ingénieurs ont souligné qu'un adversaire surveillant le trafic pourrait simplement faire en sorte que le paquet 3 soit supprimé à chaque fois, empêchant Alice et Bob de terminer l'échange de clés. Les développeurs de Signal ont finalement opté pour une solution utilisant cette approche à plusieurs morceaux.
Relever les défis liés à l'asynchronisme
Pour relever les défis liés à l'asynchronisme, les développeurs se sont tournés vers les « codes d'effacement », une méthode qui consiste à diviser les données volumineuses en petits morceaux afin que l'original puisse être reconstitué à partir de n'importe quel sous-ensemble de morceaux suffisamment grand.
Charlie Jacomme, chercheur à l'INRIA Nancy au sein de l'équipe Pesto, spécialisé dans la vérification formelle et la messagerie sécurisée, explique que cette conception tient compte de la perte de paquets en intégrant une redondance dans les fragments. Au lieu d'exiger que tous les x fragments soient reçus pour reconstruire la clé, le modèle ne nécessite que la réception de x-y fragments, où y est le nombre acceptable de paquets perdus.
Tant que ce seuil est atteint, la nouvelle clé peut être établie même en cas de perte de paquets. L'autre partie de la conception consistait à diviser les calculs KEM en étapes plus petites. Ces calculs KEM sont distincts du matériel de clé KEM. Comme l'explique Charlie Jacomme :

La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.