Sfondo
Il team di sviluppo sta ricevendo dati di produzione (come file di backup del database) al fine di correggere bug e miglioramenti delle applicazioni. Il team di sviluppo ripristina questi backup nel loro ambiente ed esegue il lavoro di sviluppo dell'applicazione / correzione dei bug ecc.
Problema
Il cliente è preoccupato di esporre i dati di produzione sensibili come le Informazioni personali (identificazione personale) al team di sviluppo. Il cliente ha bisogno di schermare questi dati sensibili preservandone le proprietà in cui il team di sviluppo può eseguire il lavoro giorno per giorno senza interruzioni.
Non è necessario invertire i dati proiettati.
Probabile soluzione 1: mascheramento dei dati
Come vedo la soluzione più corretta per questo problema è identificare i campi del database PII ed eseguire il mascheramento dei dati. Un problema che stiamo affrontando è la necessità di preservare le proprietà dei dati nel DB come segue.
- La lunghezza dei dati mascherati non può andare oltre la particolare lunghezza del campo.
- I dati mascherati devono essere nello stesso tipo di dati dei dati originali: ad esempio se il tipo di campo DB è int i dati mascherati dovrebbero anche essere un int
- Se il risultato mascherato del valore ABC è XYZ, tutte le istanze di dati ABC devono essere mascherate su XYZ (questo perché alcuni PII vengono utilizzati come chiavi DB)
Domande
-
Dato che non è necessario invertire i dati mascherati, possiamo usare l'hashing per realizzare questo? In tal caso, come mantenere le proprietà dei dati che ho descritto sopra?
-
Se useremo la crittografia, possiamo conservare le proprietà dei dati? Quali sono i migliori algoritmi che abbiamo?
-
Esistono altre tecniche per realizzare questo obiettivo?
-
Possiamo impedire l'inferenza dei dati utilizzando il mascheramento dei dati?