Questa è la mia comprensione del meccanismo di firma del certificato digitale finora. Correggimi se sbaglio.
- www.abc.com ( SSL abilitato ) è stato digitato per la prima volta nel browser
- Il server di abc.com invia al browser la sua chiave pubblica e una firma digitale . Insieme ad altri contenuti, la firma digitale contiene la chiave pubblica di abc.com in forma crittografata. Tale crittografia viene eseguita con la chiave privata della firma digitale
- La firma digitale viene decifrata con la chiave pubblica corrispondente già memorizzata nel browser (già memorizzata perché proviene da un'autorità certificata). Questa decrittazione fornisce la chiave pubblica del server
- La chiave pubblica decrittografata e la chiave pubblica inviata chiaramente vengono confrontate per uguaglianza per verificare il trust
- Se ha esito positivo, la chiave simmetrica viene generata, crittografata con la chiave pubblica del server e inviata per ulteriori comunicazioni.
Ora, considera una possibilità per l'attacco MITM:
- L'hacker riceve una copia di pacchetti di dati che vengono trasmessi dal server al browser dopo il passaggio 2
- Poiché ogni browser ha la chiave pubblica di CA, può decifrare la firma digitale e verificare l'uguaglianza con le chiavi pubbliche del server
- Ora, può ulteriormente generare la propria versione della chiave simmetrica, crittografare con la chiave pubblica del server, inviare al server e fingere come un vero utente
Quindi, la chiave simmetrica di un hacker può confondere il server con la chiave simmetrica originale inviata dall'utente reale?
Il server risponderà a un hacker o solo all'utente reale?
È vulnerabile o è non possibile ?
Correggi ciò che mi manca.