Ho pensato molto alla sicurezza delle password in questi giorni, e ho sempre più esitato a utilizzare servizi con moduli di accesso che non sono su HTTPS. Mentre stavo ricercando la sicurezza, ho giocato con Cain & Abel sulla mia rete locale per vedere quanto sarebbe facile eseguire un attacco man-in-the-middle sui siti che non usano HTTPS. Sfortunatamente, è abbastanza facile.
Quindi ho cercato di trovare dei modi per aggirare questo problema. Non è realistico aspettarsi che io - e certamente il resto del mondo che ignora la sicurezza - smetta semplicemente di usare servizi che non usano HTTPS. Ce ne sono troppi che non lo fanno.
Il piano a cui sono più interessato in questo momento utilizza un sistema proxy su un'istanza EC2 per effettuare accessi da remoto, quindi restituire la sessione protetta / i cookie. Essenzialmente, il flusso sarebbe simile a questo:
- L'utente invia username / password e cookie di dominio su SSL a un'istanza EC2.
- L'istanza EC2 utilizza i cookie per imitare la sessione dell'utente e invia una richiesta di accesso.
- L'istanza EC2 restituisce all'utente eventuali nuovi cookie, nonché eventuali reindirizzamenti che potrebbero essere stati richiesti dal server di login
- L'utente imposta i cookie per la risposta EC2 e aggiorna (se non ci sono reindirizzamenti) o reindirizza all'URL specificato.
La sicurezza qui si basa sul fatto che le istanze EC2 sono distribuite e anonime, rendendole abbastanza sicure contro gli attacchi man-in-the-middle. Certamente c'è ancora una possibilità, ma nella mia mente questo riduce notevolmente i rischi di inviare password a siti non SSL.
Ci sono dei buchi di sicurezza qui che non vedo? C'è un reale vantaggio in termini di sicurezza nel fare login in questo modo?