this post was submitted on 16 Sep 2021
18 points (90.9% liked)
Asklemmy
43810 readers
875 users here now
A loosely moderated place to ask open-ended questions
Search asklemmy π
If your post meets the following criteria, it's welcome here!
- Open-ended question
- Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.
- Not regarding using or support for Lemmy: context, see the list of support communities and tools for finding communities below
- Not ad nauseam inducing: please make sure it is a question that would be new to most members
- An actual topic of discussion
Looking for support?
Looking for a community?
- Lemmyverse: community search
- sub.rehab: maps old subreddits to fediverse options, marks official as such
- !lemmy411@lemmy.ca: a community for finding communities
~Icon~ ~by~ ~@Double_A@discuss.tchncs.de~
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Getting end-to-end encryption work seamlessly is difficult on XMPP, and you would end up not secure. Matrix does have very good defaults and has e2ee enabled by default. It also has a different passphrase to decrypt history if you need to change the device.
Edit: typo.
I guess you made a typo and mean XMPP. But getting e2ee working on XMPP is also super seamless and easy when using the Android Conversations client or one of it's forks. On Matrix it is also only super easy and seamless with one client, i.e. the webbased Element.
Corrected the sentence. I last used XMPP with Conversations on mobile and Movim on the web about 3 to 4 years ago. Many of my contact had hard time enabling e2ee. I had to visit them to walk them thru the trust process. Other wise, the would just see scrambled text.
I use Monocles Chat, a fork of blabber.im, which is a fork of Conversations.
OMEMO encryption works by default, and (for me) was a little bit more seamless than setting it up for Element.
Element has a slightly awkward "verification" process, and also the backing up of encryption keys, and verifying other devices, just tends to confuse new users (imo).
Element sees this as levels of trust.
Verification process is for people you interact with outside of Matrix like IRL or phone, etc.
This is no longer the case for Conversations, it works super seamless out of the box.
Sadly Movim only very recently added experimental e2ee and it isn't fully usable yet. But I am hopeful that it will be in a few months.
But the Webbased client's security model is simply broken. E2EE in the browser is simply not possible.
Fixed that for you. :)
As ibsaid previously my statements are based on an old experience. Much has changed today.
default setting is that admins can easily inject their own key without user noticing it.
additional to that: gajim sends files over jingle without encryption in e2ee chats dino does not offer reliable e2ee for group chat. it is difficult to verify keys in conversations because these settings are hidden afaik.
This needs to be qualified a bit... if the convenience feature for enabling e2ee by default and automatically exchanging keys with other devices is enabled (which can be turned off easily in most clients), then yes a new device can be introduced by a server admin in theory, but even then most clients will clearly switch to a encrypted-but-unverified display next to each message (in Gajim for example it will show a only half-filled shield next to each message, I think in Conversations it switched from a green to a yellow sign).
As for file sending, these are (usually still transport encrypted) fall-back modes to the modern e2ee OMEMO encrypted file sending used by most popular clients. Yes it would be probably better to disable them all together and/or put a big warning, but they are not the regular way attachments are shared these days. If you make sure you use a correctly configured XMPP server then you basically never run into this issue.
There is no button called: verify key or something in conversations. It is a hidden setting. Do you know how to verify a contact without using the qr code? It's a hidden setting and most users won't know it. Neither does it give you info that you can verify keys by scanning qr code. How should a user know? Not. So they stick to default settings, and the default setting is, that an admin can inject keys anytime they want, without user noticing.
I've mentioned Gajim, not any client. Gajim uses jingle without transport encryption.
You can either make e2ee easy to use and enable it by default, or you can try to make people understand what they are doing to protect them from edge cases. Conversations does the former, while not making the latter impossible.
Could more emphasis be put on the latter? Maybe, but then people would complain about it being difficult to use and understand.
That people don't understand e2ee and assume that it somehow makes your communication magically secure is a social problem and not a technical one. All the above things you mention are not difficult to understand or do in the Conversations GUI, but they require a basic understanding of e2ee, which you can't teach in a GUI.
In the end IMHO it is better to have many people using e2ee even in a less secure form, as most people don't really need strong e2ee anyways. But by having many people use e2ee, it can't be used to single out the few people that really need higher opsec, but those few really need to understand what they are doing and teach their contacts accordingly.
...the "edge case" that e2ee should protect from third parties such as an admin to read the messages. A new key could create a pop up window that informs the user. If user doesn't care, there can be an option for "never show again". Having a function that says "verify key", should also be expected from an app that argues to have secure e2ee implementation.
Most people don't need any. It's infosec larping what people do. And then software developers build software for LARPing.