¿Varias CA firman un solo Cert / CSR?

14

Acabo de ver esto sugerido en Slashdot

  

Por lo tanto, he visto a muchas personas que desean un cambio a certificados autofirmados (que, en su mayoría, IMO no entiende lo que realmente implica hacer eso seguro), y una idea para verificar certificados de diferentes rutas de red (lo que no ocurre). No trabaje si su único camino está comprometido, ¿y cómo asegura la comunicación al servicio que realiza la verificación por usted?).

     

Así que aquí hay una idea alternativa: Requerir múltiples CA.

     

En lugar de hacerlo de la forma de "validación extendida" que es más dinero para no mucho más servicio del mismo proveedor, sería mucho mejor tener varias firmas de CA en un solo certificado.

     

Comprometer a varias CA en el mismo período de tiempo para crear un certificado sería considerablemente más difícil que crear uno. Y lo que es más importante, haría mucho más fácil revocar CA grandes.

     

Digamos que la nueva norma es que el certificado de un sitio esté firmado por 5 CA diferentes, y que la cantidad mínima aceptable es de 3 firmas.

     

Luego, si Verisign se ve comprometido, no hay ningún problema en retirar su certificado: tiene 4 firmas válidas en su certificado, lo que aún está bien. Eso debería ejercer una presión considerablemente mayor sobre las AC para obtener mejores resultados.

     

Incluso Verisign no sería capaz de confiar en que sus problemas de seguridad serían eliminados debido a su popularidad, ya que incluso las CA más grandes serían completamente prescindibles sin que los usuarios finales necesiten mucho cuidado. El sitio simplemente iría con una 5ta CA diferente para volver a la fuerza completa.

Parece que esto funcionaría (aunque obtendría una clasificación de seguridad en lugar de un certificado binario que valida / no valide). ¿Qué pasa con la viabilidad? ¿Podría hacerse dentro de los estándares existentes? No puedo comprender si uno emitiría el mismo CSR a varias CA, luego proporcione un montón de certificados al navegador ... si solo tendría un certificado firmado en secuencia por varias CA.

    
pregunta scuzzy-delta 08.09.2011 - 02:32
fuente

5 respuestas

13

Sobre los cambios en SSL / TLS: el protocolo SSL / TLS envía certificados como anónimos blobs que pueden tener cualquier tamaño, hasta aproximadamente 16 MB (lo cual es ridículo). El protocolo en sí no necesita ser cambiado si uno quiere usar algunos formatos de certificados nuevos.

Las implementaciones de SSL / TLS esperan que los blobs estén codificados certificados X.509 . Dicho certificado tiene espacio para un solo emisor (el nombre de la CA está escrito en él) y una única firma. Por lo tanto, no puede tener un "certificado de firma múltiple" dentro de los límites del estándar X.509 existente. Usted podría obtener varios certificados, con la misma clave pública en cada uno, y luego solo necesitará algún tipo de convención para que al software cliente SSL no le importe recibir más de un certificado para el servidor, y los revisa todos.

Acerca de la emisión de los certificados: una solicitud de certificado es solo un barco para la clave pública del solicitante, su nombre previsto y cualquier tipo de información que la AC sea gratuita. para replicar, o no, en el certificado emitido. No hay ningún problema teórico en tener varios certificados, incluso de distintas CA, que contengan su nombre y su clave pública; en realidad, cualquier CA podría emitir un certificado de este tipo sin necesidad de interacción con usted. Todos podrían usar la misma solicitud de certificado. En la práctica , requeriría algunos cambios, ya que las CA existentes emiten certificados como parte de los escenarios basados en la Web, donde se indica al navegador del comprador que genere un nuevo par de claves y envíe la parte pública a la CA Sin ninguna interacción con el comprador humano. Dado que la idea de que cada servidor posea al menos 3 certificados básicamente triplica el mercado de certificados de servidor, estoy bastante seguro de que la AC comercial estaría dispuesta a implementar los ajustes relevantes en su plataforma.

