¿Cuándo debo crear y usar mi propia CA?

1

Le eché un vistazo a un tutorial de Docker en el que se explica cómo crear y utilizar nuestra propia CA para cifrar la comunicación entre el cliente de Docker y el demonio, e inmediatamente un par de preguntas vinieron a mi mente: por qué ¿No siempre utiliza un certificado de CA creado por nosotros mismos (por ejemplo, para https)? y ¿cuándo deberíamos usar nuestro propio certificado de CA y cuándo no?

    
pregunta Franzech Domâs 30.06.2016 - 23:29
fuente

2 respuestas

5

En el contexto de ssl / tls, el trabajo principal de CA es garantizar al cliente que el servidor al que está conectado es el servidor al que el cliente desea conectarse. En algunos casos, también se puede utilizar para verificar otras cosas.

Comprender esto y comprender a sus clientes es clave para comprender cuándo debe crear su propia CA. Necesitan hacerse algunas preguntas.

  1. ¿Sus clientes usarán software genérico o usarán el software que usted proporciona?
  2. Si es un software genérico, ¿espera utilizar una lista predeterminada de CA de sistema o espera que se configure una CA explícita?
  3. ¿Estarán sus clientes en las máquinas que administra?

Una vez que haga esto, puede evaluar las ventajas y desventajas de usar el sistema público de CA o una CA privada en su contexto particular.

A menudo tendrás pocas opciones. Tome un sitio web público, por ejemplo, sus clientes están usando software genérico, en máquinas que no controla y de las que no estarán preparados para realizar una configuración especial para su sitio. Básicamente, no tiene más remedio que utilizar una CA pública ampliamente reconocida.

En el otro extremo toma algo como openvpn. Espera que usted utilice su propia CA privada como medio de identificación y control de acceso. Tratar de usarlo con una CA pública simplemente no funcionaría razonablemente.

Un término medio podría ser un sitio web solo para uso interno. El uso de su propia CA aquí aportaría ventajas, podría emitir certificados para nombres de host solo internos y no dependería de ninguna parte externa para emitir certificados. Sin embargo, también traería desventajas, tendría que instalar su propia raíz en los principales almacenes raíz de confianza en los clientes. Obtener su certificado raíz en los almacenes raíz de confianza de los clientes puede ser una molestia si tiene máquinas no administradas. Tener su certificado en las tiendas raíz de confianza también significaría que podría usarse para ataques MITM en sus clientes, por lo que deberá mantener los certificados de raíz (e intermedios si corresponde) bajo un control muy cercano.

O pasar al lado del desarrollo de software, considere un programa con un sistema de actualización automática que se basa en tls para la seguridad (no es un diseño que recomendaría). Si utiliza una CA pública en el servidor y la lista de CA predeterminadas de los sistemas operativos en el cliente, cualquier persona que pueda persuadir a una CA pública para que les otorgue un certificado para su dominio puede MITM sus actualizaciones. Por otro lado, con un CA privado, el atacante tendría que comprometer su infraestructura de certificación interna.

    
respondido por el Peter Green 01.07.2016 - 01:09
fuente
0

Un CA es un certificate authority que significa un tercero que certifica su identidad.

Es posible utilizar certificados autofirmados para el cifrado, pero no permite certificar que el certificado proviene de la máquina adecuada (autorizada). Cualquiera podría configurar un certificado autofirmado para su nombre de dominio.

Si realmente quisiera crear su propio CA para firmar sus propios certificados, podría, pero no tendría ninguna credibilidad y requeriría que todos los navegadores importen el certificado manualmente.

    
respondido por el Julie Pelletier 30.06.2016 - 23:50
fuente

Lea otras preguntas en las etiquetas