4 ms·
Or XMPP+OMEMO which adds things like multi-client support and encrypted group chat: https://news.ycombinator.com/item?id=13396083 https://news.ycombinator.com/
by Yetanfou 9y ago
Or XMPP+OMEMO which adds things like multi-client support and encrypted group chat:
https://news.ycombinator.com/item?id=13396083 https://news.ycombinator.com/item?id=13396083
I'm running this on my own server (using ejabberd [1] as Prosody - which I used previously - still has problems with some of the required XEPs[2]) using several different clients (Conversations [3] on Android, Pidgin on Linux, etc).
The one weak link in OMEMO is the difficulty of verifying the authenticity of the device key signatures used by communication counterparts. These signatures are 64-character hexadecimal strings which the user is supposed to verify being authentic before initiating encrypted communications. Humans as not very good at this task, computer can help but they can also be tampered with. There are ways around this problem - e.g. meeting up in person before initiating communications (viz. PGP key signing parties), sending Q-codes off-line, using algorithms to turn those numbers into things which humans are better at recognising (e.g. the coloured emoji used by Telegram etc.). Encrypted group chat only works if all participants have all other participants in their address lists. Then again, it does work and it is fully standardised with several compatible implementations.
[1] https://github.com/processone/ejabberd https://github.com/processone/ejabberd
[2] https://xmpp.org/extensions/ https://xmpp.org/extensions/
[3] https://github.com/siacs/Conversations https://github.com/siacs/Conversations
- dijit 9y agowe should take a leaf out of the signal/telegram book and convert the hex strings to emoji thumbprints. It's "good enough" for 90% of cases, but it depends on clients supporting emoji.. :(
- Yetanfou 9y agoThat would work for graphical clients but not so much for textual versions. Some type of ASCII-art might serve the purpose but whatever solution is chosen it will be hard to visualise the entropy of a 64-digit hex string in such a way as to distinguish it from the same string with 1 bit flipped.