3 ms·
If you put the (unsigned) public key in the DNS, then a web client's DNS can be compromised to impersonate your site. If you get the LetsEncrypt cert, then spe
by DarylZero 5y ago
If you put the (unsigned) public key in the DNS, then a web client's DNS can be compromised to impersonate your site.
If you get the LetsEncrypt cert, then specifically LetsEncrypt's DNS client bot has to be compromised. Furthermore, it's not as easy as spoofing DNS; you also have to somehow obtain the matching token from the LE client<->server exchange.
Arguably, this is a tradeoff, rather than one being absolutely more secure than the other. The LE is one high value target that could be compromised once affecting many people.
In practice, it's the second one that's more secure.
DNSSEC+DANE really does beat LE securitywise, but then DNSSEC usually works over some non-automated registrar web admin panel.
- ratorx 5y agoSmall correction: while it’s true that the client<->server exchange is secure, this doesn’t matter because ANY client can request a certificate for any DNS address. It is no extra security, because an attacker can just submit their own request for the same domain from a different client that they control. It only needs to be secure to prevent MITMing the token. The key to LE security is to check the record from a bunch of servers with diverse paths to the nameserver, so that any particular intermediate ISP cannot spoof the DNS/TCP to all of them. Ideally these paths would be direct, but that’s not feasible, since the requesting server could theoretically be hosted anywhere. I guess they are also more likely to implement the recommended DNS security extensions than a (likely) out-of-date resolver in a consumer router.