Un'autorità di certificazione utilizza diverse chiavi private?

2

Mi chiedevo se una CA ha chiavi private diverse per firmare i certificati con? Esiste il rischio di criptoanalisi (o qualcosa di simile) quando una CA firma migliaia di certificati con la stessa chiave privata? Esiste questo rischio?

    
posta urandom 13.07.2016 - 17:09
fonte

3 risposte

5

I was wondering whether a CA has different private keys to sign certificates with?

Normalmente una CA ha un numero di chiavi intermedie da utilizzare nella firma dei certificati dei clienti. Queste chiavi intermedie sono a loro volta firmate dalla chiave di root della CA, che deve essere memorizzata "offline" e utilizzata solo raramente per firmare quelle chiavi intermedie. Il certificato di root corrispondente è quello che è ampiamente distribuito e trovato nei tuoi browser Autorità di radice affidabili .

Is there a risk of crypto-analysis (or something similar) when a CA signs thousands of certificates with the same private key? Does this risk exist?

No, per citare Wikipedia , "Ogni crittografia moderna tenta di fornire protezione contro gli attacchi con solo testo cifrato." Quindi nessuna preoccupazione reale che la quantità di firme / crittografie eseguite con una chiave crei un rischio di analisi che aumenta in base alla quantità di firma / crittografia che ha eseguito.

(Ovviamente, per essere utilizzato in così tante attività, una chiave deve essere in qualche modo accessibile, ecco perché le chiavi intermedie utilizzate per la firma di tutti i giorni vengono mantenute "online" e il Root key è generalmente air-gapping o tenuto offline. Ma questa è una considerazione pratica, operativa, non una considerazione crittografica.)

    
risposta data 13.07.2016 - 21:17
fonte
4

I was wondering whether a CA has different private keys to sign certificates with?

In generale, no. C'è una coppia di chiavi - e quindi una chiave privata - per certificato. È possibile eseguire il rollover dei certificati per utilizzare una nuova coppia di chiavi, ovviamente. Inoltre, in generale, una CA gestisce più certificati per scopi diversi. La CA può anche avere diversi certificati per diversi algoritmi di firma, possibilmente per coprire lo stesso scopo (ad esempio RSA e ECDSA).

Is there a risk of crypto-analysis (or something similar) when a CA signs thousands of certificates with the same private key? Does this risk exist?

Non dal punto di vista dell'algoritmo. RSA e ECDSA sono sicuri di firmare molti documenti o certificati per quella materia. ECDSA è vulnerabile se il generatore di numeri casuali è compromesso. Un motivo in più per utilizzare un'implementazione ben controllata con un buon DRBG, preferibilmente in hardware certificato FIPS o CC.

Come altri hanno menzionato, la maggior parte dell'emissione del certificato viene eseguita da certificati CA intermedi. Ciò significa che la chiave privata del certificato radice non è direttamente accessibile agli aggressori. Se si rileva che un intermediario è compromesso (il rilevamento di un compromesso è un argomento tutto in sé), la radice può essere utilizzata per revocare il certificato intermedio e emetterne uno nuovo, con una chiave privata diversa.

Naturalmente, quando si firma un numero elevato di certificati, potrebbero esserci dei rischi procedurali. La CA deve ancora convalidare che firma i certificati per le entità giuste. Inoltre, dovrebbe ad esempio resistere alla pressione per generare la coppia di chiavi per i client nella posizione della CA.

Nessuno dei precedenti è stato gestito bene da DigiNotar per citarne solo un esempio. Ma questo ha poco a che fare con gli algoritmi di firma da soli.

    
risposta data 13.07.2016 - 17:58
fonte
1

Ciò che consideriamo un'autorità di certificazione è rappresentato da un "certificato radice attendibile" che è un certificato autofirmato che viene consegnato con mezzi sicuri (molto spesso durante il processo di installazione del sistema operativo o del browser). In genere una singola autorità di certificazione emette solo un certificato di radice affidabile, ma non sempre. Una società che opera come CA è libera di avere più certificati radice; Thawte ha una radice affidabile per i suoi clienti ad alta integrità (banche, case di sviluppo software) e una radice affidabile diversa per le piccole imprese e gli utenti domestici.

