Was sind die besten Methoden, um Benutzernamen in Daten zu anonymisieren?


8

Ich arbeite an einem Projekt, in dem Kommilitonen gebeten werden, ihre ursprünglichen Textdaten zur weiteren Analyse mithilfe von Data Mining-Techniken weiterzugeben. Ich halte es für angemessen, die Namen der Schüler mit ihren Einsendungen zu anonymisieren.

Abgesehen von den besseren Lösungen einer URL, bei der die Schüler ihre Arbeit einreichen und ein Backend-Skript die anonymisierte ID einfügt. Welche Art von Lösungen könnte ich den Schülern anweisen, diese selbst zu implementieren, um ihre eigenen Namen zu anonymisieren?

Ich bin immer noch ein Noob in diesem Bereich. Ich weiß nicht, was die Normen sind. Ich dachte, die Lösung könnte ein Hashing-Algorithmus sein. Das klingt nach einer besseren Lösung, als sich einen falschen Namen auszudenken, da zwei Personen denselben falschen Namen auswählen könnten. Mögliche Personen könnten denselben falschen Namen auswählen. Was sind einige der Bedenken, die ich beachten sollte?


2
Warum überhaupt die Namen sammeln?
Emre

Aufzeichnungen müssen einzigartig sein und jeder kennt seinen eigenen Namen (das klingt sarkastisch, ist aber nur einfach).
Xtian

Antworten:


5

Ich vermutete, dass Sie die Namen als Bezeichner verwendeten. Du solltest nicht; Sie sind nicht einzigartig und werfen dieses Datenschutzproblem auf. Verwenden Sie stattdessen die Schülernummern, die Sie anhand ihrer IDs überprüfen können und die in Hash-Form gespeichert sind. Verwenden Sie den Nachnamen des Schülers als Salz (bilden Sie die zu hashende Zeichenfolge durch Verketten der ID-Nummer und des Nachnamens).


Ich verstehe, aber um ganz klar zu sein, es klingt so, als würden Sie zwei Optionen mischen. Die erste Möglichkeit besteht darin, den Studentenausweis zusammen mit dem Namen zu verwenden, was für jeden, der die Daten aus dem Internet erhalten würde, wahrscheinlich eindeutig und etwas unklar wäre. Plus eine zweite Option, um diese verschlüsselte ID + Lname zu nehmen und hat diese auch. Plus eine weitere Maßnahme, um ein Salz ihres Nachnamens zu verwenden. Mit anderen Worten, ich stelle mir vor dem Computer vor, dass die ID + Lname eine akzeptable Verschleierung sein könnte.
Xtian

Nein, ich habe nicht gesagt, dass ich die PIN und den Namen nehmen soll. nur die PIN, da sie bereits eindeutig ist. Die Verwendung des Nachnamens als Salz war nur ein Vorschlag; Sie können beliebige benutzerspezifische Informationen verwenden.
Emre

2

Eine Standardpraxis in der Psychologie (bei der Sie Teilnehmer codieren möchten, um verschiedene Messungen miteinander zu verknüpfen) besteht darin, dass die Teilnehmer die Initialen und das Geburtsdatum des Mädchennamens ihrer Mutter auswählen, z. B. im Format XX-JJMMTT.

Dies kann natürlich zu Konflikten führen. Andererseits glaube ich nicht, dass es einen todsicheren konfliktfreien Anonymisierungsalgorithmus gibt, den Ihre Schüler tun könnten, ohne alle anderen Schüler zu kennen . Die Namen und Geburtsdaten der Mütter könnten identisch sein, die eigenen Geburtsdaten könnten identisch sein, die Schuhgrößen könnten sein, Lieblings-Superhelden-Charaktere ... Das einzige, woran ich denken könnte, wären (US-) Sozialversicherungsnummern, aber das wollen Sie wirklich nicht benutze sie .

Fazit: Anonymisieren im Backend. Oder überlegen Sie , wie @Emre vorschlägt , ob Sie überhaupt eine Kennung benötigen. Vielleicht reicht der DB-generierte Index?


Diese alternativen Namensschemata waren mir nicht bekannt. Vielen Dank. In der Konfliktfrage deutet eine Antwort mit hoher Stimmenzahl auf SO auf SHA-1 hin: "Um das Geburtstagsparadoxon anzugehen, hat eine Datenbank mit 10 ^ 18 (eine Million Millionen Millionen) Einträgen eine Chance von ungefähr 1 in 0,0000000000003 einer Kollision. ""
Xtian
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.