Leggendo questo argomento Quanto è critico mantenere la lunghezza della password segreta? mi viene in mente lo scenario seguente:
Supponiamo di avere un'applicazione web (PHP scritto usando password_hash()
) usando gli hash delle password salate per salvare le password degli utenti. Un utente prova ora ad accedere. Il server ora deve svolgere alcune attività:
- Calcola l'hash della password fornita (ovviamente con i fattori di costo)
- Confronta hash con hash salvato
Supponendo di poter salvare la lunghezza di una password senza problemi di sicurezza, potrei cambiare il flusso di lavoro:
- Confronta la lunghezza della password fornita con la lunghezza salvata (non corrisponde a > return)
- Se la corrispondenza calcola l'hash della password fornita (ovviamente con i fattori di costo)
- Confronta hash con hash salvato
Che ne pensi? Sarebbe "economico" perché risparmio tempo / risorse di calcolo (o rallenta il processo in generale, perché farebbe risparmiare tempo se non fosse stata fornita una password valida)? O sarebbe un problema di sicurezza?