OCSP y CRL: ¿Se especifican en CA o certificado de cliente?

10

Aquí hay un ejemplo de configuración PKI:

* Root CA (offline)
  * Issuing CA
    * Client 1
    * Client 2

Me gustaría especificar un punto de distribución de CRL para las CRL generadas por la CA raíz y una URL de OCSP para la CA emisora. Por lo tanto, la información sobre los certificados de cliente revocados está disponible solo a través de OCSP. La información sobre una CA Emisora revocada (ojalá nunca se necesita) está disponible solo a través de CRL.

La pregunta es cuál de estas dos formas es la forma correcta de comunicar esta política:

* Root CA (CRL distribution point = http://...)
  * Issuing CA (OCSP = http://...)
    * Client 1
    * Client 2

o

* Root CA
  * Issuing CA (CRL distribution point = http://...)
    * Client 1 (OCSP = http://...)
    * Client 2 (OCSP = http://...)

Básicamente, estoy confundido acerca de quién especifica URI para obtener información de revocación. ¿Está esto especificado en el certificado de la CA, que significa "Soy la CA, y aquí es donde le diré acerca de los certificados que he emitido que ya no son válidos", o esto se especifica en el certificado del cliente, que significa "si este certificado se revoca, aquí es donde lo encontrará? "

He revisado el RFC 5280 y no pude encontrar una respuesta clara a esta pregunta. La mayoría de los ejemplos sugieren que la segunda forma es correcta, pero la primera parece tener más sentido para mí. ¿Cuál es?

Si la segunda forma es correcta, ¿hay alguna razón para especificar también puntos de distribución de CRL en la CA raíz?

    
pregunta VokinLoksar 27.12.2011 - 14:57
fuente

2 respuestas

9

Versión corta: todo el URI debe estar en los certificados de entidad final.

Para OCSP , la ubicación del respondedor de OCSP debe especificarse en una extensión de Acceso de información de autoridad, que se describe en la sección 4.2.2.1 de RFC 5280 :

  

La extensión de acceso a la información de autoridad indica cómo acceder      Información y servicios para el emisor del certificado en el que      aparece la extensión.

El respondedor de OCSP capaz de proporcionar información de revocación en un certificado EE dado es parte de un servicio de la CA, es decir, el emisor del certificado EE. Por lo tanto, el URI debe publicarse como una extensión del certificado de EE, según la oración citada anteriormente.

Para CRL , la función principal de la extensión de Puntos de Distribución de CRL es segregar los certificados en subconjuntos, de modo que la CRL individual pueda tener un alcance limitado y permanecer corto. Este mecanismo funciona al tener el mismo "punto de distribución" que aparece tanto en el certificado EE (como parte de una extensión de Puntos de distribución de CRL) como en la CRL que se aplica a ese certificado (como parte de una extensión de Punto de distribución de emisión) (consulte la sección 4.2. 1.13). Dado que los puntos de distribución contienen "nombres" y los nombres pueden ser URI, es habitual utilizar un URI de este tipo para indicar el lugar desde donde se puede descargar la CRL.

El respondedor OCSP y el URI de descarga de CRL aparecen en el certificado de destino (aquel cuyo estado de revocación se debe verificar) tiene sentido: los servidores correspondientes están bajo el control de la CA emisora, por lo que la CA elige el URI, y solo se puede establecer en certificados cuyo contenido está bajo el control de la CA. La CA no puede elegir arbitrariamente el contenido de su propio certificado: ese certificado es emitido por una CA superior (aquí, la "CA raíz"). Por lo tanto, la CA mete su URI en el certificado que emite a sí misma (los certificados de entidad final).

    
respondido por el Thomas Pornin 28.12.2011 - 14:44
fuente
1

Esta es una buena pregunta porque la especificación es vaga en esto.

Nuestro código de validación asume que el certificado de entidad final contiene direcciones OCSP y CRL, que se utiliza para validar este certificado. Es decir. Asumimos algo como

  
  • raíz CA
    • CA emisora   
      • Cliente 1 (punto de distribución de CRL = http: // ..., OCSP = http: // ...)
      •   
      • Cliente 2 (OCSP = http: // ...)
      •   
      • Cliente 3 (punto de distribución de CRL = http: // ...)
      •   
    •   
  •   
    
respondido por el Eugene Mayevski 'Allied Bits 28.12.2011 - 09:26
fuente

Lea otras preguntas en las etiquetas