Ho un interessante problema di crittografia. Non so se può essere risolto ma ecco qui:Crittografia DB bidirezionale sicura anche dall'amministratore
Un database deve contenere informazioni utente sensibili. In quanto tale, le informazioni dell'utente devono essere crittografate (crittografia bidirezionale). L'utente ha un login/password e questi possono essere utilizzati nella crittografia a due vie. Ora, la crittografia deve essere progettata in modo tale che anche l'amministratore che visualizza le tabelle del database non dovrebbe essere in grado di dare un senso alle informazioni dell'utente.
Tuttavia, il design deve prendersi cura dei casi in cui l'utente può dimenticare la sua password. Se la password viene utilizzata per la crittografia, dimenticando la password significa che l'informazione è persa - non voluta. Se la password utente è memorizzata nel database utilizzando un algoritmo a due vie (invece di un hash unidirezionale) con una chiave codificata nello script, l'amministratore può scoprire la chiave codificata guardando lo script (l'amministratore ha ovviamente accesso alla sceneggiatura).
Qualcuno conosce una via d'uscita?
PS: questo è un vero problema. La mia azienda è un fanatico della sicurezza assoluta (ISO 27001 e tutti) e mi è stato affidato il compito di progettare un sistema con le funzionalità sopra menzionate. A proposito, sto usando uno script PHP e MySQL.
EDIT: Forse non era chiaro in precedenza, l'utente ha bisogno di vedere/modificare queste informazioni utente su base giornaliera.
Domanda: Quanto deve essere forte la crittografia dei dati? Sarebbe sufficiente l'offuscamento dei dati (il che significa che i dati non sarebbero archiviati come testo in chiaro ma con un piccolo sforzo che le persone potrebbero decrittografarli) o se si desidera uno schema di crittografia * reale * forte? – Nicolas
Real strong encryption: nessuna possibilità di scoprire i dati! –
Bene, se non vuoi che i dati siano decifrabili ma allo stesso tempo necessiti della capacità di mostrare dati decrittografati all'utente ... – Nicolas