Hace algunas horas tuve esta idea, pero, por supuesto, ya existe e incluso hay un RFC ... .
¿Por qué no publicamos la huella digital para el certificado SSL / TLS a través de DNS? Necesitamos DNSSEC para asegurarnos de que la respuesta sea legítima y debemos asegurarnos de que los servidores de nombres estén en un entorno seguro, pero además no veo ningún problema que SSL / TLS no tenga.
Este cambio movería la autoridad para proteger todo nuestro tráfico cifrado de las autoridades de certificación (CA) a los servidores de nombres DNS. Esto podría ser un problema porque en ese caso, todos los proveedores de DNS (que tienen DNSSEC) deberían convertirse en entornos de muy alta seguridad, como lo son ahora las CA. ¿Pero no deberían ser todos los servidores de nombres ya esto? La mayoría de los sitios web usan http simple para tráfico sensible y la mayoría de las personas no se darían cuenta si no hay un candado al iniciar sesión en Google. Yo diría que ya tienen una gran responsabilidad.
Si no confiamos en los servidores de nombres del dominio, podríamos incluir huellas dactilares en los servidores raíz, pero no estoy seguro de cuánta carga adicional sería.
Otro problema es que DNSSEC aún no está implementado ampliamente. Pero el motivo de mi pregunta es porque el IETF está considerando la posibilidad de admitir el cifrado en http / 2.0 sin requerir la verificación del certificado "para que sea más fácil de implementar".
En mi opinión, la seguridad debe hacerse correctamente o no debe hacerse. No le dé a la gente una falsa sensación de seguridad. Pero si vamos a cambiar los protocolos de todos modos (actualizar todos los servidores web), podríamos implementar DNSSEC y hacerlo de la manera correcta (autenticada).
Los problemas / cambios en breve:
- necesitamos confiar en los servidores de nombres (¿raíz?) en lugar de una tonelada de CAs;
- necesitamos agregar un tipo de registro dns o extender el uso del registro sshfp; y
- necesitamos apoyar a dnssec más ampliamente.
¿Me estoy perdiendo algo? ¿Por qué estamos pagando un alto precio por los certificados SSL / TLS cuando todo lo que tenemos que hacer es publicar la huella digital del certificado en un canal autenticado?
El punto de cifrado no autenticado en http 2.0 es fomentar la habilitación sin tener que modificar ninguna otra configuración. Estoy en contra de esto porque es innecesariamente lento (otro viaje de ida y vuelta para el intercambio de claves, que es especialmente malo en el extranjero o con cualquier pérdida de paquetes) y casi no agrega seguridad. Incluso podría proporcionar una falsa sensación de seguridad. En el lado bueno, confunde el tráfico.
Esta propuesta de uso de DNS hace que sea un poco más complicado implementar el cifrado en los servidores web, pero lo hace (al menos casi) tan seguro como el SSL / TLS normal y al mismo tiempo mantiene una disponibilidad generalizada del cifrado muy alta (no creo que Mantendré los precios ridículamente altos de un servidor de nombres habilitado para sshfp / httpfp / tlsfp como hacen con los certificados). El cifrado no autenticado aún puede ser un último recurso cuando todas las demás opciones (certificado firmado, certificado almacenado, huella digital publicada de manera segura) no están disponibles (aunque no se deben mostrar al usuario porque proporciona una sensación de seguridad completamente falsa), pero No estoy seguro de que valga la pena la desaceleración.
Si no es posible usar los servidores raíz para esto, también podríamos usar los servidores de nombres del dominio como "entornos razonablemente seguros" (candado normal) y usar un certificado firmado por CA para EV (barra verde). Luego, dígales a las personas que busquen la barra verde cuando hagan banca en línea. Los servidores de nombres ya tienen una gran responsabilidad, por lo que podría ser lo suficientemente seguro, incluso si no podemos esperar que sean tan seguros como un CA. Al menos sería un sistema mucho más flexible; Estoy restringido a mi dominio y un subdominio para cualquier certificado a un precio razonable (y el subdominio ya está ocupado por "www.").
Mi pregunta nuevamente en breve: ¿Hay alguna razón por la que no usamos un sistema similar a SSHFP para https, si DNSSEC estaba ampliamente disponible?