Modifica: Titolo riprogettato per sperare di ottenere un certo interesse su quello che avrei pensato fosse un problema comune?
Sto sviluppando un sito Web che utilizza php / mySQL per archiviare dati non commerciali e sarà chiaramente etichettato come non per informazioni sensibili. Il sito deve essere ospitato su un server internet condiviso.
Poiché sto utilizzando un server condiviso, ho già accettato che questo sito Web sarà molto limitato in termini di sicurezza assoluta dei dati, ma vorrei almeno offrire l'opzione di una soluzione credibile ai rischi di qualsiasi amministratore del server semplicemente potendo leggere i campi di testo in chiaro nel database direttamente o tramite un backup e allo stesso modo se il server viene violato e il database è accessibile. Non vi è alcuna minaccia percepita da determinati hacker poiché i dati avrebbero poco valore.
Le mie preoccupazioni riguardano principalmente la gestione delle chiavi: l'archiviazione della chiave segreta crittografata nel database e l'archiviazione della chiave segreta decrittografata in una variabile Session. Tutti i commenti sarebbero ben accetti.
La mia proposta è la seguente:
- usa la crittografia / decrittografia simmetrica con php mcrypt_encrypt (MCRYPT_RIJNDAEL_256)
- Memorizza la chiave segreta simmetrica crittografata sul database utilizzando un hash di una frase segreta
- la frase segreta verrebbe data all'organo dove potrebbero esserci fino a 10 persone che hanno bisogno di usarlo
- Dopo che un utente effettua l'accesso con il proprio nome utente e password univoci, viene richiesta la frase segreta: se viene immessa correttamente, i dati del testo vengono decodificati e visualizzati. Se non inseriscono la frase corretta, non viene inviata al browser web.
- la chiave segreta è memorizzata in una variabile Session, che viene distrutta quando l'utente si disconnette o dopo un timeout della sessione.
- anche il sito è protetto usando apache htaccess in quanto non è di uso pubblico
- il php sta incorporando metodi per difendersi da xss, injection ecc