X.509 pregunta sobre políticas de certificado

9

Le hice otra pregunta sobre las asignaciones de políticas de certificados. Este es un problema diferente. Se trata de Políticas de certificado .

Para citar del RFC X.509:

   In an end entity certificate, these policy information terms indicate
   the policy under which the certificate has been issued and the
   purposes for which the certificate may be used.  In a CA certificate,
   these policy information terms limit the set of policies for
   certification paths that include this certificate.  When a CA does
   not wish to limit the set of policies for certification paths that
   include this certificate, it MAY assert the special policy anyPolicy,
   with a value of { 2 5 29 32 0 }.

Digamos que tenemos la siguiente cadena de certificados X.509:

root CA ---> intermediary CA ---> client cert

¿Parece que el conjunto de políticas que posee cada niño en la cadena siempre será un subconjunto de las políticas de los padres? ¿Es eso correcto?

    
pregunta compcert 10.03.2012 - 23:11
fuente

2 respuestas

5

La idea básica es que una política describe el proceso de certificación en toda la ruta, no solo en el nivel de una CA dada. Dentro de un certificado dado C , la extensión Certificate Policies proporciona el conjunto de políticas a las que se ajusta el proceso que dio como resultado la creación de C .

Durante la validación (consulte la sección 6.1 de RFC 5280 ), el verificador calcula el "árbol de políticas". En los casos simples (consulte a continuación las posibles complicaciones), las hojas de valid_policy_tree al final del procesamiento serán la intersección de los conjuntos de políticas en todos los certificados en la ruta (los pasos "podar el árbol de políticas" son lo que realmente calcula la intersección). En palabras sencillas, el conjunto de políticas que obtendrá al final será el conjunto de políticas que aparecerá en todos los certificados en la ruta. Es bastante lógico: se puede decir que una ruta determinada se ajusta a la política 1.2.3.4.5 solo si todos los certificados en la ruta se emitieron de manera compatible con la política 1.2.3.4.5, una propiedad que los propios certificados publicitan al contener la política 1.2.3.4.5 en su extensión Certificate Policies .

No es obligatorio que cada certificado solo use un subconjunto de los certificados de la CA superior. Esto podría estar mal definido, ya que las rutas pueden fusionarse (una CA dada puede obtener varios certificados de varios über-CA, y podrían contener políticas distintas). El trabajo de intersección se realiza en la validación, cuando se considera una sola ruta. Conceptualmente, no hay ruta hasta la validación.

Posibles complicaciones:

  • Puede haber certificados sin la extensión Certificate Policies .
  • Puede haber asignaciones de políticas, que permiten reemplazar algunas políticas con otras a lo largo de la ruta.
  • Hay una política especial llamada anyPolicy que altera el procesamiento.
  • Hay extensiones que pueden inhibir anyPolicy y / o requieren una política explícita, comenzando con una profundidad de ruta determinada.

Me he encontrado con una gran cantidad de CA que se equivocan con respecto a las políticas; es decir, incluyen en cada certificado una extensión (no crítica) Certificate Policies donde ponen una política única que es específica para esa CA. El resultado final es que, tras la validación, valid_policy_tree está vacío (esto no es fatal, ya que estos certificados no incluyen ninguna extensión que requiera una política explícita). Esto está utilizando la extensión como un tipo de comentario glorificado.

    
respondido por el Thomas Pornin 28.08.2012 - 00:27
fuente
4

Encontré un ejemplo aquí que es mucho más detallado que el texto que está citando:

enlace

Secciones 3.2 y 3.3. Esto pareció particularmente relevante de la Sección 3.3.1 -

  

Al procesar una ruta de certificación, una política de certificado que es      aceptable para la aplicación de certificado debe estar presente en      cada certificado en la ruta, es decir, en certificados CA así como      certificados de entidad final.

Al leerlo, parece que puede que no sean un subconjunto matemáticamente perfecto (los que he visto normalmente están escritos en inglés), pero las políticas de toda la ruta se relacionan cuando una aplicación decide confiar en un final determinado. entidad.

En la práctica, creo que un ejemplo común es hacer que la cadena de CA principal haga referencia a una política dada que sea bastante general, pero luego las CA especializadas y sus certificados de emisión pueden hacer referencia a una política más restrictiva que se ajuste a la generalizada, para una uso especializado.

    
respondido por el bethlakshmi 27.08.2012 - 20:27
fuente

Lea otras preguntas en las etiquetas