A infraestrutura básica, que tornaria isso possível, existe e é chamada de autenticação baseada em DNS de entidades nomeadas (DANE) e especificada na RFC6698 . Ele funciona por meio de um TLSA
registro de recurso, que especifica o certificado ou sua chave pública da entidade final ou uma de suas CAs na cadeia (na verdade, existem quatro tipos diferentes, consulte a RFC para obter detalhes).
Adoção
No entanto, o DANE ainda não viu uma adoção generalizada. A VeriSign monitora a adoção de DNSSEC e DANE e acompanha seu crescimento ao longo do tempo :
Para comparação, de acordo com a VeriSign, existem cerca de 2,7 milhões de zonas DNS, o que significa que um pouco mais de 1% de todas as zonas possui pelo menos um registro TLSA.
Não posso dar nenhuma resposta oficial, por que DANE, mas aqui estão minhas especulações:
O DANE sofre do mesmo problema que as Listas de revogação de certificados (CRLs) e o Online Certificate Status Protocol (OCSP). Para verificar a validade de um certificado apresentado, um terceiro deve ser contatado. Hanno Böck dá uma boa visão geral , por que esse é um grande problema na prática. Tudo se resume à questão do que fazer, quando você não pode alcançar terceiros. Neste caso, os fornecedores de navegadores optaram pela falha suave (também conhecida como permissão), o que tornou tudo inútil e o Chrome decidiu finalmente desativar o OCSP em 2012.
DNSSEC
Indiscutivelmente, o DNS oferece uma disponibilidade muito melhor do que os servidores CRL e OCSP das CAs, mas ainda impossibilita a verificação offline. Além disso, o DANE, deve ser usado apenas em conjunto com o DNSSEC. Como o DNS normal opera com UDP não autenticado, é bastante propenso a falsificações, ataques MITM etc. A adoção do DNSSEC é muito melhor do que a adoção do DANE, mas ainda está longe de ser onipresente.
E com o DNSSEC, nos deparamos novamente com o problema de falha leve. Que eu saiba, nenhum sistema operacional servidor / cliente principal fornece um resolvedor DNSSEC de validação por padrão.
Depois, há também a questão da revogação. O DNSSEC não possui mecanismo de revogação e depende de chaves de vida curta.
Suporte de software
Todo o software participante deve implementar o suporte ao DANE.
Em teoria, você pode pensar que esse seria o trabalho das bibliotecas de criptografia e os desenvolvedores de aplicativos não precisariam fazer muito, mas o fato é que as bibliotecas criptográficas normalmente fornecem apenas primitivas e os aplicativos precisam fazer muita configuração e se (e infelizmente existem muitas maneiras de errar).
Não sei que qualquer servidor Web importante (por exemplo, Apache ou nginx), por exemplo, implementou o DANE ou tem planos para fazê-lo. Os servidores da Web são de particular importância aqui, porque cada vez mais coisas são construídas nas tecnologias da Web e, portanto, geralmente são as primeiras onde as coisas são implementadas.
Quando olhamos para CRL, OCSP e OCSP Stapling como comparação, podemos inferir como será a história de adoção da DANE. Apenas alguns dos aplicativos que usam OpenSSL, libnss, GnuTLS etc. suportam esses recursos. Demorou um pouco para que softwares importantes como Apache ou nginx o suportassem e, novamente, consultando o artigo de Hanno Böck, eles entenderam errado e sua implementação é falha. Outros grandes projetos de software, como Postfix ou Dovecot , não são compatíveis com OCSPe possui uma funcionalidade CRL muito limitada, basicamente apontando para um arquivo no sistema de arquivos (que não é necessariamente relido regularmente, portanto, você teria que recarregar o servidor manualmente etc). Lembre-se de que são projetos que freqüentemente usam TLS. Então você pode começar a olhar para as coisas, onde o TLS é muito menos comum, como o PostgreSQL / MySQL, por exemplo, e talvez eles ofereçam CRLs, na melhor das hipóteses.
Portanto, nem os servidores Web modernos o implementam e a maioria dos outros softwares nem sequer conseguiu implementar o OCSP e a CRL, boa sorte com seu aplicativo ou dispositivo corporativo de 5 anos.
Aplicações potenciais
Então, onde você poderia realmente usar o DANE? A partir de agora, não na Internet em geral. Se você controla o servidor e o cliente, talvez seja uma opção, mas nesse caso, geralmente é possível recorrer à Public-Key Pinning.
No espaço para correio, o DANE está obtendo alguma tração, porque o SMTP não possui nenhum tipo de criptografia de transporte autenticada há mais tempo. Às vezes, os servidores SMTP usam TLS entre si, mas não verificam se os nomes dos certificados realmente correspondem, agora eles estão começando a verificar isso através do DANE.