Live data from Hacker News

Ok Google: please publish your DKIM secret keys

blog.cryptographyengineering.com

201–210 of 492 posts

Re: Ok Google: please publish your DKIM secret keys

#201
post #182

Earlier quoted context omitted.

By making the DKIM keys public, you are converting solid evidence of something that was said into something that was either really said, or someone else pretended that they said. Evidence was destroyed.

This describes all encrypted and short lived messages. Edit: Removed the word "literally" because it was incorrect and caused distraction from the actual argument.

It doesn't at all. You're misunderstanding. Or, are you using the word "literally" in the modern sense of "not literally"?

Re: Ok Google: please publish your DKIM secret keys

#202

Earlier quoted context omitted.

Doesn't DKIM make it harder to blackmail or destroy someone with fake emails because they can show their lack of authenticity? Shouldn't we privilege protecting people from lies vs protecting people from the truth?

No because it's not on us to make moral distinctions between someone who is gay and doesn't want to make that information public, and someone who isn't gay and is being falsly blackmailed. Publishing the DKIM keys makes both cases harder because you no longer have authenticity claims. Neither claim has authenticity value and instead is just a "their word versus yours" situation. Humans are terrible moral adjudicators…

It is on us to make moral choices. You are suggesting we do so by making email repudiatable in order to protect a hypothetical person from being outed via stolen email verified with dkim.

So far as I can tell this has never happened in history and logically neither blackmail nor public harm via exposure of sexual orientation particularly requires dkim verification.

It looks like you are asking us to give up DKIM verification which could and has aided us to verify politicians leaked emails in search of a purely hypothetical gain that may never materialize by suggesting that we both must and must not make moral determinations.

Re: Ok Google: please publish your DKIM secret keys

#203
We've backed into a particular default, more via path-dependencies than conscious choice, that:

* emails between major email providers have this lingering semi-authenticity indicator that authors didn't explicitly choose

* to the extent the providers keep their DKIM keys non-public, only those providers (or those who exfiltrate such keys) can forge old emails

Both of these have problems if considered from 1st principles:

* Users should be able to control if they're creating non-repudiable messages.

* No one, not even Google, should have the power to create authentic-seeming forgeries.

This article's author, Matthew Green, suggests rapid expiration & disclosure of DKIM keys to narrow the window of time the user is subject to a non-repudiation they didn't choose. (Green here only specifically requests disclosure of years-old keys to invalidate older message archives, but conceivably a rigorous expiration-and-disclosure schedule could be chosen to limit the risk to weeks or days.)

And via public disclosure, Green intends to indirectly address the risk of privileged parties forging emails, by giving everyone the same power-to-forge older emails - so no particular forgery can be too convincing.

But these new defaults are nearly as ad-hoc – reactive without conscious design – as the DKIM problem they purport to solve.

Many would prefer that their emails, or at least some of them, be non-repudiable for a while or indefinitely. Many recipients would like to maintain their own private authenticity records – which as Green notes, can be bootstrapped into existence (even with rapid-expiring DKIM keys) by secure-timestamping messages & current DKIM keys at the time they're received.

