La messagerie moderne
Le cliquet : protéger le passé et l'avenir
Chiffrer chaque message avec la même clé pose un risque évident : cette clé volée, toute la conversation s'ouvre, passé compris. Les messageries modernes évitent cela avec un mécanisme appelé cliquet (ratchet).
L'idée
La clé change à chaque message. Après usage, l'ancienne est effacée, et la nouvelle se dérive de la précédente par une fonction à sens unique :
K1 --(derivation)--> K2 --(derivation)--> K3 --> ...
(effacee) (effacee)
Le nom vient du mécanisme : un cliquet tourne dans un seul sens. Connaissant K3, on ne peut pas remonter à K2, car la dérivation est irréversible.
La confidentialité persistante
Conséquence immédiate : un adversaire qui saisit ton appareil aujourd'hui et récupère la clé courante ne peut pas déchiffrer les messages d'hier. Les clés qui les protégeaient n'existent plus nulle part.
C'est la même propriété que celle de TLS 1.3, obtenue ici message par message.
La guérison après compromission
Le cliquet symétrique ne suffit pourtant pas. Un adversaire qui détient K3 peut dériver K4, K5, et suivre la conversation indéfiniment.
D'où un second mécanisme : à intervalles réguliers, les deux appareils réalisent un nouvel échange Diffie-Hellman et injectent le résultat dans la dérivation.
K3 + (nouvel echange DH) --> K4'
L'adversaire, qui ne connaît pas le nouvel exposant secret, décroche. La conversation redevient sûre sans intervention des utilisateurs.
Cette propriété s'appelle la sécurité post-compromission, ou auto-guérison. La combinaison des deux cliquets, symétrique et Diffie-Hellman, forme le double cliquet popularisé par le protocole Signal, aujourd'hui repris par la plupart des messageries chiffrées.
Ce que cela signifie concrètement
Une compromission n'est plus définitive dans les deux sens du temps : le passé reste fermé, et l'avenir se referme de lui-même. C'est un progrès considérable sur un modèle à clé fixe, où une seule fuite compromettait tout, pour toujours.

