Transparencia del certificado es un mecanismo de defensa heurística que no detecta certificados perdidos; en su lugar, se esfuerza por permitir una detección más rápida de certificados perdidos.
La idea central es la de Glasnost . Sucede que los ataques más exitosos se basan en una asimetría de información. Supongamos que quiero suplantar el servidor de Google. A través del engaño, el soborno, la incompetencia y / o la suerte, obtengo un certificado falso con "www.google.com" escrito en él. Luego lo usaré para un servidor falso que responde solo a mis víctimas objetivo (por ejemplo, todos los empleados de una empresa donde tengo algunas capacidades de administrador de sistemas). Mi interés, como atacante, es que nadie en el exterior notifique la existencia de ese certificado falso, en particular el propio Google. Si la gente de Google se da cuenta de este certificado que lleva su nombre, pero no es uno de los suyos, hablará inmediatamente con la CA emisora y solicitará la revocación inmediata. Se pueden esperar palabras duras.
La transparencia del certificado es un registro público de certificados. Este es un sistema por el cual un cliente SSL / TLS (un navegador web) puede estar configurado para aceptar un certificado solo si viene con una prueba verificable (el "Certificado firmado Marca de tiempo ") que el certificado se ha agregado a un registro donde será visible para todos, en particular el supuesto titular del certificado (Google, en mi ejemplo anterior). Esto no garantiza la detección; De hecho, el certificado es técnicamente completamente válido. Lo que CT garantiza es que cualquier certificado que vea el cliente está en vista simple y, por lo tanto, supuestamente , pronto se detectará si es fraudulento.
(Uno puede notar que los registros de CT incluyen marcas de tiempo firmadas por ... ¿una entidad de confianza? Como de costumbre, nunca se crea , simplemente se mueve alrededor de . )
La parte débil de la TC es que solo funciona si todos participan. CT ofrece mejoras reales de seguridad siempre y cuando los clientes SSL / TLS (es decir, los navegadores web) rechacen debidamente los certificados de servidor que no vienen con el SCT. Esto funciona solo si todas las siguientes afirmaciones son verdaderas:
- Todos los CA participan, por lo que se puede esperar que cada certificado "normal" esté en un registro de CT en algún momento.
- Todos los navegadores web admiten CT y rechazan los certificados que no están en el registro.
- Todos los servidores web son compatibles con CT y envían los objetos de marca de tiempo de certificado firmado a los navegadores con las extensiones SSL / TLS especificadas.
Estimo que las posibilidades de que este sistema complete su fase de arranque a menos del 10%.