x.509 verificación de firmas de la cadena de certificados

1

Una vez que una aplicación cliente descarga un archivo de certificado de hoja de alguna entidad, emitido por una CA, ¿cómo funciona la verificación de las firmas del certificado?

Específicamente, no tengo claro si una firma de certificados de hoja solo está validada mediante cifrado por esa clave pública de los certificados de hoja (la que está incrustada en el certificado), o si de alguna manera está involucrado el certificado de la CA principal. en esa firma descifrar / verificar el proceso.

Después de que se verifique el certificado de hoja, y la aplicación se mueva hacia arriba en la cadena emisora hacia el certificado de CA intermedio, en la verificación de la firma de ese CA intermedio, ¿está la clave pública de los certificados raíz involucrada de alguna manera? ¿O la aplicación solo necesita la clave pública de la CA intermedia para verificar la firma del intermedio?

    
pregunta deepblue 18.05.2018 - 18:48
fuente

1 respuesta

0

La página de wikipedia Cadena de confianza tiene una buena imagen que explica esto:

Enpalabras:

  • Elactodeuna"Autoridad emisora de certificados" de "emitir" un certificado es utilizar su clave privada para firmar el nuevo certificado. Esta es una declaración de que "Yo, la AC, prometo que la información en este certificado es precisa y válida". Si confía en la clave pública de la AC, entonces puede confiar en cualquier cosa que haya firmado.
  • La CA raíz firma la CA intermedia, que firma los certificados de entidad final.
  • Esto hace una "cadena" porque si confía en la clave pública de la CA raíz, entonces puede verificar la firma en la CA intermedia. Ahora confías en la CA intermedia. A continuación, puede comprobar la firma en la entidad final. Ahora confías en la entidad final.

Los certificados raíz son una excepción rara a la anterior porque están firmados por la misma clave que está en el certificado (también conocido como "autofirmado"). Eso significa que no hay una forma de software puro para verificar si debe confiar en él o no; necesita algún humano, generalmente el proveedor de su aplicación o sistema operativo, para decidir en qué certificados raíz se debe confiar. Esta lista de "raíces confiables" generalmente se envía dentro de su aplicación o sistema operativo.

En la práctica, la validación de certificados va en la otra dirección:

  • Tengo un certificado de entidad final. ¿Quién lo firmó? ¿Ya confío en ellos?
  • Oh, está firmado por un CA. ¿Está esta CA en mi lista de "raíces confiables"?
  • Si es así, hemos terminado (éxito de validación del certificado)
  • Si no, ¿quién firmó este certificado de CA? ¿Ya confío en ellos?
  • y así sucesivamente hasta que llegue a una raíz confiable (éxito de validación del certificado), o toque un certificado autofirmado que no esté en su lista de "raíces confiables" (error de validación del certificado).
respondido por el Mike Ounsworth 18.05.2018 - 19:04
fuente

Lea otras preguntas en las etiquetas