La mia situazione:
-
La password di accesso da una richiesta POST viene lasciata nella memoria del browser in chiaro, a condizione che la cache non venga cancellata (browser di chiusura / chiusura).
-
La connessione è HTTPS.
Soluzione possibile:
- Genera chiave pubblica e chiave privata sul server per ogni richiesta di accesso.
- Invia chiave pubblica al browser.
- Utilizza JavaScript per crittografare la password con la chiave pubblica e inviarla al server.
- Decifra utilizzando la chiave privata e convalida.
- Elimina le chiavi dopo il login.
La mia domanda è, è fattibile? Pro e contro? Ci sono considerazioni sulla sicurezza o sulle prestazioni?
Ho esaminato alcune domande come:
Il primo non risponde alla mia domanda in quanto suggerisco di generare un nuovo paio di chiavi su ogni richiesta (che onestamente è la mia più grande preoccupazione per quanto riguarda la fattibilità e le prestazioni). Gli altri due link sembrano suggerire che la crittografia javascript sia fondamentalmente inutile finché si dispone di una connessione HTTPS. Pensieri?