Cosa succede quando una CA intermedia è revocata?

23

Attualmente sto lavorando a un gestore certificati che consente al nostro prodotto di connettersi in modo sicuro ai servizi Web remoti (su TLS / SSL). Per motivi di sicurezza, utilizziamo il controllo dell'elenco di revoche di certificati (o il controllo CRL) per scoprire se un determinato certificato è stato revocato. Tuttavia, alcune questioni non mi sono chiare:

  • Devo / devo recuperare tutti i CRL della catena completa per verificare la validità del certificato?
  • Cosa devo fare quando viene revocata una CA intermedia? Verranno aggiunti anche tutti i certificati al CRL? Il certificato può essere sostituito da una nuova versione (senza compromessi)?
posta Anne Stellingwerf 13.07.2011 - 14:00
fonte

3 risposte

21

Devo / devo recuperare tutti i CRL della catena completa per verificare la validità dei certificati?

Assolutamente. Una CA crea un CRL solo per i certificati emessi . Lo stato della CA stessa deve essere verificato tramite il CRL della CA emittente. Nota: questa è una ricerca ricorsiva. Quando si scrive codice o si testano i sistemi, ricordare che può esserci più di una "generazione" di CA di emissione e controllare tutti i certificati tranne la radice autofirmata. Una CA radice non avrà un CRL associato - se la radice è compromessa, quella radice deve essere rimossa manualmente da qualsiasi archivio fidato.

Che cosa devo fare quando viene revocata una CA intermedia?

Non fidarti di qualsiasi cosa firmato dalla CA. Un certificato è valido solo come la CA che lo ha rilasciato. Se la CA non è affidabile, i certificati emessi da quella CA non sono più affidabili.

Non aspettarti di ottenere un CRL dalla CA revocata affermando che tutti i certificati emessi dalla CA non sono validi. Se la CA è attiva, verrà creato un CRL di dimensioni proibitive che sarà estremamente doloroso per il trasporto, l'analisi e in genere qualsiasi cosa. Inoltre, se la chiave della CA è stata persa, potrebbe non essere possibile creare questo CRL.

In pratica, la cosa intelligente sarebbe rimuovere la CA da qualsiasi negozio di fiducia. Rimuovendo la CA dai negozi fiduciari, qualsiasi applicazione che crea la sua catena CA dagli archivi fiduciari fallirà rapidamente la verifica del certificato. Generalmente la catena di certificati viene eseguita prima di qualsiasi verifica OCSP / CRL, pertanto l'applicazione viene salvata da passaggi aggiuntivi e potenzialmente larghezza di banda eliminando la CA revocata dai propri negozi.

Anche una CA intermedia revocata è un evento abbastanza importante - onestamente, non l'ho mai sperimentato nel mondo reale. Se stavo lavorando su un sistema altamente sicuro, avrei anche pubblicato il più lontano possibile che la CA fosse stata revocata. In particolare tutti i sistemi che potrebbero lavorare su CRL che vengono memorizzati nella cache per un lungo periodo.

E se avessi conservato i certificati firmati da questa CA, inizierei a formulare la mia strategia di ricertificazione al più presto.

Anche tutti i suoi certificati verranno aggiunti all'CRL?

