¿Cuáles serían las implicaciones de seguridad de usar un certificado de CA directamente como un certificado de servidor?

0

Bueno, imaginemos que el servidor S proporciona un servicio a un conjunto dado de clientes C1 y C2 con autenticación segura basada en certificados (piense en OpenVPN , SSH u otros servicios similares).

  • S podría usar una CA de confianza o crear su propia cuenta para que C1 y C2 sepan que es el verdadero S (lo que hacen OpenVPN , HTTPS , etc.). Esto requiere que el certificado CA se comparta previamente con cada cliente.
  • S podría presentar su certificado a C1 y C2 la primera vez que los clientes se conecten a él y el cliente verificará si este certificado es el esperado (lo que hacen SSH , Syncthing , etc.) .

La cosa es:

  1. Algunos sistemas (* tos * android ... * tos *) simplemente agregan la CA personalizada directamente al almacén de confianza global ( OpenVPN ).
  2. También el formato p12 es bastante conveniente, mientras que pem es terrible para el usuario, pero a menudo no tenemos la opción (¿por qué hay 4 archivos? ¿cuál es la clave de la que hablaba? ¿cuál es el certificado privado? ? ¿Por qué ca.cert no funciona como mi certificado privado? ...).
  3. A los usuarios no les gusta / no se les permite validar / escribir cosas tanto en el servidor como en los clientes para autenticarse entre sí ( Syncthing ).
  4. Sin embargo, no pueden molestarse en comprobar un hash de certificado a fondo ( SSH ).

Una forma (posiblemente terrible) de resolver estos problemas (y crear otros) sería utilizar directamente la clave privada S para firmar los certificados C1 y C2 :

  1. No hay ninguna CA nueva para agregar al almacén de confianza de todo el sistema.
  2. Solo un archivo para manejar en los formatos p12 y pem .
  3. El usuario no tiene que acceder a S .
  4. El usuario no tiene que verificar nada mientras pueda confiar en el certificado firmado que se le entregó (a través de HTTPS / SSH , etc.). NB: este problema de confianza es el mismo cuando tiene que obtener el certificado CA en cada cliente.

Lo que pasa es que no he oído hablar de tal esquema antes. Pienso que se debe principalmente a que no proporciona mejoras sólidas en el esquema basado en CA, pero podría deberse a que el enfoque es defectuoso.

Por lo tanto, ¿hay implicaciones erróneas de seguridad derivadas del uso de este tipo de esquema?

PD: pregunto por curiosidad porque no conozco ningún protocolo que use este esquema, pero parece un poco más simple.

    
pregunta JPatta 02.03.2016 - 12:14
fuente

0 respuestas

Lea otras preguntas en las etiquetas