Certificados firmados por múltiples CAs

4

¿Es posible tener un certificado OpenSSL firmado por varias CA?

Antecedentes: tenemos una CA para emitir certificados principalmente para nuestras comunicaciones de máquina a máquina. Ahora necesitamos hacer que algunos servicios sean accesibles para los usuarios y nos gustaría usar la misma CA pero, por supuesto, no es de confianza para la mayoría de los proveedores. Sería bueno si pudiéramos obtener esos certificados firmados por otra CA para aumentar la confianza.

Silvia
fuente
No sé si es técnicamente posible para OpenSSL, pero de acuerdo con este hilo en security.SE , debería ser posible en lo que se refiere a SSL / TLS. Además, por supuesto, tiene sentido para el escenario que describiste. También puede ser relevante esta pregunta en SO .
quazgar

Respuestas:

1

No, no es posible que un certificado X.509 (el tipo utilizado por OpenSSL) tenga más de una firma. Sin embargo, puede emitir varios certificados que harán el mismo trabajo.

Siempre que mantenga la clave y el asunto iguales, puede crear varios certificados de CA que satisfarán cada uno como un certificado de emisor válido para los certificados que emiten (¿esos?) CA (s). Estos certificados de CA pueden ser autofirmados o emitidos por diferentes CA como lo que se llama un certificado de firma cruzada.

Los demás respondedores son correctos: cualquier CA comercial deberá examinar sus políticas y procedimientos antes de firmar su CA. Dicho esto, es definitivamente posible desde un punto de vista técnico.

Si los usuarios de los que habla están usando solo los dispositivos que controla (es decir, son usuarios internos), sugiero que instale su certificado de CA raíz en esos dispositivos. Esto es lo que hacen muchas empresas grandes (¡y en realidad lo hago en mi propia red!) Y le permite emitir certificados de uso interno tanto como desee, de acuerdo con sus propias políticas.

Si, por otro lado, los usuarios son externos a su organización (o incluso a los empleados que trabajan desde su casa, por ejemplo), entonces probablemente sea mejor tener certificados emitidos por una CA comercial de confianza. Si va a necesitar muchos de estos certificados (5+ por año), la mayoría de las CA comerciales tienen programas que alivian la carga administrativa y, a menudo, disminuyen los costos; Si va a necesitar una cantidad realmente grande (no me molestaría en buscarla a menos que sea más de 100 por año), puede considerar acercarse a una CA para configurar una CA subordinada personalizada (pero, como en el caso anterior, es probable que lo quieran para configurar un nuevo CA de acuerdo con sus políticas en lugar de realizar una firma cruzada de la existente).

Calrion
fuente
1

Sería bueno si pudiéramos obtener esos certificados firmados por otro   CA para aumentar la confianza.

Incluso si esto fuera posible, no aumentaría el nivel de confianza, porque una parte que no es de confianza también firmó el certificado, lo que significa que el certificado en general no debe ser confiable. Le sugiero que simplemente firme todo desde un nuevo proveedor de CA en el que las principales plataformas realmente confían.

Ramhound
fuente
5
Entonces, si Alice (en quien se confía) dice "ese es Bob", entonces sabemos que él es Bob. Pero ahora Charles (que no es de confianza) también dice "él es Bob", y ahora no estoy tan seguro? ¿No es inválido el testimonio de Carlos?
ctrl-alt-delor
4
which means the certificate in general should not be trusted - Entiendo totalmente que un certificado firmado por una parte que no es de confianza no es más confiable, pero ¿por qué debería ser menos confiable que antes?
fnkr
1
La confianza es relativa, no absoluta. Alice y Charles dicen "esto es Bob". Algunos de los usuarios de Bob confían en Alice pero no en Charles. Otros usuarios confían en Charles pero no en Alice.
Andrey Fedorov
1
Mi punto es que su respuesta es incorrecta porque diferentes usuarios pueden confiar en diferentes CA y la entidad que proporciona el certificado puede no saber en quién confía un usuario determinado.
Andrey Fedorov
Lo sentimos, no sé si OpenSSL o X.509 admiten esto, pero te equivocas si crees que esto es un problema con los sistemas de CA en general.
Andrey Fedorov
0

La única manera de aumentar la confianza sería tener su California firmado por un CA de confianza. De esa manera, su CA actuaría como una CA intermedia, de modo que los clientes puedan seguir su cadena de certificados hasta una de las CA pre-confiables, pero sus certificados emitidos todavía se originan desde una raíz común.

Esa es la teoría, al menos, pero hasta donde entiendo, ninguna AC estará dispuesta a hacerlo a menos que les entregues tu PKI. los Wiki de CACert Tiene algunos detalles sobre el problema.

Por lo que parece, no puede hacer que sus clientes instalen una nueva CA de confianza, o que sus certificados de cara al cliente sean emitidos no por su propia CA, sino por algunos de los grandes, de confianza previa, como sugiere Ramhound.

Vucar Timnärakrul
fuente