Domanda sulle politiche dei certificati X.509

9

Ho fatto un'altra domanda sui mapping dei criteri dei certificati. Questo è un problema diverso. Si tratta di Norme sui certificati .

Per citare l'X.509 RFC:

   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 }.

Quindi diciamo che abbiamo la seguente catena di certificati X.509:

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

Sembra che l'insieme delle politiche possedute da ciascun bambino nella catena sarà sempre un sottoinsieme delle politiche dei genitori? È corretto?

    
posta compcert 10.03.2012 - 23:11
fonte

2 risposte

5

L'idea di base è che una politica descriva il processo di certificazione sull'intero percorso, non solo a livello di una determinata CA. All'interno di un determinato certificato C , l'estensione Certificate Policies fornisce l'insieme di politiche a cui il processo che ha portato alla creazione di C è conforme.

Durante la convalida (vedere la sezione 6.1 di RFC 5280 ), il verificatore calcola la "struttura dei criteri". In casi semplici (vedi sotto per possibili complicazioni), le foglie di valid_policy_tree alla fine dell'elaborazione saranno l'intersezione degli insiemi di politiche in tutti i certificati nel percorso (i passaggi "sfoltisci l'albero dei criteri" sono ciò che realmente calcola l'intersezione). In parole semplici, l'insieme di criteri che si ottiene alla fine sarà l'insieme di criteri visualizzati in tutti i certificati nel percorso. È abbastanza logico: si può dire che un determinato percorso è conforme alla politica 1.2.3.4.5 solo se tutti i certificati nel percorso sono stati rilasciati in modo compatibile con la politica 1.2.3.4.5, una proprietà che i certificati stessi pubblicizzano contenendo la politica 1.2.3.4.5 nella loro estensione Certificate Policies .

Non è richiesto che ogni certificato utilizzi solo un sottoinsieme dei certificati dalla CA superiore. Ciò sarebbe mal definito, poiché i percorsi potrebbero unirsi (una determinata CA potrebbe ottenere diversi certificati da diversi über-CA e potrebbero contenere politiche distinte). Il lavoro di intersezione viene eseguito alla convalida, quando viene considerato un singolo percorso. Concettualmente, non esiste un percorso fino alla convalida.

Possibili complicazioni:

  • Ci possono essere certificati senza l'estensione Certificate Policies .
  • Possono esistere associazioni di criteri che consentono di sostituire alcune politiche con altre lungo il percorso.
  • Esiste una politica speciale chiamata anyPolicy che modifica l'elaborazione.
  • Sono presenti estensioni che possono inibire anyPolicy e / o richiedono una politica esplicita, a partire da una profondità di percorso specificata.

Ho incontrato un gran numero di CA che sbagliano riguardo alle politiche; cioè, includono in ogni certificato un'estensione (non critica) Certificate Policies in cui mettono un criterio univoco che è specifico per quella CA. Il risultato finale è che, al momento della convalida, valid_policy_tree è vuoto (questo non è fatale, poiché questi certificati non includono alcuna estensione che richiede una politica esplicita). Questo sta usando l'estensione come una sorta di commento glorificato.

    
risposta data 28.08.2012 - 00:27
fonte
4

Ho trovato un esempio qui che è molto più dettagliato del testo da cui stai citando:

link

Sezione 3.2 e 3.3. Questo sembrava particolarmente rilevante dalla Sezione 3.3.1 -

When processing a certification path, a certificate policy that is acceptable to the certificate-using application must be present in every certificate in the path, i.e., in CA-certificates as well as end entity certificates.

Leggendolo, sembra che potrebbero non essere un sottoinsieme matematicamente perfetto (quelli che ho visto sono solitamente scritti in inglese, comunque), ma le politiche dell'intero percorso si riferiscono quando un'applicazione sceglie di fidarsi di un dato fine entità.

In pratica, credo che un esempio comune sia quello di fare riferimento alla catena CA principale di una determinata politica che è abbastanza generale, ma le CA specializzate ei relativi certificati di certificati possono fare riferimento a una politica più restrittiva che si adatta a quella generalizzata, per un utilizzo specializzato.

    
risposta data 27.08.2012 - 20:27
fonte