I certificati revocati possono essere "persi" se il CRL di base viene aggiornato prima della scadenza?

1

Assunzione

Supponiamo che abbia una CA che emette una base e un CRL più recente. Capisco anche che il CRL più recente sia un Delta dei certificati revocati nella base. Capisco anche che i clienti debbano tirare il CRL delta / più fresco su una base più frequente (quanto frequente) rispetto al CRL di base. Se ciò non è corretto, la domanda non è valida.

Scenario

Quando guardo un CRL delta, non sembrano esserci informazioni che lo colleghino a Freshest CRL a una base specifica.

Dato che le informazioni, se un CRL di base viene riemesso (e vengono aggiunti nuovi certificati revocati) e il CRL più recente viene "ripristinato", dal punto di vista di un client di convalida, non sembra essere un modo per sapere che il CRL di base è stato aggiornato.

Questo, a mio avviso, fa sì che i clienti perdano i certificati revocati.

Domanda

Se riemetto il CRL di base in anticipo (in Microsoft CA lingo certutil -crl ), qualsiasi client che ancora utilizza il vecchio CRL mancherà le revoche che si aspetta nel delta. Questo errore si verificherebbe fino al prossimo aggiornamento, quando il CRL di base viene ridistribuito.

È uno scenario valido? Mi sto perdendo qualcosa? C'è una mitigazione?

    
posta random65537 26.02.2015 - 20:26
fonte

2 risposte

3

Base e delta CRL sono collegati tra loro tramite il numero CRL . Il "numero CRL" è un numero intero monotonicamente crescente che, grosso modo, caratterizza l'età delle informazioni contenute nel CRL.

Dal punto di vista del validatore (il "client"), un CRL delta non può mai essere usato da solo, ma solo in combinazione con un CRL di base, soggetto alle condizioni elencate in sezione 5.2.4 . In sostanza:

  • Un CRL non delta contiene un numero b nell'estensione del numero CRL.
  • Un delta CRL contiene un numero d nella sua estensione CRL e un "numero CRL di base" e nella sua estensione Delta CRL Indicator .
  • Il delta e il delta CRL possono essere combinati solo se d > b e .

In termini semplici, il delta CRL contiene tutte le informazioni sulle revoche avvenute prima dell'istanza d e dopo l'istante e . Pertanto, il delta può essere combinato con il CRL non-delta solo se il non-delta contiene informazioni che risalgono da qualche momento all'interno di tale intervallo; in caso contrario, alcune revoche potrebbero non essere disponibili.

(La combinazione è considerata equivalente a un CRL completo dall'istante d , e può essere usata come "base CRL" per l'ulteriore unione CRL delta, in modo ricorsivo.)

Un punto importante da comprendere è che la revoca è, nominalmente, un viaggio di sola andata: i certificati non possono essere "non revocati". Quindi, se un CRL specifica che un determinato certificato è stato revocato, anche l'ulteriore CRL dalla stessa fonte lo indicherà certificato come revocato (fino alla scadenza del certificato). (Esiste uno speciale codice di motivazione di revoca che viene chiamato "rimuovi da CRL" e tenta di funzionare come una forma di annullamento, ma in pratica non funziona bene.)

L' estensione CRL più recente , se presente, notifica al cliente l'esistenza e la posizione di delta CRL che può essere usato per "rinfrescare" un CRL a (presumibilmente) a basso costo (dal momento che Delta CRL deve essere breve). Tale estensione può apparire in un certificato o in un CRL di base. Quando tale estensione è presente, alcune implementazioni insisteranno sull'ottenimento di un CRL delta che può essere combinato con un CRL di base (soggetto alle regole illustrate sopra) e rifiuterà il certificato se ottengono solo un CRL completo.

Il PKI (Active Directory Certificate Services) di Microsoft, quando configurato per produrre delta CRL, emetterà sistematicamente un CRL delta vuoto nuovo quando emette un CRL non delta, mantenendo così la proprietà rispetto a quando esiste un CRL non delta, è anche disponibile un delta CRL formalmente più recente (più alto "numero CRL"). I clienti che ricevono un "CRL di base aggiornato" rifiuteranno di combinarlo con un CRL delta precedente, ma scaricheranno il nuovo delta CRL.

    
risposta data 26.02.2015 - 20:48
fonte
1

In realtà Base CRL avrà il prossimo tempo di aggiornamento per ogni emissione. Pertanto, il client che verifica il CRL convaliderà prima la firma e quindi il prossimo CRL dell'aggiornamento. Nel tuo caso, se il client utilizza il vecchio CRL, mancherà le nuove voci CRL. ma per questo scenario, il cliente deve verificare regolarmente il server che emette il CRL di base con il successivo tempo di aggiornamento del tempo specifico per ottenere sempre l'ultimo CRL.

    
risposta data 26.02.2015 - 21:01
fonte