No. Nota, ci sono due diversi CRL in gioco: - CA della CA di emissione (una CA principale o un'altra CA nella catena) - emette un CRL che verifica lo stato del certificato della CA emittente - la CA emittente - emette un CRL che verifica lo stato dei certificati che questa CA ha emesso.

Se si dispone di una catena di CA che contiene n certificati dall'entità root-end, saranno coinvolti n.1 CRL.

Il certificato può essere sostituito da una nuova versione (senza compromessi)?

Sì ... un po '. Il compromesso riflette l'inaffidabilità della chiave privata della CA. La CA avrà bisogno di una nuova chiave privata, che essenzialmente ne fa una nuova CA.

È, tecnicamente, possibile rinominare la CA con lo stesso Distinguished Name - se esiste un valore operativo. Ma in pratica, la mia tentazione sarebbe quella di mettere in piedi una nuova CA, con un nuovo DN, proprio così che tutti gli umani erano chiari sulla differenza.

Questo sarà un grande dolore nella parte posteriore. Gli utenti della nuova CA dovranno: - rimuovere il certificato compromesso e sostituirlo con il nuovo certificato CA. - Ricertificare tutti i certificati di End Entity con certificati firmati dalla nuova CA.

Si noti che è una questione di politica di sicurezza come se ricertificare o rekey le proprie entità finali. Se il sistema compromesso non ha accesso alle chiavi private di alcuna entità finale, è possibile ri-firmare la stessa chiave privata con una nuova chiave CA. Se hai archiviato un archivio di richieste di certificati su file, puoi inviarle nuovamente alla nuova CA e risparmiarti un bel po 'di generazione di chiavi.

Tuttavia, in alcuni casi, il sistema CA può mettere alcune chiavi private nell'impegno: ciò significa che in alcune posizioni centrali (in genere vicino al sistema CA), le chiavi private vengono archiviate in modo sicuro nel caso in cui gli utenti perdano le chiavi e necessitino un aggiornamento. Ciò è particolarmente diffuso nel caso dei certificati di crittografia, poiché potrebbe essere necessario recuperare i dati crittografati anche dopo la revoca di una chiave di crittografia.

In questi casi, se la CA è compromessa, c'è una buona possibilità che l'escrow key sia stato compromesso. Ciò significa che tutti gli utenti delle chiavi degli escrow dovrebbero generare nuove coppie di chiavi e richiedere un nuovo certificato.

Passato questo - è una questione di politica sul fatto che sia consentita la ricertificazione. Dal momento che un nuovo certificato avrà un nuovo periodo di validità, potrebbe essere che i poteri di sicurezza siano "non rinnovare / ricertificare" perché non possono limitare il periodo di validità in modo sufficiente.

    
risposta data 13.07.2011 - 17:48
fonte
13

Sì, dovresti recuperare tutti i CRL per tutti i certificati nella catena. Un certificato può essere ritenuto utilizzabile per qualsiasi scopo, compresa la verifica di altri certificati, solo se può essere collegato alla fine di una catena di certificati valida e lo stato di revoca è stato accertato. Ovviamente, un CRL non deve essere considerato attendibile a meno che la sua firma possa essere verificata relativamente a una chiave pubblica autorizzata, il che potrebbe implicare anche qualche catena di certificati aggiuntiva.

Un certificato revocato significa che i suoi contenuti non devono essere considerati utilizzabili. La revoca può essere vista come un "ordine di annullamento" sulla firma crittografica che è stata aggiunta al certificato dalla CA di emissione: "questa firma non deve essere considerata valida, anche se matematicamente sembra buona". Potresti anche considerare la revoca come un sostituto nella data di fine validità del certificato.

Se un certificato CA intermedio viene revocato, diventa inutilizzabile. Non puoi usarlo come parte di una catena. Pertanto, se si desidera convalidare uno dei certificati rilasciati da tale CA, sarà necessario trovare un altro certificato CA intermedio, con lo stesso nome e chiave CA e che non è stato revocato.

Un certificato può essere revocato per ragioni arbitrarie: in ultima analisi, un certificato è revocato perché chi ha il compito di far valere lo stato di revoca, emettendo CRL, lo dice. Una possibile ragione per la revoca di un certificato è che la chiave privata corrispondente è stata compromessa (rubata). A quel punto, niente di quello firmato con quella chiave è più affidabile poiché potrebbe essere stato firmato dal ladro di chiavi. In tal caso (compromissione chiave), non solo verrà revocato il certificato CA intermedio, ma la CA intermedia genererà una nuova chiave, quindi qualsiasi altro certificato per quella CA intermedia utilizzerà la nuova chiave. L'effetto netto è che i certificati precedentemente emessi da quella CA intermedia non verranno più visualizzati nuovamente come parte di catene valide. Revocarli sarebbe inutile.

    
risposta data 13.07.2011 - 14:34
fonte
6
  • Sì, un certificato è valido solo se l'intera catena di certificati fino alla radice è valida e non è revocata, quindi dovresti controllarli tutti.
  • Se una CA intermedia viene revocata, i certificati figlio devono essere nuovamente emessi da una CA valida, non c'è modo di "scambiare" un intermediario valido. Per chiarire: "riemesso" significa "un cert completamente nuovo creato che fa riferimento allo stesso nome"
  • Non credo che i certificati figlio vengano inseriti in un CRL quando viene revocato un certificato padre. È certamente possibile farlo, ma logisticamente sarebbe doloroso, e non sono a conoscenza di nessuno che lo faccia. Questa è solo la mia ipotesi migliore, però, potrei facilmente sbagliare su questo punto.
risposta data 13.07.2011 - 14:35
fonte