X.509 pregunta de asignación de política de certificado

3

Así que estoy un poco confundido sobre el funcionamiento de asignaciones de políticas de certificados X.509 . Así que digamos que lo siguiente describe mi cadena de certificados:

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

¿La CA raíz tendría una asignación de políticas? Si es así, ¿cómo podría haber un subjectDomainPolicy? Si el subjectDomainPolicy debe coincidir con los certificados de origen de los emisoresDomainPolicy y el certificado en cuestión es el certificado de nivel superior en la jerarquía, ¿cómo puede subjectDomainPolicy coincidir con cualquier cosa? Y si no puede igualar nada, ¿qué debería ser?

Desde el RFC X.509:

   In general, certificate policies that appear in the
   issuerDomainPolicy field of the policy mappings extension are not
   considered acceptable policies for inclusion in subsequent
   certificates in the certification path.

¿Cómo podría ser eso? Si la CA raíz, en el diagrama anterior, tiene una política de dominio de emisor, eso significa que la política de la CA intermediaria debería ser la misma, ¿no?

    
pregunta compcert 10.03.2012 - 21:45
fuente

1 respuesta

5

La idea detrás de las políticas de certificado es que una política se aplica al proceso de certificación completo, desde la raíz hasta la entidad final, y esto se refleja en el certificado al incluir el OID de la política en all the Certificados en la cadena. Las políticas son "verticales". Se supone que un validador (alguien que valida la cadena de certificados) tiene en su almacén de confianza la definición de políticas aceptables, por cada raíz. Para visualizar esto en palabras simples: una entrada típica de un almacén de confianza debería ser algo como "Confío en esto CA (nombre + clave pública) para verificar los certificados que cumplen con la política 1.2.3.4". Si la política 1.2.3.4 no aparece en todos los certificados de la cadena, el validador rechazará la cadena.

Sin embargo, en PKI jerárquica como lo que admite X.509, es común tener aislamiento horizontal: las entidades que controlan CA y sub-CA operan en distintos niveles y cada nivel tiene sus propios requisitos y convenciones. Por lo tanto, se ha incluido un mecanismo para tratar tales cambios basados en niveles, y esa es la asignación de certificados . Cuando aparece un mapeo "1.2.3.4 a 1.5.6.7" en un certificado de CA en algún lugar de la cadena, significa "lo que se conoció como política 1.2.3.4 en los niveles superiores, se llama 1.5.6.7 desde este punto hacia abajo". Nuestro validador, que inicialmente requiere la política 1.2.3.4, toma nota de que lo que ahora debe buscar en los certificados posteriores es 1.5.6.7.

Este proceso se hace más complejo por las siguientes características:

  • Puede asignar un OID a varios OID.
  • Hay un OID especial llamado "anyPolicy" que es un comodín: coincide con todas las políticas.
  • Cada certificado en la cadena puede prohibir la política any, o requerir una política explícita desde algún punto de la ruta.
  • Una gran cantidad de CA ampliamente implementadas se equivocan por completo y usan las políticas como un tipo de comentario (en particular, le otorgan a cada CA una única OID de política específica de CA, que la CA incluye en su certificado, sin ningún tipo de asignación).

Entonces, la triste situación es que las políticas de certificados, como se implementan actualmente, no funcionan como se pretendía. Los almacenes de Trust solo contienen CA raíz sin ningún conjunto de políticas (es decir, se aceptan todas las políticas para las rutas que comienzan con estas raíces y no se requiere una política explícita: el "árbol de políticas" puede estar vacío).

Root CA en sí mismos no contienen asignaciones de políticas. No son certificados reales. Una CA raíz, conocida en el estándar como ancla de confianza , es la a a priori conocimiento de un nombre y clave pública asociada. Una tradición generalizada es codificar la CA raíz como certificados, a menudo autofirmados (porque hay un campo de "firma" no opcional en un certificado). El formato del certificado es simplemente conveniente para eso. Sin embargo, los certificados pueden contener muchas características (en particular muchas extensiones) que no tienen sentido para la CA raíz; las asignaciones de políticas son tales características.

    
respondido por el Thomas Pornin 04.12.2012 - 01:38
fuente

Lea otras preguntas en las etiquetas