12 ms·
Conceptually it's not hard at all. "When you send an email there is no proof that it came from you. It is easy to fake emails. When you press this button, it
by mikekchar 8y ago
Conceptually it's not hard at all. "When you send an email there is no proof that it came from you. It is easy to fake emails. When you press this button, it will 'digitally sign' the email. Now people can tell that it comes from you."
It's the key exchange that's difficult. However, as the blog rightly points out, having companies sign their emails would be a massive step in the right direction. Every ordinary person uses an email service. If that email service handled the key exchange for those companies the it would be truly wonderful. It doesn't even need to be that difficult given that these companies almost certainly have certificates for their websites.
Then all the service provider has to do is put this nice message when delivering the email: "This email was not signed by the company that it claims to be sent from. Beware." Not in any way difficult for an ordinary person to understand.
- duiker101 8y agoI think even conceptually it's hard. Your email address is your proof. You have to use a password to access it so it must mean only you can send emails with it.
- stephenr 8y agoI can write your name as the sender on a physical letter and send it, and I can do the same thing with an email. There, conceptually it's explained, to anyone who has any concept of what "writing" is.
- mehrdadn 8y agoI think the difference is people can envision how someone can write a fake sender on snail mail but they can't envision how it's done on email -- they need to log in first, after all. (Also I wonder if using the word "signature" only makes it harder to explain. Like, trying to explain to someone how an analog signature proves your identity. Because, well, it doesn't.)
- pilsetnieks 8y ago> they can't envision how it's done on email -- they need to log in first, after all By now every single email user with an email address that has been exposed to the internet has received untold amounts of spam emails with their own address spoofed as the sender. The only question is if they've ever noticed it.
- duiker101 8y agoProbably not, if they use any decent email provider 99% of spam gets correctly filtered and you never really see it unless you look in the spam folder, which most people don't anyway. Also, I don't think I ever received an email with the sender as one of my email addresses.
- hopler 8y agoNot really. I get a steady stream of replies to me from ignorant users who reply to "Joe job" spam, as do everyone I know. It's the most common way someone thinks "I've been hacked" when they get the fallout from one of these "Joe jobs"
- usrusr 8y agoWhat you are saying, put into more provocative words: email world be safer now if, from the beginning, every email client had a big, friendly button "send from different address". In the years of earthly mass adaption it would have been colloquially called "the Bill Gates button". It certainly would not be hard to explain the value of signatures in that timeline.
- mehrdadn 8y agoWell I don't know if it would be safer per se... I imagine you'd probably want some USPIS enforcement for that to happen, otherwise it might end up like phone calls (given it seems people understand caller IDs are spoofable and yet it's as big a problem now as it's ever been). But yes, it could've made it potentially easier to explain.
- duiker101 8y agoA lot of people would still fall for that too unfortunately. And ultimately people don't know that you can even do that. They see as authenticating oneself as proving their identity.
- hopler 8y agoAuthentication does prove identity, to their mail service, not to the recipient. But they are right in one sense: it's their mail provider's job to provide the signing infrastructure. But customers have to know they need it and demand it
- jhasse 8y ago> and I can do the same thing with an email. This wouldn't pass most spam filters today, thanks to stuff like DKIM: https://en.wikipedia.org/wiki/DomainKeys_Identified_Mail https://en.wikipedia.org/wiki/DomainKeys_Identified_Mail
- coldacid 8y agoBut if I can get a domain that looks almost like yours and send an email from there, what good is DKIM then unless someone's paying real close attention?
- jhasse 8y agoYour new domain will look suspicious to any bigger spam filter (e.g. Gmail's) and therefore you have to be really careful with the content of your email so that it gets through. But I agree that this is rather intransparent for the user. What we need is a warning like "You have never received an email from this domain. Do you want to trust it?" and something like the Extended Validation Certificate for companies (does something like this already exist?). Not PGP though.
- andrewstuart 8y agoThis is a deeply ironic reply - is it intended to be? There's almost no words there that would gel into comprehension in any way for average Joe and Jill. I don't want this to come across the wrong way - but are you a Linux engineer/admin? I think when someone has deeply understood deeply technical things for a very long time, they lose touch with just how arcane their knowledge is and how much of a real expert they are - skyscrapers above the ordinary level of knowledge. This state leads them to think that what is obvious to them can't be hard for others to understand.
- mehrdadn 8y ago> are you a Linux engineer/admin? Reminds me of yesterday: https://news.ycombinator.com/item?id=19357573 https://news.ycombinator.com/item?id=19357573
- edelans 8y agoalso known as "curse of knowledge". See https://en.wikipedia.org/wiki/Curse_of_knowledge https://en.wikipedia.org/wiki/Curse_of_knowledge
- beobab 8y agoInteresting subject. I am now considering whether to do a video set "JT learns X", where a qualified developer (me) takes a subject I know nothing about, and video my learning, and see all the "well, this makes no sense" -> "how could I even have misunderstood that, it's so simple" moments. Would that be of interest to anyone other than myself?
- hrktb 8y agoThis could be interesting. Putting a stress on the "qualified developer" part would critical. We are so used to not understanding things (new frameworks every week, new code base to grok, stuff we wrote 3 weeks ago that is just spaghetti), that I think it won't be representative of how most people would enter a subject. I saw this when looking at other people learning languages, where some of them had a "I don't understand anything" reaction and just stop there, because it's just not a normal situation to them ('growing up' was part of securing that comfort zone for a lot of people)
- stock_toaster 8y ago> However, as the blog rightly points out, having companies sign their emails would be a massive step in the right direction. Isn't this what DKIM was supposed to be?
- gsich 8y agoYes. But my guess is that even wrong/no signatures will land in your inbox. For Thunderbird there is an addon which will show you the validity of DKIM signatures https://addons.thunderbird.net/thunderbird/addon/dkim-verifier/ https://addons.thunderbird.net/thunderbird/addon/dkim-verifi...
- repolfx 8y ago"It depends" There is a sister standard to DKIM called DMARC that lets a domain publish instructions for what to do if unsigned emails are received. It can run in allow, report and deny mode. Report is useful, it asks the recipient to send it back to the domain which is helpful for large networks that may have many people and services sending mail on their behalf. You can use this tool to compare gmail.com (ignore failed signatures) vs google.com (reject) https://dmarcian.com/dmarc-inspector/ https://dmarcian.com/dmarc-inspector/ Thus google.com i.e. Google employee / service email is protected from From header forgery, but consumer Gmail isn't (too many people sending mail from non-Google SMTP servers).
- Vendan 8y agoIt's worth noting that ignore/report is for the email server it's destined for. The server is supposed to send reports back to google (mailauth-reports@google.com specifically) about the failures and such.
- pilsetnieks 8y agoDKIM is for an entire domain, not individual addresses, though.
- Vendan 8y ago
- atoav 8y agoI get what signing is — but to the ordinary person it solves a problem they didn’t even knew they had. When you explain it like you did my first question would be why emails are not signed automatically if it is just about the press of a button? With things like signal or whatsapp you get encryption and signing automatically and everybody uses it. Why don’t people use signing with email then? Because it is not the default, not built in and not the standard everywhere. Blaming those people for it is wrong. Blame those who didn’t manage to implement the standards and stand in the way of making it the default
- tialaramex 8y agoIn either Signal or WhatsApp you have no verification whatsoever of the true sender unless you meet them out of band (preferably in person) and compare codes that summarise the public key identity value. Signal does make a bigger deal about trying to get you to verify, but in practice for both systems casual users don't do it. Most of my Signal contacts aren't verified. Without this step an attacker can MITM these protocols because the identity problem is hard and cannot be waved away.
- smichel17 8y agoMost of my signal contracts are also unverified (my nerd friends are). However, I am notified if their key changes, so unless our connection was MITM'd on first contact, I would at least have a warning and know to be more suspicious. Usually I'll follow up with people out of band to verify that they got a new phone or something. This happens infrequently enough that it is not a hardship. I'd prefer to verify all of my contacts but, given my security model, this is good enough and a huge step up from email.
- Frondo 8y agoAll of my Signal/Telegram/WhatsApp contacts are unverified in the app itself, but almost all of them are de facto verified by other means; we plan meeting up at bars and I know who I'm chatting with because the person I expect shows up. Or we send emails or communications via other means and the conversations match. I don't need to verify the code because everything else about the communication matches.
- contravariant 8y agoTo some extent this is happening, although not on the level of individual email addresses, rather it's the domains that are now checked (where possible), and services like Gmail warn when an email seems to come from a different origin.
- ngrilly 8y agoWe already have DKIM which does exactly what you describe.
- pilsetnieks 8y agoDKIM proves that it's someone with access to your domain, not you specifically.
- ngrilly 8y agoYes, and this is in line with the article we are commenting, which talks mostly about authentifying the sending organisations and not individuals.
- NoGravitas 8y agoActually it proves even less than that --- it proves that it's someone with access to the domain that it was sent from. And if that's not amazon.com, but instead amazon-account-services.ru, then DKIM will happily report that the message is valid.
- coldtea 8y ago>Conceptually it's not hard at all. "When you send an email there is no proof that it came from you. It is easy to fake emails. When you press this button, it will 'digitally sign' the email. Now people can tell that it comes from you." So, can they still my signature without me even knowing? Wouldn't that make it worse for the recipients, then, getting signed messages that give them a false sense of security? And what is this PGP thing? PGP Keychain? Hey, I updated my computer and I made a new key, and I can't read the encrypted messages they sent me anymore.
- rjmunro 8y agoThis is not about encryption, only signing. When PayPal or your bank or another large organisation send you an email it should be signed. Then you can verify it is from them. Encryption would be a nice to have, but, while it uses the same technology, it's a whole different can of worms.
- coldtea 8y ago>When PayPal or your bank or another large organisation send you an email it should be signed. Then you can verify it is from them. The problem for the layman user though is that PayPals.com (fraudulent) can also sign their emails -- and they'd be conditioned to equate "signed = legit" (and can easily miss misspells, alternative domains, etc).
- BeetleB 8y agopaypals.com's signature would likely not be in any of the online keyrings my mail program is supposed to query.
- loup-vaillant 8y agoI see only one way around that, and it's prohibitively expensive: have the user assign aliases to public key signatures, and mark everything else with a big scary "UNKNOWN". And I'm not even sure it would work: many users would just click the "yes I know them, please trust" button on first use. An alternative would have "unknown" be a little, not very scary warning (with easy TOFU), and the "this handle looks like this other one, they may be trying to scam you" blinking red warning. Then it would be on the developers to detect typos and look alikes.
- pmoriarty 8y ago"It's the key exchange that's difficult." That's just the tip of the iceberg in difficulty. There's also: 0 - understanding the web of trust 1 - verifying that the key you exchanged actually belongs to the person/entity it purports to be from (ie. verifying identities of keyholders and verifying key fingerprints over an out-of-band communications channel). 2 - keeping your own secret keys secure 3 - making and keeping offline backups of your keys 4 - understanding why, how, and when to issue and use key revocations
- BeetleB 8y agoDo you need to understand any of that for SSL on the Web? What the person is proposing is comparable (albeit only in one direction). The user doesn't need to understand any of this. The user does not need to sign his emails. He just needs a mail software that can handle signatures from well known organizations, and can warn you when the signature doesn't match. Just like my browser puts a green or red symbol when there's a problem with the certificate. Everything you list is mostly orthogonal to the submission.
- freeone3000 8y agoSSL on the web verifies that the sender is who they've verified to a third party that they are. It does not verify that they're trustworthy in any way, shape, or form. What makes an organization "well-known" enough to be on this list? What happens if an organization is not on this list? What if I'm a completely-legitimate (S-Corp paperwork filed!) organization called amazorn.com? And what problem does this solve that the current DMARC system does not?
- jerf 8y agoFor this specific task, we can collapse a lot of that on the web. Adding a gpg key ring or some other suitable structure to the .well-known URL list [1] wouldn't be that big a deal. This is easier than solving the problem of securing all emails. For verifying signatures you don't need any keys of your own, so 2 & 3 are irrelevant, and the .well-known URL can have revocations in it too. But it's still plenty hard to ensure that we don't show an email as validated as definitely being from amazorn.com, along with some other funny business that could be pulled. It does tend to get the problem down to an already existing set of problems, though. It could also be the "killer app" for GPG emails. [1]: https://tools.ietf.org/html/rfc5785 https://tools.ietf.org/html/rfc5785
- huhtenberg 8y ago> It is easy to fake emails. "Just as it's easy to fake regular mail, but it's never been a real issue for anyone. You don't really see me notarizing every mail I sent, do you?"
- otikik 8y ago> When you press this button, That has not been my experience signing anything. I cant judge about the math behind the encryption, but the interface side of things has always seemed ... lacking. Use PGP for this. No, now it is called GPG instead. We thought it was funny. Pass this optional command line argument if you want extra security. Why would we want that as a default?. Enter a passphrase - it is recommended! Except no one uses them. Or they do. Have you installed gpg-agent? Ok so you have a public key now. Before you send stuff to this person you should celebrate a Key ceremony with them and interchange keys physically. Now add your key to your program. Ok so your commits are signed using your key now. If you want to sign a tag, however, you will need to pass this extra flag when creating the tag. To be fair, that last one is mostly git CLI being consistently inconsistent [1]. But it still another spoke on the wheels. Encryption needs to be easy in order to be mainstream. Otherwise it will be relegated to the minority which can jump through its interface hoops. [1] Yes, I am going to be eaten by a hobgoblin any second now http://stevelosh.com/blog/2013/04/git-koans/#the-hobgoblin http://stevelosh.com/blog/2013/04/git-koans/#the-hobgoblin
- rjmunro 8y agoYou don't need to encrypt or sign anything. Organisations who email you like your bank and Paypal need to. You just need your email client to show a tick when it has verified a signature, which many already do with S/MIME.
- c22 8y agoIsn't this what DMARC is supposed to give us? Big companies like my bank and paypal run their own domains so they can use SPF/DKIM to authenticate their communications (and TLS to protect them in transit). Individually signed emails are only really useful for individuals.
- rakoo 8y agoNo, because SPF/DKIM/DMARC only says that the mail server at bank.com did send this email. What I want to know as a recipient is if it was the correct bank.com, and not baank.com. Because baank.com can also have SPF/DKIM/DMARC.
- jonathanstrange 8y agoFirst, I generally prefer if people do not have a proof that I sent the email. Second, I'd be worried that someone stole my private keys and impersonated me in those cases when signing makes sense. Endpoint security is almost nonexistent with current PCs, no matter how hard you try to harden your system. In the end, the risk of being impersonated for malicious purposes outweighs the advantages of signing.
- hopler 8y agoProof is good for you, as it protects you from friendly recipients from following instructions that hurt you from imposters. If you want to deny your own actual actions to an unfriendly recipient, refusing to sign your emails won't help. It's not symmetric.
- Vendan 8y agoThis is a thing: DKIM. Lets email servers and domain owners attest that a message was sent by them. For instance, gmail can apply a DKIM to all outbound emails, to verify that it's sent by gmail, and that they authenticated the person that it was sent as. For example, here's one of gmail's DKIM public keys: k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAviPGBk4ZB64UfSqWyAicdR7lodhytae+EYRQVtKDhM+1mXjEqRtP/pDT3sBhazkmA48n2k5NJUyMEoO8nc2r6sUA+/Dom5jRBZp6qDKJOwjJ5R/OpHamlRG+YRJQqRtqEgSiJWG7h7efGYWmh4URhFM9k9+rmG/CwCgwx7Et+c8OMlngaLl04/bPmfpjdEyLWyNimk761CX6KymzYiRDNz1MOJOJ7OzFaS4PFbVLn0m5mf0HVNtBpPwWuCNvaFVflUYxEyblbB6h/oWOPGbzoSgtRA47SHV53SwZjIsVpbq4LxUW9IxAEwYzGcSgZ4n5Q8X8TndowsDUzoccPFGhdwIDAQAB If you get email from a domain that uses DKIM (you can use DMARC to tell), then you can reject that email if it's not signed, or if the signature is invalid. Companies can set this up on their mail servers, so it just works for every email client effortlessly.
- jccooper 8y agoDKIM can verify the domain, but most email scams are already done from cousin domains, which DKIM doesn't solve... and will happily report as valid, providing the scammers have set it up on their domain. Organization signing would be a whole different thing. Something like Extended Validation for SSL/TLS.
- massaman_yams 8y agoBIMI is... sort of what you're looking for. https://authindicators.github.io/rfc-brand-indicators-for-message-identification/ https://authindicators.github.io/rfc-brand-indicators-for-me...
- rstuart4133 8y ago> This is a thing: DKIM. I'm with you, purely for selfish reasons. The first thing I do when I suspect phishing is look in the raw email source for the DKIM signature. It would be trivial to expose the DKIM signature in the UI. Things like whether the signature was good, what domain(s) signed the email, and what was signed would be very handy.