La fijación de certificados permite eludir las cadenas de autoridades de certificación estándar para mitigar el riesgo de que un certificado válido se emita a un delincuente.
Motivación para una nueva solución ...
Los certificados SSL / TLS están firmados por otros certificados. Los navegadores normalmente reconocen un certificado como válido cuando en algún punto de esta cadena de firmas se encuentra una entidad confiable. Las firmas de las entidades de confianza vienen en la instalación básica del sistema operativo y los navegadores. Es una lista incrustada de alrededor de 100 entidades.
Si una de las autoridades de certificación de confianza está comprometida o si la autoridad de certificación es víctima de un fraude, puede emitir un certificado válido a un delincuente. El criminal tendrá un certificado SSL / TLS perfecto en su nombre. El criminal podrá realizar ataques de "hombre en el medio" exitosos y creíbles. El usuario verá una información de certificado válida para su sitio web.
Además, no es difícil convencer al usuario de que instale una nueva autoridad de certificación de confianza. Por ejemplo, en Brasil, la autoridad de certificación oficial no es reconocida por los navegadores principales y todos tienen que instalar una autoridad de certificación adicional. Los navegadores se mostraron muy buenos en esto: solo haga clic en un enlace y responda que sí. Para alcanzar este nivel de usabilidad, creo que esta es una tarea común en todo el mundo.
Las autoridades de certificación no pueden ser completamente confiables. El proceso para obtener un certificado no es de ninguna manera seguro. Ya compré uno en una empresa y no pagué mucho más por eso. Por supuesto es mucho mejor que nada. Pero necesita mejorar.
¿Qué es la fijación?
En el primer acceso al sitio web secure.example.com, el sitio web envía un mensaje oculto al navegador del cliente que se traduce como:
"en los próximos N días, el sitio web secure.example.com usará el certificado CECECECE. En ese período no acepte otro certificado, incluso si la autoridad de certificación afirma que es válido para este sitio web. Si sucede notifícame en enlace ".
¿Fijar resuelve el problema?
No resuelve la debilidad del proceso de firma de certificados de las autoridades de certificación. Pero minimice la ventana de oportunidad de un criminal para sobrevivir con un hombre en el ataque central. El ataque solo funcionará si el usuario accede por primera vez al sitio web.
Es similar a la seguridad SSH. En el primer acceso se guarda la firma de la clave del servidor. Si en el acceso futuro la identificación no coincide, el sistema genera una advertencia. La advertencia se toma en serio porque solo sucede cuando se realizan cambios reales.
Lo mejor para una empresa grande es recibir notificaciones a través de los clientes quejas de que alguien ha emitido un certificado TLS / SSL real en su nombre a un criminal. Según entiendo, el mecanismo de anclaje fue propuesto por Google
Fijación de nivel de aplicación
La fijación también se puede realizar fuera del navegador, compilando la huella digital del certificado real en una aplicación.