Puoi impedire a un uomo in mezzo di leggere il messaggio?


10

Ho sentito parlare di tutte queste prevenzioni di Man-In-The-Middle Attack e mi chiedo come possa funzionare se l'uomo nel mezzo ascolta solo il tuo stream e non vuole cambiare il messaggio stesso.

Può l'uomo nel mezzo non solo prendere le chiavi scambiate dagli avversari, cambiare le chiavi e quindi decifrare e crittografare di nuovo il messaggio?

Come può un certificato impedirlo?

Modificare:

Ho sentito che l'autorità di certificazione generalmente dice: "Sì, questa è la chiave di altri". Ma come posso essere certo che la firma del certificato non è confusa?

Risposte:


10

Può l'uomo nel mezzo non solo prendere le chiavi scambiate dagli avversari, cambiare le chiavi e quindi decifrare e crittografare di nuovo il messaggio?

Si Loro possono.

Un protocollo di scambio di chiavi come (la versione "manuale" di) DH è sicuro contro le intercettazioni (vale a dire, semplicemente osservando ciò che viene trasmesso sul canale), ma si rompe completamente contro gli attacchi man-in-the-middle (MITM), come hai dichiarato.

I certificati sono un tentativo di porre rimedio a questo, ma sorge un altro problema: come si può garantire che entrambe le parti ricevano il certificato corretto? Ovviamente non puoi semplicemente inviare i certificati attraverso il canale non sicuro poiché questo è di nuovo suscettibile a un attacco MITM.

La soluzione è l'esistenza di un canale alternativo (completamente) sicuro . Si tratterebbe delle due parti che si incontrano di persona e scambiano i loro certificati fisicamente o tramite un canale fidato alternativo (ad esempio, al telefono, se può essere attendibile).

Nelle reti di computer, il canale alternativo è generalmente un'infrastruttura a chiave pubblica (PKI). Ciò significa che il tuo sistema operativo o browser ha una serie di certificati radice preconfigurati da cui vengono firmati altri certificati (e possibilmente anche ulteriori certificati che li utilizzano come certificati intermedi ). Quindi, quando visiti un sito Web, presenta un certificato firmato , che viene firmato utilizzando (una catena di) certificati di cui ti fidi già. Quindi, utilizzando questo certificato, è possibile uno scambio di chiavi autenticato (ad esempio, concordare una chiave effimera da utilizzare con la normale crittografia simmetrica).


Quindi stiamo sostanzialmente comunicando i certificati attraverso un secondo canale, sappiamo di essere sicuri?
TVSuchty,

Sì; in caso contrario, è sempre possibile un attacco MITM. È un po 'controintuitivo pensare a una struttura come una PKI come a un "canale", ma l'idea non è così inverosimile se la si considera semplicemente come un modo di trasmettere informazioni (in questo caso, certificati).
dkaeae

Ma perché non dovremmo parlare del canale, sappiamo di essere sicuri, in primo luogo?
TVSuchty,

1
@TVSuchty È necessaria una chiave di fiducia iniziale, che deve essere comunicata una sola volta nella vita. Tale chiave potrebbe anche essere la chiave di un'autorità di certificazione, di cui ti fidi per rilasciare certificati per gli altri. Ad esempio, quando si installa un browser, viene fornito con le chiavi di molte CA. Quando vai su un sito https, ricevi una chiave per il sito e un certificato emesso da una CA che indica che la chiave è corretta, quindi puoi avviare https bene. Ma ciò presuppone che 1) le chiavi della CA nel browser siano quelle giuste e 2) le CA stesse possano essere attendibili.
Chi

1
@TVSuchty È sufficiente una chiave attendibile, purché sia ​​la chiave pubblica di una CA di cui ti puoi fidare. Firefox utilizza ~ 100 chiavi CA .
Chi

5

In un attacco man-in-the-middle, chiedi a Bob la sua chiave ma Eva intercetta il messaggio e ti invia invece la sua chiave. Chiede a Bob la sua chiave e poi passa i messaggi tra te e Bob, decodificandoli, leggendoli e / o modificandoli nel processo.

Il problema è che non sai se hai davvero la chiave di Bob. I certificati evitano questo perché l'autorità di certificazione (CA) dà a Bob un messaggio con firma digitale che dice "la chiave di Bob è 12345". Puoi verificare questo certificato perché non ci sono molte CA quindi il tuo browser contiene solo un elenco di chiavi CA valide. Ora, se Eva intercetta il tuo tentativo di avviare una comunicazione crittografata con Bob, ha due possibilità. Se ti dice che la chiave di Bob è 67890, allora o non fornisce un certificato e dici "Mi dispiace, devi dimostrarlo" o lei fornisce un certificato falso e dici "Quel certificato non è valido." In alternativa, ti dice che la chiave di Bob è 12345 e ne fornisce un certificato valido, ma questo non le serve perché non lo fa


Perché Eva non può semplicemente inviarmi il certificato Bobs? Voglio dire, cosa c'è di speciale con la chiave di Bob in modo che Eva non possa replicare una simile? Come faccio a sapere che questa chiave è certificata? Come posso verificare il certificato?
TVSuchty,

Ti ho detto perché non può inviarti il ​​certificato di Bob (o, piuttosto, perché inviarti il ​​certificato di Bob non la aiuta). Non esiste una "chiave simile". Sai che la chiave è certificata perché hai il certificato. Si controlla il certificato verificando la firma digitale utilizzando la chiave della CA.
David Richerby,

@TVSuchty Eve deve prima decrittografare il messaggio per leggerlo e quindi crittografare nuovamente il messaggio per trasmetterlo. Solo il certificato di firma privata di Bob ti consentirà di crittografare come Bob, ma la persona sfortunata soggetta all'attacco del MITM deve essere in grado di provare se ha il certificato di Bob per sapere se è stato fornito invece quello di Eva. Questo è il motivo per cui alcune applicazioni sicure richiedono di accettare la chiave di crittografia la prima volta e ogni volta che cambia.
Willtech,

1
@TVSuchty Un certificato dice sostanzialmente "I am X, e puoi fidarti che io sono X perché Y lo dice". Eve può facilmente creare un certificato che dice "Io sono Bob, e puoi fidarti che io sono Bob perché Eve lo dice". Se il mio computer ottiene quel certificato, semplicemente ride. "Eve dice così" non è un motivo per credere che sia il certificato di Bob. "Perché lo dice Verisign", visto che Verisign è uno dei 100 provider di certificati installati sul computer dal produttore, questo è un motivo per crederci. Ma Eva non può falsificare un simile certificato.
gnasher729,

Un'altra risposta a "perché non riesco a mandarmi il certificato di Bob:" Eva può provare a falsificare il certificato di Bob o rubarlo. Forse un milione di dollari è sufficiente per corrompere uno dei dipendenti di Bob per consegnare una copia del certificato di Bob. Bob deve assicurarsi che sia difficile rubare il certificato. Se rubato, un certificato può essere revocato e non sarà più accettato. Il certificato ora dirà "questo è un autentico certificato di Bob, ma è stato segnalato rubato, quindi non fidarti".
gnasher729,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.