5 ms·
P-256[1] and P-384[2] just have 2.1% less support than RSA with SHA-256[3] and ed25519 has 15.6% less[4], which isn't ideal, but with client-side validation, wh
by easrng 5y ago
P-256[1] and P-384[2] just have 2.1% less support than RSA with SHA-256[3] and ed25519 has 15.6% less[4], which isn't ideal, but with client-side validation, which is needed for security and browsers would implement, ed25519 would work fine.
I agree that the CA system is better right now, but I think DANE is conceptually a better solution and with some effort from browser vendors it could easily become a viable alternative. Also, browser vendors don't need to pressure TLDs, they're mostly already set up well enough for DANE to work.
I misunderstood CT (I didn't realize CAs had to submit certificates to logs) but it still should work if:
1) The DNSSEC chain is embedded in the certificate. The problem is there's no standard way of doing so. RFC 9102 defines a serialization format, but not a way to include the chain in a certificate. Chrome had an implementation a while ago, but it was removed and never documented as far as I can tell.
2) SPKI mode is used for the TLSA record. (Using the certificate hash would be impossible.)
3) Someone runs a CT log that accepts certificates verified with DANE and not just ones signed by a (semi-)trusted CA.
Once the DNSSEC-chain-in-certificate problem is solved, Let's Encrypt (or some other CA) could single-handedly solve the rest of the issues by making a new challenge type (dns02?) that is more or less equivalent to dns01 but uses a TLSA record instead of a TXT record. This would allow DANE/CA hybrid certificates that would be in CT logs and be accepted by browsers (and other clients) already, as a stopgap measure. Browsers could then also implement DANE (Potentially using the embedded DNSSEC chain to avoid the DNS lookup, allowing for faster client-side validation and bypassing misbehaving resolvers), removing the need for CAs, and it should all just work.
[1]: https://dnsthought.nlnetlabs.nl/#ecdsa256 https://dnsthought.nlnetlabs.nl/#ecdsa256
[2]: https://dnsthought.nlnetlabs.nl/#ecdsa384 https://dnsthought.nlnetlabs.nl/#ecdsa384
[3]: https://dnsthought.nlnetlabs.nl/#rsasha256 https://dnsthought.nlnetlabs.nl/#rsasha256
[4]: https://dnsthought.nlnetlabs.nl/#ed25519 https://dnsthought.nlnetlabs.nl/#ed25519