¿Qué debe verificar un cliente después de obtener un certificado de cliente?

1

Tengo un cliente que genera un csr, lo envía a un servidor, el servidor lo firma y devuelve el certificado como una cadena. la cadena se decodifica a un certificado x509 (utilizando el PEMParser de Bouncycastle) que luego se importa al almacén de claves del cliente.

Las preguntas son:

  1. ¿Debo verificar / validar algo antes de importar el certificado de cliente dado? ¿Ya sea como String (codificación? Pre / postfix?) O como certificado? Supongo que puedo verificar que el certificado realmente se originó en mi csr (de mi clave pública). No estoy seguro de poder validar que la autoridad de firma es de mi confianza (creo que no es necesariamente el caso si se utiliza una CA diferente para firmar los certificados del cliente y los clientes no la confían necesariamente).

  2. ¿Qué riesgo estoy presentando al no verificar / validar nada en él? No puedo pensar en ningún ataque.

¡Gracias!

    
pregunta yair 14.07.2014 - 13:03
fuente

1 respuesta

2

Técnicamente tu certificado no es para ti. Tienes un certificado para poder mostrarlo a otras personas ; Está destinado a convencerlos, no a usted. No necesariamente confías en tu propio certificado.

Como medida de seguridad contra los errores, es posible que desee verificar que la clave pública en el certificado coincida con su clave privada: si la entidad emisora de certificados ha fallado (mal) y le envió el certificado incorrecto, entonces querrá saberlo antes para que Puede quejarse y comenzar de nuevo el procedimiento. De manera similar, CA a menudo envía certificados de vuelta con una cadena, es decir, todas las CA intermedias que normalmente se usan para validar el certificado. Dado que un formato muy común para eso es PKCS # 7, en el que el certificado no está ordenado, su código debe asegurarse de que importa el certificado correcto en el grupo.

El poder del atacante en tal proceso es el de la molestia: dependiendo de los canales de comunicación entre usted y la AC, podría reemplazar su certificado con bytes basura, u otro certificado con un nombre o clave pública diferente. Dicho certificado no sería válido y conduciría simplemente a que las cosas no funcionen. En términos generales, usted quiere diagnosticar estas ocurrencias temprano.

    
respondido por el Thomas Pornin 14.07.2014 - 13:29
fuente

Lea otras preguntas en las etiquetas