¿Por qué no puede confiar directamente en un certificado?

0

Si desea configurar un servicio que se firma utilizando algún sistema de Autoridad de Certificación (SSL / TLS, ciertas configuraciones de IKE, etc.), si desea usar un certificado autofirmado (por ejemplo, para pruebas), por lo general, tiene que crear un certificado, un certificado de CA, firmar el primero con el segundo y luego instalar la clave pública del certificado de CA como confiable en sus configuraciones de cliente.

Pensaría que sería igual de seguro confiar simplemente en el certificado que no es de CA directamente. ¿Por qué la configuración más complicada? ¿Es esto una consecuencia del hecho de que estos sistemas están diseñados para funcionar con una jerarquía de CA, o hay alguna razón más específica?

    
pregunta joshlf 09.12.2015 - 18:26
fuente

2 respuestas

0

Creo que respondiste tu propia pregunta:

  

¿Esto es una consecuencia del hecho de que estos sistemas están diseñados para funcionar con una jerarquía de CA?

Sí. En el modelo de certificado X509, los certificados raíz (o "certificados de firma CA") tienen la restricción básica CA:True que le permite firmar otros certificados. Al colocar el certificado raíz en su almacén de confianza, usted confía automáticamente en todos los certificados que firman (y certificados firmados por subCAs firmados por ese certificado de CA raíz), por lo tanto, con solo un certificado en su almacén de confianza, usted confía automáticamente en toda una jerarquía de CAs y Certificados - incluso los que nunca has visto antes. De lo contrario, tendría que agregar manualmente todos los certificados que no sean de CA a su almacén de confianza y se convertiría muy rápidamente en un montón de memoria y espacio en disco, y el problema de cómo confiar en un nuevo certificado que nunca ha visto antes se vuelve < em> mucho más complicado.

Como lo señaló @JonathanGray en los comentarios, un certificado autofirmado podría ser lo que está buscando ya que es tanto una CA raíz como un usuario final al mismo tiempo. Aunque no resuelve el problema original de tener que realizar varios pasos de configuración.

No tengo conocimiento de ninguna técnica por la que no pueda ingresar un certificado no root en su almacén de confianza, excepto que tendría que programarse para buscarlo. Dado que el caso de uso solo tiene sentido en entornos de desarrollo, supongo que la mayoría de los proveedores de software no se molestarán en dedicar tiempo a escribir ese código.

Más detalladamente, el paso de la validación de certificados en el almacén de confianza funciona de la siguiente manera: suponga que está validando un certificado de servidor SSL, mire a la CA que firmó este certificado y vea si están en su almacén de confianza. en la CA que firmó eso y vea si ellos están en su tienda de confianza, y así sucesivamente hasta que encuentre uno o toque la parte superior de la cadena. Probablemente, la mayoría del software no se molestaría en buscar el certificado de usuario final en el almacén de fideicomiso simplemente porque está perdiendo el tiempo de ejecución de una búsqueda costosa en algo que nunca debería suceder en un sistema de producción de todos modos.

    
respondido por el Mike Ounsworth 09.12.2015 - 18:45
fuente
1

Depende de lo que estés probando. Según wikipedia :

  

una CA es un tercero de confianza, en quien confían tanto el sujeto (propietario) del certificado como la parte que confía en el certificado.

Entonces, si desea probar el escenario del mundo real en el que habrá una CA, sería mejor crear una "CA de prueba" y hacer que firme su "Certificado de prueba" autofirmado. Esto probaría la infraestructura de confianza de CA.

Confiar en el certificado autofirmado también funcionará, pero no simula el escenario del mundo real. Si su alcance de prueba no requiere que pruebe la cadena de confianza de CA, entonces puede confiar solo en el certificado autofirmado.

    
respondido por el ARau 09.12.2015 - 18:48
fuente

Lea otras preguntas en las etiquetas