Confusión acerca de confiar en las cadenas de certificados

1

Suponga que tiene un par de cliente / servidor que desea configurar una conexión segura utilizando certificados X509 v3 y criptografía asimétrica.

El cliente envía una cadena de certificados (por ejemplo, CA raíz: C1 , CA intermedia: C2 y certificado de cliente: C3 ) y el servidor tiene que validar la cadena (y luego, por supuesto, viceversa).

Hasta esta mañana, mi entendimiento fue que el servidor necesita conocer (al menos) C1 y tenerlo en un almacén de confianza, la idea es que la CA raíz es la entidad en la que todas las partes participantes están dispuestas a confiar.

Después de encontrar ejemplos en los que esto se maneja de manera diferente, ahora estoy confundido y tengo algunas dudas.

En un ejemplo, encontré que el servidor solo tenía C3 (o solo C2) en su almacén de confianza y estaba felizmente aceptando la solicitud de conexión que contiene el resto de la cadena (en realidad toda la cadena) del cliente.

Así que me gustaría saber si este es un enfoque que

  1. ¿Se puede considerar seguro?
  2. ¿está de acuerdo con las normas relevantes?

(Por supuesto que entiendo que depende, en cierta medida, de la administración del servidor decidir qué partes son confiables. La pregunta apunta a un desarrollador que debe implementar la validación).

    
pregunta Thomas 12.08.2016 - 10:32
fuente

1 respuesta

2

De la RFC 5280 :

  

Un usuario de un servicio de seguridad que requiere el conocimiento de una clave pública generalmente necesita obtener y validar un certificado que contenga la clave pública requerida. Si el usuario de la clave pública aún no tiene una copia asegurada de la clave pública de la CA que firmó el certificado, el nombre de la CA e información relacionada (como el período de validez o las restricciones de nombre), es posible que necesite un certificado adicional para Obtener esa clave pública. En general, puede ser necesaria una cadena de certificados múltiples ...

El servidor (de su pregunta) valida la copia de " un certificado que contiene la clave pública requerida " al verificar su almacén de confianza. Si C3 está en el almacén de confianza, no hay necesidad de verificar nada más. Si no, sigue adelante.

Observe la posible forma en el RFC: " podría necesitar ", " podría ser necesario ". No es necesario verificar la ruta completa si ya confía en un certificado.

Consulte también esta respuesta que describe la diferencia entre X.509 y TLS.

    
respondido por el techraf 12.08.2016 - 10:45
fuente

Lea otras preguntas en las etiquetas