It seems that using SSL after the password is entered is pointless, as an attacker can already intercept the connection and get the login details.
No, le credenziali stesse di solito sarebbero trasferite in modo sicuro. Prima il tuo browser invia qualcosa che stabilisce una connessione SSL / TLS, che viene poi utilizzata per i dati effettivi dell'applicazione. Nota comunque che questo è solo vero nel caso in cui non ci sia un uomo attivo nel mezzo che manipola il sito o il modulo di accesso.
Tuttavia, non credo che esistano motivi validi in questo giorno e non per criptare tutto . Questo ha un paio di vantaggi rispetto a qualsiasi tipo di approccio misto.
Prima di tutto è molto più difficile fare confusione. Ci sono stati abbastanza esempi in passato, in cui il login stesso era protetto, ma il cookie di sessione per intance, non era . Firesheep era famoso sfruttando questo per dirottare le sessioni e molti grandi giocatori erano vulnerabili a questo tipo di attacco.
Un altro attacco comune è stripping attack . Puoi benissimo servire tutti i tuoi link tramite una connessione sicura, ma un uomo nel mezzo può sostanzialmente provare a sostituire ogni occorrenza di https
con http
. sslstrip è uno strumento che esegue questa operazione automaticamente al volo e si trova nella configurazione del tuo server per bloccare queste richieste.
Inoltre, puoi utilizzare Sicurezza del trasporto rigoroso HTTP quando pubblichi i tuoi contenuti tramite Solo SSL / TLS. Questo rende assolutamente sicuro che i browser non si preoccupino nemmeno di provare a connettersi al tuo servizio senza stabilire una connessione sicura in primo luogo.
Un'altra cosa importante da notare è che non puoi essere certo che il sito non sia stato manomesso da un uomo attivo nel mezzo . Ovviamente una tale entità potrebbe manipolare il modulo stesso in un modo che il tuo browser in effetti invierà le tue credenziali non crittografate o in qualcosa di completamente diverso , rendendo inutilizzabile l'intero schema di autenticazione.
Tuttavia, c'è un altro punto, che almeno a mio avviso è più importante . Offrendo esclusivamente il tuo servizio tramite SSL / TLS, in un certo senso stai proteggendo efficacemente la privacy dei tuoi utenti . Questo è qualcosa che Edward Snowden ha menzionato di recente nel suo TED talk . Ha dato l'esempio che non è possibile acquistare un libro da Amazon senza che il governo lo sappia, perché Amazon sta servendo la maggior parte dei propri siti tramite HTTP semplice e utilizza solo HTTPS per il checkout stesso. Questo è vero per la maggior parte dei siti, ed è un peccato, perché in pratica significa che i governi di questo mondo sanno sempre cosa stai facendo.
Nel passato si sosteneva che le prestazioni rappresentavano un problema, che era l'argomento prevalente contro l'utilizzo esclusivo di SSL. Non penso che sia più vero . In questi giorni è relativamente economico ottenere prestazioni extra e SSL / TLS sono entrambi ottimizzati in modo tale che le connessioni negoziate in precedenza possano essere facilmente riutilizzate.