Man in the middle, MITM (również atak „człowiek pośrodku”[1]) – atak kryptologiczny polegający na podsłuchu i modyfikacji wiadomości przesyłanych pomiędzy dwiema stronami bez ich wiedzy.
Przykładem takiego ataku jest podsunięcie nadawcy własnego klucza przy transmisji chronionej szyfrem asymetrycznym. Scenariusz takiego ataku w systemie klucza publicznego mógłby wyglądać następująco:
Alicja chce połączyć się z Bobem (np. stroną banku internetowego). Ewa jest osobą atakującą transmisję w celu przechwycenia tajnych haseł Alicji
Ewa w pierwszym etapie musi przekierować ruch z komputera Alicji do Boba na swój komputer, może to zrobić np. zmieniając dane podawane przez DNS o adresie komputera Boba, lub nasłuchiwać zapytań do DNS i w odpowiednim momencie wysłać adres swojego komputera.
Po połączeniu Ewa przekazuje Alicji swój klucz publiczny rzekomo jako klucz publiczny Boba, jednocześnie nawiązuje połączenie z Bobem, a otrzymane od niego dane (np. treść strony www) przekazuje Alicji.
Alicja widząc stronę logowania Boba, wpisuje w przeglądarce swoje tajne hasło i wysyła je do Ewy, nie wiedząc o przechwyceniu transmisji.
W zależności od celu ataku, Ewa po odczytaniu hasła albo przerywa transmisję, albo w dalszym ciągu pośredniczy w transmisji pomiędzy Alicją i Bobem, cały czas wykradając tajne dane (stan konta, dodatkowe hasła itp.).
W ten sposób Ewa potrafi odczytać wszystkie przesyłane pozornie bezpiecznym kanałem dane, nie będąc zmuszona do czasochłonnego łamania szyfrów zabezpieczających transmisję.
Sytuacja normalna:
Alicja < [Klucz Alicji] -RSA/AES- [Klucz Boba] > Bob