Le chiavi di crittografia derivate da password devono essere salate?

2

Se ho un database in cui memorizzo le informazioni sensibili degli utenti e criptato tali informazioni, devo fare qualcosa come PBKDF2 (password, salt, 10 ^ 5) per la chiave di crittografia e anche l'hash?

    
posta Property404 07.08.2015 - 20:07
fonte

1 risposta

2

Ogni volta che si dispone di una password umana e si desidera elaborarla in un formato che "lascia tracce", allora è necessario farlo con una funzione che resiliente alla forza bruta (ad esempio PBKDF2). È quindi necessario farlo quando si hash la password per ottenere un token di verifica della password che si memorizza; devi anche farlo quando stai trasformando la password in una chiave per la crittografia simmetrica.

Per rendere le cose più chiare: se giri la password P nella chiave K e poi usi K per crittografare alcuni dati D e memorizza il risultato crittografato E , quindi un utente malintenzionato, osservando E , potrebbe "provare le password" girando una potenziale password P ' nella chiave K ' e poi prova a decodificare E con K' e vedere se produce dati sensibili D . Questa è la situazione attacco offline , molto simile a hashing della password .

In senso stretto, trasformare alcuni dati in una chiave si chiama Derivazione chiave e "PBKDF" significa in realtà "Funzione di derivazione chiave basata su password".

    
risposta data 07.08.2015 - 21:01
fonte

Leggi altre domande sui tag