How verifying party can get the issuer's certificate which was used to sign some derived certificate.
Il browser ha un database di certificati attendibili, che sono noti per verificare l'identità prima della firma. Se il certificato derivato è firmato da uno di questi, viene estratto.
Tuttavia, ci sono alcune CA note come 2 ° livello. In questo caso viene utilizzata una catena di certificati.
- Il server fornisce il certificato che deve essere verificato.
- Il server fornisce il certificato emittente.
- Seguendo la catena, raggiungiamo il certificato di livello superiore che è già presente nel database dei certificati attendibili del browser
Naturalmente, l'emittente del certificato di livello superiore sarà molto attento nell'autorizzare le CA di secondo livello. C'è un bel po 'di processo, ma l'importante è che le nuove CA possano essere firmate da quelle esistenti per la compatibilità con i dispositivi più vecchi.
The only idea I have is that it is embedded into derived certificate as other information.
Sì, il certificato da verificare indica l'impronta digitale o un'identificazione simile del suo certificato CA. In questo modo il browser sa quale CA utilizzare.
Nel caso della certificazione della catena, l'intero certificato è incluso. (# 2 sopra) (non solo l'impronta digitale) Questo certificato ha l'impronta digitale di una CA di livello superiore (n. 3 sopra) che è (si spera) già nel keystore del browser.
In this case certificate size would grow with each level of certificate trust tree.
Se ci sono 2-3 certificati nella catena di certificazione, allora sì, ci vuole più spazio, (che potrebbe essere considerato "dimensione del certificato"), ma questo non rappresenta un problema.
Per quanto riguarda l'archivio di certificati del browser in costante aumento, in realtà c'è solo un numero limitato di CA, anche per quelli che non sono di primo livello, quindi neanche questo è un problema pratico.
How client applications such as browser or MS Word know which certification authorities are trusted root authorities? Are they just hard-coded into every application? How big is the list of root certification authorities and who manages it? What if some application developers forget to include one of authorities (or just a new one is registered) - their certificates won't be considered trusted will they? So is it possible that some site is trusted in Chrome, but non-trusted using Firefox (it can be derived from here).
Alcune CA di secondo livello potrebbero essere considerate attendibili in un browser e non in un altro. Pertanto, la CA che emette il certificato spesso fornisce certificati CA intermedi in modo che le app siano sempre in grado di risalire a una CA di livello superiore nel proprio negozio.
Chi gestisce questo database? Non lo so. Ho sentito che Google ha deciso di non fidarsi di una particolare CA dopo aver subito una violazione della sua chiave privata.
La CA deve mantenere segreta la propria chiave privata, altrimenti può essere utilizzata per firmare qualsiasi dominio. Le CA sono affidabili perché è noto che
- Hanno buone misure di sicurezza per proteggere la loro chiave privata.
- Verificano la proprietà prima di emettere un certificato.
- Hanno alcuni mezzi per emettere la revoca dei certificati (buon argomento per domande separate)
What if attacker manages to include his self-issued certificate into some trusted storage: it might be victim's computer trusted root certificates list, or her enterprise domain trusted certificates. I know it's unlikely scenario, but would it work?
Se un utente malintenzionato può accedere al computer di una vittima (presumibilmente la vittima ha problemi più grandi a quel punto) e inserisce un certificato attendibile, allora quell'hacker ha i mezzi per eseguire correttamente il MiTM con le connessioni https. Ascoltare o alterare le connessioni a volontà, se riesce a ottenere un dispositivo tra la vittima e il server. (cioè intercettazione WiFi o connessione fisica di rete)
Similar scenario to #3: patch client's application such as MS Word (or share patched version on the web for everyone to download freely) so that it considers attacker's certificate to be root certification authority. Would that work?
Sì, ma presumibilmente se è possibile applicare la patch all'applicazione client, la vittima ha molto più da preoccuparsi.