close
  • person rss_feed

    Adrien Dorsaz’s feed

    Blog

    • 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 :)