Esiste anche un modello gerarchico di fiducia, in cui una CA firma alcune autorità di certificazione subordinate, ciascuna delle quali è responsabile della firma di molti certificati di lavoro. Questo è utile principalmente nelle organizzazioni private per la gestione della loro infrastruttura di chiave interna. (Immagina che l'esercito abbia un solo certificato CA, ed è usato per firmare un SCA per l'esercito, uno per la marina, l'esercito usa il suo SCA per firmare i certificati rilasciati a ciascun soldato, la Marina usa i loro per firmare i certificati rilasciati a ciascuno marinaio, ecc. E ogni certificato può essere convalidato semplicemente riportando la catena sul singolo CA, quindi un ragazzo della Marina può fidarsi del certificato di un ragazzo dell'esercito.)

C'è un rischio per la sicurezza di riutilizzare una chiave per firmare molti certificati? Non possiamo dire "no" con certezza, perché in realtà era un problema circa 10 anni fa. I ricercatori hanno sfruttato una debolezza nella resistenza alla collisione di MD5, consentendo la falsificazione di nuovi certificati assumendo che l'attaccante potesse ottenere una CA per firmare una nuova richiesta di certificato esattamente nel momento giusto. All'approssimarsi del tempo fissato, gli aggressori hanno allagato il CA con le richieste di firma, sperando che uno di loro avrebbe restituito esattamente il timestamp che avevano previsto. Questo attacco dimostrò istantaneamente che la resistenza alle collisioni era un attributo vitale nel mondo reale e causava la perdita dell'abilità di MD5 come algoritmo crittografico affidabile; milioni di siti Web erano a rischio fino a quando tutti i certificati radice MD5 sono stati revocati o scaduti. Project HashClash offre ora una dimostrazione di questa vulnerabilità di collisione, sebbene nessuna CA utilizzi più MD5.

Nota che non significa che uno segue l'altro: chiavi private diverse non avrebbero impedito quel problema; avrebbero semplicemente limitato l'ambito del problema a un numero inferiore di client esposti a un certificato hash MD5. Ma se anche uno dei loro certificati di root fosse stato compromesso, il venditore sarebbe completamente inaffidabile e sarebbe presto fuori dal mercato (vedi DigiNotar come esempio di quanto rapidamente una CA può collassare se non protegge le proprie chiavi private. )

Questo arriva al problema fondamentale della fiducia. O devi verificare tutti in modo indipendente; oppure i fornitori di sistemi operativi e browser devono verificare ogni organizzazione che desidera utilizzare le comunicazioni crittografate; o devi accettare che la fiducia possa essere consegnata da qualcuno in grado di controllare gli altri. È pratico richiedere di guidare alla tua banca per ottenere il certificato e installarlo sul tuo computer? Può essere. È pratico richiedere di guidare a Seattle per ottenere il certificato di Amazon e installarlo nel browser? Forse no. È pratico che Microsoft includa 20 milioni di certificati nel proprio browser? Forse no. È pratico per te fidarti dei tuoi amici che sono andati a Seattle per riportarti una copia del certificato di Amazon? Forse, ma è un po 'goffo. Avere un numero finito di certificati di alto livello è un approccio pratico che funziona principalmente.

È molto più facile accettare che Symantec abbia controllato amazon.com e gli abbia rilasciato un certificato; è molto più semplice mantenere la fiducia quando il browser include solo alcune decine di certificati CA. Come beneficio collaterale, se alcune persone davvero intelligenti capiscono che il certificato di Symantec non è affidabile, lo diranno al mondo e verranno rapidamente rimossi in una patch software, proteggendoti molto più rapidamente che se avessi stabilito la fiducia per conto tuo (come spesso torneresti in banca per controllare il loro certificato?)

    
risposta data 13.07.2016 - 20:56
fonte