Cosa succede quando scade un certificato CA x509?

3

Ho il seguente problema: utilizziamo TLS con la verifica del certificato client per identificare i client in un servizio. A tal fine, abbiamo creato un'autorità di certificazione autofirmata, che non fa altro che firmare i certificati per questi clienti e verificarne la validità. Replichiamo questa configurazione nel nostro ambiente di sviluppo.

La CA di sviluppo è appena scaduta, quindi non è possibile emettere nuovi certificati nel nostro ambiente di sviluppo. Abbiamo ancora un po 'di tempo per la CA di produzione, ma vorrei capire se esiste un processo fluido per la migrazione da un certificato CA scaduto a un nuovo non scaduto senza rompere i certificati esistenti.

La soluzione ingenua è generare un nuovo certificato CA e sostituire quello vecchio. Tuttavia, credo che ciò causerà la mancata validazione dei client esistenti.

Ho fatto un po 'di googling e di lettura, e credo che quello che devo fare sia ..

  1. Crea un nuovo certificato CA e utilizzalo per firmare nuovi certificati client
  2. Crea una sorta di certificato "combo" che include sia il nuovo certificato CA che il vecchio certificato CA e lo utilizza per la validazione dei client (bridge? chain?)

Il punto 2 è dove non riesco a trovare la documentazione dettagliata. Domande generali aggiuntive che ho:

  1. È possibile impostare il certificato "combo" in modo che possa essere utilizzato sia per l'emissione di nuovi certificati sia per la convalida di certificati vecchi e nuovi? Come, è possibile indicare "questo certificato è in realtà 2 certificati, e il nuovo è quello che dovrebbe essere usato per firmare nuovi clienti?" Questo è strettamente un problema pratico: meno file di cui tenere traccia.
  2. Dovrei semplicemente evitare di combinare qualcosa e usare solo entrambi i certificati CA nel trust pool del software di validazione? Immagino che questo risale alla prima domanda ..

Scusa per il linguaggio vago, sto evitando espressamente termini x509 specifici perché temo che li userò in modo errato e confonderò la domanda.

    
posta Mikhail P 07.02.2015 - 23:18
fonte

2 risposte

3

La firma è fatta con la chiave privata. La chiave pubblica corrispondente per verificare la firma è all'interno del certificato. È possibile rinnovare un certificato (modificare la scadenza) mentre si riutilizza la coppia di chiavi esistente. Pertanto, la firma sarà ancora valida anche se il certificato stesso è stato modificato.

Per aggiornare la qualità della chiave, creare una nuova chiave e creare un nuovo certificato CA basato su questo. I nuovi certificati verranno quindi emessi da questo nuovo certificato CA, ma la vecchia CA è ancora utilizzabile per verificare i certificati esistenti e può essere gettata via una volta scaduti tutti questi certificati precedenti.

    
risposta data 08.02.2015 - 05:12
fonte
0

Una PKI corretta dovrebbe coprire anche aspetti come gli aggiornamenti dei certificati per tutti i certificati, compresi quelli delle CA e della CA principale.

Ovviamente puoi usare il vecchio certificato per la verifica e usarne uno nuovo per la firma e la verifica di nuovi. Ma fondamentalmente ciò significa che stai eseguendo 2 PKI in parallelo, senza connessione ecc.

Come regola generale, una CA non dovrebbe mai emettere una data di scadenza oltre la sua, in modo tale che alla data di scadenza della radice, anche tutti i suoi certificati rilasciati non siano validi. Ciò significa che, una volta esaurito il certificato di origine, non dovresti avere alcun motivo per conservare il vecchio certificato.

Se si desidera risolvere il problema con il minimo impatto possibile sugli utenti, è necessario sviluppare immediatamente una corretta strategia di rinnovo per i client e il certificato di root e distribuirla prima che si verifichi l'interruzione del sistema corrente. Uno di questi sistemi dovrebbe infatti avere un periodo di prova, in cui il vecchio certificato è ancora valido, ma i rinnovi sono fatti con un nuovo certificato.

    
risposta data 12.02.2015 - 18:47
fonte

Leggi altre domande sui tag