Tanggal adalah jenis data yang sangat umum. Dalam kasus ketika tanggal dapat dianggap sebagai data sensitif atau informasi identitas pribadi (PII), Anda mungkin perlu menggeneralisasi, meng-obfuscate, atau menyamarkannya.
Salah satu metode untuk melakukannya adalah generalisasi, atau pengelompokan. Namun, bergantung pada kasus penggunaan dan konfigurasi, pengelompokan dapat menghilangkan utilitas dalam tanggal. Misalnya, jika Anda menggeneralisasi semua tanggal hanya menjadi tahun, Anda dapat kehilangan urutan terjadinya peristiwa dalam tahun tersebut. Metode alternatif untuk meng-obfuscate tanggal yang mengatasi masalah ini adalah pengubahan tanggal.
Teknik penggeseran tanggal menggeser serangkaian tanggal secara acak, tetapi mempertahankan urutan dan durasi jangka waktu. Perubahan tanggal biasanya dilakukan dalam konteks individu atau entitas. Artinya, tanggal setiap individu diubah dengan jangka waktu yang unik untuk individu tersebut.
Kapan harus menggunakan pengubahan tanggal
Berikut adalah beberapa kasus penggunaan umum:
- Melindungi privasi pasien dalam penelitian layanan kesehatan: Mengaburkan tanggal masuk dan keluar pasien untuk memenuhi persyaratan de-identifikasi Safe Harbor HIPAA sekaligus mempertahankan interval temporal antar-peristiwa.
- Menghapus informasi sensitif dari log audit dan transaksi: Menyamarkan tanggal transaksi absolut saat menyiapkan database pengujian sambil mempertahankan urutan peristiwa relatif yang diperlukan untuk memvalidasi alur kerja batch.
- Menganalisis kohor retensi pengguna: Anonymisasi stempel waktu aktivitas pelanggan untuk analisis kohor sambil mempertahankan tren kronologis selama berhari-hari atau berbulan-bulan.
- Mempertahankan urutan peristiwa dalam studi longitudinal: Lindungi privasi individu dalam studi pelacakan multi-tahun dengan mengubah stempel waktu secara seragam per peserta tanpa mendistorsi hubungan kausal atau kronologis.
Contoh perubahan tanggal
Pertimbangkan data berikut:
| user_id | tanggal | tindakan |
|---|---|---|
| 1 | 2009-06-09 | run |
| 1 | 2009-06-03 | walk |
| 1 | 2009-05-23 | crawl |
| 2 | 2010-11-03 | crawl |
| 2 | 2010-11-22 | walk |
| ... | ... | ... |
Jika Anda menggeneralisasi tanggal ini berdasarkan tahun, outputnya adalah sebagai berikut:
| user_id | date_year | tindakan |
|---|---|---|
| 1 | 2009 | run |
| 1 | 2009 | walk |
| 1 | 2009 | crawl |
| 2 | 2010 | crawl |
| 2 | 2010 | walk |
| ... | ... | ... |
Namun, urutan kronologis peristiwa untuk setiap pengguna akan hilang.
Sebagai gantinya, coba ubah tanggal:
| user_id | tanggal | tindakan |
|---|---|---|
| 1 | 2009-07-17 | run |
| 1 | 2009-07-11 | walk |
| 1 | 2009-06-30 | crawl |
| 2 | 2011-01-26 | crawl |
| 2 | 2011-02-14 | walk |
| ... | ... | ... |
Perhatikan bagaimana tanggalnya berbeda, tetapi urutan dan durasinya tetap sama.
Besarnya pergeseran tanggal berbeda antara user_id 1 dan 2.
Perubahan tanggal di Sensitive Data Protection
Objek JSON untuk mengonfigurasi hal ini bagi metode
content.deidentify
Sensitive Data Protection adalah sebagai berikut:
deidentify_config {
record_transformations {
field_transformations {
fields {
name: "date"
}
primitive_transformation {
date_shift_config {
upper_bound_days: 100
lower_bound_days: -100
entity_field_id {
name: "user_id"
}
crypto_key {
unwrapped {
key: "123456789012345678901234567890ab"
}
}
}
}
}
}
}
Batas atas dan bawah pergeseran ditentukan oleh nilai upper_bound_days
dan lower_bound_days. Konteks atau cakupan yang akan diterapkan
perubahan ini didasarkan pada nilai entity_id_field, yang dalam hal ini
adalah "user_id".
Perhatikan juga penggunaan crypto_key. Hal ini mirip dengan cara
penggunaannya dalam pseudonimisasi. Kunci ini akan memungkinkan Anda
mempertahankan integritas perubahan tanggal ini di beberapa permintaan atau eksekusi data.
Resource
Untuk mengetahui informasi selengkapnya tentang cara melakukan de-identifikasi data menggunakan perubahan tanggal dan metode lainnya di Sensitive Data Protection, lihat:
Untuk mengetahui informasi referensi API tentang transformasi dasar di Sensitive Data Protection, lihat:
- Objek
DeidentifyConfig: Objek tempat Anda mengonfigurasi opsi penghapusan identitas. - Objek
PrimitiveTransformations: Pengubahan tanggal adalah "transformasi primitif" di Perlindungan Data Sensitif. - Objek
DateShiftConfig: Objek yang akan digunakan untuk mengonfigurasi objekPrimitiveTransformations. Dengan menentukan objekDateShiftConfig, Anda dapat menggeser tanggal dengan jumlah hari acak.