(To the extent Google & other providers have internally-trusted tamper-proof logs, they may already have de facto secure timestamping happening on all inbound/outbound email. Thus any amount of DKIM key fouling wouldn't stop their unique internal ability to authenticate older messages, for their own forensic or political purposes.)

I'd prefer users be given some visibility into, and choice over, how much durable authentication is added to their email messages – before adopting either Green's quick fix (publish old keys ASAP), or defaulting all users to his potential longer-term solution of explicitly "non-attributable email" (per his KeyForge paper or other schemes).

Re: Ok Google: please publish your DKIM secret keys

#204

Earlier quoted context omitted.

> Being gay is not a crime, and yet people can be blackmailed with it. It is very easy to open yourself up to blackmail by perfectly legitimate activities. Option 1: DKIM keys stay private... "That email was just a joke, I'm not really gay" Option 2: DKIM keys go public... "That email was just someone else's joke, I'm not really gay" Not really a difference, and with option 2 you can't prove you didn't send it (as fa…

> Being able to prove a fascist dictator who was killing people for being gay, was secretly engaging in gay acts themselves, might help your cause of protecting gay people. How?

Because the DKIM keys were not made public, and a message sent from their account could be confirmed to be authentic.

If the keys were public, they could claim forgery. Regardless they could claim their account was hacked, but they couldn't deny the message was sent from their account.

Re: Ok Google: please publish your DKIM secret keys

#205
post #180

Earlier quoted context omitted.

Ah yes, the good old, “If you haven’t done anything wrong, you’ve got nothing to hide” argument. The authoritarians favourite argument for a police state. I guess you’re the type of person that would happily hand over all your personal files to the police on a regular basis as you have nothing to hide.

Not OP. But I would give all my data to the police/government... in an encrypted manner that has guarantees in place that only valid criminal investigations can decrypt. Heck, we do it on some level all the time anyways when it comes to things such as filing taxes, getting married, running companies, enforcing contracts and various other day-to-day benign interactions. At this point, I'm more inclined to believe that…

> I'm struggling to find compelling and valid reasons why we can't pursue a general solution that involves us giving all this "private" data to a government entity for legitimate investigations, fraud prevention and crime-solving whilst keeping that data free from abuse.

Because that's not logically possible. It would be nice if it were, but just think about it: if you give data to the government, humans can look at it. Can we ensure that the humans who look at it are good humans? No. Is there some mathematical way of signing and encrypting such that only good humans can look at it? No.

Okay, so it's logically impossible to keep bad people out mathematically, but maybe it's a practical problem and it doesn't matter in practice? Except no, there are tons of evil governments (CCP being the most obvious, but pick your poison), and even good governments are subject to the problem that people can bribed and secrets can be stolen if there is sufficient motivation. It's just not compatible with human nature to say "collect all this information on people, but only use it For Good Purposes."

Re: Ok Google: please publish your DKIM secret keys

#206
post #9

Can't you just set up your mailserver so that it drops all the crypto headers (DKIM-Signature, ...) after verifying them and storing the result in Authentication-Results? Only your server's Authentication-Results header is really relevant to spam filtering, anyway. Unless you're debugging something those headers seem irrelevant anyway, and they bloat the messages very much. (often times they are 3-4x the size of actu…

> Can't you just set up your mailserver so that it drops all the crypto headers (DKIM-Signature, ...) after verifying them and storing the result in Authentication-Results? Matthew Green's ask isn't about protecting users that are tech-savvy enough to just set up their own mailserver and configure it a special way. It's about protecting the billions of users that aren't.

Gmail (and other email providers) could also protect these billions by making the header-stripping change at the server level for everyone.

After all, Green is proposing for them to change their servers anyway, so either way it requires some kind of server change.

The advantage of Green's approach is it gets results quickly because with one change they can protect a lot of emails. But, while quick results are nice, is this problem really so urgent that only the fastest solution should be considered?

Another difference is the set of users who are protected. If you rotate DKIM keys, you protect Gmail users against non-repudiation risks because their outgoing emails become more deniable. But if you strip headers from Gmail users' inboxes, you protect Gmail users against hacking, because now hacking a Gmail account gets you less-valuable data.

Also, publishing old DKIM secret keys will require some distribution method. Where do you actually put them? For a given email provider, where do you go look to find them? It's a solvable problem but it's one that doesn't exist with the header-stripping approach.

Re: Ok Google: please publish your DKIM secret keys

#207
The piece seems to be arguing from a general principle. Repudiation is a feature of most secure messaging applications and it is a feature that should be introduced to GMail. This argument doesn't fully address how technologies are actually used today.

As far as I can tell, people who need repudiation are already using apps that have repudiation (eg Signal), because they know they are in a vulnerable position. The people who need repudiation already have it. So far we have seen DKIM authentication used against individuals in positions of power. With things as they are, cryptography is leveling the playing field by empowering the vulnerable while holding those in power responsible. If this situation or balance were to change perhaps it would make sense to rethink DKIM non-repudiation. I understand this is an opinionated/political take on cryptography that not everyone would share.

Re: Ok Google: please publish your DKIM secret keys

#208
post #25

I think this is a shameful argument. Non-repudiation over time is a truly powerful property of DKIM'd email for a great many uses outside of blackmail. Calling for the ability to remove it during the years 2016-2020 in order to "protect politicians from blackmail" is not only of deeply questionable value but of suspect motivation. Who is the author interested in protecting?

I don't know how I feel about it but I do think it's an interesting argument. The point of DKIM is, first and foremost, to fight spam. The non-repudiation aspect is, as far as I'm concerned, a side effect of DKIM, not a core feature.

The more I think about it the more I inch towards agreeing with TFA. If I need my email to be authenticated I can sign them with GPG. If the law enforcement needs to see if I did or did not send an email they can subpoena Google.

>Non-repudiation over time is a truly powerful property of DKIM'd email for a great many uses outside of blackmail.

Can you expand on this? I can't really come up with a use case that wouldn't be about associating somebody with an email they may want to distantiate themselves from.

Re: Ok Google: please publish your DKIM secret keys

#209

Earlier quoted context omitted.

I'm not going to present a moral argument (what is a moral argument in this context?), only two direct rebuttals of your objections: 1. DKIM provides neither truthfulness nor objectivity. It's a signature mechanism used between mail servers to reduce spam. For implementation reasons, most DKIM users sign with RSA keys that are either currently crackable or will be crackable in a matter of years. Consequently, "signed…

If right now DKIM doesn’t provide truthfulness or objectivity, then the author’s blackmail example already doesn’t apply. DKIM signatures, by your argument, are useless in blackmail, since they don’t verify the message. So why did the author resort to that as an example?

First: I don't think Matthew Green "resorted" to anything. I think he chose the blackmail example because it's easy to understand on a personal level: we all use repudiatable protocols in other contexts (like Signal), so why wouldn't we want it on our emails?

Second: That's not how blackmail works. It's contingent on what the extorted party thinks, not the cryptographic integrity of the blackmail material. That's why mass blackmail spam campaigns (that DKIM fails to prevent, ironically enough) are remarkably effective. Publishing DKIM secret keys after their expiry doesn't magically prevent blackmail; it just removes one more tool from the blackmailer's toolbelt for instilling fear in the target.

Re: Ok Google: please publish your DKIM secret keys

#210

Earlier quoted context omitted.

> Being able to prove a fascist dictator who was killing people for being gay, was secretly engaging in gay acts themselves, might help your cause of protecting gay people. How?

Because the DKIM keys were not made public, and a message sent from their account could be confirmed to be authentic. If the keys were public, they could claim forgery. Regardless they could claim their account was hacked, but they couldn't deny the message was sent from their account.

I'm not asking how the technical mechanism proves the messages may be legitimate. I'm asking how you could use that knowledge in the specific situation you outlined to accomplish anything productive.
Post reply on HN