crittografia MySQL senza chiave di conoscenza

1

Attualmente sto cercando di implementare correttamente la memorizzazione dei campi crittografati in un db MySQL, senza conoscere la chiave di crittografia. Il risultato che sto cercando di ottenere è crittografare alcune informazioni fornite dall'utente che, se dovessi essere legalmente obbligato a fornire a terzi, sarebbero crittografate senza che io sia in grado di fornire le chiavi. Quindi ho concluso che la cifratura completa delle partizioni non avrebbe molto senso, in quanto avrei bisogno di conoscere la password per avviare / ripristinare il server.

L'unica soluzione che potevo trovare era usare la crittografia AES standard di MySQL e ricavare la chiave dalla password utente in chiaro quando viene fornita al momento della registrazione e dell'accesso. Un piccolo problema associato a questo è che non sarò in grado di elaborare i dati crittografati a meno che l'utente non abbia effettuato l'accesso (quindi i cronjob sono fuori questione, il che potrebbe essere piuttosto problematico) e dovrò mantenere la password in sessione, che non è troppo disturbo, suppongo.

Sarei aperto a eventuali suggerimenti alternativi o miglioramenti della semplice implementazione di cui sopra, incluso l'utilizzo di più server se ciò fosse di aiuto.

    
posta cyber-guard 31.01.2014 - 13:18
fonte

1 risposta

2

PBKDF2 è Derivazione chiave basata su password e viene utilizzato per situazioni come questa. Il wiki elenca diverse implementazioni in varie lingue. Funziona come descrivi (con una funzione salt e pseudo-casuale).

Ti raccomando di pensare in modo approfondito al modello, ad esempio come gestirai il reset della password? O password perse? Sembra che l'utente perderà i suoi dati con questo modello.

    
risposta data 31.01.2014 - 14:40
fonte

Leggi altre domande sui tag