it-swarm.dev

In che modo le autorità di certificazione memorizzano le loro chiavi root private?

La conoscenza di una chiave privata CA consentirebbe agli autori di attacchi MitM di soppiantare in modo trasparente tutti i certificati firmati da tale chiave privata. Consentirebbe inoltre ai cyber criminali di iniziare a falsificare i propri certificati di fiducia e venderli sul mercato nero.

Dati gli enormi profitti che potrebbero essere realizzati con tale conoscenza e il fatto che un certificato altamente affidabile e onnipresente (come una delle principali chiavi di Verisign) sarebbe una cosa molto difficile da revocare rapidamente, è ovvio che ci sarebbe elementi criminali altamente motivati ​​e ben finanziati che tentano di mettere le mani su tali chiavi su base regolare.

In che modo le autorità di certificazione affrontano questa minaccia? Sembra un vero incubo, dover recintare le chiavi lontano da tutti gli occhi umani, anche dagli amministratori di sistema. Nel frattempo le chiavi devono essere utilizzate quotidianamente, spesso dai servizi di firma connessi a Internet.

247
lynks

Le autorità di certificazione serie utilizzano procedure pesanti. Al centro, la chiave CA verrà archiviata in un Hardware Security Module ; ma questa è solo una parte della cosa. La stessa CA deve essere protetta fisicamente, che include le misure proattivo e retrospettivo.

Le misure proattive riguardano la prevenzione degli attacchi. Ad esempio, la CA verrà archiviata in una camera blindata, con porte e protezioni in acciaio. Le macchine stesse sono bloccate, con parecchi lucchetti e nessuno detiene più di una chiave di lucchetto. La sicurezza fisica è di fondamentale importanza; l'HSM è solo lo strato più profondo.

Le misure retrospettive riguardano il recupero dopo un incidente. L'HSM registra tutte le firme. La macchina è sotto sorveglianza video 24/7, con registrazione fuori sede. Queste misure riguardano la conoscenza di ciò che è accaduto (se preferite, sapendo a priori che, in caso di problemi, saremo in grado di analizzarlo a posteriori ). Ad esempio, se sono stati emessi certificati "illegali" ma è possibile ricostruire l'elenco completo di tali certificati, il ripristino è "facile" come revocare i certificati offensivi.

Per ulteriore recupero, la CA viene spesso suddivisa in una CA principale di lunga durata che viene mantenuta offline e in una CA intermedia di breve durata. Entrambe le macchine sono nella gabbia e nel bunker; la CA principale non è mai connessa a una rete. Alla CA principale si accede fisicamente, con doppio controllo (almeno due persone insieme e registrazione video) su base regolare, per emettere il certificato per la CA intermedia e il CRL. Ciò consente a revocare una CA intermedia se è stata completamente violata (al punto che la sua chiave privata è stata rubata o l'elenco di certificati emessi fraudolentemente non può essere ricostruito).


L'impostazione iniziale di una CA radice grave comporta un Cerimonia chiave con branchi di auditor con occhi indiscreti e un formalismo che non sono stati disprezzati da un imperatore cinese della dinastia Song. Nessuna quantità di controllo può garantire l'assenza di vulnerabilità; tuttavia, quel tipo di cerimonia può essere usato per sapere cosa è stato fatto, per mostrare che sono stati pensati problemi di sicurezza e, come si può, a identificare il colpevole in caso di problemi. Sono stato coinvolto in diverse cerimonie del genere; sono davvero un grande "teatro della sicurezza" ma hanno meriti che vanno oltre la semplice esposizione di attività: costringono le persone ad avere procedure scritte per tutto.


La domanda ora è: sono esistenti CA davvero seri, nel modo sopra descritto? Nella mia esperienza, lo sono per lo più. Se la CA ha qualcosa a che fare con VISA o MasterCard, allora puoi essere sicuro che HSM, acciaio e pitbull mal temperati fanno parte dell'installazione; VISA e MasterCard riguardano il denaro e lo prendono molto sul serio.

Per le autorità di certificazione incluse nei browser Web e nei sistemi operativi, il browser o il fornitore del sistema operativo tende a richiedere molta assicurazione. Anche in questo caso, si tratta di soldi; ma la compagnia assicurativa richiederà quindi tutte le misure fisiche, la contabilità e la revisione contabile. Formalmente, questo utilizzerà certificazioni come WebTrust .

Questo è vero anche per le famigerate CA come DigiNotar o Comodo: nota che mentre venivano hackerati e venivano rilasciati certificati falsi, tali certificati sono noti e revocati (e Microsoft li ha aggiunti a un elenco di "certificati proibiti" che può essere visto come una specie di "revocato, e lo intendiamo davvero" - il software deve comunque fare di tutto per accettarli).

Le CA "deboli" sono principalmente le CA principali controllate dallo Stato. Microsoft può rifiutare di includere una chiave di root di un'impresa privata, se Microsoft ritiene che non sia stata fornita un'assicurazione sufficiente (vogliono essere sicuri che la CA sia finanziariamente solida, in modo che le operazioni possano essere mantenute); Conosco una banca con milioni di clienti che hanno cercato di includere la loro chiave di root in Windows e sono stati licenziati sulla base del fatto che erano "troppo piccoli". Tuttavia, Microsoft è molto più debole nei confronti della CA ufficiale degli Stati sovrani; se vogliono fare affari nel paese X, non possono davvero permettersi di rifiutare la chiave della CA principale dal governo X. Sfortunatamente, non tutti i governi sono "seri" quando si tratta di proteggere le loro chiavi della CA ...

225
Thomas Pornin

Sul lato fisico, per prima cosa mantengono la CA principale completamente offline. In genere ciò che accade è che impostano la CA principale, creano subordinati, quindi mettono la CA principale completamente offline e portano i dischi rigidi e gli HSM (a volte anche l'intero server) e li bloccano essenzialmente in una cassaforte.

Successivamente, segmentano la rete per proteggere le CA subordinate/emittenti.

Infine, su tali subordinati usano gli HSM per archiviare i certificati.

OCSP e CRL vengono utilizzati per revocare certificati, ma non è solo così semplice.

Dal punto di vista procedurale, hanno una quantità folle di livelli tra cui stanze chiuse che richiedono più persone allo stesso tempo per revocare/firmare subordinati o radici (una cerimonia di firma chiave). Questi sono registrati 24 ore su 24, 7 giorni su 7 (audio e video) e richiedono una persona di fiducia della CA, oltre agli amministratori e ai dirigenti. È un affare enorme. Ecco il video .

Modifica: Contrariamente a quanto ha detto Polynomial, da quello che ho visto, gli HSM sono all'ordine del giorno per le CA e anche per le grandi implementazioni delle CA interne.

34
JZeolla

Non tutte le CA (pubbliche, commerciali o private) memorizzano le chiavi private allo stesso modo. La maggior parte degli operatori legittimi utilizza un HSM. È possibile che il fornitore pubblichi elenchi di revoche CRL utilizzando un collegamento unidirezionale dalla radice al SubCa . (Cavi seriali di sola trasmissione, cavi audio, codici QR, Ethernet con solo pochi pin collegati ... ecc.)

Per essere specifici, dipende davvero dal prodotto di cui stai parlando.

Ad esempio, ogni telefono (Android, iPhone, Blackberry), sistema operativo (Linux, Windows, ecc.) E persino alcuni browser Web (Firefox) mantengono negozi di fiducia indipendenti.

Ognuno di questi fornitori ha standard diversi in base ai quali le CA sono qualificate come "CA principali" in quel determinato prodotto. In particolare, ogni fornitore ha diverse certificazioni, processi e procedure (ad esempio requisiti di conservazione frigorifera) a cui ciascuna CA deve aderire prima di essere inclusa in tale elenco di trust radice.

Microsoft ha il Root Certificate Program e che richiede che ogni CA segua i seguenti standard di audit (che dovrebbero rispondere a tutte le tue domande tecniche e procedurali)

  • ETSI 102 042
  • ETSI 101 456
  • WebTrust per le autorità di certificazione
  • Audit di prontezza WebTrust EV
  • ISO 21188 (notare che non accettano ISO 27001)

In particolare, la CA deve completare un controllo e inviare i risultati del controllo a Microsoft ogni dodici (12) mesi. L'audit deve coprire l'intera gerarchia PKI che sarà abilitata da Microsoft tramite l'assegnazione di Extended Key Usages (EKU). Tutti gli usi dei certificati che abilitiamo devono essere controllati periodicamente. Il rapporto di audit deve documentare l'intero ambito della gerarchia PKI, incluso qualsiasi CA secondario che emette un tipo specifico di certificato coperto da un audit. Gli audit ammissibili includono:

(Notare che questi requisiti di controllo non si applicano alle CA governative e potrebbero essere diversi)

Maggiori informazioni su linee guida tecniche e di audit per le radici MSFT qui

A parte:

È sicuramente possibile archiviare una chiave privata in un HSM che non espone mai la chiave privata (scarica le richieste su quella chiave) e tracciare permanentemente ogni utilizzo di quella chiave privata. Non ricordo se uno di questi standard richiede un HSM, ma dato il costo relativamente minore di un HSM non riesco a immaginare perché non sia stato fatto.

14

Mentre sono d'accordo con @ Thomas's risposta molto approfondita sopra, Vorrei aggiungere che ho installato il sistema CA principale per il sistema di carte di debito di una banca del Regno Unito (ogni chip wee sulla carta è in realtà un certificato).

Abbiamo usato i dispositivi Thales HSM (costi di 6 cifre in £) che disponevano di adeguati sistemi antimanomissione per inclinazione, temperatura, attacco fisico e così via.

In termini di cerimonia chiave , che (come descrive Thomas) ha mandrie di auditor in piedi in locali freddi, è più complicato di così. È necessario assicurarsi che l'attività di generazione delle chiavi e il trasporto delle chiavi nell'HSM siano attività separate e che la chiave non possa essere compromessa dalla collusione. Gli strumenti Thales HSM consentono di suddividere la chiave in segmenti, ciascuno criptato con una chiave di trasporto, in modo che i singoli detentori di chiavi possano recarsi separatamente alla cerimonia della chiave, mediante diversi mezzi di trasporto (per l'amor del cielo, nessuna condivisione di auto) al posizione, di solito presso l'HSM nella sala server di produzione.

Non prendere in considerazione l'essere una CA principale è semplice - sì, lo so che puoi creare una CA principale usando strumenti gratuiti: è necessario elaborare la propria propensione al rischio e se è possibile creare una CA principale in base al modello di minaccia. per esempio. per i certificati di carte di debito (dove la perdita conseguente potrebbe essere "l'intera banca"), l'importo totale speso era enorme e molte persone correvano per assicurarsi che nessuna persona potesse colludere o avere il controllo della chiave.

Se si sta semplicemente creando una CA principale come sistema di test locale, il modello di rischio è chiaramente diverso.

Il mio consiglio sarebbe che, a meno che tu non abbia le dimensioni di una grande organizzazione (Fortune 500) o sia la tua attività reale essere una CA principale, quindi esternalizzare.

12
Callum Wilson

Piuttosto che fare tutto lo sforzo di irrompere in un bunker e rubare lo stile impossibile della missione della chiave privata, si potrebbe semplicemente rompere la chiave privata. Tutto ciò può essere fatto comodamente da casa tua. Tutto ciò che serve è la chiave pubblica CA, alcuni dati firmati, una firma di esempio e un computer quantistico. Ho già il 75% delle cose, se qualcuno ha l'ultimo bit sono felice di dividere il bottino 50/50.

9
Anthony Palmer

Una cosa che molti fanno è usare i certificati secondari e gli elenchi di revoca. Ciò non significa che non si verifichino problemi e le chiavi private sono state rubate a CA affidabili, ma se la CA non rende mai accessibile la loro chiave privata, hanno un certo grado di protezione. Possono invece utilizzare la loro chiave privata per firmare un certificato CA derivato e quindi utilizzare quel certificato CA (con un periodo di validità molto più limitato) per firmare i certificati per la distribuzione. Quindi la chiave privata principale non deve mai essere esposta alla rete.

Se si verifica una violazione, poiché sanno che il sotto-certificato dovrà specificare che l'elenco di revoca che controllano sia valido, possono anche revocare un sotto-certificato compromesso.

Un modo semplice per verificare se una determinata CA fa ciò è verificare la catena di attendibilità sul certificato. Spesso, ci saranno uno o più certificati CA tra il certificato dato e il certificato CA attendibile root.

2
AJ Henderson

La risposta semplice (e piuttosto sfortunata) è che non lo fanno, davvero. Gli amministratori di sistema sono considerati sicuri e proteggono le loro cassette di firma nello stesso modo in cui proteggeresti qualsiasi server aziendale sensibile. In caso di esecuzione di CSR potrebbe essere necessario un passo umano, ma non c'è assolutamente nulla che impedisca a un determinato aggressore di compromettere una rete CA se impiegano abbastanza tempo e sforzi. Al massimo, utilizzerebbero un HSM per memorizzare le chiavi private, anche se scommetterei che non è banale.

0
Polynomial