Apa praktik terbaik untuk menganonimkan nama pengguna dalam data?

8

Saya sedang mengerjakan sebuah proyek yang meminta teman-teman siswa untuk berbagi data teks asli mereka untuk analisis lebih lanjut dengan menggunakan teknik penambangan data, dan, saya pikir itu akan sesuai untuk menganonimkan nama siswa dengan kiriman mereka.

Mengesampingkan solusi yang lebih baik dari url di mana siswa mengirimkan karya mereka dan skrip backend menyisipkan ID anonim, Apa jenis solusi yang bisa saya arahkan siswa untuk menerapkan pada mereka sendiri untuk menganonimkan nama mereka sendiri?

Saya masih noob di daerah ini. Saya tidak tahu apa norma-norma itu. Saya sedang berpikir solusinya bisa menjadi algoritma hashing. Itu terdengar seperti solusi yang lebih baik daripada mengarang nama palsu karena dua orang bisa memilih nama palsu yang sama. Orang yang mungkin bisa memilih nama palsu yang sama. Apa saja kekhawatiran yang harus saya waspadai?

xtian
sumber
2
Mengapa harus mengumpulkan nama?
Emre
Rekaman harus unik, dan semua orang tahu namanya sendiri (itu terdengar sarkastik, tapi itu hanya kesederhanaan).
xtian

Jawaban:

5

Saya curiga Anda menggunakan nama sebagai pengidentifikasi. Anda seharusnya tidak; mereka tidak unik dan mereka meningkatkan masalah privasi ini. Gunakan sebaliknya nomor siswa mereka, yang dapat Anda verifikasi dari ID mereka, disimpan dalam bentuk hash. Gunakan nama belakang siswa sebagai garam, untuk ukuran yang baik (bentuk string yang akan di-hash dengan menggabungkan nomor ID dan nama belakang).

Emre
sumber
Saya mengerti maksudnya, tetapi hanya untuk memperjelas, sepertinya Anda mencampur dua opsi. Yang pertama adalah opsi untuk mengambil ID siswa bersama-sama dengan nama, yang akan menjadi unik dan agak tidak jelas bagi siapa saja yang akan mendapatkan data dari internet. Ditambah opsi kedua untuk mengambil ID + Lname yang disandikan ini dan memilikinya juga. Ditambah ukuran lebih lanjut untuk menggunakan garam dari nama belakang mereka. Dengan kata lain, pra-komputer saya membayangkan ID + Lname bisa menjadi kebingungan yang dapat diterima?
xtian
Tidak, saya tidak mengatakan untuk mengambil PIN dan namanya; hanya PIN, karena sudah unik. Menggunakan nama belakang sebagai garam hanyalah saran; Anda dapat menggunakan informasi spesifik pengguna apa pun.
Emre
2

Praktik standar dalam psikologi (di mana Anda ingin memberi kode pada peserta untuk menghubungkan pengukuran yang berbeda bersama-sama) adalah meminta peserta memilih inisial nama gadis dan tanggal lahir ibu mereka, misalnya, dalam format XX-YYMMDD.

Ini jika tentu saja masih bisa mengalami konflik. Kemudian lagi, saya tidak berpikir ada setiap jitu bebas konflik algoritma anonymization siswa Anda bisa melakukan tanpa mengetahui semua siswa lain . Nama dan tanggal lahir ibu bisa identik, tanggal lahir sendiri bisa identik, ukuran sepatu bisa jadi, karakter pahlawan super favorit ... Satu-satunya hal yang bisa saya pikirkan adalah nomor Jaminan Sosial (AS), tetapi Anda benar - benar tidak ingin gunakan itu .

Intinya: anonimkan di backend. Atau, seperti yang disarankan oleh @Emre , pikirkan apakah Anda benar-benar membutuhkan pengenal sama sekali. Mungkin indeks yang dihasilkan DB sudah cukup?

Stephan Kolassa
sumber
Saya tidak mengetahui skema penamaan alternatif itu. Terima kasih. Pada masalah konflik, jawaban suara tinggi pada SO menyarankan ini tentang SHA-1, "Untuk mengatasi paradoks ulang tahun, database dengan 10 ^ 18 (satu juta juta juta) entri memiliki peluang sekitar 1 dalam 0,0000000000003 dari tabrakan. "
xtian