Why can't my mom email me?
matduggan.com
matduggan.com
Now, it is debatable whether the ecosystem is ready to be doing this at (some) scale by default. I agree it's not, dealing with e2e encrypted email is a less convenient experience than plaintext for most users. But not all - case on point, with Proton it's fine.
It's a valid question how opt in our out should work, with lots of implications and stakeholders involved. For better or worse, the status quo is that there is no signaling mechanism in openpgp (or keys.openpgp.org) at the moment to specify how a key should be used, so publishing a key is just a yes or no situation.
If op wants to offer encrypted email as a possible means of communication, but explicitly on an opt in basis, I would recommend a separate email address (or a tag, e.g. +encrypt) for that purpose.
Given that, why would it make sense for a service to assume that publishing a key signals that they should use it by default for a given communication channel?
Why else would one publish a key and make it discoverable, if not that it be used?
Another situation might be that, yes, the user wants encrypted mails, but are debugging their setup, part of which activity is uploading their key to openpgp.org. Until they get their stuff working, they don't want encrypted mails from the wild.
A related situation might be that something breaks in the setup of a user who receives encrypted mails. They'd like to pause them and get regular mails, without the hassle of deleting the key.
You should 100% be able to set a flag on the key server what you are set up to automatically receive using the key.
Perhaps another flag for automatic vs non automatic would help.
Besides, is the criticism that people are using published keys for email? It seems people are outraged that they received encrypted data using keys that they themselves advertised. The specific medium for data transfer doesn’t seem to matter here.
https://datatracker.ietf.org/doc/html/rfc4880#section-5.2.3....
I've published a key so that people can verify the signatures on some software releases. I don't expect anyone to try sending me an email encrypted with that key. And I really wouldn't expect such an email to work.
https://datatracker.ietf.org/doc/html/rfc4880#section-5.2.3....
I believe separate keys for encryption and signing is the default in most implementations.
Seriously Proton, just add a god damn prompt! And while you're at it, submit an RFC for a "please use by default" field in certs. Bonus points for a "this key is on a yubikey in a safe so if you use it you better have RCE in production to report" field as well or, hell, just a "key description" text field that clients can show the sender before using the key.
Could you imagine if individual users had to opt-in to using TLS? Nobody would use it. The large push for using TLS everywhere has helped internet security a lot. Enabling the use of OpenPGP everywhere would also help much more than serving the use case of "this key is on a yubikey in a safe", because almost nobody is going to do that anyway.
Browsers will often attempt that connection, and then tell the user ~"Hey we tried to connect with HTTPS, but the server didn't respond. Do you want to try an unencrypted connection"
But there's no case where Chrome will look and see "oh look, akerl has published a cert on this other site, we're going to just send traffic encrypted to that cert when we connect to his website".
Obviously, OpenPGP works differently from TLS, and TLS does not have a concept of key servers - but key servers are absolutely not a new invention for OpenPGP, and it shouldn't be surprising that if you upload your key to one, you might get an encrypted email.
Rolling out end-to-end encryption in a federated system where it wasn't there before, is hard :) But we're trying to do so, anyway.
OP claims to have no memory of having gone through the steps in the published draft standard. The steps involved are at least somewhat more rigorous than merely submitting a key and address to a database, so I'm leaning toward believing OP and questioning the database, especially since the project appears only to have been started in 2019 so completely forgetting having ever gone through such a process seems less plausible than questioning the database.
Further suspect may be the standard, itself (hence "draft"). Why it doesn't require a domain to publish a policy per address for the domain or at least publish that the domain approves usage of the policy seems a rather large oversight* given how it can break email, so this still leads me to be suspicious of Proton as draft standards should be considered "beta", and passively be explicit opt-in (no prompts - user must dig somewhere into the settings to enable).
* I've only briefly skimmed it, so maybe I missed the part covering this.
Also, the WKD draft has nothing to do with what's going on here. KOO is not the same thing as WKD, and is not in beta. It's a key server, and the concept of key servers has been around for ages. (WKD has been quite widely adopted as well, despite being only a draft, but that's an orthogonal discussion. It would definitely be better if it became an RFC.)
Protonmail is not a person.
If the allegation is true, it looks like Protonmail decided to munge e-mails without anyone opting into it.
Spontaneously doing anything unusual with e-mails is a bad idea, until it becomes a standard behavior that everyone else does.
How about a prompt?
Your recipient foo@example.com has registered a public key with openpgp.org.
Would you like to encrypt this mail with they public key?
If you know that the recipient is prepared for encrypted e-mails, say Yes.
If unsure, choose "No".
[ Yes ] [ No ] [ ] Don't ask again for this recipient2. Your mom would likely understand "If unsure, answer No", and end up sending a normal e-mail. That text should be in bold, probably. Some of the verbiage could be behind some "learn more" link, where there is space and scope for a better explanation.
It is probably better if the switch is on the receiver's side, as some kind of Boolean field in the key registration record.
It is pretty interesting seeing the various different design philosophies for computer UIs compete in this thread:
the typical Linux approach (ask the user a convoluted question, expect them to understand it and expect an informed response - if/when the user selects wrong, tough shit)
the Windows approach (ask a convoluted question but give an out for the 99% of people who don't understand it - if the user still selects wrong, tough shit)
the Apple approach (don't ask the question at all and choose a sensible default, because 99% won't care - 99% of users get the exact result they wanted to begin with)
That's exactly what anti-encryptionists would want.
However, we don't want to make it opt-in if we can avoid it, even if that's what would make sense for Linux, Windows and Apple; it's not what would make sense for Proton. You can't change the world by copying someone else :)
But once you leave the ProtonMail ecosystem, I expect you'll find that enabling PGP automatically doesn't work most or all of the time. It likely only works occasionally or even rarely.
> You can't change the world by copying someone else :)
Please take this as gently as I intend it: ProtonMail is unlikely to change the world on user privacy, at least when it comes to email. Larger providers are too entrenched, and most people won't care enough about privacy to change their email address (and very few people have a custom email domain to move between providers).
At any rate, it seems like you're copying Facebook: "move fast and break things". Not great when we're talking about messaging. You're breaking email for some people, and some of those people are your users. OP may not be one of your users, but OP's mom is, and you have broken her ability to send her son email with this misguided policy.
> most people won't care enough about privacy to change their email address
Note that with this change, you don't need to change providers to get end-to-end encrypted email: you can let your email client or a browser plugin (like FlowCrypt or Mailvelope) handle OpenPGP for you, and (let it) upload your key to keys.openpgp.org, and we'll send you encrypted email. Obviously, signing up for Proton is still easier, but email is a federated system, and so I think it's important to invest in the feasibility of federated E2EE as well :)
Otherwise, it seems like you're fine with breaking email delivery to everybody using that ever having published an OpenPGP key (and verified their email address) to the public keyserver.
Privacy was indeed preserved -- at the cost of communication.
This seems like the ideal. If the message could look like
> This message from mom@protonmail.com was encrypted by PGP using the public key for foo@gmail.com retrieved from www.keys.openpgp.org
> -- BEGIN PGP MESSAGE -- ...
Would that leak anything the email provider and every forwarding server couldn't already have known? Not sure if clients support this kind of mix of plaintext and PGP: of course you could put the metadata in the headers, but clients won't show random new headers by default and Google isn't going to help you encrypt messages they would prefer to read.
But that does require all clients to make this easy for the user.
But we don't. And while we don't, users have a reasonable expectation that they can send an email and the other person can read it.
Why even use Proton then? What is the point?
> If unsure, choose "No".
I'm not familiar with any of this at all, but this sounds to me exactly how it should work: upload and verify the key, so people know they can use that key to send you encrypted email.
The thing protonmail might consider is to put an unencrypted standard message in the body that the message is encrypted because the recipient has published a key, so the recipient understands that it's encrypted and why it's encrypted.
The whole point of associating an encryption key with your email address on a public keyserver is so that you get encrypted mail!
And PGP/GPG keys are used for more than just email, so just because you have a key on a keyserver doesn't necessarily mean you want your emails encrypted with it.
2. Keys have types. These keys were marked for use for encryption. You can upload keys for signing only if you wanted to.
I'm not surprised; these people think a lot more about these sort of things than I do.
One possible addition might be that maybe you could specify whether people should use the key to encrypt whenever possible, or only when security is absolutely vital. That's a setting that could pass the decision to encrypt to the sender (if clients support this).
You opt in by having an email address and by having a published key associated with that email address.
- It is necessary to upload a gpg public key to a keyserver in order to publish packages in some public repositories, such as maven central, or one of several linux distribution repositories
- They needed it in order to send or receive email from an entity that required using PGP, but don't use it normally.
- They tried using PGP for email, found out how painful it was to use, then decided it wasn't worth the effort and stopped.
As an active protonmail user, unfortunately they have a long history of this. My major gripe is that they manipulate emails that I've sent over the desktop bridge. If you sign your emails locally, this of course completely breaks the signature. And if you are sending emails to mailing lists, their internal email header fuckery has a history of eating things like reply-to headers that they can't find a local copy of in your mailbox.
I love their web interface and I am a big advocate of their other features but I am begging Protonmail to just give users the option to send their emails without interference through the desktop bridge.
That's why Proton Bridge exists: to be able to decrypt all emails, including internally forwarded ones, and present them to the email client unencrypted - and vice versa when sending. Obviously this involves some muching of the emails, for better or worse.
[1] https://datatracker.ietf.org/doc/html/draft-wussler-openpgp-...
Fastmail just seems to be blowing Proton Mail out of the water in terms of IMAP/SMTP/JMAP. They are actively working on the protocols. Proton doesn't seem to be.
Aha, another sufferer! There must be dozens of us, DOZENS I say!
The recommended way to send signed emails is to let Bridge do it for you; you can enable this with a setting in Proton Mail called "Sign external messages".
Our goal is to make it easy to send and receive signed and encrypted emails. That's what Proton Mail is for. If you want to set up PGP signing and/or encryption yourself, a different service may be more suitable.
This is not a "cover your corporate ass" legalese privacy policy, it's intended to be clear and understandable. We also did check it with a lawyer specialized on privacy.
Of course if you don't like it, you're free to not use our community service :)
Log retention is only part of the equation. How long does the project keep the email addresses?
Now, at least one statement is incorrect. Can you verify your key in your sleep?
Honestly, what is the complaint here? If you don’t want people to use certain contact info don’t put it on the open internet.
To get your key in that key server not only do you have to submit it you have to verify it via email. It’s literally… to spread it widely… to anyone who wants it… so they can send you encrypted mail. That’s the entire purpose of the thing.
Like if i put my phone number on a billboard I have no right to complain when I get calls.
Take responsibility for your actions.
“ However long we postpone it, we eventually lie down alone in that notoriously un- comfortable bed, the one we make ourselves. Whether or not we sleep in it depends, of course, on whether or not we respect ourselves.” Joan Didion https://www.vogue.com/article/joan-didion-self-respect-essay...
> I'm at a little bit of a loss here. I totally understand sending me encrypted emails if I've gone through the steps to set the CNAME that indicates that I want to do that, but it doesn't seem like that's how the service works. As far as I can tell, the act of uploading a OpenPGP-compatible key seems to trigger their service to send it as an end-to-end encrypted message.
A similar example is how Windows changed their OS to require a PIN, which can be a password if you figure how to. It then asks you for this when doing completely unrelated to your OS online stuff sometimes, like some of the weird flows to do with using Teams or whatever, and I am not expecting it was asking me for my PC pin because it before that just asked me for my Online username. It is a UX issue.
(I actually do know where my key material is. It's on a smartcard that nothing that exists today can read. Back in the day laptops had smartcard ports! Crazy.)
AFAIK, and I might be wrong here, you do have the right to be forgotten - art 17. But there is no need to periodically renew consent. As long as the period for consent is understood and is relatable for the reason of the consent, it can be basically for ever. In this case, that period seems to be 'until he withdraws his consent' and that seems fine by my reading of the GDPR.
> Your company/organisation should establish time limits to erase or review the data stored.
https://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri=CEL...
> In order to ensure that the personal data are not kept longer than necessary, time limits should be established by the controller for erasure or for a periodic review.
Have you not gotten, over the past few years, emails from services you no longer use and probably forgot that you ever setup an account for, informing you that they will delete your account if you don't use it soon? It's because of the GDPR.
I do miss built-in smartcard readers though; carrying a USB reader is just not the same and I usually don't have mine with me when I need it.
That said, I also wish browsers would support the ISO 7816 transport of CTAP2 for WebAuthN using these readers. That would allow me to use a card form factor WebAuthN authenticator not only on my phone (both iOS and Android support CTAP2 over contactless), but also on my computer.
I mostly only use mine to sign release tags for software I publish. Having that key uploaded to a public keyserver is a useful thing to do in that case.
But maybe I wanted to use it for other things... perhaps I just want to sign my email, and not encrypt what I send, and allow others to verify the signature. Having the key out on a public keyserver is essential for that.
Honestly I don't know why acting so rudely about this, to the point of pretentiously quoting a famous author/journalist. Not to mention the fact that you haven't thought through all the various reasons why someone might have a key published. Maybe step back from the keyboard and breathe a bit?
I can probably read e-mail encrypted with it just fine as long as I use Thunderbird with my Fastmail inbox (which is most of the time), but not when using K9 Mail on a smartphone or the web UI of Fastmail.
Besides, it doesn't make sense to upload keys only meant to be shared among a small number of people to a public keyserver. In your case, the keys better belong in the git repo.
Anyway, the point is public keyservers aren’t a good match for the described use case. If the key is meant to be kept private, it should be shared privately.
> Honestly I don't know why acting so rudely about this, to the point of pretentiously quoting a famous author/journalist. Not to mention the fact that you haven't thought through all the various reasons why someone might have a key published. Maybe step back from the keyboard and breathe a bit?
Yes please, practice what you preach.
I think most people don't know that, and/or don't know how to separate the two. At any rate, it's not particularly convenient. Most people will just generate one set of keys to use, regardless of the intended purpose(s).
Regardless, let's again realize that PGP keys can be used for more than just encrypting email. Maybe I'm using it to encrypt, but not for email.
> Yes please, practice what you preach.
Not sure what you mean. Attempting to equate the tone and words of my comment with that of the toplevel commenter seems a bit in bad faith.
So, the point about rudeness. PGP keyservers exist for the sole purpose of letting you advertise your keys. Shaming people who used keyservers for what they were designed for is what's rude here. Actually, more than rude. It's a trap.
Next, about actually thinking about all the reasons for uploading keys to a keyserver. Can you actually name a use case that you consider legitimate for discovering encryption keys through a public keyserver? Because your point seems to be that people upload them unwillingly.
You shouldn't be quick to accuse people of rudeness and bad faith in those with different perspectives.
> I think most people don't know that, and/or don't know how to separate the two.
I'm sure people will understand what "sign only" means when GPG prompts the user to choose what kind of keys to create.
1. You define a PGP key signature in the package metadata.
2. If you are a part of the Arch Linux project, the key will get installed in user's system as part of the archlinux-keyring package.
3. At package installation time, if your key is not already present, it will look it up on a keyserver. It will then prompt the user if they want to trust this key.
4. If it can't look up the key, it will reject package installation.
I see downthread that Debian works similarly, and also I've seen some people rely on this for publishing signed artifacts on github releases also.
So here's an interface for key creation in gpg
$ gpg --full-gen-key
gpg (GnuPG) 2.4.4; Copyright (C) 2024 g10 Code GmbH
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Please select what kind of key you want:
(1) RSA and RSA
(2) DSA and Elgamal
(3) DSA (sign only)
(4) RSA (sign only)
(9) ECC (sign and encrypt) *default*
(10) ECC (sign only)
(14) Existing key from card
There's also --quick-gen-key which doesn't show this info.Now put yourself in the boots of a new user: Why would you pick to have a key with less features? Maybe the user thinks they may want to encrypt something in the future. Not to mention, many people did this process years ago, and forgot what they picked.
Then you publish that key with gpg send-keys or the keys.openpgp.org web interface, possibly at a later date, then you just pick the one key ID that you have.
And now you have a key published for signing and encryption, with no intention to use GPG email.
Also, any user of a tool should at least check what the primary purposes of that tool are.
Except, it is. You can’t control of everyone out only some will send you encrypted email.
But if an email provider purportedly bringing email encryption to the non-GPG-trained masses does, it's a different story.
The presence of a key on a key server is in no way or form an explicit opt-in to encrypted email. That's what the CNAME is for.
This is seriously like telling somebody that you can be contacted on a particular phone number and then getting upset that you're getting phone calls. "Who uses the phone these days," you complain, despite having set into motion the sequence of events that led to you getting a phone call! Worse, in this analogy, it's not like you even said "only text this number"; you explicitly applied metadata saying that you would be open to a phone call.
Telling you to use a particular phone number - say through a business card, a contact page or a profile - is the analogy matching configuration of your domain to publish your intent, similar to how your domain also specify where you mail server is.
GPG will never be that simple to use. Personally, I hate GPG with such passion, but I'm fully aware it's the best thing we have for asynchronous messaging.
If it was some other email provider that did the same, I'd 100% agree. But with Protonmail, GPG is pretty much the entire reason we're all aware of their existence.
I just tested it myself, and while there is a visual indicator of that automatic key lookup happening, there's zero way to disable it, nor to even verify which key it picked or to display the key hash.
It seems like a terrible solution halfway between convenience/opportunistic encryption and actual security, combining the downsides of either (a high risk of sending messages the recipient won't be able to decrypt and a moderate risk of encrypting to a key other than the expected one).
Though.. note that WhatsApp doesn't have any documentation on their key discovery either, because WhatsApp is not a federated system. Achieving automatic end-to-end encryption in a federated system, when it wasn't there before, isn't so easy. So there's bound to be some growing pains, but we're still trying :)
I understand Protonmail's approach but I also understand - and share - OP point of view.
You have a sign out saying encrypted email here, and are mad someone finally read it.
Remove the sign, or change it to foo+secrets@mydomain.com
Op is mad he left the sign out saying come in and play when people came in to play way after his party ended.
I never felt comfortable having my private key on my phone, so I can't read encrypted email on the go.
I get one or two encrypted emails on a good year, and they are rarely important (or require encryption really).
Well if only "important" things are encrypted, then the existence of an encrypted message is evidence to whomever you may be trying to hide from that something "important" is going on. Ideally everything would be encrypted, important or not; having all current encrypted things being unimportant is actually better than having only important things encrypted. :-)
I should have used "urgency" instead.
I have keys uploaded to PGP directories that I have in the past used for Git commits, and use today for linux package signing.
I've never used encrypted email, so it would be surprising for people to try use it to send email.
This is a common feature provided by privacy oriented email providers. The idea is that the provider will only have access to the unencrypted email at entry to the server but not after that. The email of course can't be signed in any meaningful way, but the original unencrypted message wasn't signed either. This strikes me as the sort of thing that you would want the user to specify a particular key for, but I suppose Protonmail is attempting to increase usability by making it as automatic as possible.
Fact is that there isn't a way to use a convenient 3rd party email provider if you want secure emails. Only local clients can provide that feature - which means both sides of the message have to be using trusted local clients, and at some point one side of the conversation will forget their secret and lose access to their email history. It is a tough problem.
I’m happy to be supporting a slightly smaller provider. I don’t have to admin anything and I still feel like I’m contributing to an open ecosystem. Plus I own my domain so I can always change providers.
I have made peace with the compromise.
I generally don't have issues with the big boys and girls. Yes, they send me shit loads of spam and I drop it on the floor. I generally only go as far as SPF and getting A and PTR to match HELO and don't send any spam. I use Exim and rspamd and a few other things.
Google and MS email fettlers are not complete wankers and they seem to be quite reasonable.
I could quite easily add your Mom's mail domain to my non work post office and probably deliver her mail. I already do it for several others. However, sadly, I don't know you, nor you know me, so a trust relationship is out of the question.
Just in case anyone is going to get whizzed up about US vs UK: my company email domain is within .net, which is nominally US based. When we incorporated and eventually sorted out a name, it turned out that the .co.uk domain was "taken", hence why we went for second best.
And the article linked from their article (hilarious itself) pointed out that this basically comes down to State Actors (Mossad as the example) or Everyone Else. If it's Mossad then there's nothing anyone else can do to protect you (because they can do secret-squirrel things through special security courts and stuff like installing black boxes on undersea cable routers). If Everyone Else, then the normal run-of-the-mill transport encryption is probably good enough, just don't click on any herbal boner-pill adverts.
tldr; If you want to be protected, you have to do PGP at the local machine level yourself.
[0] Given that Fastmail are Aussies, and that our idiotic government have given the spooks full, secret, access to anything they want, then this is a very real prospect for anyone that five-eyes might be interested in.
This is oversimplification if not misleading. There are also Bad Guys (who aren't state actors), who usually can't reach for your data. But occasionally they can, when rare Planet Parades like Heartbleed or Meltdown make the news. And they are happy to use this one-in-a-lifetime chance to sell access to your data to everyone else.
There was a time, long, long ago, when mail from your email provider to your recipient's provider would often go through other providers in transit. Nowadays (and for the last 20 years) all of the intermediary mail-servers in the Received: headers belong to either the sender's provider or the recipient's provider. They're usually spam-filters, application gateways, secondary servers.
I guess the major exception is people who use gmail or Mailchimp as an outbound relay. But that's deliberate, and entirely under the sender's control.
Which kinda begs the question about what Proton thinks they're doing by implementing PGP on behalf of their users...?
> If it’s running in the browser with code downloaded from our servers, then if we get compromised, we can serve up a version of the PGP code which leaks keys or plaintext.
is well-known but only applicable to the web app, the other clients are less susceptible to this. Even for the web app, we are proposing to solve this problem: https://github.com/twiss/source-code-transparency
That’s a wildly unfair characterisation, and not in the slightest bit supported by your citation. The Assistance and Access Act which that article is talking about (though it doesn’t even name it!), although a dodgy piece of legislation in the opinion of most technologists, is completely irrelevant to Fastmail, because Fastmail doesn’t offer end-to-end encryption. Fastmail was always subject to the Telecommunications Act, which allows Australian police access with warrants, and Fastmail has always made no bones about the fact that it complies with legal warrants. But that’s nothing like what you’re describing.
(Disclosure: I was a Fastmail employee from 2017–2020.)
1. Search isn’t possible
- It's possible on the client. The total text in an email account is not prohibitively large and can be cached on the client.
2. Previews can’t be calculated
- It can be on the client, then reuploaded encrypted.
3. If you lose your private key, we can’t recover your email
- Of course, this is equivalent to losing your email account password.
4. Spam checking on content isn’t possible
- It is on the client, and on the server based on headers.
5. To access mail on multiple devices, the private key needs to be shared securely between them
- Protonmail solved this, what's the problem?
The idea of spam filters is that you don’t get the spam so the client never sees it.
Also running highly specialized spam filters that actually work reliably might be prohibitive for a lot of people.
I think most peoples non technical relatives could follow the pictured steps easily but if for some reason they can not then a desktop sharing session should get around helping someones mom set it up. I've had no issue with my non technical friends.
I should add that if Fastmail added PGP in their interface I would not use it. Nobody could convince me that when a mail provider or anyone else adds E2EE in their application that it's anything other than PP Pinky Promise. They can tamper with it to intercept my communications and no app provider could possibly convince me otherwise. There should probably be an RFC for PP.
[1] - https://support.startmail.com/hc/en-us/articles/360014775437...
* Why Johnny can't encrypt (1995): https://people.eecs.berkeley.edu/~tygar/papers/Why_Johnny_Ca...
* Why Johnny still can't encrypt (2006): https://cups.cs.cmu.edu/soups/2006/posters/sheng-poster_abst...
* Why Johnny still, still can't encrypt (2016): https://arxiv.org/pdf/1510.08555.pdf
At this point I really wonder if e-mail is the best solution for encrypted asynchronous communication. E2E systems like Signal or Whatsapp offer a very functional, intuitive way to protect your texts.
The walled garden lockin in by design for you to be safe.
The PGP using community as least recognised that there was a problem. When has anyone ever organized a Signal/Whatsapp key comparison party?
[1] https://www.ndss-symposium.org/wp-content/uploads/2018/03/09...
The only annoyance is that it's too difficult to acquire a certificate as an individual, but e.g. Actalis [1] will issue one for free.
None of these implementations also handle RSA-PSS signatures and the standards basically forbid double-signing that would allow gradual migration to better algorithms. (This issue also exists with PGP/GPG)
Actalis is nice for testing but they unfortunately generate your private key for you instead of accepting your CSR. (Protonmail has the same issue with PGP.)
But it is better in a bunch of other aspects, including tooling, yes.
I have a key published, but if somebody emails me encrypting to it, it would take me days to figure out where my smart card storing the private key is, how to use it on my current OS etc.
Both worrying, but one is a lot more worrying than the other.
The part they say they didn't opt into was that Proton (or any specific email client) would use the key by default.
I don't care so much for the transit, but I'm a bit worried about the fact that I have many years of emails stored in "plaintext" (citation makes because they probably use FDE and maybe other encryptions but they can still read everything) on the providers server.
I'm not worried about a malicious provider, but worries they might at some point make a mistake which allows them to be hacked.
If anyone knows any solutions for this that works in iOS/Mac I'd love to hear.
The only thing I've found on this is some research a few years ago with ideas how to do this; but I haven't seen any implementations of it. I've linked to it here: https://www.cs.columbia.edu/~koh/papers/koh-eurosys19-e3_eas...
Instead, OP is talking about outgoing end-to-end encryption using public keys from keys.openpgp.org.
Create a backup dump file from your email client. Encrypt that with any program you like. Upload to eg Google drive.
Verify the backup and then delete all the server-side copies of your emails.
They wrote in the book "me@foo.com: use key" - and then people did. If he wanted different behaviour, he could have published "someoneelse@foo.com" and then they wouldn't use it to email _him_.
Well, yes, actually, that is what I would expect. (Well, not necessarily in person, but via a different communication channel, even by unencrypted email.)
I remember when I was first playing around with PGP more than 20 years ago. The usual convention was to talk to the other party first about encrypting your messages, and not to assume that the recipient could receive and decrypt them in all circumstances.
Just blindly downloading keys from a keyserver and hoping they're the real thing was not the idea.
I do have an OpenPGP key published to the key servers, mostly for toying around with GnuPG cards, but as soon as anyone starts emailing me encrypted messages without any context, I’ll delete it.
It's not a security risk to read an encrypted message. Why would you delete an encrypted message?
this part is incorrect: keys have other uses. It's not because you sign Debian packages that you encrypt your emails. With the same key. Hence the need to have a way to say "this key is for encrypting emails with such method and such protocol".
If you have a bunch for different use cases (or like, levels of security/secrecy/revoking-this-will-be-a-nightmare), which you've set your one email address as recipient for, which of those is "default"?
The keyserver and protonmail also are entirely separate. I wouldn't expect the two entities to be communicating with each other if I hadn't opted in. It feels weird, like when private companies harvest your data without asking.
The only non-theoretical use of a PGP encryption key is email.
> (different) levels of security/secrecy/revoking-this-will-be-a-nightmare
Using multiple keys don't offer added security or secrecy.
Also, keys.openpgp.org lets you delete keys as long as you have access to your email.
> It feels weird, like when private companies harvest your data without asking
This is nothing like data harvesting, which may be why you prefixed your statement with "it feels like." Nobody is obtaining private or even semi-private data that can be used against you.
Also,
> private companies
keys.openpgp.org is a open source community project. It's not an evil for-profit data-hoarding entity that's implied by those two words.
I'm curious, what do you think a PGP keyserver is for? You make it sound as if there are no legitimate use for downloading encryption keys from it. Which leads to another question, why upload the keys at all?
I use a backup application that encrypts my backups using PGP.
Granted, that certainly doesn't require a published public key. But your assertion is incorrect.
You can back up public keys and restore them just like any other file. I don't see why a public key file should require special treatment from any other file requiring backup.
Who defined that?
> It's not a private file syncing service.
No, it's a public file syncing service :)
> Whatever it is, you don't want your private electronic mail (email) or confidential documents read by anyone else.
https://www.philzimmermann.com/EN/essays/WhyIWrotePGP.html
It was designed for private electronic mail.
Or the PGP FAQ linked by the MIT keyserver:
> PGP is a program that gives your electronic mail something that it otherwise doesn't have: Privacy.
Where did you get your definition from? Because it's the first time I ever heard of it.
> Although OpenPGP’s main purpose is end-to-end encrypted email communication, it is also utilized for encrypted messaging and other use cases such as password managers.
Tools and protocols evolve. Just because it was generated with email in mind doesn't mean that that's what people use it for these days.
Why wouldn't it?
I've got a chinesium grade tablet with some very convenient features, but between self-reenabling background services, the completely bypassed permission system, the device crashing whenever adb is used, it still trying to access wifi networks after deleting them and "resetting" the system, ..., I'm pretty sceptical about the privacy of the data, you can encrypt after it gets synced to their cloud.
I dont have any email accs I care about added to this device, but I can imagine some people wanting to read some emails on other lesser trusted devices.
A simple solution would be giving lesser trusted devices only access to lower security keys.
That puts the burden of the decision of picking the right security level on the sender though, right? I don't see that ever becoming a thing.
I use this on some repos https://github.com/AGWA/git-crypt
And occasionally to encrypt files, or receive encrypted files.
These are practical things which are non-theoretical.
> Using multiple keys don't offer added security or secrecy.
Depends on how careful you are or want to be, with your private key. My house key isn't the same as my car key isn't the same as my bike key.
> This is nothing like data harvesting
Alright fair, bad example. What I was grumbling about was more the lack of any clear communication that you've been auto-opted-in to a feature on protonmail, with no user interface signal indicating so, leading to confusion for a couple months like in TFA. I definitely wasn't casting shade on the opengpg keyserver, nor protonmail. It's the "hey! I didn't check a box for this, and it's not mentioned anywhere in the protonmail docs" hidden functionality which could do with some clarification.
I'm a forgetful creature. If I intentionally put my key on a keyserver, because I'm playing around and learning about PGP, will I make the connection between it and protonmail a few months down the line if I move my email account to them? Unlikely.
It's a nice automated feature. Protonmail-to-protonmail e2e encryption makes a lot of sense. I just think protonmail-to-non-protonmail e2e needs a tooltip in the UI, and the option to opt out, potentially with the ability to opt out for specific email addresses. I wouldn't at all assume it would be on by default even IF I've been actively using PGP in my email clients, because it's something you usually have to manually set up yourself, very explicitly. That, and 99.9% of emails are plaintext.
Anyhoo, one thing I forgot which kind of negates the "what if I have multiple encryption keys tied to my email" is the fact that the opengpg keyserver does tie 1 email address to 1 key so you can't publish multiple encryption keys, fair enough. Git-crypt and file encryption, I set my associated email address to use +tags eg me+git@email.com, so as far as protonmail etc are concerned there's only one key per logical email address.
What an uninformed blanket statement. I use GPG many times per day, at work and otherwise, none of them for email:
Commit signing, SSH key storage (in a GnuPG smart card), deb package verification are only the ones that come to mind.
You use your encryption key for that? Which PGP implementation does that? I use my signing key.
> SSH key storage
Again, I use my authentication key for that.
> deb package verification
I use the published signing keys. Never had to use any other key type.
> What an uninformed blanket statement.
I'm sorry for my ignorance. Could you at least provide an example that's valid?
- I used to use `pass`, a password manager based on GPG. That needed the encryption key.
- Sharing of confidential data with coworkers at more than one job.
- Future-proofing: Even though I might not be using an encryption key now, creating all three (encryption, signing, authentication) is a common flow when using GnuPG cards, and then I do want to sync all three to the key server for convenience (so that I can use them at a different machine, for example) without broadcasting to the world "hey, email me encrypted stuff to keyid 0xABCD1234!".
Maybe I'm using them wrong in your view, but I don't see why your view is somehow the canonical one, given all the non-email examples I and other people in this thread have provided.
GnuPG card doesn’t store anything other than the private key, so there’s a risk of losing access.
I’m not sure if that protocol Protonmail is using would pick up such keys without email verification, though.
I do mind software or services taking that as an implicit statement of "go ahead, encrypt email to me using this" when it can clearly cause confusion and irrecoverable messages in many cases.
That said, we don't actually know if Protonmail really does search all keyservers (including the "old-style" ones, i.e. the ones where anybody could publish anything in an unverified manner and the "web of trust" is used to figure out which key is in fact trusted), or only the new ones that perform email verification.
If it's the latter, I think performing email verification could be considered a bit more of an opt-in statement to receiving encrypted mail.
https://www.gnupg.org/documentation/index.html
Also, why would that be grounds for shaming people who use published keys in a way it was designed for? I don't get your point.
The more general point is that this is why people don't use these systems. There's very little thought given to UX. It's barely usable for average developers, let alone laypeople. Instead there's gatekeeping and stubborn pointing at ideals.
Yes, there are UX problems with PGP. No, that's not relevant to this particular case.
without asking you for it, but not without asking you what to use it for.
Another example. When you put your email address in a contacts page in your blog, is the message "don't email me, ever" unless you add another "yes, you can use this for email purposes" disclaimer? If that's the case, shouldn't that disclaimer need another "yes, this disclaimer is what you think it means" disclaimer? And shouldn't that disclaimer also ... you get the idea.
Some actions, such as publishing something, has well-established meanings. You can't yell at people for thinking "publish" meant publish.
I don't believe this to be the case. It's fine that we don't agree on this. Do you have sources? Because that would settle the discussion for good. Happy to be wrong. I'm not an expert on this stuff anyway.
Now, I also believe that it's not a big deal, if you unexpectedly receive an encrypted mail you can still decrypt it using your private key and if you don't know how to do this, you can always send your recipient "Hey, sorry, you sent me an encrypted mail that I can't decrypt, can you send me one without encryption?".
Unless, of course, your recipient's provider doesn't let them do this.
Maybe Proton doing this will push the ecosystem toward a more seamless support for encrypted mail, so it might even be a good thing. I don't know.
Here's a snippet from the PGP FAQ last updated in 1998:
> Public Key Servers exist for the purpose of making your public key available in a common database where everybody can have access to it for the purpose of encrypting messages to you. Anyone who wants to write you a message, or to check a signature on a message from you, can get your key from the keyserver, so he doesn't have to bother you with it.
https://www.pgp.net/pgp-faq/faq.html#8.1
Of course, the writing was on the wall for PGP in email when I created my first keys a decade ago. But it was still touted as a tool for encrypting emails even then during the height of the Snowden disclosures. The complete loss of interest in using it for email is a relatively new phenomenon.
I publish a key associated with abofh@ycombinator.com - I would expect things that identify me as such would use it. If it identifies me as a phone number, I wouldn't expect it to use it. If it identifies me by my mastadon handle, I wouldn't expect it to use it. This isn't complicated - the author published "use this public key for me@foo.com" - people did (via automated means), and the author found out he wasn't properly equipped to handle that mail. So he withdrew the publication and everything worked normally.
Nothing in here is anything more than "I did something 10 years ago that bit me in the ass today" - which to be fair, happens to all of us, but don't blame the technology for doing _exactly_ what the user asked for even if they forgot they asked.
The post includes the above statement that this person never took the steps required for following the standard Proton states they are following. This communicates to me that Proton is not following any standard. This is something publicly visible and on a grander level fairly simple to discover compared to other issues related to E2E encryption. I don't trust Proton or really any organization to manage E2E for email, and among the biggest issues is that email just seems like the wrong tool for the job.
Another issue I have with encrypted email is what to do about spam. If the server can't inspect the contents of the message, the probability of a "success" on the part of the spammer is significantly higher. Public keys can be published for addresses that have very high limitations (e.g., 1KB size limit, strict mail policy standards enforcement, whitelists, etc.). How Proton plans to deal with this an average person, I have no idea, but I imagine a lot of people will be scammed in their discovery process.
If you file a bug report, there should be a probably highly stressed, overworked and slightly paniced team ready to get a fix out by yesterday.
The use cases are currently niche, in places like dark web.
I admire the idea but I doubt it solves the problem: trusting that the communication is both private and authentic.
If you want to be able to trust the content, you need to encrypt and authenticate that, no matter the channel.
And many VoIP/video conferencing systems these days are end-to-end encrypted! It’s arguably easier than email, since communication is synchronous and there isn’t any expectation of being able to view past conversations, both of which are not true for email.
PGP+email still makes indexing this content computationally infeasible though.
This makes sense because the only thing you can encrypt is text and not video
That is usually the requirement to get a UX people will use with their non technical family, but people accepted it, I think in part because it didn’t seem practical to index it all. It definitely is practical now though.
Hell, might even be doable with public XMPP and OMEMO, but I don't know if that works with the video call stuff.
It's sadly a lot of effort, but I feel that for stuff like family privacy stuff, it might just be worth it.
We're using it for messaging, sharing files, video calls across continents, etc. Re video calls: the XMPP and TURN servers are only used for negotiating the connection, so you don't need a very powerful machine for any of this.
I have a little Rockpro64 for this purpose.
Still the fact that you can use it without disclosing your phone number to anyone except signal is indeed useful and a improvement from before.
https://support.signal.org/hc/en-us/articles/6712070553754-P...
Yes, all more difficult than using phone numbers and outsourcing the proof-of-humanity problem to telcos all over the world, but in my opinion it would be worth it.
- Proton uses WKD for keys outside its own domain
- OP didn't activate WKD for their own key (there is no CNAME)
- But Proton still assumed that it was activated, that their key was on keys.openpgp.org and that it was valid
It is hard for me to see how this is not a fault with Proton and Proton only. If the user didn't opt-in, don't opt-in for them !
Usually the problem is the exact opposite, it's really annoying to find someone's public key even if they have given you the key ID or mentioned they can receive such mail.
Don't publish your keys if you don't want them used. It's not that difficult.
The counter argument is that they opted-in by publishing an encryption key to a public key server.
OP has full control over uploading their key, activating their key, and deactivating their key on the "random server".
By the way, the "random server" is.... The OpenPGP server.
Me opening an account on GMail doesn't mean I want people to contact me on GMail. If our protocol, ie you asking me what is my email and I don't give you my email then I don't want you to contact via my GMail account.
- The user, or their software, uploaded a public key to keys.openpgp.org
- Proton looked up their email address on keys.openpgp.org, and sent them an encrypted email
- They didn't have the private key anymore, and couldn't read the email
The fix is to remove the key from keys.openpgp.org, or remove the email address from the key, or remove the encryption subkey.
Alternatively, setting up WKD would actually work as well, since then Proton uses that instead. I.e. if there's no key on WKD, we don't send encrypted emails.
There is no reason to consider it as the centre of the world if you deon't use it. That's exactly what wkd is about: specifically saying that there is a key to talk to you, and where it is.
If I publish a key in my Myspace profile that doesn't mean it's valid. The author never signalled any key to be usable, the key being on that specific directory means nothing.
It's not the first time you take liberties with protocols and specs under the premise of "simplification", and again ano again things break because you don't respect anything. How can you be taken as a peer of value if you keep screwing up and accusing users for not holding it right ?
WKD is great, but can't be used by people with email addresses under domains that don't support it. So KOO fills that gap.