Quali sono le migliori pratiche per anonimizzare i nomi degli utenti nei dati?


8

Sto lavorando a un progetto che chiede agli altri studenti di condividere i loro dati di testo originali per ulteriori analisi usando tecniche di data mining e, penso che sarebbe opportuno anonimizzare i nomi degli studenti con le loro osservazioni.

Mettendo da parte le migliori soluzioni di un url in cui gli studenti inviano il loro lavoro e uno script di backend inserisce l'ID anonimo, che tipo di soluzioni potrei dire agli studenti di implementare da soli per rendere anonimi i loro nomi?

Sono ancora un noob in questa zona. Non so quali siano le norme. Pensavo che la soluzione potesse essere un algoritmo di hashing. Sembra una soluzione migliore rispetto alla creazione di un nome falso poiché due persone potrebbero scegliere lo stesso nome falso. Le persone possibili potrebbero scegliere lo stesso nome falso. Quali sono alcune delle preoccupazioni di cui dovrei essere a conoscenza?


2
Perché raccogliere i nomi?
Emre,

I dischi devono essere unici e tutti conoscono il proprio nome (sembra sarcastico, ma è solo semplicità).
xtian il

Risposte:


5

Sospettavo che stessi usando i nomi come identificatori. Non dovresti; non sono unici e sollevano questo problema di privacy. Usa invece i loro numeri degli studenti, che puoi verificare dai loro ID, memorizzati in forma hash. Usa il cognome dello studente come salt, per buona misura (forma la stringa da hash concatenando il numero ID e il cognome).


Capisco, ma per essere chiari, sembra che tu stia mescolando due opzioni. La prima è l'opzione di portare l'ID studente insieme al nome, che sarebbe probabilmente unico e alquanto oscuro per chiunque ottenga i dati da Internet. Inoltre una seconda opzione per prendere questo ID codificato + Lname e ha anche quello. Inoltre un'ulteriore misura per utilizzare un sale del loro cognome. In altre parole, pre-computer immagino che l'ID + Lname possa essere un offuscamento accettabile?
xtian il

No, non ho detto di prendere il PIN e il nome; solo il PIN, in quanto è già unico. Usare il cognome come sale era solo un suggerimento; puoi utilizzare qualsiasi informazione specifica dell'utente.
Emre,

2

Una pratica standard in psicologia (in cui si desidera codificare i partecipanti al fine di collegare insieme diverse misurazioni) è di fare in modo che i partecipanti scelgano le iniziali del cognome da nubile della madre e la data di nascita, ad esempio nel formato XX-AAAAMMG.

Questo se il corso può ancora incorrere in conflitti. Inoltre, non credo che esista un algoritmo di anonimizzazione sicuro e senza conflitti che i tuoi studenti potrebbero fare senza conoscere tutti gli altri studenti . I nomi e le date di nascita delle madri potrebbero essere identici, le date di nascita potrebbero essere identiche, le dimensioni delle scarpe potrebbero essere, i personaggi dei supereroi preferiti ... L'unica cosa a cui potrei pensare sarebbero i numeri (US) di previdenza sociale, ma davvero non vuoi usali .

Bottom line: anonimizzare sul backend. Oppure, come suggerisce @Emre , pensa se hai davvero bisogno di un identificatore. Forse l'indice generato dal DB è sufficiente?


Non ero a conoscenza di quegli schemi di denominazione alternativi. Grazie. Sulla questione del conflitto, una risposta di alto voto su SO suggerisce questo su SHA-1, "Per affrontare il paradosso del compleanno, un database con 10 ^ 18 (un milione di milioni di voci) ha una probabilità di circa 1 su 0,000000000000003 di una collisione. "
xtian il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.