1 points par GN⁺ 2025-10-03 | 1 commentaires | Partager sur WhatsApp
  • Signal introduit le Sparse Post Quantum Ratchet (SPQR, cliquet post-quantique parcimonieux), ce qui améliore nettement la sécurité du protocole Signal et renforce sa résilience face aux futures menaces de l’informatique quantique, tout en conservant les garanties existantes de Forward Secrecy (FS) et de Post-Compromise Security (PCS)
  • Le protocole Signal est un ensemble de spécifications cryptographiques fournissant le chiffrement de bout en bout pour les communications privées échangées chaque jour par des milliards de personnes dans le monde, et depuis sa présentation en 2013, il a été adopté non seulement par l’application Signal mais aussi par d’autres grands produits de messagerie
  • PQXDH, annoncé précédemment, protégeait contre les attaques de type harvest-now-decrypt-later en intégrant un secret cryptographique résistant au quantique lors de l’établissement d’une session de chat, mais SPQR permet d’atteindre les garanties de FS et PCS de manière quantiquement sûre, afin de minimiser l’impact d’une compromission et d’en permettre la récupération au fil de la conversation
  • SPQR est combiné au Double Ratchet existant de Signal pour former un assemblage appelé Triple Ratchet ; l’expérience utilisateur ne change pas, toutes les conversations basculent automatiquement vers le nouveau protocole, qui protège à la fois les communications actuelles et futures
  • Grâce à la recherche académique (articles Eurocrypt 25 et USENIX 25), au découpage en blocs fondé sur des erasure codes et à la vérification formelle (ProVerif, hax/F*), la correction du protocole et ses propriétés de sécurité sont vérifiées mécaniquement, puis revérifiées à chaque modification dans le pipeline CI afin d’en faire une partie dynamique du processus de développement

Vue d’ensemble

  • Signal fait franchir un cap à la sécurité du Signal Protocol avec l’introduction de Sparse Post Quantum Ratchet (SPQR)
  • SPQR s’appuie sur la solide sécurité existante pour répondre aux futures menaces liées à l’informatique quantique et renforcer encore l’architecture de garanties de Forward Secrecy (FS) et de Post-Compromise Security (PCS)
  • Le mécanisme s’intègre naturellement à l’ensemble du système, au point que les utilisateurs ne perçoivent pratiquement aucun changement, tout en garantissant la protection des conversations même si les ordinateurs quantiques deviennent réalité

État actuel du protocole Signal

  • Le protocole Signal est un standard de messagerie chiffrée de bout en bout utilisé au quotidien
  • Dans le protocole existant, la structure du Double Ratchet assure la Forward Secrecy via des fonctions de hachage (sûres face au quantique) et la Post-Compromise Security via Elliptic Curve Diffie-Hellman (ECDH)
  • ECDH est aujourd’hui considéré comme sûr, mais il pourrait devenir vulnérable à terme avec l’arrivée des ordinateurs quantiques
  • Un ratchet est une technique qui génère de nouvelles clés secrètes au fil de la conversation afin d’empêcher l’exposition du contenu des messages passés ou futurs
  • Alice et Bob conviennent périodiquement de nouveaux secrets ECDH pour actualiser la session

Pourquoi intégrer des éléments de sécurité quantique

  • Les ordinateurs quantiques pourraient neutraliser les méthodes classiques de chiffrement asymétrique comme ECDH
  • Pour s’y préparer, la première approche introduite, appelée PQXDH, mélangeait un secret résistant au quantique au démarrage de la session
  • Le besoin d’un échange de clés continu, pendant la conversation, à l’aide d’un Key Encapsulation Mechanism (KEM) fondé sur des algorithmes post-quantiques s’est ensuite imposé
  • Un KEM produit un secret partagé comme Diffie-Hellman, mais nécessite l’échange de messages asymétriques ordonnés
  • Des KEM standardisés comme ML-KEM sont utilisés pour générer des secrets continus et quantiquement sûrs au cours d’une session

