Non sono un esperto di sicurezza, quindi potrei fare una domanda stupida, ma lascia che ti descriva cosa sto pensando.
In primo luogo, so che molti siti Web memorizzano le password hash / crittografate che potrebbero essere decifrate con un attacco di forza bruta una volta che la tabella su db viene violato. Gli hacker potrebbero persino essere in grado di utilizzare le password in altri siti Web e accedere ad altre informazioni riservate.
Dato che AES non può essere rotto perché può ' t usiamo solo una logica simile alla crittografia autenticata ? qui è un altro link pertinente. Ad esempio,
- Prepara file binario casuale da 1kb come file previsto.
- Cifra il file previsto utilizzando una password con hash
- Quando un utente accede al sistema, convalida la password decodificando il file crittografato e verificando il file previsto. Se fallisce, rifiuta il log-in. Suppongo che possiamo usare la stessa logica per domande e risposte segrete per reimpostare la password senza memorizzare effettivamente le risposte.
Se i file confidenziali vengono crittografati anche usando la password, suppongo che l'utente non sia in grado di reimpostare la password. C'è un modo per farlo?
Durante la scrittura di questo, ho trovato una domanda simile , ma stanno parlando della decrittazione lato client e sto parlando di lato server (o solo all'interno del sistema locale).
Apprezzerei molto qualsiasi commento e suggerimento.