Un CRL incorporato può essere considerato affidabile?

2

L'inclusione di CRL in un documento firmato consentirà di convalidare la firma "a lungo termine", fornendo un'istantanea dello stato del firmatario nel momento in cui il documento è stato firmato. Mi chiedo se questi CRL incorporati possano essere considerati affidabili poiché:

  1. Alcuni PKI consentiranno l'emissione di più CRL di piccole dimensioni. L'incorporamento di uno di questi CRL produrrà documenti perfettamente validi, anche se il CRL incorporato non è quello in cui apparirà il certificato. Dal punto di vista del cliente, non è possibile stabilire se una PKI utilizza più CRL di piccole dimensioni o una singola in cui vengono visualizzati tutti i certificati.
  2. Lo stato del firmatario al momento della firma può cambiare post-firma . Definiamo: T nel momento in cui è stata creata una firma valida e un CRL corrispondente incorporato. T + 1 nel momento in cui il certificato è stato revocato. T-1 l'ora impostata come data di revoca effettiva (ovvero la data di compromesso nel passato, prima che la firma fosse effettuata). Da T a T + 1 , la firma dovrebbe essere valida. Dopo T + 1 , la firma deve essere considerata non valida poiché la chiave è stata compromessa al momento T-1 . In questa situazione non possiamo fare affidamento sul CRL incorporato poiché mostrerà sempre la firma come valida. D'altra parte, la verifica online può essere utilizzata solo fino alla scadenza del certificato. In seguito ci rimane solo il CRL incorporato, che sappiamo mancherà di alcuni bit importanti.

Quindi, a questo proposito, possiamo preferire i CRL incorporati a quelli online?

    
posta Mathieu Fortin 16.06.2015 - 20:15
fonte

2 risposte

3

Un CRL ha un valore ed è accettabile in quanto firmato . Dal momento della firma del CRL, il modo in cui l'hai ottenuto non ha alcuna conseguenza sulla sua accettabilità. Questo è il punto di certificati e CRL: possono essere distribuiti su reti arbitrarie, protetti o meno, anche semplici HTTP, e-mail, vettori aerei ... non importa.

Viceversa, il fatto che il CRL sia "online" non lo rende migliore; devi ancora verificare la firma, le date e così via.

Quindi, CRL (o certificati, o risposte OCSP) possono essere perfettamente integrati, trasmessi insieme ai dati che qualificano, o qualsiasi altra cosa. Ad esempio, un CMS (PKCS # 7) SignedData oggetto contiene campi chiamati certificates e crls con precisione per incorporare certificati e CRL (e risposte OCSP) che i ricevitori di tale oggetto possono trovare utili per scopi di convalida. Analogamente, quando un server SSL / TLS invia il suo certificato, invia anche alcuni certificati extra (una "catena") che il cliente può utilizzare (a suo piacimento) per convalidare il certificato del server.

Quando una CA divide il CRL in più CRL sub, viene esplicitamente indicato l'ambito di ogni CRL: un certificato è nell'ambito di un CRL se il certificato contiene un'estensione% (%) critica di co_de con un "Punto di distribuzione" "che corrisponde all'estensione CRL Distribution Points nel CRL. Vedi RFC 5280 , sezione 6.3.3, passaggio (b). (2). (I ). Questa divisione CRL non è quindi un problema.

Una divisione ancora più estrema è incarnata da OCSP . OCSP è sia un formato per oggetti firmati (le "risposte OCSP"), sia un protocollo di comunicazione per ottenere una risposta OCSP da un risponditore online. Ogni risposta OCSP è funzionalmente equivalente a un CRL che parla di un singolo certificato. Quindi, questo è come il CRL più diviso che puoi immaginare, eppure non crea alcuna informazione ambigua perché ogni risposta OCSP indica esplicitamente di quale certificato si tratta.

Pertanto, che un CRL è diviso o meno non induce alcun punto debole; e ottenere un CRL nuovo dalla CA non risolverebbe nulla, dal momento che il processo di download non è comunque protetto.

Per quanto riguarda la seconda domanda: infatti, lo stato di revoca è, per definizione, una proprietà transitoria. Da un lato, che il certificato del firmatario è stato revocato a un certo punto nel passato (cioè le informazioni fornite da un vecchio CRL) non garantisce in alcun modo che il certificato sia ancora non revocato e, in particolare, che la chiave privata non sia stata compromesso nel frattempo. D'altra parte, il CRL recente non parla di certificati scaduti (e questo è il punto di scadenza del certificato: per impedire che CRL possa crescere per sempre).

L'uscita da questo enigma è data e ora . Con un timestamp, puoi in qualche modo "congelare" un oggetto in un momento nel tempo. L'idea è che, alla data T , tu prendi l'oggetto firmato, insieme a tutti i certificati e CRL che possono essere utilizzati per convalidare la firma in quella data. Si mettono tutti questi in un formato di archivio, quindi si ottiene un timestamp nel suo complesso. In un secondo momento T ', si convalida il timestamp; se il timestamp è valido (alla data T '), allora sai che tutti i contenuti dell'archivio esistevano già alla data T , e puoi quindi procedere alla convalida della firma e usa i certificati e il CRL come se la data corrente fosse ancora T . Il concetto è che SE hai fatto la convalida alla data T , POI lo ricorderesti ancora e agisci su di esso; con il timestamp, sai che alla data T tutti i certificati e il CRL esistevano così come sono, e quindi avresti potuto fare quella convalida.

Ci sono molte sottigliezze in questo processo, motivo per cui alcuni standard sono stati definiti per supportarlo correttamente. Cerca CAdES (e possibilmente i suoi fratelli XAdES e PAdES, rispettivamente per XML-DSig e PDF firmato).

    
risposta data 16.06.2015 - 21:10
fonte
1

Credo che il nome generico sia CRL Pinzatura , che potrebbe essere un utile termine di ricerca di Google per trovare la tua risposta. Ecco una eccellente domanda su security.SE che spiega la cucitura CRL

Alcuni pensieri sulla tua domanda:

  1. Anche se una CA è configurata per pubblicare più CRL di piccole dimensioni, ogni certificato include un'estensione che punta al file CRL in cui verrà revocato. Ad esempio, il certificato per *.stackexchange.com include questa estensione:

    [1]CRL Distribution Point
    Distribution Point Name:
      Full Name:
           URL=http://crl.globalsign.com/gs/gsorganizationvalsha2g2.crl
    

    Dal nome del file, direi che questo è il 2 ° file CRL in un insieme di CRL di piccole dimensioni (ish). Quando un'app client sta verificando un CRL con punti metallici, potrebbe verificare che il nome file corrisponda a CRL Distribution Point nel certificato.

  2. Una corretta. Hai identificato uno svantaggio importante nella graffatura CRL. Non c'è soluzione a questo.

Nessuno ha mai affermato che la graffatura CRL fosse più sicura dei controlli online, ma non lo è. Ciò che offre è velocità poiché non sono richiesti controlli online. Come hai sottolineato, molti produttori di software sono disposti a fare questo compromesso sulla sicurezza (e non posso biasimarli dato che alcune CA possono impiegare decine di secondi per rispondere a una richiesta OCSP e / o i file CRL pubblicati sono giorni vecchio).

Per questo, e per altri motivi, il settore si sta lentamente (spostando) dai CRL verso il Online Certificate Status Protocol (OCSP) e altre tecnologie per la propagazione delle informazioni di revoca.

    
risposta data 16.06.2015 - 20:32
fonte

Leggi altre domande sui tag