-
MattJ
I hate to say this in the middle of the TWOMEMO roll-out, but... anyone interested in MLS?
-
trollge
MattJ: what is any of that
-
MattJ
End-to-end encryption
-
MattJ
https://datatracker.ietf.org/wg/mls/about/
-
MSavoritias (fae,ve)
Is MLS actually being deployed anywhere? I thought it was still in its infancy
-
dequbed
It's not yet deployed, no. But it's at the stage where an Implementation of the Transport layer using XMPP could start to be defined & implemented
-
MattJ
MSavoritias (fae,ve), a beta roll-out for at least one (open-source) product is expected very soon. I don't know if that's public information, but here's an interesting repo I found: https://github.com/wireapp/core-crypto ;)
-
MattJ
It's still in its infancy, but it's starting to take its first steps
-
MattJ
Maybe they'll be wobbly steps, but now is a good time to figure out if/how we can/want to map this to XMPP
-
MattJ
MLS is basically a hard requirement for MIMI at this point, which is why I'm bringing it up right now
-
MSavoritias (fae,ve)
Yeah i saw in the meeting. Its built on top
-
MSavoritias (fae,ve)
I think its all up to: Will we have gateways that support e2e encryption in MLS
-
MSavoritias (fae,ve)
Because that seems like the whole point of it imo
-
MattJ
Gatekeepers you mean?
-
MattJ
Nobody can predict, and they haven't said anything officially so far, but there are indications that they're at least interested
-
MattJ
But even if we don't do it for MIMI, there may be other reasons
-
MattJ
It's more scalable than OMEMO, and has some nice security/privacy features, such as cryptographically-assured group membership (the lack of which bit Matrix hard, if you saw their recent security flaws announced)
-
MattJ
We barely even try to have that now, with OMEMO. Just a confirmation screen in Conversations that people complain about :)
-
MattJ
If we do certain things in certain ways, we can also go some way towards hiding group membership from the group service itself
-
MattJ
Also, Matrix may never get MLS, as it's not very suited to the eventual consistency model it uses. That might be something interesting to further differentiate the two protocols.
-
MattJ
and if they do, who knows, we might get a decent bridge thanks to MIMI
-
MSavoritias (fae,ve)
So you are thinking of using mls for group encryption since its basically unarealistic in omemo? I could see that being very desirable
-
MSavoritias (fae,ve)
> MattJ: > Gatekeepers you mean? I meant generally gateways. Like to wire, signal and the likes. So we van send messages encrypted over the bridge
-
MattJ
Traditional gateways can't support E2EE, because it prevents them from performing the necessary translation between the protocols
-
MattJ
Unless you consider the gateway one of the E's
-
MattJ
Which most people obviously don't want to do
-
MattJ
With MIMI+MLS that may change
-
MSavoritias (fae,ve)
Yeah that was my thinking
-
MattJ
There is more chance of other platforms adopting MLS than adopting OMEMO
-
MSavoritias (fae,ve)
I agree. That is why i was saying the whole value proposition of MLS would be if it gets adopted in other services and we can do e2e over the gateway with MIM.
-
MattJ
So I think there are many interesting reasons we should be looking at MLS in XMPP, even if MIMI doesn't succeed
-
MSavoritias (fae,ve)
Now if its also better for groups than omemo then i would say its definetily worth it to have it. Since the group encryption in xmpp is pretty much broken with omemo
-
MSavoritias (fae,ve)
Agreed
-
MattJ
It's much better for groups, and designed to scale much better than the existing solutions
-
MattJ
We have challenges though, such as... can we use it in 1:1? do we want to?
-
MattJ
Some platforms model 1:1 as a 2-person group, but XMPP does not
-
MattJ
It makes a difference. In MLS the group service enforces some rules, such as ensuring everyone gets a consistent ordering of events.
-
MattJ
In 1:1, there is no such authority over the communication, each user's server is simply a peer to the other
-
MattJ
I heard some interesting solutions to that, such as making two fake groups, one on each server, and keeping two separate (but equivalent) states.
-
MattJ
Seems complicated though, so we might want to just start with using it for groups
-
MSavoritias (fae,ve)
Yeah i think replacinp everything with it is unrealistic right now. But for groups i think everybody will agree its a better solution than omemo. Except OX people
-
MSavoritias (fae,ve)
Personally i think its to XMPP benefit that we seperate 1:1 and groups. Because we can havn different properties for each.
-
MSavoritias (fae,ve)
Could be just me though
-
MattJ
Yeah, I generally prefer our model
-
MattJ
It has pros and cons, but I like that it is simple and intuitive to send a message from A to B
-
MSavoritias (fae,ve)
I remember matrix having issues with everything being room also
-
MSavoritias (fae,ve)
Yeah
-
MattJ
Yes, such as two people potentially having multiple rooms between them
-
MattJ
Gets complicated to hide such situations from users, who think they are just messaging each other directly
-
MSavoritias (fae,ve)
Yeah. They had to implement them as 1:1 persistent rooms or something
-
Link Mauve
Compared to oldmemo and twomemo, where does MLS fit regarding “full stanza encryption”?
-
Link Mauve
If the thing we encrypt is an XMPP stanza, I highly doubt other protocols will be able to interoperate with us.
-
Link Mauve
But if we go the oldmemo way and encrypt only the body of a message, it’s going to be the same bad thing where we have to disable every single advanced feature of XMPP.
-
dequbed
I mean E2EE gateways isn't the goal of MLS. Just because you all use TLS doesn't imply your protocols are compatible all of a sudden, does it? The primary idea was to develop a proper, well-designed specification that is specified in a way that makes it very easy for libraries to be absolutely agnostic of the actual protocol, just like TLS is designed to not need to care about the protocol it protects, or the transport layer technology. MLS will improve the security of chat by providing developers with high-quality cryptographic libraries they can use, just like OpenSSL et.al. improved the state of the art in transport layer encryption.
-
larma
If Matrix and XMPP were both to use MLS, I could imagine a gateway transporting encrypted JSON / XML payloads and clients on both sides actually understanding both. Adding a second translation to internal data structure is probably not too hard. Maybe not all features will be supported, but at least some can be done. Of course it would be even better if we could build a common standard for the encrypted payload. A standard with a democratically-elected committee deciding on what is accepted, with various optional extensions, ... - something like XMPP and very much unlike Matrix, so it's not going to happen
-
MSavoritias (fae,ve)
Yeah.. But then again i dont think gateways can guarantee much more than text. And judging by the other gateways matrix developed it doesnt even look desirable
-
vanitasvitae
The soft requirement of having a shared payload format is what makes MLS uninteresting for me (yet).
-
vanitasvitae
I think once the MIMI group settles on a shared format, MLS gets really interesting
-
vanitasvitae
Does anyone know what the library ecosystem for MLS is looking like?
-
MattJ
vanitasvitae, I have been told that there are two main active implementations, both in Rust
-
MattJ
One is https://github.com/wireapp/openmls - the other is by Cisco I think, but I'm not sure of the name
-
vanitasvitae
I see
-
MattJ
The response to the several comments about MLS being uninteresting while the encrypted payloads are incompatible: defining a standard format for the encrypted payloads is one of the goals of MIMI
-
MattJ
Otherwise, yes, MLS alone doesn't magically get you the interop
-
MattJ
So basically MIMI is what larma said. Nobody knows what the "content format" (is what they're calling it) will look like yet, but I've no doubt everyone involved has an opinion that will be shared in the coming months
-
MattJ
I'm also of the opinion that if we want this interop (assuming MIMI gets picked up by others) then yeah, XMPP clients will need to support this content format and I'd like to think it wouldn't be too hard (I doubt they're going to use XMPP XML, but you never know)
-
larma
I think any attempt to standardize the content format is doomed to fail. You can probably get consensus to have something like a JSON with a field `type` that can be `message` and a field `body`, and agree that this should include an unformatted text representation of the message's body and then vendors can add any additional fields or types - but everything beyond that I've serious doubt it would be widely accepted and even that is unlikely. Different messengers have different UX expectations and thereby different protocol requirements, even when we're only talking about the messages itself.
-
larma
I mean we already struggle to find a common standard for message formatting within XMPP (XHTML-IM, Styling, Markup, ...)
-
MattJ
Yep. But it's not impossible to imagine that *something* gets standardized. Not saying it will be something great :)
-
MattJ
And we'll be back to the same old thing: UX of bridged chats < UX of native chats
-
moparisthebest
> high-quality cryptographic libraries they can use, just like OpenSSL Strange, a shiver just went down my spine