¿Se puede suplantar a cualquier sitio web protegido con TLS mediante un certificado deshonesto emitido por una CA deshonesta?

1
  

Cualquier sitio web protegido mediante TLS se puede suplantar mediante un certificado fraudulento emitido por un CA deshonesto. Esto es independiente de la entidad emisora de certificados que emitió el certificado real del sitio web y de cualquier propiedad de ese certificado.

     

- Marc Stevens et al. 2009

¿Esto sigue siendo cierto?

Entiendo que uno de los propósitos de Transparencia del certificado es detectar eventualmente las CA fraudulentas a largo plazo. ¿Pero hay alguna protección contra el ataque inmediato?

    
pregunta Colonel Panic 21.10.2014 - 01:27
fuente

3 respuestas

3

Existe una protección potencial en forma de fijación de certificados. Esto se puede hacer en una aplicación, y algunos navegadores (esperemos que todos en el futuro) lo admitan en forma de identificación de certificados. La identificación de certificados puede tomar dos formas: primero, puede enviar la huella digital de su certificado a los proveedores del navegador (actualmente, Google y Mozilla) para que se incluyan en el navegador. En segundo lugar, puede agregar los pines a un encabezado HSTS, que le dirá a los navegadores que han visitado su sitio en el pasado si el certificado que están viendo ahora es kosher o no.

Debido a que el anclaje de certificados se realiza a nivel de certificado individual, mitiga la amenaza de certificados firmados por raíces maliciosas o comprometidas.

    
respondido por el Xander 21.10.2014 - 01:35
fuente
3

Irónicamente, certificados X.509 puede teóricamente tener el alcance a dominios específicos y sub -dominios, a través de la extensión Restricciones de nombre : si un certificado de CA contiene una extensión Name Constraints con un campo permittedSubtrees que contiene un dNSName del valor example.com puede emitir certificados solo si los nombres de host que aparecen en las extensiones Subject Alt Names de estos certificados son del dominio example.com o de un subdominio del mismo. Esta restricción se propaga a lo largo de la cadena, por lo que los certificados emitidos por la sub-CA también deben cumplir.

Lamentablemente, este esquema falla en la práctica, por dos razones:

  • Cuando el certificado del servidor no incluye una extensión Subject Alt Name , los clientes SSL tienen el hábito de usar el nombre común del subjectDN como sustituto. Según las reglas de X.509, el nombre común no está no cubierto por el Name Constraints de tipo dNSName . El uso del Nombre común está explícitamente permitido por RFC 2818 .

  • Nadie implementa soporte para Name Constraints . Si no marca la extensión como crítica, los clientes la ignorarán. Si marca la extensión como crítica, los clientes rechazarán el certificado. Por lo tanto, realmente no puedes usarlos.

La falta de soporte implica que nadie intenta realizar un alcance de los certificados con Name Constraints . Como nadie lo intenta, los implementadores no tienen incentivos para implementar el soporte.

La consecuencia general es que, actualmente, los CA no están incluidos en el ámbito. Por lo tanto, cualquier CA raíz en la que confíen los clientes SSL y cualquier CA intermedia emitida (directamente o no) por una de estas CA raíz, será técnicamente confiable para validar los certificados de servidor SSL para cada nombre de dominio posible.

Sin embargo, las CA rogue son una ocurrencia bastante rara. La razón es que un certificado falsificado, con un nombre falso, también apunta claramente a la CA que lo emitió. Falsificar certificados es muy riesgoso para un CA; Hay una casi certeza de ser atrapado después del hecho. La CA raíz se incluye en el sistema operativo y los navegadores mediante la firma de contratos que imponen sanciones graves por mal comportamiento; cuando la CA raíz emite certificados de sub-CA, nuevamente imponen contractualmente el mismo tipo de sanciones. Estamos hablando de millones de dólares aquí.

Los casos reales de certificados falsos se deben principalmente a compromisos, de naturaleza transitoria, y ocurren aproximadamente una vez al año.

    
respondido por el Tom Leek 21.10.2014 - 03:10
fuente
2

Todo lo que un sitio debe hacer es presentar un certificado firmado por una CA de confianza. Actualmente no hay una manera de "determinar" las CA (que limitan los orígenes por los que pueden firmar los certificados) ni existe una forma para que un sitio especifique qué CA son válidas para ella. (E incluso si existiera, esto es un problema de gallina y huevo, ¿cómo sabría que la información es válida?)

Entonces, la respuesta es básicamente: sí, cualquier CA puede firmar un certificado para cualquier sitio.

    
respondido por el David 21.10.2014 - 01:33
fuente

Lea otras preguntas en las etiquetas