Qual è la base specifica che consente a un'entità di connettere una catena di certificati a una radice attendibile?

2

Diciamo che voglio convalidare un'entità che presenti un certificato X509v3, "Leaf". Leaf è un cert firmato da SigningCA. Il certificato di firmaCCA, "SigningCert", è stato firmato da RootCA. Il certificato di RootCA, "RootCert" si trova nel trust store del mio sistema.

  • Prendo Leaf e vedo che è firmato da SigningCA. Nello specifico, il collegamento è che nella sezione "Accesso alle informazioni sull'autorità" di Leaf, "CA Issuers" contiene un URL che posso seguire per eliminare il certificato di SigningCA, SigningCert. Quindi vado a tirare giù e faccio la convalida. Tutto è buono.

  • Ma ora voglio verificare che SigningCA sia legittimo. Ha il proprio campo Issue di CA che mi indica il certificato di RootCA, RootCert.

Ora la mia domanda: per convalidare, ho bisogno di estrarre questo URL, o è sufficiente che RootCert sia nel mio negozio di fiducia e ha alcune proprietà che consentono un confronto rapido con quello che ho già ?

Sembra (da qualche sperimentazione con i browser) che non sia richiesto il rootCert, il che mi fa pensare che stiano confrontando alcuni campi in SigningCert con qualcosa di presente in tutti i certificati nel trust store e riportando il successo se una corrispondenza è trovato. Se è così, qual è quella cosa?

    
posta AlwaysLearning 17.10.2018 - 05:10
fonte

2 risposte

2

It seems (from some experimentation with browsers) that pulling the RootCert is not required

L'idea è che alla fine (vale a dire root) si abbia fiducia solo in una CA già nota per essere valida (cioè nel trust store locale) e non ci si fida ciecamente di qualsiasi certificato CA arbitrario scaricato da Internet. Quindi, estrarre il certificato radice da internet non è solo "non richiesto" , ma sarebbe la cosa sbagliata da fare.

Il processo per determinare quale CA radice è quella corretta è essenzialmente la stessa di un certificato CA intermedio: accertarsi che l'emittente CN e l'identificatore della chiave di autorità (se presente) corrispondano e convalidino la firma. La differenza importante rispetto a una CA intermedia è che la CA radice verrà utilizzata come ultima affidabilità di trust e quindi deve essere già considerata attendibile, il che non è il caso di qualcosa scaricato ciecamente da qualche parte o dato dal peer di comunicazione (non ancora affidabile). .

Per maggiori dettagli su come viene eseguita la convalida dei certificati, consultare Framework dei certificati SSL 101: in che modo il browser verifica effettivamente la validità di un determinato certificato del server? .

    
risposta data 17.10.2018 - 06:36
fonte
1

È corretto che il certificato della CA principale, già presente nell'archivio fidato del cliente, non debba essere recuperato da una posizione esterna. Esistono alcuni modi in cui un client può cercare un certificato CA nel proprio archivio sicuro.

  • Nome comune (CN): il campo "Emittente" del certificato fornisce il CN del firmatario. Sebbene i CN non debbano essere unici, in pratica non si dovrebbero avere CN duplicati nel proprio trust store, quindi controllare i certificati attendibili per uno (i) con quel CN e vedere se la sua chiave pubblica verifica il certificato in questione, è ancora abbastanza veloce da essere pratico. Per i certificati X.509v1, questo è l'approccio più pratico.
  • Identificatore chiave di autorità : questo è un campo di estensione che presenta un identificatore per la chiave di firma (credo spesso è semplicemente un hash dei bit della chiave pubblica del firmatario). Anche in questo caso, i duplicati sono tecnicamente possibili (più certs potrebbero condividere una coppia di chiavi, anche se significa che ogni detentore di certificati potrebbe impersonare l'altro, la probabilità che ciò accada per i certificati generati in modo indipendente sia astronomicamente bassa) ma non dovrebbe verificarsi. In pratica è possibile cercare il certificato di firma di un certificato v3 ricercando un certificato con un identificatore di chiave soggetto che corrisponda all'identificativo della chiave dell'autorità cert da convalidare.
risposta data 17.10.2018 - 05:56
fonte

Leggi altre domande sui tag