qual è il modo migliore per sapere se la chiave di decrittografia immessa è corretta?

1

Stavo cercando un modo per memorizzare la chiave di crittografia di AES_ENCRYPT e ho trovato una buona risposta qui: Dove memorizzare una chiave per la crittografia?

Tuttavia, ora sto cercando di utilizzare "Digitare la chiave di crittografia all'avvio" e salvarlo in un cookie di sessione (crittografato) ma non so come dire all'utente se la sua chiave è corretta o no .

Come posso testare la chiave fornita dall'utente? In altre parole, qual è il modo migliore per sapere se la chiave di crittografia / decrittografia è corretta?

    
posta ClearBoth 20.01.2016 - 10:02
fonte

1 risposta

1

However, now I am trying to use "Type in the encryption key when you start up" and to save it in a session cookie (encrypted) but I do not know how to tell the user if his key is correct or not.

C'è qualche ragione per cui stai memorizzando questo lato client? Il cookie verrà inviato con ogni richiesta, e la crittografia qui sembra sbagliata perché avrai bisogno di memorizzare la chiave per questa ulteriore crittografia da qualche parte. Chiunque catturi questo cookie avrebbe effettivamente la password di decrittazione indefinitamente (la password originale crittografata diventa effettivamente la password). Potrebbe essere memorizzato sul lato server, la password sarebbe meno esposta?

Ad ogni modo, quello era un punto a parte, ora passiamo alla tua domanda principale ... Se puoi memorizzare password lato server, puoi usare bcrypt e quindi confrontare la password inserita con la versione hash sulla voce della password.

Come ulteriore, assicurati di utilizzare un algoritmo di allungamento per convertire le password più deboli inserite dall'utente in chiavi forti tramite hashing lento iterativo. La forza di bit delle password degli utenti di solito non è sufficiente per proteggere da un attacco di forza bruta dei dati crittografati. Usa PBKDF2.

    
risposta data 21.01.2016 - 09:35
fonte

Leggi altre domande sui tag