Verificación de certificados de cliente

1

He leído muchos artículos sobre certificados de clientes. Por favor, corrígeme si me equivoco:

  1. los certificados de cliente se emiten utilizando CA
  2. CA podría ser creada por mí mismo (autofirmada) o comprada
  3. el certificado del cliente tiene un par de clave pública \ privada y firma creadas usando la clave privada de CA
  4. el cliente debe tener instalado solo el certificado de cliente
  5. el servidor debe tener una CA instalada para validar la firma del certificado del cliente usando una clave pública CA

Pregunta : ¿cuál es la diferencia entre una CA comprada y una CA autofirmada? Porque, según tengo entendido, en ambos casos necesito instalar CA en el servidor para validar los certificados de los clientes.

    
pregunta mtkachenko 11.12.2015 - 11:37
fuente

2 respuestas

3

Permítame abordar su pregunta de raíz (intencionalmente):

  

Pregunta: ¿Cuál es la diferencia entre una CA comprada y una CA autofirmada? Porque, según tengo entendido, en ambos casos necesito instalar CA en el servidor para validar los certificados de los clientes.

Fondo

Para responder a esto, asegurémonos de que entendemos qué es un certificado. Cuando tiene un par de clave pública / clave privada, puede proporcionar la clave pública a quien quiera, es pública, pero ¿cómo sabrá la gente que en realidad es su clave pública su ? Imagine este escenario: Alice le envía su clave pública a Bob, pero Charlie intercepta el mensaje y reemplaza la clave pública de Alice con la suya. Bob no tiene forma de saber que las claves públicas fueron cambiadas porque todo lo que ve es una clave pública. Ahora Bob cree que tiene una conexión segura con Alice, cuando en realidad tiene una conexión segura con Charlie, que pretende ser Alice.

Certificados resuelve este problema de saber de quién es la clave pública. El proceso es que me pondré en contacto con una empresa de Autoridad de certificación y les demostraré que soy quien digo que soy (exactamente cómo quieren que pruebes que esto se responde en esta pregunta ). Luego, puedo enviarles mi clave pública y la incluirán en un certificado, que contiene la clave pública y un montón de información sobre quién soy. La CA firmará el certificado para decir "Certificamos que esta clave pública pertenece a esta persona" y que no se pueden modificar los datos del certificado. Ahora tengo un documento "oficial" que prueba que esta clave pública me pertenece. Ahora no hay forma de que Charlie pretenda ser Alice.

En la mayoría de los casos, no solicitará un certificado para usted como persona, sino para un servidor específico dentro de su empresa o, en su caso, clientes, pero la idea es la misma.

Responder

Tiene 2 formas de convertir su clave pública en un certificado:

  1. Puede enviarlo a una de las CA raíz de confianza pública de Internet (Digicert, Verisign, GoDaddy, letsencrypt, etc.) que le emitirá un certificado (por un costo),

  2. O puede crear su propia CA autofirmada y emitirse un certificado.

La única diferencia real entre los dos se reduce a la confianza pública; Si paga a una de las raíces públicas para certificar su clave pública, entonces todas las computadoras en Internet confiarán automáticamente en que su certificado sea genuino y auténtico porque confían en la reputación de la AC. Cero trabajo extra para ti.

Si creas tu propia CA autofirmada, cada computadora dirá "¿qué es esto y por qué debería confiar?" (recuerde que Charlie puede crear fácilmente su propia CA y crear un certificado con el nombre de Alice's adjunto a la clave pública de Charlie's ). Por lo tanto, tendrá que ir manualmente a cada computadora que necesite validar uno de estos certificados y decirle que confíe en su CA autofirmada agregando el certificado raíz autofirmado a la "Tienda de Autoridades de Certificación de Raíces de Confianza" de esa computadora.

Asesoramiento

Hacer tu propia CA raíz autofirmada no es necesariamente malo, depende de lo que estés tratando de hacer. En muchos casos, el hecho de que sus certificados sean de confianza pública en toda Internet no agrega nada. Por ejemplo, en un sistema de identificación corporativa para ingresar al edificio; a quién le importa si esas credenciales de identificación son de confianza pública o no, solo le importa si el escáner de la puerta las reconoce. O certificados de clientes en dispositivos integrados; los dispositivos deberán autenticarse en un servidor para recibir actualizaciones de firmware, solo ese servidor necesitará validar los certificados.

Si su caso de uso es uno de estos casos de uso de "sistema cerrado", entonces, por supuesto, use su propia CA autofirmada.

    
respondido por el Mike Ounsworth 11.12.2015 - 14:56
fuente
1

CA significa Autoridad de certificación y es diferente de un Certificado. sus Clientes presentarán Certificados y no CA.

su servidor debe poder verificar el certificado del cliente independientemente de si utiliza el certificado de cliente autofirmado o si utiliza el certificado de cliente "comprado". Para realizar esa verificación, su servidor debe contener el certificado raíz de la CA.

Si utiliza certificados autofirmados para sus clientes, debe crear el certificado raíz e instalarlo en el servidor.

Si compra Certificados para clientes, es posible que los Certificados raíz correspondientes para estos clientes ya estén disponibles en el Almacén de claves de su servidor. Debe instalarlos de otra manera.

También hay enlace que proporciona certificados "comprados" de forma gratuita.

    
respondido por el JOW 11.12.2015 - 12:19
fuente

Lea otras preguntas en las etiquetas