Estoy tratando de entender cómo la Transparencia del certificado resuelve el problema con las Autoridades de Certificación deshonestas que incorporan un SCT en sus certificados. Entiendo que el registro es solo para anexos y que el servidor puede "probar" que el certificado fue registrado.
Supongamos que soy una CA deshonesta, y quiero emitir un certificado pero también registrarlo en un par de registros. Creo un certificado para un nombre de dominio que a nadie le importa (por ejemplo, foobar.com
), y envío el precertificado a los registros. Entonces puedo recuperar el SCT. Luego puedo eliminar la extensión envenenada y agregar otro nombre de dominio (por ejemplo, paypal.com
) al campo SAN y luego emitir el certificado.
¿Hay algún mecanismo que me impida hacer esto? Cualquier persona que escanee los registros de CT no verá que emití un certificado para paypal.com
, pero se supone que los navegadores deben confiar en el certificado y también creerán que he enviado el certificado al registro.
El objetivo mismo de CT es evitar que las CA emitan certificados por lo que no deberían. Estoy seguro de que hay requisitos de línea de base que impiden esto y que la CA se eliminaría de las raíces confiables si se detectan haciendo esto. Pero, ¿existe alguna forma criptográfica segura de evitar esto?