La crittografia reversibile non viene comunemente utilizzata per le password perché i requisiti e i parametri specifici dell'autenticazione della password non sono compatibili con la debolezza della crittografia reversibile.
La principale debolezza della crittografia reversibile è semplice: se la chiave è compromessa, i dati crittografati sono compromessi, periodo.
Le password vengono sempre utilizzate ogni volta che gli utenti eseguono l'accesso. Pertanto, il processo di autenticazione deve essere in grado di accedere alle credenziali degli utenti in qualsiasi momento, in modo automatico, senza controlli ostruttivi. Ciò significa che la chiave per la crittografia reversibile deve essere sempre presente sul disco o in memoria. Se quel programma, disco o memoria sono in qualche modo compromessi, tutte le password crittografate in modo reversibile sono tutte compromesse in un colpo solo.
Al contrario, considera l'uso di hash non reversibili. Se il programma, il disco o la memoria sono compromessi, l'attaccante riceve gli hash "bloccati" e non c'è chiave. Possono quindi attaccare ulteriormente - noto attacco di testo cifrato, forza bruta, ecc. - ma non hanno ancora "vinto".
Utilizziamo sempre la crittografia reversibile (diciamolo con chiave) - dischi, file, allegati e-mail. Ciò che tutti questi usi hanno in comune, tuttavia, è che incoraggiano (se non richiedono) l'intervento umano a fornire la chiave.
Non sono sicuro del motivo per cui lo stai chiedendo, ma per quanto riguarda un modello ibrido? Considera che potrebbe essere ragionevole archiviare entrambi testo cifrato reversibile e non reversibile per le password degli utenti. Quando vengono create password, memorizza due versioni cifrate: una creata con una funzione di hashing unidirezionale e l'altra creata con un algoritmo di crittografia asimmetrico ("crittografia a chiave pubblica"). Tutti i processi di autenticazione automatizzati utilizzano gli hash non reversibili per scopi di autenticazione. Mantieni la "chiave pubblica" metà della coppia sul sistema per utilizzare la generazione delle password cifrate, e salva la "chiave privata" metà della coppia offline . Nel caso in cui sia richiesta la password in chiaro, prendere la password crittografata offline e decrittografarla con la chiave appropriata. Finché la chiave di decodifica non è accessibile al sistema di autenticazione, un utente malintenzionato non può sfruttare il fatto che è stata utilizzata la crittografia "reversibile" per archiviare le password in chiaro.
Questo aiuterà solo se la necessità di accedere alle password in chiaro non è un'esigenza automatica, naturalmente. Ma mi sembra un'idea geniale.