Este es un problema más grave de lo que cree, especialmente para una empresa como Google, porque son un blanco frecuente para este tipo de travesuras. Pero hay varias capas de salvaguardas, y nuestra protección está mejorando con el tiempo.
Su primera línea de defensa es la Autoridad de certificación.
No deben permitir que los certificados se firmen de forma inapropiada. Cada CA tiene su propio mecanismo para verificar su derecho a comprar un certificado para un dominio determinado, pero normalmente incluye que usted haga una o más de las siguientes acciones:
- Verifique la propiedad de la dirección de correo electrónico que figura en la información de WHOIS del dominio.
- Verifique la propiedad de una dirección de correo electrónico que siga uno de varios patrones predeterminados en el dominio (por ejemplo, "administrador @ {dominio}")
- Crea un registro DNS específico en el dominio
- Realice un cambio específico en el sitio web alojado en ese dominio
Pero con tantas AC como tenemos, se emiten una cantidad sorprendente de certificados inapropiados. Este es un caso de, "tenías literalmente UN trabajo", pero tenemos que aceptar que se producirán errores.
Se creó Transparencia del certificado para ayudar a auditar las CA
Hay una sorprendente falta de responsabilidad y transparencia por parte de las AC, por lo que Google decidió hacer algo al respecto con Transparencia del certificado .
Este es un registro público de todos los certificados que la CA firma; si un certificado no aparece en el registro, entonces no es válido, y el registro es solo de anexo; No puedes volver y limpiar tu historia. Todavía es relativamente nuevo, pero Chrome ya lo requiere en ciertas CA, incluidas todas las CA de EV. La idea es que puedes seguir el registro y ver si tu dominio aparece cuando no debería. Las herramientas siguen evolucionando para simplificar esto, pero es una tecnología muy prometedora.
Su última línea de defensa es fijación de teclas
Los navegadores más seguros permitirán a los propietarios de dominios "fijar" una o más claves públicas en su dominio. Este es un extremo de todo el sistema PKI e inyecta la confianza directamente en el navegador. Los propietarios de dominios pueden, a través del encabezado HTTP, decirle al navegador que solo permita certificados con claves públicas específicas, y de hecho pueden enviar esa aserción preinstalada en el propio navegador. Esto evita que se use un certificado no autorizado, incluso si tiene una firma de CA válida.
DNSSEC y DANE es donde finalmente irá
Probablemente. Con DNSSEC, puede firmar sus registros DNS, lo que significa que puede poner la firma de su clave pública allí mismo en DNS. Lo que significa que no necesita necesitar una autoridad de certificación de terceros para firmar sus claves. Esa es una solución bastante elegante, pero DNSSEC aún está lejos; no se puede usar con varios sistemas operativos, y la adopción es claramente glacial.