È questa buona gestione della chiave di crittografia

1

Il sito deve essere ospitato su un server Internet condiviso, per memorizzare dati non commerciali e sarà chiaramente etichettato come non per informazioni sensibili.

Desidero offrire 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 hanno 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.

Il mio piano è il seguente:

Usa php mcrypt_encrypt (MCRYPT_RIJNDAEL_256). Memorizza la chiave segreta simmetrica crittografata sul database utilizzando un hash di una frase segreta che verrebbe assegnata all'organo (fino a 10 persone).

Dopo che un utente accede con il proprio nome utente e la password viene loro richiesto per la frase segreta unica: se viene inserito correttamente, la chiave segreta simmetrica viene decifrato e memorizzato in una variabile di sessione, i dati protetti viene decifrato e visualizzato.

La chiave segreta è memorizzata in una variabile Session, che viene distrutta quando l'utente si disconnette o dopo un timeout della sessione. Il sito è anche protetto usando apache htaccess in quanto non è per uso pubblico. Il php sta incorporando metodi per difendersi da xss, iniezione ecc.

Oltre a dare all'utente finale la responsabilità di gestire la frase segreta, questo piano presenta evidenti punti deboli?

    
posta user34252 23.11.2013 - 16:44
fonte

0 risposte

Leggi altre domande sui tag