La infraestructura básica, que haría esto posible, existe y se llama Autenticación basada en DNS de entidades nombradas (DANE) y se especifica en RFC6698 . Funciona mediante un TLSA
registro de recursos, que especifica el certificado o su clave pública de la entidad final o una de sus CA en la cadena (en realidad, hay cuatro tipos diferentes, consulte el RFC para obtener más detalles).
Adopción
Sin embargo, DANE aún no ha visto una adopción generalizada. VeriSign supervisa la adopción de DNSSEC y DANE y realiza un seguimiento de su crecimiento a lo largo del tiempo :
A modo de comparación, según VeriSign, existen alrededor de 2,7 millones de zonas DNS, lo que significa que un poco más del 1% de todas las zonas tienen al menos un registro TLSA.
No puedo dar ninguna respuesta autorizada, por qué DANE, pero aquí están mis especulaciones:
DANE tiene el mismo problema que las Listas de revocación de certificados (CRL) y el Protocolo de estado de certificados en línea (OCSP). Para verificar la validez de un certificado presentado, se debe contactar a un tercero. Hanno Böck ofrece una buena descripción general de por qué este es un gran problema en la práctica. Se reduce a la cuestión de qué hacer, cuando no puede comunicarse con el tercero. Los proveedores de navegadores optaron por un fallo suave (también conocido como permiso) en este caso, lo que hizo que todo fuera bastante inútil y Chrome finalmente decidió deshabilitar OCSP en 2012.
DNSSEC
Podría decirse que DNS ofrece una disponibilidad mucho mejor que los servidores CRL y OCSP de las CA, pero aún así hace imposible la verificación fuera de línea. Además, DANE, solo debe usarse junto con DNSSEC. Como el DNS normal opera sobre UDP no autenticado, es bastante propenso a la falsificación, ataques MITM, etc. La adopción de DNSSEC es mucho mejor que la adopción de DANE, pero aún está lejos de ser omnipresente.
Y con DNSSEC volvemos a encontrarnos con el problema del fallo suave. Que yo sepa, ninguno de los principales sistemas operativos de servidor / cliente proporciona un solucionador de validación DNSSEC de forma predeterminada.
Luego está también el tema de la revocación. DNSSEC no tiene mecanismo de revocación y se basa en claves de corta duración.
Soporte de software
Todo el software participante debe implementar el soporte DANE.
En teoría, podría pensar que este sería el trabajo de las bibliotecas de cifrado y los desarrolladores de aplicaciones no tendrían que hacer mucho, pero el hecho es que las bibliotecas criptográficas generalmente solo proporcionan primitivas y las aplicaciones tienen que hacer mucha configuración y configuración ellos mismos. (y lamentablemente hay muchas formas de equivocarse).
No sé, ningún servidor web importante (por ejemplo, Apache o nginx), por ejemplo, implementó DANE o tiene planes de hacerlo. Los servidores web son de particular importancia aquí, porque cada vez más cosas se basan en tecnologías web y, por lo tanto, a menudo son las primeras, donde las cosas se implementan.
Cuando miramos CRL, OCSP, y OCSP Grapado como comparación, podríamos inferir cómo será la historia de adopción de DANE. Solo algunas de las aplicaciones que usan OpenSSL, libnss, GnuTLS, etc. admiten estas características. Tomó un tiempo para que un software importante como Apache o nginx lo admitiera y, nuevamente, refiriéndose al artículo de Hanno Böck, se equivocaron y su implementación es defectuosa. Otros proyectos de software importantes, como Postfix o Dovecot no son compatibles con OCSPy tienen una funcionalidad CRL muy limitada, básicamente apuntan a un archivo en el sistema de archivos (que no es necesariamente una relectura regular, por lo que tendrías que recargar tu servidor manualmente, etc.). Tenga en cuenta que estos son proyectos, que con frecuencia usan TLS. Entonces puede comenzar a mirar cosas, donde TLS es mucho menos común, como PostgreSQL / MySQL, por ejemplo, y tal vez ofrecen CRL en el mejor de los casos.
Por lo tanto, ni siquiera los servidores web modernos lo implementan y la mayoría del otro software ni siquiera ha implementado OCSP y CRL, buena suerte con su aplicación o dispositivo empresarial de 5 años.
Aplicaciones potenciales
Entonces, ¿dónde podrías usar DANE? A partir de ahora, no en Internet en general. Si controla el servidor y el cliente, tal vez sea una opción, pero en este caso, a menudo puede recurrir a la fijación de clave pública.
En el espacio de correo, DANE está obteniendo cierta tracción, porque SMTP no tuvo ningún tipo de cifrado de transporte autenticado durante el mayor tiempo. Los servidores SMTP a veces usaban TLS entre sí, pero no verificaron que los nombres en los certificados realmente coincidieran, ahora están comenzando a verificar esto a través de DANE.