6 ms·
Why isn't there an alternative? Signal uses the Axolotl protocol for encryption. There are already several XMPP clients that support the OMEMO protocol which is
by gst 10y ago
Why isn't there an alternative? Signal uses the Axolotl protocol for encryption. There are already several XMPP clients that support the OMEMO protocol which is based on Axolotl (https://conversations.im/omemo/ https://conversations.im/omemo/). And for Matrix (a modern alternative to XMPP) there's Olm which is also based on Axolotl.
- SamWhited 10y agoAt the risk of derailing this slightly, I wouldn't call Matrix a "modern alternative" to XMPP. The use cases are almost entirely different; Matrix isn't really suitable for realtime applications like XMPP is (because Matrix is all pull-based, so you have to query the server constantly to try and get messages in a reasonable time; this also means keeping the phone radio in active, high-battery-drain mode [pretty sure that's the technical term]). Disclaimer: I do a lot of work on XMPP related things and rather like the protocol, so maybe I'm biased. I'm sure there are things for which Matrix is a better fit that I wouldn't use XMPP for too though.
- Arathorn 10y agoAgreed that Matrix isn't a "modern alternative" to XMPP, but for different reasons. At its core, Matrix is a decentralised object database for conversation history (like NNTP). XMPP is a message passing protocol (like SMTP, but extensible). Matrix is not "all pull-based" - that's just the baseline implementation. Folks have already implemented push-based transports for Matrix - e.g. COAP or WS. edit: [Disclaimer: i work on Matrix]
- tptacek 10y agoYou mean the Signal Protocol. That's its name. Axolotl was a name for a major component of Signal Protocol. Moxie and Trevor Perrin designed the protocol for Signal, and it's under active development. They own the protocol, its direction, and its documentation. Other projects can adopt parts of the Signal Protocol, and doing that is certainly better than just making stuff up. But Signal owns the protocol, because the experts who own the protocol are attached to Signal.
- Arathorn 10y agoYeah, just to clarify: Olm (matrix.org/git/olm) is an entirely independent implementation of the Double Ratchet algorithm (based on Trevor's original public domain spec sketch, which was originally called 'axolotl'). It's not connected to Signal or Signal Protocol or Open Whisper Systems, and subsequently we've added an entirely different new ratchet (Megolm - https://matrix.org/docs/spec/megolm.html https://matrix.org/docs/spec/megolm.html) to handle Matrix's specific requirements for E2E.
- tptacek 10y agoCrypto engineers tend to like the Axolotl design, which is an unusually serious cryptographic design for a messaging protocol (historically, messaging crypto has been cryptographically slapdash, with the exception of OTR). But the reason crypto people are so positive about Signal Protocol isn't just that they like the ratchet. It's also that they trust the entire design of the system, not just the ratchet but all the rest of the cryptographic details, and also the oversight of the protocol. It's kind of the same way that crypto engineers like stream ciphers designed as simple hash cores running in counter mode, but really what they like is stuff that Dan Bernstein designs --- they aren't encouraging you to go design your own hash-core based stream cipher! So: it's good that these other systems adopting "Axolotl" are at least starting from a cryptographically serious place. But it's a bit jarring to see them reference "Axolotl" as if it answered the question of "why should we trust this cryptography". A better answer would be to provide the bios of the people who designed and implemented the crypto in these systems.
- Arathorn 10y agoWell, I hope on Matrix we've not been blindly namedropping axolotl/double-ratchet: instead we've tried to be as transparent as possible (more-so perhaps than OWS) in terms of speccing what we've been doing (https://matrix.org/docs/spec/olm.html https://matrix.org/docs/spec/olm.html, https://matrix.org/docs/spec/megolm.html https://matrix.org/docs/spec/megolm.html, http://matrix.org/docs/olm_signing.html http://matrix.org/docs/olm_signing.html, https://matrix.org/speculator/spec/drafts%2Fe2e/client_server/unstable.html#end-to-end-encryption https://matrix.org/speculator/spec/drafts%2Fe2e/client_serve... etc). Thanks to the Open Tech Fund we also got libolm audited by NCC Group - and we've ensured that the audit report will be publicly released (mid-Nov). Hopefully the audit & the code will speak for itself, and certainly speak stronger than bios.