Quindi perché dovresti fare l'autenticazione a due fattori? Si tratta di alzare il tiro per l'attaccante.
Come puoi alzare il tiro per l'attaccante? Introducendo una sfida che non rientra nel profilo di abilità dell'attaccante classico.
... come se avessi bisogno che l'attaccante rubasse fisicamente qualcosa.
Questa è l'idea originaria di 2FA come se fosse stata introdotta per es. nel 1986 da RSA con il token RSID securID. Sfortunatamente questo algoritmo proprietario non è stato implementato molto bene, quindi ha dovuto essere migliorato continuamente. Inoltre: se un attaccante ruba le chiavi segrete dei dispositivi hardware, di nuovo il possesso fisico è inutile.
Come affermato da John e dal NIST, SMS non è la migliore idea per implementare 2FA. Ovviamente è ancora meglio che usare nessun secondo fattore e solo una debole password.
Ma anche le app per smartphone hanno i loro vettori di attacco. Non solo sullo smartphone ma anche durante il processo di registrazione. Ho scritto un articolo sul blog di Riva a riguardo. link
Infine - se parli di uomo nel browser, ovviamente 2FA ti protegge solo nel momemnt breve dell'autenticazione. Se si utilizza un protocollo non crittografato, l'utente malintenzionato può semplicemente annusare e rubare i dati senza compromettere l'accesso. Se il tuo computer è pieno di trojan, l'hacker può anche indirizzare direttamente i tuoi dati senza la necessità di indirizzare il processo di autenticazione.