Durante le mie lezioni sulla sicurezza delle informazioni il professore ha detto che Alice può autenticarsi con Bob nel modo seguente usando RSA:
- Bob genera e invia un nonce ad Alice
- Alice firma questo nonce con la sua chiave privata e lo rimanda a Bob
- Bob decrittografa il pacchetto con la chiave pubblica di Alice e verifica che lo stesso Nonce che ha inviato sia quello che ha ricevuto
Tuttavia, con questo metodo è ancora possibile un attacco MITM. Eve (l'attaccante) può semplicemente inoltrare il Nonce a Alice e quindi inoltrare il Nonce firmato a Bob. Dal punto di vista di Bob Eve è autenticato come Alice.
Bob ----Nonce---> Eve ---Nonce---> Alice
Bob <--S(Nonce)-- Eve <--S(Nonce)- Alice
C'è un modo per garantire che il Nonce firmato arrivi effettivamente dal mittente corretto?