Machine à états et optimisation de la bande passante

  • Comme l’approche KEM implique des données d’échange de clés volumineuses (environ 1000 octets), l’optimisation de la bande passante devient un enjeu majeur
  • Une logique de machine à états (State Machine) permet à Alice et Bob de gérer quelles données (Encapsulation Key, Ciphertext, etc.) ils s’envoient, et à quel moment
  • Grâce au découpage des données en blocs et aux erasure codes, les gros volumes sont divisés en petits fragments afin de faciliter la récupération en cas de perte ou d’absence de messages
  • Le protocole est aussi conçu pour rendre difficile, pour un attaquant, le fait de ne supprimer sélectivement que les fragments d’échange de clés afin de provoquer une interruption
  • Cela permet de gérer efficacement les pertes, le réordonnancement et les retards de messages typiques des environnements mobiles réels

Compromis efficacité-sécurité et optimisations

  • Accélérer sans limite la génération de Shared Secret peut au contraire augmenter le risque qu’à un instant donné l’ensemble des informations secrètes soit exposé en cas d’attaque
  • Signal a mené de nombreuses simulations de machines à états afin de trouver un point d’équilibre entre sécurité et efficacité, entre transmission parallèle et sérielle
  • L’analyse détaillée de ML-KEM et la division puis transmission simultanée des blocs permettent de maximiser l’utilisation de la bande passante
  • Signal a baptisé ce procédé ML-KEM Braid et l’utilise comme l’un des modules de son protocole

Structure du Triple Ratchet

  • Le Double Ratchet (existant) et SPQR (nouveau, quantiquement sûr) fonctionnent ensemble, puis leurs clés sont combinées pour produire une clé de chiffrement hybride
  • Avec l’approche Triple Ratchet, il faut compromettre les deux algorithmes pour exposer les messages, ce qui renforce considérablement la sécurité
  • Dans l’implémentation concrète, une clé est dérivée du Double Ratchet et une autre de SPQR, puis elles sont à nouveau combinées via une fonction de dérivation de clé
  • La structure Triple Ratchet garantit à la fois la sécurité classique et la sécurité quantique pour les messages passés comme futurs

Déploiement hétérogène et compatibilité

  • Comme la mise à niveau sera déployée progressivement, des problèmes de compatibilité peuvent apparaître avec les utilisateurs qui ne prennent pas encore en charge SPQR
  • Le protocole autorise temporairement un downgrade pendant la négociation initiale des messages afin que les deux utilisateurs puissent communiquer via une méthode compatible
  • Lorsque des données SPQR sont attachées à un message, elles sont protégées par un code d’authentification, ce qui empêche un attaquant d’imposer un downgrade
  • Une fois la négociation de compatibilité terminée des deux côtés, l’utilisation de SPQR reste ensuite fixée pour toute la session
  • Quand tous les utilisateurs auront migré vers une version compatible SPQR, les anciennes sessions seront archivées ou fermées, et les nouvelles sessions passeront entièrement à SPQR

Vérification de la sûreté du protocole et outils de validation

  • Dès la phase de conception du protocole, Signal a collaboré activement avec le monde académique ainsi qu’avec PQShield, AIST, NYU et d’autres acteurs
  • Des publications présentées à Eurocrypt 25 et USENIX 25 démontrent que le protocole satisfait théoriquement aux exigences de sécurité post-quantique et aux garanties classiques
  • Parmi les six protocoles de ratchet post-quantique proposés, seuls SPQR et Katana (un nouveau protocole fondé sur des KEM) ont été retenus
  • La vérification formelle est gérée en continu et de manière automatisée avec des outils comme Cryspen, ProVerif, hax, F* et le pipeline CI
  • La synchronisation entre l’implémentation Rust et le modèle de vérification garantit la cohérence entre la conception et le code réel
  • Des invariants (assertion) sont aussi largement introduits dans le code ; en cas d’erreur, l’application s’interrompt afin d’éviter en amont des vulnérabilités potentielles

