La tua domanda su quando / come rinnovare la chiave CA è buona, ma temo che non abbia una risposta generica; dipende da quali applicazioni stanno consumando tali certificati e da come si aspettano che una CA si comporti man mano che si avvicina alla fine del ciclo di vita.
Una cosa che è universalmente vera è che i certificati di entità finale non dovrebbero mai sopravvivere a nessuna CA nella loro catena di emissione perché i certificati di zombi non sono revocabili, quindi qualsiasi "sovrapposizione" di periodi di validità della chiave CA significa essenzialmente l'esecuzione di due CA:
-
Quando il certificato CA arriva entro end_entity_lifetime
di scadenza, crea una nuova chiave CA e un certificato autofirmato.
-
Certificare in modo incrociato i certificati CA vecchi e nuovi.
-
La tua CA ha due set di servizi CRL / OSCP / CMP: vecchi certs gestiti con la vecchia chiave, nuovi certs gestiti con la nuova chiave.
Pro:
- Le entità finali e le applicazioni di terze parti sanno che verrà rilasciato un solo certificato per ogni chiave CA e sarà valido fino a quando la chiave non viene ritirata. Non devono preoccuparsi di interrogare / aggiornare il certificato CA (molto utile per applicazioni offline, cert-pin o dipendenti dalla cache).
- Le entità finali emesse dalle vecchie e nuove chiavi CA possono fidarsi l'una dell'altra attraverso i certificati di collegamento cross-certificate.
- Le applicazioni che desiderano convalidare un certificato di entità finale possono ancora seguire le informazioni CRL / OCSP nel certificato fino alla scadenza della chiave CA, poiché la CA continua a pubblicare CRL con la vecchia chiave.
- Per le applicazioni che sono a conoscenza dei certificati di collegamento, eseguire un rollover della chiave CA è più sicuro perché è possibile estendere la fiducia da una chiave alla successiva, anziché dover affidare la nuova chiave CA alla freddezza.
Contro:
- Più complesso da gestire perché raddoppi il numero di CA attive.
- Non tutte le applicazioni sono a conoscenza dei certificati di collegamento, quindi devi gestire la compatibilità.
Il ri-rilascio di un certificato radice per la stessa chiave risolve alcuni di questi problemi, ma non tutti. In particolare, interrompe il pin cert basato sull'hash del cert e significa che gli hacker hanno una finestra più lunga per forzare la chiave. Detto questo, questo chiaramente viene fatto in pratica, quindi mi manca qualcosa ...
Riepilogo: non sono sicuro che ci sia una "risposta giusta" qui. A seconda di quali applicazioni stanno consumando i tuoi certificati, la decisione potrebbe essere già presa per te.