End-to-end encryption (E2EE) is important. However, on self-hosted or otherwise trusted servers, the client-to-server transport layer presents a much larger attack surface. It’s the first hurdle an adversary must overcome before they can attack E2EE.

That’s why #Conversations_im includes advanced MITM detection called Channel Binding. Turn it on today!

It’s optional for now because not all servers support it. Talk to your admins.

Neither @matrix nor @delta offer comparable protection.

in reply to Daniel Gultsch

Замечательно, спасибо, Даниэль! Можешь ли ты настроить так, чтобы Conversations и Quicksy по умолчанию активировали привязку канала?

И ещё один вопрос: в какой версии Conversations появится возможность выбирать только TLS 1.3, как на скриншоте?

in reply to Сейд ✅

@Seyd connections to the conversations.im and quicksy.im domain will require both Channel Binding and TLS 1.3 regardless of what those settings are set to. Quicksy the app won’t even have those settings.

As to when the setting to opt-out of TLS 1.3 will disappear (in favor of just always requiring it): I don’t know. Hopefully maybe in a year. Depends a lot on the user feedback we get after that opt-out setting will ship with 2.19.3

Daniel Gultsch reshared this.

in reply to Daniel Gultsch

Let's consider how deltachat, in its default mode of operations, works.

What is the purpose of Channel Binding ? It seems to me to be mitm-resistance, but considering that in deltachat, contrary to Conversations, the user doesn't even know their password I don't see how they're going to be phished on a scam website. The only way to connect from another client is starting from an already legit one that will consciously share credentials. The app, like conversations, doesn't make typos when calling the server, so if mitm didn't happen through mistyping the address it happens behind TLS, so it's the same for Conversations.

What happens in the case of a mitm ? In deltachat chats are not mitm-able: the only thing a mitm box will see is gpg-encrypted emails. Recall that in its default setting email addresses are pseudonymous (i.e they have no human meaning and it is expected that one person will use many addresses) so what a mitm will see is that some random address sent some other random address something, and the date. The real mitm that can have an impact is one that can intercept the qr code, or the link it contains, out of band. Nothing can be intercepted in-band. Note that this is true even in the non-default way of using deltachat, with your own account on another server, as long as you use deltachat.
In Conversations, because the server is important, they will be able to do everything the user can do: see/set presence, change omemo keys, publish/subscribe, read and send unencrypted stanzas. The only thing they won't be able to do is to read the content of encrypted content, but they will still see who sent it in which room.

Deltachat massively downgraded the importance of server to the point they are just relays of content. It is parting ways with the 80's and 90's era of a server capable of doing everything and clients only ordering them to; xmpp hasn't. The result of a mitm is catastrophic in that mindset, but for a more p2p app it's more of an inconvenience.

So, no, deltachat doesn't implement channel binding, but contrary to others including Conversations deltachat actually doesn't need to. So that's ok.

It's a bit disingenuous to talk down on other libre and decentralized messengers, especially when xmpp in its current design and deployment is arguably worse on the security aspect, not talking about the metadata aspect that the xmpp world still hasn't heard of somehow. They are not the enemy, Whatsapp and Messenger are. (note: this is also valid for delta fans)

(I might have made some mistakes, feel free to tell me)
@matrix @delta

This entry was edited (1 week ago)
in reply to rakoo

@rakoo they can still collect the messages tho, then seize your device and with the private key they can then decrypt all messages, even with this new feature of XMPP this is still true if the VPS provider gives access to the server to your enemy, the more secure way out of this attack vector is forward secrecy, with what @daniel announced you should avoid the problem if the VPS is out of the jurisdiction of your enemy tho

@delta @matrix

in reply to adb

oh there are many ways that attackers can do what they want, but that's an endless discussion. What I'm looking at is the claim that one is better than the other: if we look at the threat models, and the consequences inside that threat model, it's not necessarily true and as a larger point it is not useful to talk down at each other when we should be collaborating more and learning from the experiences of the others as well.
in reply to adb

@adbenitez Channel Binding is roughly akin to certificate pinning. (Which doesn’t easily work in federated networks)
It protects against state level actors acquiring valid certificates signed by well known CAs.

Which is a thing that has happened in the world of XMPP.

notes.valdikss.org.ru/jabber.r…

Under the hood it uses a shared secret (the password) to ensure that client and server are connected to the same TLS connection.

@adb
in reply to Daniel Gultsch

Hello Daniel,
Can we verify whether the server and local hash are consistent during the process of determining the known certificate?

The current implementation location of related functions *isCertKnown* is in

src/main/java/eu/siacs/conversations/services/MemorizingTrustManager.java

Adjusted pseudocode
pastebin.com/raw/FFXwMNVX

The reason behind wanting this modification is to obtain an alert following the SSL certificate's update, Even if it is issued by the same CA and subject DN remains unchanged.

This entry was edited (1 week ago)