Sto cercando di capire la differenza tra firma digitale e certificazione digitale e come funzionano insieme nel loro insieme in una prospettiva di alto livello. Spero che i guru qui possano indicarmi se la mia comprensione è sbagliata.
-
Quando un utente accede a un sito Web, per crittografare le comunicazioni tra l'utente e il sito Web, è necessario utilizzare una chiave simmetrica.
-
* Affinché la chiave simmetrica sia utilizzata sia dal client che dal server, le informazioni sulla creazione della chiave simmetrica devono essere crittografate usando la chiave asimmetrica.
-
Ma prima, l'autenticità del server web deve essere confermata. Quindi, il server web invia all'utente / cliente la sua certificazione digitale. All'interno della certificazione digitale, contiene l'uso della chiave pubblica da parte del server web per essere utilizzato per la crittografia asimmetrica in 2).
-
Questa certificazione digitale viene rilasciata dall'autorità di certificazione che controlla e verifica per dimostrare che il server / dominio web appartiene veramente a chi deve appartenere.
-
* Ancora una volta, come dimostriamo l'autenticità e l'integrità della certificazione digitale? Per l'integrità, il certificato digitale viene sottoposto a hash e inviato insieme al certificato originale. Per autenticità, il certificato digitale con hash è firmato con la chiave privata della CA.
-
* Quindi, se il certificato digitale è firmato dalla chiave privata della CA, come si ottiene la chiave pubblica di CA? L'idea generale che ho è che le chiavi pubbliche di CA siano preinstallate in molti browser.
-
Con la chiave pubblica della CA, l'hash / certificato digitalmente firmato viene decrittografato e per produrre l'hash originale. Quindi il client ha cancellato il certificato ricevuto e confrontato con l'hash originale. Se i 2 risultati dell'hash corrispondono, il certificato non viene alterato.
-
Con il certificato digitale, la chiave pubblica utilizzata dal server Web viene recuperata dal webclient / utente. Il webclient / utente quindi usa questa chiave pubblica per crittografare le informazioni di costruzione della chiave simmetrica sul server web.
-
Con la chiave simmetrica nota e creata su entrambi i lati, può iniziare la comunicazione crittografata.
Domande:
-
La mia comprensione è corretta?
-
Per 2 *, è la chiave di sessione creata dal client web e inviata al server web per l'uso diretto (crittografato) o è configurata scambiando informazioni che finiscono per avere entrambe le parti con la stessa chiave di sessione (Diffie Algoritmo di Hellman?)?
-
Per 5, * Non ho mai fatto domanda per un certificato digitale prima. Quando la CA emette un certificato digitale, rilascia realmente il certificato digitale? O emette semplicemente un hash con firma digitale del certificato.
-
Altrimenti, come possiamo inviare il certificato digitale (originale) e la sua versione con hash con firma digitale senza la chiave privata CA?
-
Per 6 *, a mio avviso è corretto che la chiave pubblica di CA sia preinstallata con i browser?
-
Il client ha bisogno di autenticarsi con il webserver? (Ho letto di avere il client che invia cert al server web).
-
Cosa verrà inserito nel truststore sul webclient e cosa verrà inserito nel keystore sul server web?