close
  • OMEMO is broken in general across the ecosystem :(

    I along with a lot of other people have tried to test OMEMO and we've all spent some time trying to figure out what is going on with OMEMO on multiple clients and compatibility. I think I know at least one reason why clients on different platforms can't talk to each other. If you look at my earli

  • chevron_right

    Protéger ses conversations avec OMEMO

    Adrien Dorsaz · Wednesday, 3 August, 2016 - 06:07 · 1 minute

Je viens de survoler le texte de la XEP d'OMEMO.

Cette extensions permet de chiffrer ses conversations avec ses contacts d'une manière originale: au lieu de faire un chiffrement par contact, l'extension prévoit de faire un chiffrement par client XMPP.

Ce que j'aime bien, c'est que le chiffrement avec OMEMO est compatible avec les principaux avantages de Carbon et de MAM (le premier permet d'envoyer un message à plusieurs client en même temps, le second de créer une archive sur le serveur pour que les clients qui ont perdu la connexion puissent retrouver l'historique complet des messages).

En réalité MAM perd une fonctionnalité: si j'utilise aujourd'hui un nouveau client XMPP, il ne pourra pas lire l'historique de mes conversations d'hier, car il est incapable de déchiffrer les messages. Comme cette fonctionnalité est un concept opposé au chiffrement, ça fait sens de ne plus l'avoir lorsque l'on décide de chiffrer ses messages.

Si j'ai bien compris, pour chaque message OMEMO génère une clé de chiffrement et chiffre le message avec cette clé. À côté du message chiffré, pour chaque client XMPP de confiance, OMEMO ajoute une entête avec la clé utilisée chiffrée avec la clé publique du client. Ainsi, le message réel n'est chiffré qu'une fois et tous les clients peuvent le déchiffrer (car chacun peut retrouver la clé qui avait été utilisée). Je trouve ça vraiment élégant :)