If I purchase a domain name that has expired, do I have any assurance that the previous owner does not have a valid HTTPS certificate for the site? In other words, do CAs check domain name expiration dates when issuing a certificate to ensure the certificate does not outlast ownership of the domain? Or, alternatively, do CAs monitor domain name ownership and revoke certificates for domains that have been dropped?
|show 3 more comments|
No, you don't.
CAs can issue certificate that are valid after the expiry date of the domain (at the time of issuance). Even if they didn't, a domain could be transferred before its expiry date.
In addition, you can't possibly control all the CAs that exist and that are trusted by potential clients. Even if there was a scheme that may monitor domain registration updates, not all CAs might be part of that scheme. You can't possibly know exactly all the CAs that your potential users may trust.
I can create my own CA and issue a certificate valid for the next 20 years for a domain that doesn't even exist yet. Of course, that's an extreme and pointless example, but if I use it as an internal CA and you happen later to register that domain, you'd have no way to know about it.
You could of course restrict your assumption to the major CAs around. However, as far as I know, they don't monitor changes to the whois database, at least for domain-validated certificates (I'm not sure if there's any provision for this situation with EV certs).
If we take as example Verisign's Certification Practice Statement, there does not seem to be any control on the domain ownership end date (see the conditions on domain validation, page 83 and 84: nothing about dates). Actually, the same CPS states that they consider a domain validation to be good for up to 13 months (see page 76), and the maximum lifetime for an EV certificate is 27 months, so the best guarantee you can expect is that no certificate for a domain name will exceeds the end of ownership of the domain by more than 40 months. Which is a bit long.
And we talk here only about Verisign's EV certificates. Each CA has its own rules and there does not appear to be any consensus or strongly enforced limits on that matter. Ultimately, it is the responsibility of the OS/browser vendor to set boundaries, but, as far as I know, Microsoft/Mozilla/Apple do not have regulations for matching certificate validity periods to domain expiration.
You may be able to mitigate this risk by implementing TLSA (also known as DANE), where you essentially store your web servers public key in DNS. This is currently supported in Chrome.
I'm unsure if the prior owner's certificate takes precedent over DANE, or vice versa. Considering the security issue that it addresses, it would make sense that all TLS browsers attempt to DANE verify the connection (preferably over DNSSec) than traditional HTTPS