Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove "Encryption" section from chatmail profiles #3591

Open
link2xt opened this issue Feb 11, 2025 · 7 comments · May be fixed by #3594
Open

Remove "Encryption" section from chatmail profiles #3591

link2xt opened this issue Feb 11, 2025 · 7 comments · May be fixed by #3594
Assignees
Labels
enhancement actually in development, user visible enhancement

Comments

@link2xt
Copy link
Contributor

link2xt commented Feb 11, 2025

Android already has "Prefer End-to-End Encryption" option removed for chatmail, but the other two settings "Manage Keys" and "Send Autocrypt Setup Message" remain.

"Manage keys" is dangerous because export option exports the key into Downloads folder and then the key may be read by other applications, uploaded etc. And we really don't want users to import keys in their chatmail profiles because if they import the same key into multiple profiles, this will trigger AEAP if both profiles are added to the same chat at some point. We generally don't expect that multiple Delta Chat profile with the same key may exist.

"Send Autocrypt Setup Message" is slightly better, but it does not make sense for chatmail because users normally don't have other clients supporting Autocrypt on the other side. It is possible to setup Thunderbird by copying the password and then use Autocrypt Setup Message to move the key there as a developer option, but as a developer I can also setup desktop as a second device and extract the key on desktop, even with SQLite browser.

We could even remove the hacky "Manage keys" option from non-chatmail profiles because it does not have the way to see which key is now used and how many keys you have, but this will make users who like to manage keys and compare fingerprints unhappy, so better only change the chatmail for now.

@link2xt link2xt added bug and removed bug labels Feb 11, 2025
@link2xt
Copy link
Contributor Author

link2xt commented Feb 11, 2025

I'm also fine with keeping the option on desktop, but at least remove it on mobile. There has been a case not so far ago that user attempting to fix something just clicked around all the option and exported the keys from some profile, imported in all other profiles etc., when asked said something along the lines of "maybe I imported, maybe not, don't actually remember if i touched that setting" and it was difficult to debug what happened and why the user now has different verified and autocrypt key and has signature verification failures. The key had an user id with a different email address in there, so clearly was a key import or changed the address and reconfigured existing account.

@adbenitez
Copy link
Member

some advanced people actually want to import their existing keys, so I will at least leave it forever in desktop as a fallback, I am not sure how big impact it is to hide the settings, most users don't go to advanced settings or touch such options unless they are actually advanced users trying to do stuff with encrypted keys, but it is also a minority the people that would want to do that and as long as desktop still allows it, it should be fine (or maybe if developer mode is enabled?)

@adbenitez adbenitez self-assigned this Feb 11, 2025
@adbenitez adbenitez added the enhancement actually in development, user visible enhancement label Feb 11, 2025
@dkg
Copy link

dkg commented Feb 12, 2025

I'd be sad to see the autocrypt setup message go away. As an ecosystem, e-mail interoperability needs to demonstrate that a person can have at least two different clients connected to their mailbox at the same time. And i'd hope that delta could be one of those clients. if delta can't share its baseline cryptographic state with other willing interoperable clients attached to the same account, then it's going to create just another silo (even if it's a much nicer and more permissive silo than many of the others in the messaging space). At the moment, if a MUA developer asks me "how can my MUA share cryptographic state with another MUA", my current answer is "try to handle (generate and produce) the autocrypt setup message; you should be able to interop with Deltachat, and can test it there."

It would be a disappointment for me if i could not point to this open offer for interoperability, even if it's not widely exercised at the moment. It is a much lighter ask to encourage interop when there is something to actually interop with.

@adbenitez
Copy link
Member

adbenitez commented Feb 12, 2025

Notice this is hidden only for chatmail servers, in which you are not supposed to use a classic MUA with since it is for chatting not for normal email and you also don't know the account password easily so can't configure a classic client, if people are using the email account they use with other MUA the option will be there

@dkg
Copy link

dkg commented Feb 12, 2025

thanks for the clarification, i hope this scope is indeed limited. but as long as my cadence of message retrieval and delivery fit the expected profile, and i'm sending and receiving mostly e2ee mail, i'm still not sure why i can't use a chatmail server.

how does delta know that this is a chatmail server, by the way?

@link2xt
Copy link
Contributor Author

link2xt commented Feb 12, 2025

Receiving Autocrypt Setup Message is going to work even for chatmail accounts, so it is possible to import the key into chatmail profile this way.

how does delta know that this is a chatmail server, by the way?

By checking for XCHATMAIL IMAP capability. But it's really about distinguishing "chatmail" profiles from "classic email" profiles, so maybe we should change this to just remember this locally when account is created because it's two different onboarding flows.

For "chatmail" profiles we really want to avoid users managing the keys manually because the key is treated as the identity of the "profile" in Delta Chat. The profile can just use chatmail servers to relay messages, but we try to hide email addresses there.

For "classic email" users treat the email address as their primary identity, and keys are then tied to this identity via signatures.

@dkg
Copy link

dkg commented Feb 12, 2025

as much as i'd like to agree with you that "classic email" with OpenPGP relies on cryptographic bindings between e-mail addresses and public keys via OpenPGP certifications, the reality is that those bindings are still widely done on an adhoc basis, with people performing some kind of TOFU (or HOFU -- "hope on first use"). Autocrypt and WKD and DANE+OPENPGPKEY offer three different automatable ways to bind e-mail addresses with OpenPGP certificates, none of which have to do with OpenPGP identity signatures ("certifications"). Anyway, if the goal is to move to cryptographic certificates as the root of identity, that's an interesting thing, but it doesn't preclude use of "normal mail" as long as those linkages are clear to all parties involved.

Interesting about the XCHATMAIL IMAP capability. are the semantics for this documented somewhere? it seems to me that this would be something that the MUAs sharing an e-mail count would need to negotiate among themselves, not something that either a server could set (or unset) unilaterally, or that a MUA could decide on their own, unilaterally without cooperative indications from the other MUAs attached to the account.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement actually in development, user visible enhancement
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants