mecanismos de distribución para CRLs

2

De la X.509 RFC :

DistributionPoint ::= SEQUENCE {
     distributionPoint       [0]     DistributionPointName OPTIONAL,
     reasons                 [1]     ReasonFlags OPTIONAL,
     cRLIssuer               [2]     GeneralNames OPTIONAL }

DistributionPointName ::= CHOICE {
     fullName                [0]     GeneralNames,
     nameRelativeToCRLIssuer [1]     RelativeDistinguishedName }

GeneralNames ::= SEQUENCE SIZE (1..MAX) OF GeneralName

GeneralName ::= CHOICE {
     otherName                       [0]     AnotherName,
     rfc822Name                      [1]     IA5String,
     dNSName                         [2]     IA5String,
     x400Address                     [3]     ORAddress,
     directoryName                   [4]     Name,
     ediPartyName                    [5]     EDIPartyName,
     uniformResourceIdentifier       [6]     IA5String,
     iPAddress                       [7]     OCTET STRING,
     registeredID                    [8]     OBJECT IDENTIFIER }

También ....

   If the DistributionPointName contains multiple values, each name
   describes a different mechanism to obtain the same CRL.  For example,
   the same CRL could be available for retrieval through both LDAP and
   HTTP.

Mi pregunta es ... ¿cómo funcionan los mecanismos de distribución para cada uno de ellos? rfc822Nombre es correo electrónico, creo, entonces, ¿qué se supone que debes hacer? ¿Desea disparar la dirección de correo electrónico especificada por ese correo electrónico y esperar que responda automáticamente con la CRL?

dNSName es para nombres de dominio, ¿qué haces allí? Solicite el registro TXT para www.dominio.tld? ¿Y qué pasa con ipAddress? ¿Se supone que debo usar un protocolo particular para obtener el CRL?

No tengo idea de lo que se supone que deben ser x400Address, ediPartyName o registeredID ...

Supongo que directoryName se supone que es otro DN, pero no estoy realmente seguro de cómo eso te dice cómo obtener el CRL. ¿Tal vez se supone que debe encontrar una CA cuyo tema coincida con el nombre del directorio del punto de distribución de CRL de los certificados y ver si contiene un URI (o una dirección de correo electrónico o cualquier otra cosa)?

    
pregunta neubert 11.11.2012 - 21:20
fuente

1 respuesta

4

En la práctica , el software que puede admitir es uniformResourceIdentifier . La extensión luego contiene un URI que apunta a la CRL. http:// y ldap:// URL son bastante comunes; https:// La URL para la descarga de CRL plantea problemas interesantes ya que el certificado del servidor también debe validarse (por lo que, en la práctica, no funciona bien o no funciona).

En situaciones donde las máquinas tienen un servidor LDAP "natural" con el que hablar (por ejemplo, sistemas Windows en un bosque de Active Directory), posiblemente se pueda manejar un directoryName automáticamente, mirando lo que existe en el servidor LDAP bajo ese nombre . Sin embargo, no lo he visto trabajar en la naturaleza.

Para los otros tipos de nombre, bueno, algunos tienen poco sentido (por ejemplo, dNSName ) o implicarían intervención humana ( rfc822Name ). La raíz del problema es que GeneralName es una estructura realmente genérica que se usa en muchos lugares, y no hay garantía de que algún valor específico de GeneralName tenga sentido cuando se emplea en un contexto específico, por ejemplo. como parte de un punto de distribución de CRL.

Si está escribiendo un validador genérico y solo maneja http:// URI para la descarga de CRL, entonces ya habrá hecho mejor que la mayoría (¡la mayoría de las implementaciones de X.509 no comprueban la revocación en absoluto!). Si también respalda ldap:// URI, entonces podría aplicarse el término "lujo". En realidad, lo único razonable que puedes hacer con los otros tipos de nombre es ignorarlos por completo.

Eso es para descargar CRL pero los puntos de distribución de CRL tienen otro uso, que es segmentación . Esto es lo que sucede cuando la extensión de los puntos de distribución CRL es crítica. En ese caso, debe hacer coincidir el nombre del punto de distribución con la extensión del Punto de distribución de emisión en la CRL (independientemente de cómo haya obtenido dicha CRL). La segmentación es una forma para que CA emita una CRL más pequeña, que cubre solo un subconjunto de los certificados que emitieron. Para saber si está utilizando la CRL correcta, debe hacer coincidir los nombres entre el certificado y la CRL. Para eso, podría ser necesario manejar los otros tipos de nombres. Sin embargo, no se trata de interpretar estos nombres, sino solo de las pruebas de igualdad.

    
respondido por el Thomas Pornin 11.11.2012 - 21:53
fuente