meccanismi di distribuzione per CRL

2

Dal RFC X.509 :

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 }

Anche ....

   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.

La mia domanda è ... come funzionano i meccanismi di distribuzione per ognuno di essi? rfc822Name è e-mail, penso, quindi cosa dovresti fare? Spara all'indirizzo e-mail specificato da quell'email e ti aspetti di rispondere automaticamente con il CRL?

dNSName è per i nomi di dominio, quindi cosa fai lì? Richiedi il record TXT per www.domain.tld? E che dire di ipAddress? Dovrei usare un particolare protocollo per ottenere il CRL?

Non ho idea di cosa debbano essere x400Address, ediPartyName o ID registrati ..

Suppongo che DirectoryName debba essere un altro DN, ma non sono sicuro di come questo indichi come ottenere il CRL. Forse dovresti trovare una CA il cui soggetto corrisponda al nome della directory del punto di distribuzione CRL dei certificati e vedere se contiene un URI (o indirizzo email o altro)?

    
posta neubert 11.11.2012 - 21:20
fonte

1 risposta

4

In pratica , ciò che il software può supportare è uniformResourceIdentifier . L'estensione quindi contiene un URI che punta al CRL. http:// e ldap:// URL sono piuttosto comuni; https:// URL per il download di CRL genera problemi interessanti dal momento che anche il certificato del server deve essere validato (quindi, in pratica, non funziona bene, o affatto).

Nelle situazioni in cui le macchine hanno un server LDAP "naturale" con cui parlare (ad es. i sistemi Windows in una foresta di Active Directory), un directoryName può essere gestito automaticamente, osservando ciò che esiste nel server LDAP con quel nome . Però non l'ho visto funzionare in natura.

Per gli altri tipi di nome, beh, alcuni hanno poco senso (ad esempio dNSName ) o implicherebbero l'intervento umano ( rfc822Name ). La radice del problema è che GeneralName è una struttura veramente generica che viene utilizzata in molti posti, e non vi è alcuna garanzia che qualsiasi valore specifico di GeneralName abbia senso quando impiegato in un contesto specifico, ad es. come parte di un punto di distribuzione CRL.

Se stai scrivendo un validatore generico e gestisci solo http:// URI per il download CRL, avrai già fatto meglio della maggior parte (la maggior parte delle implementazioni di X.509 non controllano affatto la revoca!). Se supporti anche l'URI ldap:// , potrebbe essere applicato il termine "lusso". Realisticamente, l'unica cosa ragionevole che puoi fare con gli altri tipi di nome è ignorarli completamente.

Questo è il download CRL ma i punti di distribuzione CRL hanno un altro uso, che è segmentazione . Questo è ciò che accade quando l'estensione dei punti di distribuzione CRL è critica. In tal caso, è necessario abbinare il nome del punto di distribuzione con l'estensione del punto di distribuzione dell'emissione nel CRL (indipendentemente da come è stato ottenuto detto CRL). La segmentazione è un modo per CA di emettere un CRL più piccolo, che copre solo un sottoinsieme dei certificati rilasciati. Per sapere se stai utilizzando il CRL giusto, devi abbinare i nomi tra il certificato e il CRL. Per questo, potrebbe essere necessario gestire gli altri tipi di nome. Tuttavia, non si tratta di interpretare questi nomi, ma solo dei test di uguaglianza.

    
risposta data 11.11.2012 - 21:53
fonte