Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

CAA records (with ACME account bindings) can prevent this.

HPKP was deprecated because it was too dangerous to be deployed in production.

 help



Not when you simply remove the CAA record from the DNS entry

You can't "simply" do that: a long cache period pins CAA. Of course that makes it the same, and with the same problems.

What I'd like to see is the ability to use and utilise multiple TLS certificates and host keys on the same session so that all the keys could be rotated/phased in-band with cross-signing providing the authority.

Seeing any mere change in the signers faster than (say) 30 days should allow the browser/client-stack to generate a warning that "google.com may be actively under attack please call this number on the old certificate, codeword banana-alpha-lima-lima-sigma". No need to cross-publish the keys, just cross-sign and don't forget what you've seen previously.

The browser would be able to take policy of simply never trust a certificate whose signer has changed (since phasing is possible), and it wouldn't then need to consult more public oracles (DNS, certificate transparency, etc, that leak privacy).

I'd also like to get that webauthn hooked back into TLS client certificates: If we had 1997 again instead of passkeys that also would've stopped this.


> The browser would be able to take policy of simply never trust a certificate whose signer has changed

This assumes that the signer's keys can't be compromised, and re-introduces the issues of key pinning that the WebPKI community has been pushing very hard to eliminate from its dependents. I don't think it's a workable solution.


I think you are very likely to use the same signer if you actually lose the key, so this isn’t something I think a naive sysadmin is going to fuck up the way they fuck up host pinning.

How can you use the same signer when the signer's keys are lost?

Or, if the signer's keys are compromised, how do you switch to a non-compromised signer without alarms triggering?

The problem is almost exactly the same as one with a delegated CA -- if the CA keys are compromised, you have to re-issue all certs. When the client pins the CA key then the chain of trust is permanently broken.


> How can you use the same signer when the signer's keys are lost?

You mean, hypothetically if Letsencrypt suddenly loses the ability to sign new requests from me?

Well, then I have around 30 days to detect that and choose a new signer.

> Or, if the signer's keys are compromised, how do you switch to a non-compromised signer without alarms triggering?

Again, to be clear, you're talking about Letsencrypt's own signing keys in this case, being compromised and them being denied access to them. That seems incredibly unlikely to have both failures at the same time, but again: I have 30 days to find a new signer.

> The problem is almost exactly the same as one with a delegated CA -- if the CA keys are compromised

No! In fact, if Letsencrypt sublicenses signing to a third-party that certificate would be considered separate and so the switcheroo would be detected!

> When the client pins the CA key then the chain of trust is permanently broken

That's why it is important to extend TLS to allow multiple keypairs and certificates to be used to mutually authenticate the session key, so that any of the previous pinned keys can be used to update the pin. I did not say I wanted this for no reason!


Well google.as has a CAA record of 24 hours now. I assume it had one before.

Therefore either

1) Letsencrypt ignore CAA records (unlikely)

2) The DNS hijackers removed the CAA record 12+ hours before doing their attack and google did not notice (I'd hope unlikely)

3) Letsencrypt querys did not return a cached CAA record because their resolvers had not been asked for it, so removing the CAA record a few minutes before hand worked.

> .com may be actively under attack please call this number on the old certificate, codeword banana-alpha-lima-lima-sigma

Do you seriously think this is an appropriate message to give to Aunt Irene?


I would assume Let's Encrypt didn't have the CAA records cached, as they had never issued a certificate for the domain. We can't expect them to cache every possible CAA record, and even if they did, that wouldn't be a silver bullet. So I agree that, in this case, CAA doesn't help.

That is a good point.



Consider applying for YC's Winter 2027 batch! Applications are open till November 2.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: