Domanda:
In che modo le autorità di certificazione memorizzano le proprie chiavi di root private?
lynks
2012-12-03 20:12:40 UTC
view on stackexchange narkive permalink

La conoscenza di una chiave privata della CA consentirebbe agli aggressori MitM di soppiantare in modo trasparente qualsiasi certificato firmato da quella chiave privata. Consentirebbe inoltre ai criminali informatici di iniziare a falsificare i propri certificati affidabili e a venderli sul mercato nero.

Considerati gli enormi profitti che potrebbero essere realizzati con tale conoscenza e il fatto che un certificato altamente affidabile e onnipresente (come una qualsiasi delle chiavi Verisign principali) sarebbe una cosa molto difficile da revocare rapidamente, è logico che ci sarebbero 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 gestiscono 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 da servizi di firma connessi a Internet.

Foto: http://arstechnica.com/security/2012/11/inside-symantecs-ssl-certificate-vault/. Dettagli tecnici: http://blogs.technet.com/b/askds/archive/2009/09/01/designing-and-implementing-a-pki-part-i-design-and-planning.aspx
Sette risposte:
Thomas Pornin
2012-12-03 21:59:36 UTC
view on stackexchange narkive permalink

Le autorità di certificazione serie utilizzano procedure pesanti. Al centro, la chiave della CA verrà archiviata in un modulo di protezione hardware; ma questa è solo una parte della cosa. La CA stessa deve essere protetta fisicamente, il che include misure proattive e retrospettive .

Le misure proattive riguardano la prevenzione degli attacchi da riuscendo. Ad esempio, la CA sarà conservata in un caveau, con porte e protezioni in acciaio. Le macchine stesse sono bloccate, con diversi lucchetti, e nessuno ha più di una chiave del 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 registrerà tutte le firme. La macchina è videosorvegliata 24 ore su 24, 7 giorni su 7, con registrazione fuori sede. Queste misure riguardano la conoscenza di ciò che è accaduto (se preferisci, sapendo a priori che, se dovesse verificarsi un problema, saremo in grado di analizzarlo a posteriori ). Ad esempio, se sono stati emessi certificati "illegali" ma l'elenco completo di tali certificati può essere ricostruito, il ripristino è "facile" come revocare i certificati offensivi.

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


La configurazione iniziale di una CA radice seria prevede una cerimonia chiave con mandrie di auditor con occhi indiscreti e un formalismo che non sarebbe stato disprezzato da un imperatore cinese di la dinastia Song. Nessuna quantità di controllo può garantire l'assenza di vulnerabilità; tuttavia, questo tipo di cerimonia può essere utilizzato per sapere cosa è stato fatto, per mostrare che problemi di sicurezza sono stati presi in considerazione e, qualunque cosa accada, per identificare il colpevole se sorgono problemi. Sono stato coinvolto in molte di queste cerimonie; sono davvero un grande "teatro di sicurezza" ma hanno meriti oltre la semplice esibizione di attività: costringono le persone ad avere procedure scritte per tutto .


La domanda è ora: le CA esistenti sono davvero serie, nel modo descritto sopra? Nella mia esperienza, per lo più lo sono. Se la CA ha qualcosa a che fare con VISA o MasterCard, puoi essere certo che i pitbull HSM, d'acciaio e irascibili fanno parte dell'installazione; VISA e MasterCard sono una questione di soldi e lo prendono molto sul serio.

Per la CA inclusa nei browser Web e nei sistemi operativi, il browser o il fornitore del sistema operativo tende a richiedere molte assicurazioni. Anche in questo caso, si tratta di soldi; ma la compagnia di assicurazioni richiederà quindi tutte le misure fisiche, la contabilità e l'audit. Formalmente, questo utilizzerà certificazioni come WebTrust.

Questo è vero anche per famigerate CA come DigiNotar o Comodo: nota che mentre sono stati violati e sono stati emessi certificati falsi, i suddetti certificati sono noti e sono stati revocati (e Microsoft li ha aggiunti a un elenco di "certificati vietati" che può essere visto come una sorta di "revocato, e lo intendiamo davvero" - il software deve fare di tutto per accettarli comunque).

