Sto sviluppando un'applicazione web che memorizza i dati crittografati su un server. Voglio ricavare la chiave di crittografia e la chiave di accesso da una sola password utente, quindi voglio usare libsodiums crypto_pwhash per generare una chiave abbastanza lunga da poter essere divisa in due. L'idea è che il server non possa decrittografare i dati crittografati.
Per utilizzare questa funzione è necessario un sale. Capisco che il sale non può essere segreto, ma deve essere memorizzato da qualche parte.
-
Se lo memorizzo nel server, deve essere recuperato prima dell'autenticazione (perché è necessario ricavare la chiave di accesso). Quindi questo permetterebbe di testare se esiste un nome utente senza conoscere la sua chiave di accesso. Non sono sicuro che sarebbe un rischio per la sicurezza.
-
Posso ricavare il sale in qualche altro modo? Cosa succede se ho solo cancellato il nome utente? O la password stessa? O correrei il rischio di non avere abbastanza entropia?