Man in the middle
Da Wikipedia, l'enciclopedia libera.
In crittografia, l'attacco dell'uomo in mezzo, meglio conosciuto come man in the middle attack o MITM è un attacco nel quale l'attaccante è in grado di leggere, inserire o modificare a piacere, messaggi tra due parti senza che nessuna delle due sia in grado di sapere se il collegamento sia stato compromesso. L'attaccante deve essere in grado di osservare e intercettare il transito dei messaggi tra le due vittime.
Indice |
[modifica] Esempio con chiave pubblica
Supponiamo che Alice voglia comunicare con Bob, e che Mallory voglia spiare la conversazione, e se possibile consegnare a Bob dei falsi messaggi. Per iniziare, Alice deve chiedere a Bob la sua chiave pubblica. Se Bob invia la sua chiave pubblica ad Alice, ma Mallory è in grado di intercettarla, può iniziare un attacco dell'uomo in mezzo. Mallory può semplicemente inviare ad Alice una chiave pubblica della quale possiede la corrispondente chiave privata. Alice poi, credendo che questa sia la chiave pubblica di Bob, cifra i suoi messaggi con la chiave di Mallory ed invia i suoi messaggi cifrati a Bob. Mallory quindi li intercetta, li decifra, ne tiene una copia per se, e li re-cifra (dopo averli alterati se lo desidera) usando la chiave pubblica di Bob originariamente inviata ad Alice. Quando Bob riceverà il messaggio cifrato, crederà che questo provenga da Alice. Un simile attacco è possibile, in teoria, verso qualsiasi messaggio inviato usando tecnologia a chiave pubblica, compresi pacchetti di dati trasportati su reti di computer.
[modifica] Difese contro l'attacco
La possibilità di un attacco MITM rimane un serio problema di sicurezza per sistemi di cifratura a chiave pubblica. Un meccanismo largamente usato per evitare simili attacchi è l'uso di chiavi firmate: se la chiave di Bob è firmata da una terza parte di fiducia che ne assicura l'autenticità, Alice può considerare con una certa confidenza che la chiave firmata da lei ricevuta non è un tentativo di intercettazione di Mallory. L'uso di chiavi firmate, a volte firmate da una Autorità Certificante (CA), è uno dei meccanismi primari usati per rendere sicuro il traffico web (compresi HTTPS, SSL o protocolli Transport Layer Security). Tuttavia, la noncuranza da parte delle autorità di certificazione nel dare la loro approvazione alla corrispondenza tra le informazioni sull'identità e le relative chiavi pubbliche sono un problema di questi sistemi.
Un altra difesa, proposta da Ron Rivest e Adi Shamir, è il protocollo del lucchetto intermedio, noto anche col nome interlock. Il protocollo lavora più o meno come segue: Alice cifra il suo messaggio con la chiave di Bob e invia solo metà del suo messaggio cifrato a Bob. Bob cifra il suo messaggio con la chiave di Alice e invia una metà del suo messaggio cifrato ad Alice. Solo allora Alice invia l'altra metà del suo messaggio a Bob, il quale invia la sua altra metà. La forza di questo protocollo risiede nel fatto che metà di un messaggio cifrato non può essere decifrato. Dunque, se Mallory inizia il suo attacco e intercetta le chiavi di Bob e Alice, Mallory non sarà in grado di decifrare il mezzo-messaggio (cifrato usando la sua chiave) e re-cifrarlo usando la chiave di Bob. Deve attendere di ricevere entrambe le metà del messaggio per poterle leggere, e ci può riuscire solo componendo un nuovo messaggio e imbrogliare così solo una delle due parti.
[modifica] Al di là della crittografia
Mentre questo esempio è focalizzato sull'attacco del MITM in un contesto crittografico, il MITM dovrebbe essere visto come un problema più generale risultante da un qualsiasi uso di intermediari che agiscono come delegati di una delle parti. Se gli intermediari sono degni di fiducia e competenti, tutto andrà bene; se non lo sono, non andrà bene niente. Come distinguere il caso? Agendo come intermediario e spacciandosi da una parte per essere un delegato fidato dell'altra e viceversa, l'attaccante può condurre molti malfatti, compresi vari attacchi contro la confidenzialità o l'integrità dei dati che passano attraverso di esso.