Le CA "deboli" sono principalmente le CA radice controllate dallo Stato. Microsoft può rifiutarsi di includere una chiave di root da un'impresa privata, se 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 tentato di far includere la loro chiave di root in Windows e sono stati licenziati perché "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 CA radice dal governo X. Sfortunatamente, non tutti i governi sono "seri" quando si tratta di proteggere le loro chiavi CA ...

Grazie per la grande ricchezza di informazioni. Ho immagini di abiti con cappuccio e candele. Ma seriamente, sembra tutto molto impressionante.
Vale a dire, i requisiti di audit di MSFT per la gestione governativa sono diversi dalle CA commerciali [(fonte)] (http://technet.microsoft.com/en-us/library/cc751157.aspx), anche se non ho abbastanza informazioni da dire se i requisiti e l'audit sono "più deboli" o "più forti" per le CA statali
Le informazioni su Diginotar non sono corrette; vedete, Diginotar non sapeva nemmeno cosa fosse stato emesso e cosa non fosse stato rilasciato in termini di credenziali. Il motivo per cui gestire il compromesso Diginotar era così difficile era questa mancanza di conoscenza. Successivamente, i certificati sono stati visti in natura, ma anche adesso non si può essere sicuri che sia l'elenco completo dei certificati creati. Queste informazioni possono essere lette nel rapporto FoxIT o, in alternativa, comprendere il meccanismo e le cattive pratiche di sicurezza di Diginotar.
@Brennan Questa differenza è la ragione principale per cui Comodo è ancora nel business dei certificati mentre Diginotar era in bancarotta ed è in liquidazione; o c'erano altre circostanze attenuanti nel caso di Comodo che gli hanno permesso di continuare a operare?
Allora, quanto costa di solito tutto questo? Naturalmente, è molto costoso mantenere le cose di sicurezza, ma sapere quanto costa ogni parte sarebbe bello.
@DanNeely Comodo ha alcune delle competenze più importanti al mondo su PKI / CA, vale a dire PHB. Quasi tutte le organizzazioni falliscono, ma alcuni errori non sono recuperabili. Uno dei precedenti errori di Comodo includeva il compromesso di una RA. Le RA possono essere compromesse abbastanza facilmente poiché sono online ed elaborano i dati degli utenti finali, ma non distrugge la sicurezza complessiva di una PKI. L'esposizione da parte della CA radice di una chiave privata o l'utilizzo non autorizzato senza registrazione di audit, come nel caso di Diginotar, ha portato ad un attacco sponsorizzato dallo stato contro i dissidenti dentro e fuori l'Iran. E sì, questo ha ucciso Diginotar, giustamente.
Questa è una descrizione MOLTO accurata.Ho passato più di 15 anni a lavorare nello spazio PKI (sia nel settore governativo che privato) e il livello di paranoia intorno alla protezione delle CA (sia CA radice che CA subordinate) è stato piuttosto eccezionale.I controlli da due persone su tutto erano obbligatori.La biometria (più fattori) era comunemente usata per proteggere il datacenter.Da parte del governo, la paranoia ha persino superato le misure descritte in questa risposta.
JZeolla
2012-12-03 20:57:31 UTC
view on stackexchange narkive permalink

Dal punto di vista fisico, innanzitutto mantengono la CA radice completamente offline. In genere ciò che accade è che configurano la CA radice, creano i subordinati, quindi mettono la CA radice completamente offline e prendono i dischi rigidi e gli HSM (a volte anche l'intero server) e sostanzialmente li bloccano in una cassaforte.

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

Infine, su quei subordinati usano gli HSM per memorizzare i certificati.

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

Dal punto di vista procedurale, hanno una quantità folle di livelli tra cui stanze chiuse che richiedono più persone contemporaneamente per revocare / firmare subordinati o radici (A Key Signing Ceremony). 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 comuni per le CA e anche per le grandi implementazioni di CA interne.

Sì, non è che diginotar sia stato violato e comodo ha perso il controllo di uno dei suoi certificati sussidiari prima d'ora. Si suppone che siano controllati prima di essere considerati affidabili dai principali browser, ma il sistema non è impeccabile e basta una cattiva CA per rovinare l'intero sistema. E mi aspetto che anche presso le CA più affidabili ai dirigenti piaccia tagliare angoli e costi ogni volta che possono.
Ottimo video, ottima visione di alto livello di quello che sta succedendo. Una nota; quella cerimonia di firma della chiave era per la * Root DNS Certificate Authority *; "un certificato per dominarli tutti". Se qualcuno avesse mai avuto quella chiave privata, potrebbe distruggere l'intera Internet fondamentalmente mascherandosi come root DNS e sostituendo tutti i server DNS affidabili sulla rete con la propria. Questo è il principale esempio di una chiave che necessita di una protezione * seria * secondo la risposta di Thomas Pornin.
@KeithS Ho notato che sembravano tutti indossare indumenti contrassegnati da DNS, non mi ero reso conto che il DNS usasse PKI, anche se ha senso ora che ci penso.
@lynks Non tutti i DNS utilizzano PKI. Vedi: DNSSec. https://en.wikipedia.org/wiki/Domain_Name_System_Security_Extensions
goodguys_activate
2012-12-03 21:56:25 UTC
view on stackexchange narkive permalink

Non tutte le CA (governative, 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 di 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 precisi, 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 archivi attendibili indipendenti.

Ciascuno di questi fornitori ha standard diversi in merito a quali CA sono qualificate per essere "CA radice" in quel determinato prodotto. In particolare, ogni fornitore dispone di certificazioni, processi e procedure differenti (ad esempio requisiti di conservazione a freddo) a cui ogni CA deve aderire prima di essere inclusa nell'elenco di root trust.

Microsoft ha il Root Certificate Program e ciò richiede che ogni CA segua i seguenti standard di audit (che dovrebbero affrontare tutte le vostre questioni tecniche e procedurali)

  • ETSI 101042
  • ETSI 101 456
  • WebTrust for CAs
  • WebTrust EV Readiness audit
  • ISO 21188 (Nota che non accettano ISO 27001)

Nello specifico, la CA deve completare un controllo e inviare i risultati del controllo a Microsoft ogni dodici (12) mesi. Il controllo deve coprire l'intera gerarchia PKI che verrà abilitata da Microsoft tramite l'assegnazione di EKU (Extended Key Usages). Tutti gli utilizzi dei certificati che abilitiamo devono essere controllati periodicamente. Il report di audit deve documentare l'intero ambito della gerarchia PKI, inclusa qualsiasi sub-CA che emette un tipo specifico di certificato coperto da un audit. I controlli idonei includono:

(Tieni presente che questi requisiti di audit non si applicano alle CA governative e potrebbero essere diversi)

Leggi di più sulle linee guida tecniche e di audit per le radici MSFT qui

Aside:

È sicuramente possibile memorizzare una chiave privata in un HSM che non espone mai la chiave privata (scarica le richieste a quella key) e traccia in modo permanente ogni utilizzo di quella chiave privata. Non ricordo se qualcuno di questi standard richieda un HSM, ma dato il costo relativamente basso di un HSM non riesco a immaginare il motivo per cui non viene eseguito.

Grazie per tutti i link e le cose su Google, questo è di grande aiuto. Presumo che per "fornitore" ti riferisci a "fornitori di browser / dispositivi"? In altre parole: persone che integrerebbero i certificati nei loro prodotti.
Ogni telefono (Android, iPhone, Blackberry), sistema operativo (Linux, Windows, ecc.) E persino alcuni browser Web (Firefox) mantengono archivi attendibili indipendenti. Non li ho trattati tutti, ma ce ne sono molti altri. Non ho idea di quali siano i requisiti per l'inclusione.
Sì, grazie, stavo solo chiarendo che ho capito cosa intendevi per venditore.
Callum Wilson
2012-12-04 17:10:48 UTC
view on stackexchange narkive permalink

Anche se sono d'accordo con la risposta molto esauriente di @ Thomas sopra, vorrei aggiungere che ho installato il sistema CA di root per il sistema di carte di debito di una banca del Regno Unito (ogni piccolissimo chip sulla carta è in realtà un certificato).

Abbiamo utilizzato dispositivi Thales HSM (6 cifre £ costi) che disponevano di adeguati sistemi a prova di manomissione per inclinazione, temperatura, attacchi fisici e così via.

In termini della cerimonia chiave , che (come descrive Thomas) ha mandrie di auditor in piedi intorno a fredde sale macchine: è più complicato di così. È necessario assicurarsi che l'attività di generazione della chiave e il trasporto della chiave all'HSM siano attività separate e che la chiave non possa essere compromessa dalla collusione. Gli strumenti HSM di Thales consentono di suddividere la chiave in segmenti, ciascuno crittografato con una chiave di trasporto, in modo che i singoli possessori di chiavi possano raggiungere la cerimonia della chiave separatamente, con diversi mezzi di trasporto (per l'amor del cielo, no car sharing) al posizione, di solito nell'HSM nella sala server di produzione.

Non considerare che essere una CA radice è semplice : sì, so che puoi creare una CA radice utilizzando Strumenti gratuiti: è necessario valutare la propria propensione al rischio e stabilire se è possibile creare una CA radice che corrisponda al modello di minaccia. per esempio. per i certificati di carte di debito (dove la perdita consequenziale potrebbe essere "l'intera banca"), l'importo totale speso era enorme e molte persone correvano per assicurarsi che nessuna singola persona potesse colludere o avere il controllo della chiave.

Se stai solo creando una Root CA come sistema di test locale, allora chiaramente il modello di rischio è diverso.

Il mio consiglio è che, a meno che tu non abbia le dimensioni di una grande organizzazione (Fortune 500) o la tua attività reale è essere una CA radice, quindi affidare all'esterno.

Ho dimenticato di aggiungere che una delle nostre cerimonie chiave è diventata piuttosto stressante quando la chiave di trasporto non entrava correttamente. perché non siamo riusciti a vedere cosa veniva digitato dal titolare della chiave, gli abbiamo fatto continuare a provare in caso di errore di input. Quindi, il momento della lampadina "ha la chiave contenente una I o la lettera O?" "sì", il che spiega il problema perché era un codice Hex!
Lol alle persone coinvolte a quel livello di sicurezza Internet che non riconoscono un codice esadecimale quando lo vedono :)
Anthony Palmer
2012-12-04 06:56:35 UTC
view on stackexchange narkive permalink

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

Molto buffo; un po 'poco pratico, ma piuttosto buffo.
Scusa, ho usato la mia macchina del tempo e ho controllato, il tuo computer Quantum ha un difetto, si è trasformato in un gatto morto
AJ Henderson
2012-12-03 20:38:14 UTC
view on stackexchange narkive permalink

Una cosa che molti fanno è utilizzare certificati secondari ed elenchi di revoche. Ciò non significa che non si verifichino problemi e che le chiavi private siano 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 tale 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 sub-certificato dovrà specificare l'elenco di revoche che controllano per essere valido, possono inoltre revoca un sottocert compromesso.

Un modo semplice per verificare se una particolare CA lo fa è controllare la catena di fiducia sul certificato. Spesso, ci saranno uno o anche più certificati CA tra il certificato fornito e il certificato CA radice attendibile.

Polynomial
2012-12-03 20:16:26 UTC
view on stackexchange narkive permalink

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

L'uso degli HSM mi era passato per la mente. Suppongo che in quel caso non sia possibile che nessun essere umano conosca la chiave. È solo nella scatola. Ma sembra ancora essere che un obiettivo così prezioso sarebbe sotto serio attacco (leggi: governo straniero) su base quotidiana. E dato che ogni rete alla fine viene interrotta, mi sono chiesto perché non avevo mai sentito parlare di una tale violazione. Sto sovrastimando erroneamente (grazie george) il valore?
Il problema con un governo straniero che lo attacca è che se potesse essere ricondotto al governo straniero, sarebbe in una situazione politica molto calda. Non c'è abbastanza per guadagnare da esso.
@lynks Penso che AJ sia in gran parte proprio qui. Se si ottiene l'attribuzione, li mette in una brutta situazione politica. È anche più economico e sicuro per loro chiedere a una delle loro CA nazionali di rilasciare un certificato falso che i browser dei loro cittadini accetteranno felicemente.
Qualche downvoters si interessa di spiegare effettivamente il proprio voto? Non ha molto senso dare un -1 se nessuno sa perché.
Immagino che sia perché la tua scommessa, e quello che sembra funzionare a caso, è contraddetto in altre risposte e commenti ...


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...