Firmar certificados usando un certificado de servidor web emitido por una CA pública

3

He obtenido un certificado de GoDaddy. Su uso y restricciones son los siguientes:

Uso de claves

Digital Signature, Key Encipherment (a0)

Uso de claves mejorado:

Server Authentication (1.3.6.1.5.5.7.3.1)
Client Authentication (1.3.6.1.5.5.7.3.2)

Restricciones básicas

Subject Type=End Entity
Path Length Constraint=None

Al usar OpenSSL, puedo usar este certificado como CA y firmar certificados. Por supuesto, el uso del certificado firmado por la CA falsa da errores en todos los navegadores.

Mi pregunta, ¿es esto un error en OpenSSL? ¿Se puede usar esto como un exploit?

Leí CVE-2015-1793, que se centra más en la validación de la cadena alternativa que en la capacidad de OpenSSL para firmar el certificado utilizando un certificado que no es de CA.

Gracias por cualquier ayuda.

    
pregunta Siyer 11.09.2015 - 06:21
fuente

1 respuesta

3
  

Mi pregunta, ¿es esto un error en OpenSSL?

Podría considerarlo un error en OpenSSL que permite firmar por un certificado que no es de CA. Pero incluso si OpenSSL se rehusaría a hacer esto, simplemente podría cambiar el código fuente para permitirlo nuevamente. Por lo tanto, no importa mucho si el código le permite crear dicho certificado.

  

¿Se puede usar esto como un exploit?

En cambio, el problema sería si alguien aceptara dicho certificado. Por lo tanto, si alguien presenta un certificado, debe estar completamente validado por el par. Esta validación incluye la comprobación de todas las restricciones, incluido el hecho de que el emisor era una CA.

En el pasado, varias implementaciones tenían problemas con esta validación completa y algunas ignoraban el indicador de CA, por lo que en este caso el problema podría ser explotado. Pero, de nuevo, este no es el problema de la aplicación utilizada para crear el certificado, sino el que no pudo verificar el certificado correctamente. Debido a que la identificación por certificado debe proteger la conexión TLS contra ataques, la aplicación siempre debe asumir que un atacante trata de eludir la validación y, por lo tanto, siempre realiza una validación completa del certificado.

    
respondido por el Steffen Ullrich 11.09.2015 - 06:40
fuente

Lea otras preguntas en las etiquetas