you always know the IP address of the person your sending to
Oh, vero? Personalmente non ho idea di quali indirizzi IP trovo i miei servizi web preferiti. Di solito scrivo un dominio e il mio computer contatta alcune terze parti per chiedere l'IP corrispondente. Questo è noto come Domain Name Service (DNS). Vedrai in un secondo perché dico questo.
Un classico esempio di un potenziale aggressore man-in-the-middle (MITM) è la persona che controlla il router a cui sei connesso. Senza il PKI, possono facilmente fingere di essere qualcun altro.
Diciamo che vai in un bar pubblico e vuoi accedere alla tua casella di posta Gmail. Digiti "gmail.com" nella barra degli indirizzi del browser e ti viene presentata una pagina che richiede il nome e la password del tuo account Gmail. Come fai a sapere che quella pagina è in realtà quella ospitata da Google, e non, ad esempio, servita da una macchina locale nella stanza sul retro del caffè? Un problema qui è che il computer ha inviato una richiesta a un DNS remoto per chiedere l'IP richiesto, ma questa richiesta passa attraverso il router, quindi senza misure di sicurezza aggiuntive, il MITM può restituire un IP arbitrario. In secondo luogo, il router potrebbe aver lasciato la richiesta e la risposta DNS invariate, ma ha poi pubblicato la pagina falsa indipendentemente dall'IP che stavi effettivamente cercando di raggiungere. Dopo tutto, ti sei affidato a loro per trasmettere la tua richiesta e la risposta di Gmail.
Ed è qui che entrano in gioco la crittografia a livello di trasporto e l'infrastruttura a chiave pubblica. Quando si tenta di contattare un server che esegue HTTPS, verrà visualizzata una chiave pubblica per crittografare ulteriori comunicazioni e tale chiave verrà generalmente firmata da una CA attendibile. Pertanto, senza accesso alla chiave privata del server, un intermediario non può leggere o manipolare i dati scambiati (da qui il nome crittografia end-to-end per questo tipo di meccanismo). Ciò che fa la CA è assicurarsi che la chiave pubblica originariamente presentata non possa essere falsificata senza che tu te ne accorga.
Allo stesso modo, DNSSEC (DNS Security Extensions) si basa su PKI per rilevare un MITM che sta manipolando richieste / risposte DNS.