Come verificare l'autenticità del certificato radice di qualche CA?

2

La verifica e l'affidabilità di alcuni certificati radice di una CA insolita potrebbero presentare un problema. Infatti, per scaricare il certificato radice di questa CA dal suo sito web corrispondente, è necessario verificare e fidarsi innanzitutto del certificato TLS presentato da quel sito Web. Significa fidarsi del certificato radice della CA che firma il certificato TLS del sito. Sembra un problema di pollo e uova. Come si potrebbe risolvere?

    
posta sasuke_X220 10.07.2017 - 18:08
fonte

5 risposte

2

Già buone risposte. Concentrerò il mio solo su il problema dell'uovo e della gallina .

Egg: stai tentando di convalidare un certificato, ma le catene di certificati di sicurezza su una radice che non hai mai visto prima.

Pollo: Per decidere se fidarti di questa CA, guarda chi ha rilasciato il certificato di root, ma l'emittente di un certificato CA radice è sempre ... stesso, quindi siamo tornati allo scenario delle uova.

Da qui il nome "root CA certs" per "root of trust". Se ti fidi della radice, allora ti fidi dell'intero albero. Se non ti fidi della radice, allora non ti fidi dell'intero albero. Ma come determinare se una CA radice è affidabile?

Non esiste un modo automatico per determinare se una CA radice è affidabile, e questo è un po 'il punto. Fondamentalmente, devi conoscere l'organizzazione (cioè gli umani) che gestiscono quella CA e decidere se sono affidabili e svolgono correttamente il loro lavoro. Ad esempio, esaminiamo il processo di Mozilla per decidere se una CA deve essere inclusa nei truststor di Firefox e altri prodotti.

Per prima cosa, vedi: Programma certificato CA di Mozilla che contiene una panoramica di tutti i dettagli del processo attorno all'archivio di fiducia principale (enormi consensi a loro per aver reso tutto questo pubblico!).

Successivamente, ci immergiamo un po 'più in profondità nel processo di applicazione CA . Come puoi vedere, c'è un processo molto rigoroso e lungo dal quale Mozilla determina se una CA è "abbastanza buona" da essere inclusa nel trust store di Mozilla.

Bottom-line : non esiste un modo over-the-internet per determinare se una CA radice è affidabile (suppongo che potresti cercarli su un forum o qualcosa del genere, ma come fai a sapere se dovessi fidarti di quelle persone? Vedi: uovo di gallina). Devi prima avere fiducia nella vita reale nelle persone che gestiscono la CA. Le altre risposte descrivono in dettaglio i rischi associati all'aggiunta di un certificato di root dannoso, quindi non lo esaminerò.

Supponiamo che la CA che stai pensando di aggiungere sia gestita dalla tua azienda / scuola / amica: tu credi che siano onesti (non emettendo falsi certificati per i cattivi), e pensi hanno buone pratiche di sicurezza per impedire che la CA venga violata (altamente improbabile a meno che, come minimo, abbiano speso migliaia di dollari su Moduli di sicurezza hardware per memorizzare la chiave privata CA e i firewall per proteggere la loro interfaccia di amministrazione), quindi andare avanti e aggiungerlo.

Altrimenti, se questo è un certificato di root che hai trovato su internet, dovresti contattare telefonicamente l'organizzazione dietro la CA e passare attraverso la tua versione della checklist di Mozilla (che probabilmente coinvolge diversi mesi del tuo tempo e diversi biglietti aerei sia da parte tua che della parte CA).

Bottom-bottom-line: a meno che la CA radice sia la tua azienda / scuola e sei letteralmente obbligata ad aggiungerla affinché il tuo computer funzioni, * quindi non * . Mozilla / Google / Microsoft / Apple, ecc. Hanno processi molto rigorosi per controllare le CA, quindi se quella CA non è stata inclusa, c'è probabilmente un motivo.

    
risposta data 10.07.2017 - 19:34
fonte
3

Non dovresti mai fidarti mai di una nuova CA radice, a meno che tu non creda veramente (e intendo davvero sul serio) che sia completamente affidabile. Anche in questo caso dovresti ottenere il certificato CA in modo affidabile, ovvero non scaricarlo da un sito il cui certificato è rilasciato dalla stessa CA non affidabile.

Il problema principale con CA radice esplicitamente aggiunta è che qualsiasi CA aggiunta in modo esplicito viene automaticamente considerata attendibile per emettere un certificato per qualsiasi dominio . Ciò significa che, anche se example.com ha solitamente un certificato firmato da InnocentCA, il browser accetta anche senza alcun preavviso un certificato firmato da MaliciousCA, se è stato aggiunto MaliciousCA come CA attendibile. Questo rende facile l'attacco da parte dell'uomo o altri tipi di rappresentazione del dominio da parte di MaliciousCA.
Anche il pinning del certificato (integrato o con HPKP) non sarà d'aiuto poiché il blocco è disattivato nei browser se il certificato è firmato da una CA esplicitamente aggiunta, per rendere possibile l'intercettazione legale SSL come utilizzata nei firewall aziendali e molti antivirus desktop.

    
risposta data 10.07.2017 - 18:33
fonte
1