Vérification et développement continu en parallèle

  • La vérification formelle n’est pas une tâche ponctuelle : elle est relancée automatiquement à chaque modification de la base de code
  • Si la vérification échoue lors de l’intégration d’un nouveau code, la build est elle aussi bloquée
  • En pratique, le maintien de conditions claires sur les cas limites ainsi que sur les préconditions et postconditions facilite la maintenance et maximise la robustesse du protocole

Conclusion résumée

  • Signal vise à fournir une sécurité résistante au quantique pour tous les messages grâce à une architecture de Triple Ratchet fiable (Double Ratchet + SPQR)
  • La transition du protocole se fera progressivement, sans interruption de service ni gêne pour les utilisateurs
  • Le surcoût de données transmises est minimal, ce qui entraîne très peu de charge supplémentaire en environnement mobile
  • Le protocole est aussi robuste face aux attaques de l’homme du milieu (MITM), car une manipulation par l’attaquant devrait provoquer un déni de service
  • Le code et la conception font l’objet d’une vérification formelle systématique, afin de préserver durablement la sécurité
  • Pour les utilisateurs de Signal, cela devrait garantir une protection discrète, sans changement visible, face à l’évolution du protocole comme à la menace des ordinateurs quantiques

1 commentaires

 
GN⁺ 2025-10-03
Commentaires sur Hacker News
  • Signal continue de publier d’excellents articles de cryptographie, mais du point de vue produit, on a l’impression qu’ils tentent un peu tout et n’importe quoi sans savoir ce qui marchera. Ils essaient de nouvelles choses comme les handshakes post-quantiques, les stories, les transferts d’argent, mais il manque toujours un SDK, une API et la prise en charge des bots. Les bibliothèques officielles sont inachevées et il n’y a pas de documentation. Beaucoup de fonctionnalités restent cachées dans le client. Ils ont bien publié la spécification du protocole, mais dire aux gens de fabriquer eux-mêmes leurs bibliothèques à partir de ça, c’est une attitude irresponsable complètement déconnectée de la réalité de l’exploitation d’un produit. C’est un minimum qui devrait exister sur une plateforme utilisée par des millions de personnes. Des apps comme WhatsApp ou iMessage ouvrent au moins quelque chose aux développeurs, alors que Signal semble tout faire pour les exclure. Il est difficile d’y voir une stratégie claire, au point qu’on se demande s’il y a vraiment quelqu’un en charge du produit. En tant qu’utilisateur de longue date de Signal, que j’ai beaucoup recommandé, j’ai l’impression que Signal est devenu une messagerie qui accumule des technologies de chiffrement à la mode tout en étant encore plus fermée aux développeurs que l’écosystème Apple. Malgré tout, merci à celles et ceux qui construisent le produit

    • Je suis d’accord. La fonctionnalité « stories » en particulier donnait vraiment l’impression d’un essai lancé au hasard pour voir ce qui prendrait. Signal vient d’une organisation à but non lucratif à tendance anarchiste, donc je pense que ses objectifs diffèrent de ceux d’une entreprise classique. L’app remplit bien sa mission principale, donc ça me va, mais un SDK serait vraiment appréciable

    • Je me demande si des fonctions comme une API ou des bots business sont vraiment importantes. WhatsApp et iMessage ont des API pour les entreprises, mais comme utilisateur lambda, je n’ai en réalité jamais interagi avec une entreprise de cette façon. En revanche, j’ai déjà eu des bots pénibles. Le vrai problème de Signal, c’est que si l’app devient discrètement obsolète ou cesse de se mettre à jour, elle ne vous avertit pas et vous manquez complètement des messages. C’est la mission centrale d’une messagerie, et ça ne fonctionne pas

    • Au contraire, l’absence d’API et de bots est plutôt un avantage à mes yeux

    • J’aimerais qu’ils restent concentrés sur la création d’une messagerie sûre et utile, sans ce genre de fonctionnalités

    • Ce qui m’agace vraiment avec Signal, c’est que la tonalité de sonnerie entendue par l’émetteur se fait entendre même si le téléphone du destinataire ne sonne pas réellement. C’est une politique officielle qu’ils défendent depuis longtemps comme un choix délibéré. C’est comme ça depuis qu’ils ont supprimé l’ancien bruit de sous-marin

  • J’ai été surpris de voir que le protocole de Signal s’appelle SPQR. SPQR est l’abréviation latine de « Senatus Populusque Romanus » voir Wikipédia. C’est trop classe

    • Utiliser SPQR pour un protocole tourné vers l’avenir donne un petit côté Ozymandias

    • C’est un nom très astucieux. Je le connais surtout parce qu’on le voit souvent en tatouage sur les légionnaires romains dans la mini-série de la BBC « Rome » Wikipédia de Rome

    • Strength and Honor (Force et honneur)

    • Je pense qu’on ne voit ce genre d’humour que sur Hacker News. Ça me rappelle une vieille BD sur « comment un mathématicien retient son numéro de casier ». (« 1975 ? Mais c’est la racine carrée de 3 900 625 ! »)

    • Peut-être que c’est simplement parce que « SPQR » sonne comme « Speaker », donc que ça allait bien avec une app de chat ? Pas besoin de tout relier à Rome

  • La plus grande faiblesse de Signal, c’est sa manière de distinguer les identités via les numéros de téléphone. Pas seulement pour les hackers : du point de vue d’un gouvernement autoritaire aussi, il est toujours possible de s’emparer d’un numéro de téléphone. Réfléchir aux menaces futures est important, mais les priorités devraient être revues

    • Je partage au cas où certains ne l’auraient pas vu : présentation de la fonction de noms d’utilisateur qui masque le numéro de téléphone dans Signal (février 2024)

    • Beaucoup de messageries sécurisées fonctionnent sans numéro de téléphone et vont même jusqu’à effacer les métadonnées du service. Dans les pays où les numéros de téléphone et les cartes SIM sont liés à l’identité des personnes, l’approche de Signal constitue une barrière à l’entrée

    • Exiger un numéro de téléphone est une méthode simple et relativement fiable pour lutter contre le spam

    • Le fait de vérifier l’identité par numéro de téléphone ne me semble pas en soi être un problème fatal. Même si un gouvernement autoritaire s’empare du numéro, il n’obtient pas pour autant l’historique des messages. L’utilisateur concerné recevra déjà un avertissement. Signal n’est pas sans défauts, et il faut absolument maintenir la critique et des standards élevés, mais cela reste la seule messagerie totalement chiffrée de bout en bout avec protection des métadonnées que le grand public puisse réellement utiliser. Il existe des services plus solides sur le plan sécurité/confidentialité, mais le fait que même ma grand-mère puisse l’utiliser est vraiment crucial. J’aimerais que Signal, maintenant qu’il a suffisamment renforcé la sécurité, se concentre davantage sur la vie privée. Je le critique, mais je continue malgré tout à le recommander fortement et à le promouvoir activement auprès de mes amis. J’ai aussi fait des dons à plusieurs reprises voir le rapport de transparence de Signal

    • Signal dispose d’une fonction appelée « verrouillage d’enregistrement » qui permet, lorsqu’on définit un mot de passe, d’empêcher la compromission du compte par détournement de SIM

  • Je me demande où se situe Signal maintenant qu’il a déployé SPQR (un ratchet résistant au quantique), en comparaison avec PQ3 d’iMessage. J’aimerais aussi entendre une réflexion sur les tentatives passées de messagerie résistante au quantique chez Cyph et Simplex. Présentation de PQ3 d’iMessage / Cyph - Post-Quantum Castle / Simplex - fonctionnalités résistantes au quantique

    • Le SPQR de Signal repose, comme PQ3, sur une structure de ratchet basée sur ML-KEM, mais la manière de transmettre les clés diffère. Comme les clés ML-KEM sont volumineuses, PQ3 les envoie périodiquement et seulement de temps en temps, tandis que Signal les répartit avec les messages. L’idée est qu’en bande passante dissimulée, du point de vue sécurité, le chunking serait à la fois plus sûr et plus efficace. La bande passante totale peut augmenter à cause du codage correcteur d’erreurs, mais la taille de chaque message devient constante. Apple contrôle davantage le réseau, donc il lui sera plus facile de se défendre activement contre le remplacement répété des clés

    • Je me demande si iMessage a réellement un sens dans l’environnement actuel. La plupart des utilisateurs d’iPhone utilisent les sauvegardes iCloud sans chiffrement de bout en bout, et les sauvegardes totalement chiffrées sont optionnelles. Autrement dit, si les forces de l’ordre en font la demande, Apple peut déjà déchiffrer, donc il existe déjà une faiblesse suffisante sans même attendre l’arrivée des ordinateurs quantiques

  • En voyant le nom SPQR (Sparse Post-Quantum Ratchet), j’ai l’impression qu’il y a un passionné d’histoire romaine dans l’équipe de Signal

    • À quelle fréquence pensez-vous tous à l’Empire romain ?

    • C’est peut-être simplement une variation autour de « Speaker », le mot parfait pour une app de chat

  • La plus grande faiblesse de Signal reste l’authentification d’identité fondée sur le numéro de téléphone. Le risque que des hackers, mais aussi des gouvernements autoritaires, puissent s’emparer de la propriété d’un numéro à tout moment existe bel et bien. Les menaces futures sont importantes, mais les priorités devraient être différentes

    • Il existe beaucoup de messageries sécurisées qui fonctionnent très bien sans numéro de téléphone. Ces services protègent aussi beaucoup mieux les métadonnées. Dans de nombreux pays, les cartes SIM sont liées à l’identité réelle, donc l’approche de Signal constitue en pratique une barrière à l’entrée importante
  • J’aimerais que Signal devienne une couche de transport pour l’envoi de messages, en quelque sorte un « bus de transport ». Par exemple, si je pouvais demander et transmettre de façon sécurisée mes informations de localisation à un contact précis (ma femme, par exemple), je n’aurais pas besoin de passer par Google. Puisque l’authentification d’identité est déjà résolue, je pense qu’il faudrait encourager la création d’apps au-dessus de Signal. Même la 2FA via Signal serait probablement plus sûre que par SMS

    • Je me demande si la raison pour laquelle il n’existe presque pas d’apps tierces sur Signal n’est pas la licence AGPL 3
  • J’aimerais aussi vraiment voir une comparaison entre le protocole Signal moderne et des choses comme Matrix ou MLS. Ça évolue si vite que c’est difficile à suivre, et je serais curieux de connaître l’état des lieux actuel

    • En résumé, Signal Protocol désigne toute la famille de protocoles cryptographiques que Signal a fait évoluer au fil du temps. Cela a commencé avec le Double Ratchet, puis PQXDH (avec Kyber512 pour l’échange de clés initial), et maintenant le ratchet SPQR, qui applique aussi le post-quantique au chiffrement de renouvellement de session. Les points forts de Signal sont la protection des métadonnées (structure des groupes non exposée, sealed sender, etc.), un fonctionnement totalement centralisé, et l’interdiction des implémentations tierces en dehors de l’implémentation d’origine (AGPL + CLA).
      Matrix est un standard ouvert qui utilise une combinaison Olm + Megolm (Double Ratchet + ratchet de clé de groupe), mais ses métadonnées sont exposées aux serveurs (structure des groupes visible côté serveur, valeurs d’attributs stockées en clair, etc., avec des travaux d’amélioration en cours : blog Element - plan de chiffrement des métadonnées de salon). Sa structure est décentralisée, donc n’importe qui peut créer un serveur.
      Enfin, MLS (RFC 9420) est un protocole d’appartenance de groupe et d’échange de clés, capable de remplacer le Double Ratchet, et des propositions d’intégration post-quantique existent déjà. Ses performances sont efficaces, en O(log N) par groupe. Ce n’est pas encore mûr et c’est plus complexe que Double Ratchet. Son adoption est plutôt lente, mais comme c’est un standard IETF, Google l’emploie dans RCS, et Discord/Webex VoIP l’ont aussi adopté. Il ne fournit ni dissimulation des métadonnées ni dénégation cryptographique (deniability)
  • C’est l’un des meilleurs articles sur la cryptographie que j’aie jamais lus. Je pensais avoir un niveau de compréhension correct en cryptographie, mais avec d’autres textes sur des sujets similaires, je finissais vraiment par fatiguer en cours de route. Là, même sur un sujet totalement nouveau pour moi, j’ai pu suivre le fil du début à la fin sans difficulté

  • Est-ce que quelqu’un qui connaît bien les menaces liées à la cryptographie quantique peut expliquer simplement en quoi le dernier protocole de Signal est devenu plus sûr ? Même après lecture, je ne comprends pas précisément pourquoi c’est plus sûr. Je me demande aussi s’il y a une baisse de performances perceptible en pratique

    • Pour faire simple, le scénario de menace classique, c’est un adversaire qui « ne peut pas déchiffrer maintenant, mais qui, une fois qu’un ordinateur quantique sera possible, pourra reprendre tous les textes chiffrés collectés aujourd’hui et les déchiffrer d’un coup dans le futur ». C’est le modèle dit « harvest and decrypt ». Si Signal doit protéger des secrets pendant longtemps dès maintenant, ou garantir leur sécurité dans le futur, alors il faut des accords de clés post-quantiques dès aujourd’hui. C’est pour cela que de nouveaux protocoles comme PQXDH sont nécessaires.
      Le ratchet post-quantique est important parce qu’il répond à une menace très réaliste : non seulement un attaquant peut collecter les textes chiffrés sur le long terme, mais il peut aussi un jour compromettre un appareil ou obtenir une fuite de clé via un défaut d’implémentation. Il faut donc une double défense : la forward secrecy et la sécurité post-compromission. Si les clés sont continuellement renouvelées à chaque instant, une exposition ponctuelle n’entraîne pas la compromission des messages passés ni des messages futurs. Pour que cette défense fonctionne aussi dans un environnement de cryptographie quantique, il faut que toute la structure du ratchet soit elle aussi post-quantique. Sinon, un attaquant ciblera précisément cette portion du ratchet et toutes les garanties de sécurité s’effondreront

    • L’implémentation précédente de la cryptographie résistante au quantique dans Signal n’offrait pas de PCS (sécurité post-compromission). Cette fois, oui. J’ai enfin compris ce que signifiait PCS, ce qui était intéressant. Comme c’était présenté comme un concept nouveau, j’ai été un peu déçu d’apprendre que cette approche existait déjà dans le protocole OTR (off-the-record). Cet échange de clés n’a pas lieu très souvent, donc il n’y a quasiment pas de baisse de performances en pratique

    • Résumé du blog officiel :

      1. Du point de vue de l’utilisateur, l’expérience d’utilisation de l’app ne change pas
      2. Ce changement de protocole est automatique, donc aucune action n’est nécessaire
      3. Cela permet d’anticiper les menaces futures liées aux ordinateurs quantiques tout en conservant les principes de sécurité existants (sécurité persistante / post-compromission)
  • Sono pazzi, questi Romani (Ces Romains sont vraiment fous)

    • Die spinnen, die Römer! (Ces Romains sont complètement fous)