Immagina quanto segue:
Il cliente C vuole comunicare con il server S. L'attaccante malvagio A è il Man-In-The-Middle.
C invia una richiesta a S, A la intercetta. A crea un certificato autofirmato con il nome di dominio di S e invia il certificato a C, mentre spoofing l'IP di origine sull'IP di S.
C e A eseguono l'handshake (C pensa che A sia S), A può decifrare richieste formate da A e le inoltra a S (tramite HTTP o HTTPS). Le risposte di S vengono considerate al contrario.
C vede l'avviso che il certificato è autofirmato, ma a chi importa davvero?
Poiché la connessione tra C e A avviene tramite SSL, l'HSTS non dovrebbe essere un problema.
È possibile? O mi sto perdendo qualcosa?