Le protocole Signal
Le double cliquet (Double Ratchet)
Le cliquet symétrique du chapitre 1 protège le passé, mais pas le futur après un vol. Signal résout ce problème en combinant deux cliquets. C'est l'algorithme du Double Ratchet (double cliquet), au cœur de Signal, WhatsApp, et de bien d'autres.
Deux cliquets, deux rôles
Le Double Ratchet fait tourner deux mécanismes qui s'imbriquent :
- Le cliquet symétrique : une KDF appliquée à chaque message, comme au chapitre 1. Il assure la forward secrecy fine, message par message.
- Le cliquet Diffie-Hellman : un nouvel échange DH effectué à chaque aller-retour de la conversation (quand on passe d'émetteur à récepteur). Son résultat est mélangé dans les clés. Il assure la sécurité post-compromission.
Le rôle du cliquet Diffie-Hellman
À chaque tour de parole, l'expéditeur joint une nouvelle clé publique DH éphémère à son message. Chaque partie combine sa clé privée avec la clé publique reçue pour produire un secret DH frais, qui vient réinitialiser les clés de chaîne.
C'est ce qui « répare » le système : si un attaquant a volé l'état à un instant donné, il connaît les clés de chaîne actuelles. Mais dès le prochain aller-retour, un nouveau DH introduit un secret qu'il ne possède pas (il faudrait voler aussi la nouvelle clé privée éphémère). À partir de là, il perd le fil — le système s'est auto-réparé.
Cliquet DH (à chaque aller-retour)
RK0 --DH frais--> RK1 --DH frais--> RK2 ...
| | |
v v v
Cliquet symétrique (à chaque message)
CK -KDF-> CK' CK -KDF-> CK' CK -KDF-> CK'
| | | | | |
MK1 MK2 MK3 MK4 MK5 MK6
RK = clé racine (root key) CK = clé de chaîne MK = clé de message
La complémentarité
Les deux cliquets se répartissent le travail :
| Cliquet | Rythme | Propriété assurée | Protège… |
|---|---|---|---|
| Symétrique (KDF) | chaque message | forward secrecy fine | le passé |
| Diffie-Hellman | chaque aller-retour | post-compromission | le futur |
- Le cliquet symétrique, à sens unique, garantit que voler l'état ne révèle pas les messages passés.
- Le cliquet DH, en injectant sans cesse de l'aléa neuf, garantit que le système redevient sûr après un vol : il protège le futur.
Ensemble, ils réduisent la portée d'une compromission à une fenêtre minuscule : au pire, quelques messages autour de l'instant du vol, jamais toute la conversation.
Une adoption massive
Cet algorithme, publié par Open Whisper Systems, n'est pas resté confidentiel : le protocole Signal équipe l'application Signal, mais aussi WhatsApp (plus de deux milliards d'utilisateurs), Messenger, Google Messages et d'autres. C'est aujourd'hui le standard de fait du chiffrement de bout en bout pour la messagerie.
En résumé
- Le Double Ratchet combine un cliquet symétrique (KDF à chaque message) et un cliquet Diffie-Hellman (nouveau DH à chaque aller-retour).
- Le cliquet symétrique assure la forward secrecy (protège le passé).
- Le cliquet DH assure la sécurité post-compromission en réinjectant de l'aléa (protège le futur).
- Il est utilisé par Signal, WhatsApp et beaucoup d'autres messageries.

