Tanggal adalah jenis data yang sangat umum. Jika 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, bucketing dapat menghapus utilitas dalam tanggal. Misalnya, jika Anda menggeneralisasi semua tanggal menjadi hanya satu tahun, Anda dapat kehilangan urutan terjadinya peristiwa dalam tahun tersebut. Metode alternatif untuk mengaburkan tanggal yang mengatasi masalah ini adalah pergeseran tanggal.
Teknik pergeseran tanggal menggeser sekumpulan tanggal secara acak, tetapi mempertahankan urutan dan durasi jangka waktu. Pergeseran tanggal biasanya dilakukan dalam konteks individu atau entitas. Artinya, tanggal setiap individu digeser dengan jumlah waktu yang unik untuk individu tersebut.
Kapan harus menggunakan pergeseran tanggal
Berikut adalah beberapa kasus penggunaan umum:
- Menjaga privasi pasien dalam riset layanan kesehatan: Mengaburkan tanggal penerimaan dan pemulangan pasien untuk memenuhi persyaratan de-identifikasi Safe Harbor HIPAA sekaligus mempertahankan interval temporal antarperistiwa.
- Sanitasi log audit dan transaksi: Tutupi tanggal transaksi absolut saat menyiapkan database pengujian, sekaligus mempertahankan urutan peristiwa relatif yang diperlukan untuk memvalidasi alur kerja batch.
- Menganalisis kelompok retensi pengguna: Anonimkan stempel waktu aktivitas pelanggan untuk analisis kelompok 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 menggeser stempel waktu secara seragam per peserta tanpa mendistorsi hubungan kausal atau kronologis.
Contoh pergeseran 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, output-nya 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 pergeseran 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 bahwa tanggalnya berbeda, tetapi urutan dan durasinya tetap sama.
Besarnya pergeseran tanggal berbeda antara user_id 1 dan 2.
Pergeseran tanggal di Sensitive Data Protection
Objek JSON untuk mengonfigurasi hal ini untuk 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 pada pergeseran tersebut 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 pergeseran tanggal ini di beberapa permintaan atau operasi data.
Resource
Untuk mengetahui informasi selengkapnya tentang cara melakukan de-identifikasi data menggunakan pergeseran 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 de-identifikasi. - Objek
PrimitiveTransformations: Pergeseran tanggal adalah "transformasi primitif" di Sensitive Data Protection. - Objek
DateShiftConfig: Objek yang digunakan untuk mengonfigurasi objekPrimitiveTransformations. Dengan menentukan objekDateShiftConfig, Anda dapat menggeser tanggal dengan jumlah hari acak.