Sobre la solidez de la idea: solicitar validación múltiple es una buena idea (la OpenPGP el formato ya lo hace, principalmente para lidiar con la falta de fiabilidad inherente de una CA de web de confianza, pero puede ser contraproducente: si tener una única CA deshonesta o comprometida no afecta la seguridad general, es probable que el próximo evento similar a Comodo Recibirá menos publicidad, posiblemente ninguna en absoluto. La validación múltiple tiende a fomentar la indulgencia general y la pérdida de responsabilidad.

Sobre convergencia: de lo que habla la cita de slashdot es Convergence . Este es un nuevo sistema que intenta conseguir un punto de apoyo. Consulte esta respuesta para algunos detalles e indicaciones sobre el protocolo.

    
respondido por el Thomas Pornin 08.09.2011 - 13:52
fuente
1

Realmente creo que esta sería una muy buena idea. Pero requeriría una nueva versión de SSL y TLS para ser compatible. Actualmente, todo está diseñado con el supuesto de que hay exactamente un ancla de confianza. Lo que significa que probablemente nunca sucederá. Todavía tengo discusiones con personas que afirman que "necesitamos" que sea compatible con Windows 98.

    
respondido por el bahamat 08.09.2011 - 03:20
fuente
1

Dudo que esta idea funcione. Las CA requerirían una API entre sí para automatizar la firma de certificados. ¿Qué estarían revisando? Si no verifican las solicitudes de los demás, un pirata informático que obtuvo acceso a una API de CA (como en los casos de Comodo y DigiNotar) todavía ganaría. Si do comprueba las solicitudes de firma entre CA, ¿qué debe verificar?

Lo que podría impedir el enfoque de múltiples CA es que un atacante obtenga certificados para dominios de alto perfil como * .google.com, si una segunda CA firmante marcaría aquellos en los que el primero falló.

Personalmente, sin embargo, me gusta el enfoque de perspectiva de red de moxie. Sobre todo porque pone la decisión de confianza en manos del usuario, sin convertirla en una solución exclusiva para técnicos.

    
respondido por el chris 08.09.2011 - 13:09
fuente
0

Probablemente llego unos años tarde, pero de todos modos ...
Un problema que se me viene a la mente es que un mitm puede evitar que el cliente negocie varios certificados y solo obtenga el que piratea de una CA.
La solución fácil IMO es usar otro puerto o simplemente inventar otro nombre de protocolo para que el cliente SABE que debe obtener MÁS DE UN certificado.

    
respondido por el Behrooz 06.10.2014 - 11:51
fuente
0

Una mejor manera ya está en las obras en forma de DNSSEC y DANE. La principal vulnerabilidad en el sistema actual de certificados de sitio es que cualquiera de las CA puede emitir certificados para cualquier nombre de dominio. Por lo tanto, solo se necesita una CA incorrecta para comprometer cualquier dominio. En su lugar, se puede especificar la clave que firma los certificados de sitio para un determinado dominio:

De enlace (la especificación DANE):

"El modelo de CA público del cual TLS ha dependido es fundamentalmente vulnerable porque le permite a cualquiera de estas CA emitir un certificado para cualquier nombre de dominio. Una única CA de confianza que traiciona su confianza, ya sea voluntariamente o proporcionando menos de La protección vigorosa de sus secretos y capacidades puede socavar la seguridad ofrecida por los certificados empleados con TLS. Este problema surge porque una CA comprometida puede emitir un certificado de reemplazo que contiene una clave falsa. Las experiencias recientes con compromisos de CA o sus socios de confianza han liderado a problemas de seguridad muy graves, como los gobiernos de varios países que intentan interceptar y / o subvertir los principales sitios web protegidos por TLS en los que confían millones de usuarios ".

    
respondido por el Kevin P 05.08.2017 - 22:15
fuente