Tutti i protocolli challenge-response (o di altra autenticazione) sono vulnerabili agli attacchi main-in-the-middle in linea?
Diciamo che Alice vuole impostare una connessione con Bob (ad esempio, vuole accedere su un server). Bob le manda un numero casuale, r. Alice risponde quindi con un MAC del numero casuale, usando la sua password. Bob sa che solo Alice può farlo e registrarla sul server.
E se durante tutto questo tempo ci fosse stato un avversario online tra Alice e Bob. Può intercettarlo e inviarlo ad Alice stesso. Poteva falsificare l'IP del server, quindi Alice pensa che provenga da Bob. Alice invia quindi la sua risposta e di nuovo l'avversario lo intercetta e lo invia al server. L'avversario ha appena inoltrato il messaggio in modo che Bob lo accetti come corretto e accede all'avversario. Ora ha impostato una connessione con Bob, nel nome di Alice.
Il mio ragionamento è corretto? Suppongo che, per questo motivo, non utilizzerai mai i protocolli challenge-response per accedere a un utente o avviare una sessione. Se non sbaglio, l'uso delle chiavi di sessione protegge da questo attacco e consente una connessione sicura.