Come funziona HTTPS?
HTTPS si basa su crittografia a chiave pubblica / privata . Ciò significa fondamentalmente che esiste una coppia di chiavi: la chiave pubblica viene utilizzata per la crittografia e la chiave privata segreta è necessaria per la decrittografia.
Un certificato è fondamentalmente una chiave pubblica con un'etichetta che identifica il proprietario.
Quindi, quando il browser si connette a un server HTTPS, il server risponderà con il suo certificato. Il browser controlla se il certificato è valido :
- le informazioni del proprietario devono corrispondere al nome del server richiesto dall'utente.
- il certificato deve essere firmato da un'autorità di certificazione attendibile.
Se una di queste condizioni non viene soddisfatta, l'utente viene informato del problema.
Dopo la verifica, il browser estrae la chiave pubblica e lo utilizza per crittografare alcune informazioni prima di inviarlo al server. Il server può decrittografarlo perché il server ha la chiave privata corrispondente .
In che modo HTTPS previene gli attacchi man in the middle?
In this case, will G be able to get the certificate which A previously got from W?
Sì, il certificato è la chiave pubblica con l'etichetta. Il server web lo invierà a chiunque si connetta ad esso.
If G can get the certificate, does that mean that G will be able to decrypt the data?
No. Il certificato contiene la chiave pubblica del server web . Il proxy dannoso non è in possesso della chiave privata corrispondente. Quindi se il proxy inoltra il vero certificato al client, non può decodificare le informazioni che il client invia al server web.
Il server proxy potrebbe provare a falsificare il certificato e fornire la propria chiave pubblica. Ciò, tuttavia, distruggerà la firma delle autorità di certificazione . Il browser avviserà del certificato non valido.
C'è un modo in cui un server proxy può leggere HTTPS?
Se l'amministratore del tuo computer collabora , è possibile che un server proxy annidi le connessioni https. Viene utilizzato in alcune aziende per cercare virus e implementare linee guida di uso accettabile.
Un ente di certificazione locale è configurato e l'amministratore dice al tuo browser che questa CA è affidabile . Il server proxy utilizza questa CA per firmare i suoi certificati falsificati.
Ovviamente, l'utente tende a fare clic sugli avvisi di sicurezza.