Messaging layer security: Secure and usable end-to-end encryption
ietf.org
ietf.org
(I don't know how accurate this really is, and MLS people would also probably argue that their abstractions work nicely for small groups too).
Does this potentially help with the group end to end encrypted chat identity problem? The number of identities that need to be verified goes up O(n^2) with the number of participants. It is hard to make that usable.
Originally it didn't[0], I hope this has changed or will. Otherwise, I'd guess it would be dead on arrival.
Edit: see https://news.ycombinator.com/item?id=35366250 for audio.
https://datatracker.ietf.org/doc/bofreq-cooper-more-instant-... & https://news.ycombinator.com/item?id=33420112
> The IETF had multiple prior lines of effort in this area during the development and widespread deployment of XMPP and SIP decades ago, but the nature of existing messaging implementations and the external environment have both changed significantly since then. Messaging applications now share more common content features and functionality, the MLS protocol has been developed to facilitate E2EE interoperable messaging, and regulatory pressure to interoperate has increased significantly (e.g., as a result of the EU Digital Markets Act).
https://mailarchive.ietf.org/arch/msg/mimi/CI3z3CUPE8rrC5p4_... & https://techcrunch.com/2022/12/30/inside-matrix-the-protocol...
> We sometimes found that the various components of Matrix came together in unexpected ways that created problems, even if they were fine in isolation. From our reading of the charter and current drafts, it is likely that MIMI will need to include new cryptographic protocols (or integrate existing ones). As such, an analysis that looks at how the pieces of the puzzle fit together would be valuable. Thus, we'd like to advocate for following the path of MLS and TLS 1.3 by engaging the security, privacy, cryptography and formal verification communities.
https://github.com/mlswg/mls-architecture/blob/main/draft-ie...
Here's a version of MLS (By Alwen, Mularczyk, Tselekounis) which supports out order delivery of commits.
Also, switch messenger once you hit 1k?
Even it a leak may be possible, it still isn't guaranteed. Instead you guarantee server side access without e2ee
Not sure why wasm/js is relevant to the discussion.
If something is important browsers can always add it to webcrypto anyway.
There's a live audio stream at https://datatracker.ietf.org/group/mimi/meetings/ or the video will be posted later after the meeting. You can also find links from that page to the charter, mailing list, etc, if you want to get involved.
Having said that, the pricing for remote participants is currently a major topic of discussion.
https://datatracker.ietf.org/doc/draft-ietf-shmoo-remote-fee...
Organizations cost quite a bit to run (mostly a mix of staff and marketing), and have different models for funding it. Some are more closed in participation, asking organizations and individuals to pay anywhere from $5k to $100k to participate, while some charge for the specs they produce.
IETF gets 40% of their revenue from meetings, but has managed to figure out how to fund open participation and open specs.
> Other apps, such as Wickr and Matrix, are planning to transition to MLS [...]
Matrix is a protocol, not an app, right? Maybe I'm being pedantic, but I tend to trust RFCs, so... cannot hurt to be precise, I think.
English is not my mother tongue, so maybe I missed something here.
Signal Protocol is entirely pairwise. A Signal group is a set of communicants who have established N^2 pairwise ratcheting relationships with each other.
What exacty is the Matrix' plan wrt MLS? This announcement sounds almost like they will retire current Matrix 1.6 protocol. Is this accurate?
MSC3977: Matrix as a Messaging Framework — https://github.com/matrix-org/matrix-spec-proposals/pull/397...
MSC3919: Matrix Message Format — https://github.com/matrix-org/matrix-spec-proposals/pull/391...
MSC3918: Matrix Message Transport — https://github.com/matrix-org/matrix-spec-proposals/pull/391...
Dated March 29th. Not quite final, but I believe this link is about the imminent release of the core spec.
* https://datatracker.ietf.org/group/mls/documents/
You have to click on the "Document" tab.
I think we really have to turn things around the other way. First determine what a usable system would look like and then only after that is determined start thinking about the cryptography that would work for that system. After all, the cryptography aspect seems to be the relatively easy problem. We solve it over and over again.
If yes, then that would be some equivalent of TLS but for e2ee, somehow. But then we need a protocol on top of that (for TLS that's HTTPS) to actually have interoperability at the application level, right?
But then it feels similar to saying "let's all agree to use the Signal Protocol and write interoperable clients, doesn't it? If I want a slightly different experience that requires a sightly different protocol, then suddenly I cannot interoperate anymore...
Or am I missing something?
I am not singling out WhatsApp here. In a usability study involving Signal[2], 21 out of 28 computer science students failed to establish and maintain a secure end to end encrypted connection.
[1] https://faq.whatsapp.com/1524220618005378
[2] https://www.ndss-symposium.org/wp-content/uploads/2018/03/09...
is this everything?
Assuming one of those billions users is a motivated security enthusiast, WhatsApp is not able to perform MITM attacks at scale, as it would be trivial to prove. If WhatsApp decides to MITM your chats, it can't do so retroactively due to the properties of the protocol. If you're a high-profile target, you should verify your keys.
Can't they just set you up as a new device? The user wouldn't know if they left the notification at the default setting.
Whatsapp would not MITM ever single user. They would carefully target particular individuals.
But let's assume the client app was open source, and WhatsApp decided to reset the key for some targeted users. Most users wouldn't realize, but if one did, then that would be very bad for WhatsApp. It would be all over the media. That's why it cannot be done at scale.
That's why it cannot be done at scale with Signal, too. Even if the users mostly ignore the "new key exchange" notification. If Signal MITM conversations and one person manages to prove it, then Signal is done. That's a pretty strong incentive for them not to do it.
MLS E2EE is deployed in production today by Cisco WebEx.