Ces derniers jours, j’ai beaucoup appris sur le fonctionnement du chiffrement de bout en bout, sur la notion de confiance (« Trust ») et sur son importance cruciale pour garantir l’authenticité du chiffrement et éviter les attaques de type homme du milieu (MITM). Pour sécuriser mes communications avec mes contacts, j’applique désormais une politique renforcée de gestion de la confiance OMEMO pour mes communications chiffrées de bout en bout sur Jabber.
Résumé (TL;DR)
Merci de vérifier le message OpenPGP à la fin de cet article avec ma clé publique OpenPGP. Si la signature est valide, faites confiance à ces 8 empreintes OMEMO sur votre client Jabber :
146614A4 A28D568E 2491DBF4 432AF3AD 23B5FB40 7040D732 55031B56 0096B36A
2BCBC6B0 F28E8015 9FFA69CC CFE90042 90285C0A 96605915 4DB56134 6804E451
E551B50A 91A332B2 A967C861 08F70299 C466C798 709997DF 3742BA35 8A5D3036
5D49448C 4C9282DE BABE51C4 CD7C80EB C3D4A231 3F51A98A 8F011C46 0E72685D
853B4672 DF3AA335 2D6819E0 AA7E341B D64BE04D 31620525 FDD3F443 D0FC2929
EBE2B559 46D07ECA 9BF8F18C 5C897CE8 66FD1C18 8B842EB0 6D17A04E BDDD3D42
A398B7A0 7014A253 7CCE9FEB 007EA82A 1D8CA17A 79C07435 462F78E9 47115B0E
Ensuite, désactivez impérativement la confiance aveugle (« blind trust ») dans la conversation avec moi (si votre client le permet) et REJETEZ TOUTES les autres empreintes OMEMO, car elles ne sont plus utilisées ou appartiennent à un attaquant potentiel.
Comment fonctionne OMEMO ?
OMEMO est une extension du protocole XMPP (Extensible Messaging and Presence Protocol) pour le chiffrement multi-appareils de bout en bout, développée par Andreas Straub. OMEMO utilise l’algorithme Double Ratchet afin de permettre un chiffrement multi-point à multi-point, assurant la synchronisation sécurisée des messages entre plusieurs clients, même si certains sont hors ligne. OMEMO est un acronyme récursif signifiant « OMEMO Multi-End Message and Object Encryption ». C’est une norme ouverte basée sur Double Ratchet et le protocole Personal Eventing Protocol (PEP, XEP-0163). OMEMO offre une confidentialité future et rétroactive ainsi que la non-répudiation, avec synchronisation des messages et livraison hors ligne.
OMEMO combine des techniques cryptographiques asymétriques et symétriques pour assurer un chiffrement sécurisé, mais il ne peut pas résoudre seul le problème des attaques MITM.
Qu’est-ce qu’une attaque MITM et pourquoi casse-t-elle le chiffrement de bout en bout ?
Une attaque homme du milieu (MITM) est une cyberattaque où un intrus intercepte et modifie secrètement les communications entre deux parties qui pensent communiquer directement entre elles. En réalité, l’attaquant s’interpose et peut lire ou altérer les messages.
Le chiffrement de bout en bout garantit que seuls les interlocuteurs peuvent lire les messages. Toutefois, les attaques MITM peuvent compromettre ce chiffrement lors de l’échange initial des clés publiques. Si un attaquant intercepte et remplace ces clés, il peut décrypter, lire puis re-chiffrer les messages sans être détecté.
Ma nouvelle politique de confiance pour les communications Jabber
Depuis aujourd’hui (12 avril 2025), je gère rigoureusement les clés OMEMO de mon compte Jabber et construis la confiance avec mes contacts. Pour ceux qui ont déjà établi une confiance via OpenPGP (par vérification et certification mutuelle des clés OpenPGP), je bâtis directement la confiance Jabber en m’appuyant sur celle d’OpenPGP. Pour les autres, je tente de vérifier leurs empreintes OMEMO par d’autres moyens fiables (par exemple, en face-à-face) et leur demande de vérifier les miennes.
Notez bien :
- Ces 7 empreintes OMEMO ont été vérifiées et sont fiables :
146614A4 A28D568E 2491DBF4 432AF3AD 23B5FB40 7040D732 55031B56 0096B36A
2BCBC6B0 F28E8015 9FFA69CC CFE90042 90285C0A 96605915 4DB56134 6804E451
E551B50A 91A332B2 A967C861 08F70299 C466C798 709997DF 3742BA35 8A5D3036
5D49448C 4C9282DE BABE51C4 CD7C80EB C3D4A231 3F51A98A 8F011C46 0E72685D
853B4672 DF3AA335 2D6819E0 AA7E341B D64BE04D 31620525 FDD3F443 D0FC2929
EBE2B559 46D07ECA 9BF8F18C 5C897CE8 66FD1C18 8B842EB0 6D17A04E BDDD3D42
A398B7A0 7014A253 7CCE9FEB 007EA82A 1D8CA17A 79C07435 462F78E9 47115B0E
- Cette empreinte correspond à mon Pixel 6, dont le système est GrapheneOS avec bootloader verrouillé, donc elle mérite une confiance accrue car ce téléphone est difficilement compromis même en cas de perte :
A95CBAEB 810112B2 FE8F5992 A7DFC5B4 742B376B 15A8F58B B135195E 88E9BB60
Si vous faites confiance à ma clé publique OpenPGP, merci de vérifier le message OpenPGP à la fin de cet article.
Pour ceux avec qui je ne peux pas établir la confiance, je garde le réglage BTBV (Blind Trust Before Verification) activé, mais je ne fais plus confiance à leur identité pour éviter les attaques MITM.
Autres points importants
-
Je ne possède actuellement aucune empreinte OMEMO autre que ces 8. Si vous recevez un message ou voyez une clé OMEMO différente dans ma liste, (à condition que vous fassiez confiance à ma clé OpenPGP), veuillez m’envoyer un texte au choix à signer avec cette clé et me renvoyer la signature via l’appareil utilisant cette clé OMEMO. Si je ne peux pas faire cela, NE FAITES PAS CONFIANCE à cette clé et rejetez-la.
-
Le compte Jabber
czl92783719@vern.cc
m’appartient aussi, mais je l’utilise rarement, il n’est pas affiché sur mon site, et je n’y gère pas la confiance. Ne lui faites pas confiance. Faites uniquement confiance à mon compte Jabber principalczl92783719@autistici.org
et ses 8 empreintes OMEMO actuelles.
Qu’en est-il de Matrix ?
Matrix fonctionne différemment : tous les appareils d’un compte Matrix vérifient mutuellement leur identité et partagent une même clé unique pour chiffrer, déchiffrer et vérifier les messages. Ainsi, construire la confiance est plus simple sur Matrix, puisqu’on vérifie le contact, pas l’appareil.
Message OpenPGP à vérifier
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
I acknowledge that these OMEMO fingerprints of my XMPP account are verified by me, and are confirmed to be trusted:
146614A4 A28D568E 2491DBF4 432AF3AD 23B5FB40 7040D732 55031B56 0096B36A
2BCBC6B0 F28E8015 9FFA69CC CFE90042 90285C0A 96605915 4DB56134 6804E451
E551B50A 91A332B2 A967C861 08F70299 C466C798 709997DF 3742BA35 8A5D3036
5D49448C 4C9282DE BABE51C4 CD7C80EB C3D4A231 3F51A98A 8F011C46 0E72685D
853B4672 DF3AA335 2D6819E0 AA7E341B D64BE04D 31620525 FDD3F443 D0FC2929
EBE2B559 46D07ECA 9BF8F18C 5C897CE8 66FD1C18 8B842EB0 6D17A04E BDDD3D42
A95CBAEB 810112B2 FE8F5992 A7DFC5B4 742B376B 15A8F58B B135195E 88E9BB60
A398B7A0 7014A253 7CCE9FEB 007EA82A 1D8CA17A 79C07435 462F78E9 47115B0E
-----BEGIN PGP SIGNATURE-----
iQJGBAEBCAAwKRxDYXJ0ZXIgWmhhbmcgPGN6bDkyNzgzNzE5QGF1dGlzdGljaS5v
cmc+BQJn+kc7AAoJEAb0MMC3f8K50BkP/0vfwV1GXvLn3AcvSaM53ZWJ6cYSmi7b
SmPoIAQrYj0lGqANOp/+2UWgT1SXFfKmkeUlq2sOdTwCWibM2HUr7vuvD9kER+oe
e+49OrFfijUv+spDNhQ5tyM59cNMcF+0u0JX9lr+ZpgES4aWMMcnYDQ+vySyaDLM
8vIy+3W+i/794KdL5DbKId0AMmYo+Gz9OVtY8/BKOT4WPQGG5fl2O6346oIedKH/
O2FfMp6d6YnMLcp3CvKXbPVi6XgmoYTGiFfTnCG2+rCGuxQH1nCvVdPmvrJfxnRm
3nW86Y+iGLGEWRZP3kP6chEgE7RT+YIzC7cICSC2qImM+GlTIK4TtFH2pvGjD8A5
X1JowdwICuLZ7l/MLowoBs5KpTldHJuyetpdhA7RPA13vqgJtFhxbYASjwFxxjNq
qRZJgWWxpsgNwvcyxIZWD49rie6o5QLu09o4hwSGm9AT7DRWE2Ht9tTBaKMotS2v
+Ydzko4ZEN5JQ6n0ySrp9l02hrkYQtu0h4PNsWmHtYRKgx4/ZHgdpDSdtN8vf4x6
RqjiTlvZS3DnhIJ7hpiQJeJFbGaa+pUZsM6s4K3AWH0Sp7QmrnWI1WJlYrvdda7s
lqvo0p6HueS/RWxvE0eImXzizAd/Di7NC7Hl3eRdibiSDs/1mDDyMylE4Oe3JtX/
YXGPMCs6EU08
=Bi1t
-----END PGP SIGNATURE-----