Tutto ha a che fare con la fiducia.

I certificati CA principali di molti vengono forniti con i sistemi operativi e alcuni browser. Potresti anche non saperlo, ma è perché questi produttori si sono fidati di loro per tuo conto (puoi sempre rimuoverne uno). Se il sito della CA che stai visitando non ha la root installata, riceverai un errore - a questo punto ti fidi del certificato e procedi in modo che tu possa scaricare la root, o ti fermi.

Se scarichi e installi un'autorità di certificazione di root, ti stai fidando di te. Se non ti fidi della CA, non installare il suo certificato di origine. Se non si è certi di fidarsi della CA, chiedere in giro è un buon inizio, ma se la radice non è installata su altre macchine client, si otterrà un errore di certificato quando tenteranno comunque di utilizzare il certificato client nella catena. Questo quindi nel tuo esempio significa che hai scelto di considerare attendibile l'errore per continuare a scaricare il certificato di root per quel sito, oppure no - come avresti ricevuto un errore senza il certificato di root in primo luogo.

    
risposta data 10.07.2017 - 18:12
fonte
1

Per prima cosa, devi considerare perché questa organizzazione crede che dovrebbe rilasciare la propria CA radice e distribuirla a te.

Questo certificato appartiene alla tua organizzazione? La tua organizzazione gestisce la propria PKI e rilascia i propri certificati interni, affinché le scatole interne possano comunicare tra loro? Questo è uno scenario comune nell'industria o in altre organizzazioni più grandi ed è un motivo perfettamente legittimo per distribuire internamente i certificati da un server interno ai client interni. A quel punto si sta discutendo di ottenere i certificati tramite una rete privata, in cui la propria organizzazione presumibilmente dispone di sicurezza e controlli sulla distribuzione dei certificati radice. Affidarsi a un server e a un certificato di questo tipo dovrebbe comportare un piccolo problema in quanto membro dell'organizzazione.

Se proviene da un sito esterno (forse uno che non comprende le autorità di certificazione e ha costruito la propria PKI invece di pagare per un certificato) e ora chiede ai propri clienti di fidarsi della CA di root, quindi no. Non c'è motivo di fidarsi del loro certificato come CA radice. Pertanto, se si tratta di una connessione al sito di un fornitore, chiedere loro di eseguire il provisioning del proprio server con un certificato firmato in modo corretto da una CA di fiducia attendibile nota. Li stai pagando per il servizio, non per introdurre vulnerabilità di sicurezza. Non c'è ragione per cui dovrebbero mettere a rischio i propri sistemi per utilizzare i loro.

Se non vogliono o non sono in grado di cooperare, devi mettere in discussione la loro comprensione della PKI e forse la loro competenza in materia di sicurezza in generale. Prendi in considerazione la possibilità di trovare un fornitore alternativo che presenta meno rischi. Se nessuna alternativa è possibile e non hai scelta ma usare i loro servizi, dovresti agire per minimizzare il rischio per la tua organizzazione. Ad esempio, è possibile posizionare il proprio server proxy che si fida del proprio certificato e si connetterà al proprio server; i tuoi clienti si limiterebbero a utilizzare e fidarsi del proprio proxy per accedere ai servizi del fornitore. Ciò limiterebbe il rischio a un singolo sistema proxy.

Se devi accettare la CA radice sui tuoi sistemi client, assicurati di importare il loro certificato concedendogli solo i privilegi minimi. Quando si importa un certificato CA radice, la maggior parte dei sistemi richiederà una serie di caselle di controllo: "considerare questo certificato attendibile per identificare i siti Web?" "fidati di questo certificato per le firme digitali?" "fidati di questo certificato per gli aggiornamenti software?" Assicurati di concedergli solo il livello di fiducia appropriato.

    
risposta data 10.07.2017 - 19:28
fonte
0

Puoi copiare l'identificazione personale (o l'impronta digitale qualunque) del certificato della CA principale, quindi google, se è autentica, mostrerà i risultati del nome della CA esattamente come i tuoi.

Per i dettagli, supponi di utilizzare il browser Chrome, devi inserire il tuo sito https di destinazione per verificare,

  1. Ctrl + Maiusc + I o COMANDO + Opt + I per aprire lo strumento per sviluppatori
  2. Fai clic sulla scheda "Sicurezza"
  3. Fai clic su "Visualizza certificato"
  4. Faiclicsu"Percorso di certificazione"
  5. Elemento radice doppio clic
  6. Fai clic sull'intestazione della scheda "Dettagli"
  7. Scorri fino a "Thumbprint" e fai clic su di esso
  8. Copia l'identificazione personale mostrata nel riquadro inferiore
  9. Googlel'identificazionepersonale(meglioquotare)
risposta data 20.11.2017 - 03:07
fonte

Leggi altre domande sui tag