G

Research whether or not to add OMEMO encryption support

OMEMO is an XMPP Extension Protocol (XEP) for secure multi-client end-to-end encryption: ​http://conversations.im/omemo/ It offers Forward Secrecy and deniability while allowing you to keep the benefits of message synchronization and offline delivery. OMEMO is an xmpp wrapper for the Apache 2.0 licenced OLM ratchet implementation: ​https://matrix.org/git/olm/ OMEMO is now a released XMPP standard: ​http://www.xmpp.org/extensions/xep-0384.html Both OMEMO and OLM have been audited by third parties: ​​https://conversations.im/omemo/audit.pdf ​​ https://www.nccgroup.trust/us/our-research/matrix-olm-cryptographic-review/ Some of the content at this link is outdated, but a lot of documentation was written a few months ago about OMEMO here: ​​https://we.riseup.net/riseup/xmpp OMEMO is being ported to Profanity.im as well ​​https://github.com/boothj5/profanity/issues/658 Usability for the only desktop client that supports OMEMO currently, Gajim, is not perfect. ​​https://current.workingdirectory.net/posts/2017/encrypted-mucs/

G

Goffi 10. 1. 2017 12:58

Hi, thanks for the ticket. It is planed to implement OMEMO and OX (modern OpenPGP). OX will probably be implemented first as it does full stanza encryption and Python modules for OpenPGP are already available. The implementation will probably not be available for Libervia at least before 0.8 (for Libervia we need a separate implementation because the encryption must be done in the browser). OX can be expected for next release (0.7), OMEMO should there in 0.7 or 0.8, I'll update this ticket when a first implementation will be available.

G

goffi 22. 7. 2018 16:51

Hey, for your information I've started implementation of OMEMO in SàT, based on Syndace work (https://github.com/Syndace/python-omemo). Except if I encounter unexpected blockers, it should land in next release (0.7) at least for desktop, TUI and CLI frontends (Web has specific difficulties, and Android will need to be able to port OMEMO dependencies there, which should be doable).

G

goffi 30. 12. 2019 20:56

implementation is now complete with commit 118d91c932a7 (one2one, MUC and files). It's available in all platforms but web due to specific behaviour, but a new ticket will be needed for web implementation. Closing this ticket.

id

180

author

Kurtis

created

10. 1. 2017 1:46

updated

30. 12. 2019 20:56

labels
Backend
type
bug
status
closed
priority
normal
milestone
0.7
severity
normal