Metodi per mantenere sicura la chiave di crittografia AES.? [chiuso]

0

Sto usando la crittografia AES per proteggere alcuni dati sensibili. Per questo devo fornire una certa chiave per la crittografia e la decrittografia.

Non è sicuro tenere la chiave da qualche parte sul server. Quindi, invece di inserire direttamente la chiave, vorrei convertire la chiave e in seguito convertirla di nuovo in originale quando la inserisco mentre crittografa o decifro il valore.

Ho pensato di eseguire la conversione della chiave tramite PHP. È una buona pratica o ci sono altri suggerimenti?

    
posta 웃웃웃웃웃 25.07.2013 - 05:38
fonte

3 risposte

1

A seconda del budget, potresti voler sembrare un modulo di sicurezza hardware. Questo sarebbe un dispositivo connesso al server che memorizza la chiave e fa crittografia, non fa parte del sistema operativo e sarebbe più o meno come una scatola nera magica.

Potresti anche usare un altro server che ha l'unico scopo di fare crypto, e di nuovo funziona come una scatola nera. Con una configurazione firewall molto stretta e altri controlli, questo potrebbe anche essere efficace.

    
risposta data 25.07.2013 - 05:44
fonte
1

Pensi che ogni vulnerabilità offra immediatamente a un utente malintenzionato l'accesso completo alla tua applicazione?
Hell no!

Quindi, come vengono sfruttate le applicazioni? SQL Injection è molto comune e, se si dispone di un'iniezione SQL in un'applicazione, è necessario disporre dell'accesso completo in lettura al database. Ciò significa che puoi leggere i valori crittografati. Quindi, per quanto riguarda la chiave? Bene, un utente malintenzionato potrebbe essere in grado di accedere alla chiave utilizzando un load_file() MySQL, ma non se l'applicazione è stata compilata correttamente. MySQL non dovrebbe nemmeno essere sullo stesso sistema e se il tuo DBA ha un senso di sicurezza, l'app web non avrà file_priv .

Ma ancora di più, i segreti possono essere archiviati in luoghi che non sono in file accessibili, ad esempio: variabili di ambiente . I privilegi del file system possono essere utilizzati per rendere i file eseguibili, ma non leggibili o scrivibili da un utente malintenzionato. La crittografia riguarda la pianificazione dell'errore e l'utilizzo della vulnerabilità di un utente malintenzionato nei suoi confronti.

    
risposta data 25.07.2013 - 07:32
fonte
0
Principio

KISS : inserisci la password in un file di testo su una penna USB o qualche unità di memorizzazione simile.

Questo separa i dati crittografati dalla chiave correlata e puoi avere la chiave "su di te" ogni volta che ne hai bisogno. In questo modo, non devi ricordare la chiave, o inventare una teoria di offuscamento selvaggio che è destinata a fallire.

Tutto ciò che devi ricordare è dove hai inserito la chiavetta USB (o l'unità di archiviazione simile) e proteggerla da eventuali furti o copie. Ti puoi fidare del fatto che sarà molto più semplice proteggere un dispositivo di archiviazione in tasca che cercare di assicurarti che la tua chiave sia sicura su alcuni server, accanto ai dati crittografati.

"Mantenerlo semplice e sicuro" ~ link

    
risposta data 25.07.2013 - 06:17
fonte

Leggi altre domande sui tag