IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Signal dévoile un protocole de chiffrement post-quantique conçu pour garantir la confidentialité persistante des échanges et la sécurité post-compromission,
Sans altérer les performances de l'application

Le , par Mathis Lucas

1PARTAGES

3  0 
Signal anticipe la menace quantique et renforce sa sécurité avec un nouveau protocole de chiffrement post-quantique. L'application lance Sparse Post-Quantum Ratchet (SPQR), un mécanisme avancé qui mettra continuellement à jour les clés de chiffrement utilisées dans les conversations et supprimera les anciennes. Ce nouveau composant garantit la confidentialité persistante et la sécurité post-compromission, assurant que même en cas de compromission ou de vol de clé, les futurs messages échangés entre les parties resteront sécurisés. L'ordinateur quantique pourrait briser les algorithmes de chiffrement classiques, rendant nos secrets électroniques vulnérables.

« 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é :

Citation Envoyé par Développeurs du protocole Signal


Prenons le cas suivant : « envoyer une clé si vous n'en avez pas envoyé depuis une semaine ». Si Bob est hors ligne depuis deux semaines, que fait Alice lorsqu'elle veut envoyer un message ? Que se passe-t-il si nous pouvons perdre des messages et que nous perdons celui sur cinquante qui contient une nouvelle clé ? Ou bien, que se passe-t-il s'il y a un attaquant qui veut nous empêcher de générer de nouveaux secrets et qui peut rechercher les messages qui sont [beaucoup] plus volumineux que les autres et les supprimer, ne laissant passer que les messages sans clé ?

Une autre option envisagée par les ingénieurs de Signal consistait à diviser la clé de 2 272 octets en morceaux plus petits, par exemple 71 morceaux de 32 octets chacun. Diviser la clé KEM en morceaux plus petits et en mettre un dans chaque message semble être une approche viable à première vue, mais là encore, l'environnement asynchrone de la messagerie rendait cette solution inapplicable. Par exemple, que se passe-t-il lorsqu'une perte de données entraîne la suppression d'un des morceaux ?

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 :

Citation Envoyé par Charlie Jacomme


En substance, une petite partie de la clé publique suffit pour commencer à calculer et à envoyer une plus grande partie du texte chiffré, ce qui permet d'envoyer rapidement en parallèle le reste de la clé publique et le début du texte chiffré. Les calculs finaux sont identiques à la norme, mais certains éléments ont...
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.

Une erreur dans cette actualité ? Signalez-nous-la !