Certificado de transparencia - protección contra certificados falsificados
5/2/2015 | Jindřich Zechmeister
Certificate transparency es una función que aumenta la confiabilidad de los certificados y sobre la que ya escribimos en noviembre. La teoría se puede encontrar en el artículo Certificate Transparency a Public Key Pinning. Hoy analizaremos CT con mayor detalle, especialmente su aspecto práctico y su comportamiento en el navegador Google Chrome.

¿Qué es Certificate Transparency y por qué surgió?
Básicamente, Certificate Transparency se puede caracterizar como el registro de certificados emitidos por Google, que además de la evidencia también los monitorea y audita. Certificate Transparency solo funciona en Chrome, otros navegadores no soportan CT.
La nueva función de CT surgió para aumentar la protección contra la falsificación de certificados, que profesionalmente se llama ataque MITM (Man in the middle). Como resultado, el usuario debe estar más protegido contra el intento de utilizar un certificado falsificado (sin embargo, tal riesgo es realmente mínimo).
Por ahora, Certificate Transparency es el dominio de los certificados EV con validación extendida, pero el objetivo de Google es expandir el servicio a otros tipos de certificados.
Es importante que, a partir de febrero de 2015, Chrome no mostrará la barra verde para un certificado EV emitido después del 1. 1. 2015, si el certificado no está en el registro CT! Los certificados Symantec, GeoTrust y Thawte existentes fueron agregados al registro en diciembre de 2014 y los nuevos se agregarán automáticamente. Así que nuestros clientes no deben preocuparse.
Chrome verifica los registros públicos del certificado
Google Chrome ha comenzado a mostrar mensajes extraños e ininteligibles sobre la publicación de datos. A continuación, se presenta una descripción general de cuatro posibles variantes (la traducción se toma de la versión checa de Chrome, algunas variantes aún no tienen traducción oficial).
La identidad de este sitio web (organización XY) ha sido verificada por [nombre de su CA], ...
- y es públicamente auditable (The identity of this website has been verified by ISSUER and is publicly auditable.) - todo está en orden y CT funciona (timestamp válido).
- pero no existen registros públicos de esta organización - probablemente falta un registro CT, ver abajo
- pero no existen registros públicos del sitio (The identity of this website has been verified by ISSUER but does not have public audit records) - CT no funciona (no hay una marca de tiempo firmada en el cert.).
- afirma tener registros audibles públicos, pero no se pueden verificar (traducción propia) - el timestamp está firmado, pero no está en un registro conocido y no se puede verificar.
- pero los registros de auditoría pública fallaron en la verificación (traducción propia) - el timestamp está en un registro conocido, pero no se puede verificar.
Error de Certificate Transparency en Google Chrome. El mensaje sobre la config. de seguridad ya no pertenece a CT.
Al principio, tampoco se me ocurrió que este mensaje estuviera relacionado con Certificate Transparency, pero así es. Las objeciones a los registros públicos (audit records) se refieren a Certificate Transparency. Sin embargo, me sorprende que no haya una explicación adicional en el mensaje. Un enlace al registro de CT aparece solo para un registro verificado positivamente, no hay nada para un error.
¿Qué hacer desde el punto de vista del operador del sitio web?
Lo importante es elegir una autoridad certificadora responsable que se ocupe de la publicación de los certificados EV emitidos en el registro CT. Por ejemplo, Symantec, Thawte o GeoTrust. El resto luego se "hace" solo y el resultado será positivo.
La ventaja para el propietario del sitio web es la posibilidad de control y vista general sobre los certificados emitidos desde la perspectiva del propietario del dominio. Se le informará si una autoridad certificadora importante emitió un certificado para su dominio; si esto fue sin su conocimiento, puede evitar el abuso a tiempo.
¿Qué sucede si Certificate Transparency no funciona?
En caso de mal funcionamiento de CT, Chrome no debería mostrar la barra verde del certificado EV. Sin embargo, con Google es difícil prever cómo pondrá finalmente la advertencia en Chrome. Más bien espero que el navegador muestre una advertencia sobre la falta de confianza. Actualmente, CT probablemente influye en la visualización del símbolo HTTPS incluso en tipos de certificados más bajos. Google crea un absoluto caos con esto en Chrome y las advertencias.
No todo lo que hace Google es perfecto
Certificate Transparency fue creado con la intención de fortalecer la protección del usuario contra los certificados falsificados. Sin embargo, tiene varias deficiencias que debo mencionar.
La primera es la compatibilidad solo con Chrome; otros navegadores aún no usan CT. La segunda es el propio Google, que es muy agresivo en cuestiones de seguridad y se apresura demasiado en implementar nuevas funciones en Chrome (basta recordar SHA-1). Chrome ahora está en un estado en el que a menudo muestra advertencias absurdas sobre certificados, y eso incluso de manera diferente según la plataforma (en Linux ve advertencias que no ve en Windows, lo cual puede deberse a un ritmo de trabajo diferente entre los programadores de la versión de Chrome para Linux).
El principio de Certificate Transparency no es perfecto, pero no voy a profundizar en todas las objeciones aquí, y remitiré al lector a la primera fuente al final del artículo. El autor del artículo principalmente critica el hecho de que CT no sirve tanto para prevenir un ataque MITM, como para detectarlo posteriormente.
El operador del log principal, es decir, Google, básicamente actúa como si CT no tuviera nada que ver con él. Deja el control al público, y cada propietario de dominio debe verificar los logs por sí mismo (!), y buscar si no se ha emitido un certificado fraudulento para su dominio (!). Los logs también pueden ser verificados por "monitores" de logs, pero no está claro qué deben hacer en caso de sospecha. Del mismo modo, no está claro qué deben hacer los navegadores con un hallazgo positivo en el registro de CT (al final resultará que cada uno reportará algo diferente).
CT en su forma actual no resuelve la situación en la que los certificados falsificados provienen directamente de la CA (lo que ocurre en caso de un hackeo de la CA, lo que afortunadamente prácticamente no sucede, o en colaboración de la CA con servicios secretos). La autoridad, por supuesto, publicaría el registro del certificado en CT al emitirlo.
Otra deficiencia es el hecho de que CT funciona automáticamente y no hay forma de optar por no participar, es decir, la posibilidad de cancelar la publicación de los certificados. El propietario del certificado no puede influir en nada, y si no está de acuerdo con CT, no tiene alternativa.
Fuentes adicionales de información:
- El problema con Certificate Transparency. Crítica de las deficiencias de Certificate Transparency y objeciones.
- Certificate Transparency. Sitio web oficial de Google sobre Certificate Transparency.
- Una comparación de las reformas de HTTPS. Reflexiones sobre la "mejora" del protocolo SSL/TLS y comparación de estas nuevas funciones.
Especialista en los certificados SSL de seguridad
DigiCert TLS/SSL Professional
e-mail: jindrich.zechmeister(at)zoner.cz
