Questa è una grande opportunità per mettere a fuoco le basi di come funzionano le CA. Presumo che stiamo parlando di CA radice qui, dal momento che il rinnovo di una CA subordinata non è davvero un grosso problema.
How often do CA's renew the keys, and under what circumstances (number of certificates issued, time, etc.)?
Ripeterò questa domanda:
What factors increase an attacker's likelihood of cracking the CA's private key?
Supponendo che non stiamo parlando di hack, backdoor, minacce interne, ecc. e parliamo solo di cracking basato su informazioni pubbliche, allora la risposta è: scelta dell'algoritmo, dimensione della chiave e quantità di tempo.
Il calcolo è simile a questo: diciamo che scegliamo RSA-4096, quindi dovremmo cercare il runtime degli attacchi più noti contro RSA, cercare i costi per l'affitto di quella quantità di potenza di calcolo su Amazon, fare qualche legge di Moore calcoli e indovina per quanto tempo ci vorrebbe un attaccante per romperlo. Risulta per RSA ed ECC che gli attacchi più noti richiedono solo la chiave pubblica; una firma perde zero informazioni sulla chiave privata, quindi vedere molte firme non aiuta.
Si noti che questo non è vero per alcuni degli algoritmi di firma post-quantici. In particolare con le firme basate su hash [ article1 ], [ article2 ], le chiavi private sono essenzialmente enormi raccolte di chiavi monouso in cui ogni firma rivela una chiave privata. Una volta che il worlf passa alla crittografia post-quantistica, la tua domanda diventerà molto più pertinente.
In the case that a CA needs to renew its key pair, what happens with the previous certificates that are still valid? are these signed again under the new key?
Questo è davvero un problema fondamentale nel modo in cui le CA sono progettate. Ho visto che viene gestito in due modi diversi:
-
La CA semplicemente non emetterà certs che sopravvivono. Supponiamo che tu abbia una CA che emette certificati di 1 anno. Quando la CA stessa ha meno di un anno su di essa, si alzerà in piedi una nuova CA di emissione. La vecchia CA è ancora in giro per controlli di revoca e cose, ma non rilascia più nuovi certificati.
-
Certificare in modo incrociato la vecchia CA con quella nuova in modo che durante la convalida di un certificato emesso dalla vecchia CA, esso venga associato alla CA corrente. Questo è un po 'hacky perché c'è tecnicamente una CA scaduta nella catena. La maggior parte dei motori TLS non supporta questo tipo di cose, quindi l'ho visto solo in ambienti chiusi come l'e-mail aziendale o i sistemi di badge ID in cui si ha maggiore controllo sui client.
A causa dell'interruzione del rollover su una CA radice, si desidera che sia valida per un lungo periodo di tempo. Una rapida occhiata ai certificati radice del mio browser mostra i certificati di 15 anni, i certificati di 20 anni e anche alcuni certificati di 30 anni.