תאריכים הם סוג נפוץ מאוד של נתונים. במקרים שבהם תאריכים יכולים להיחשב כמידע אישי רגיש או כפרטים אישיים מזהים (PII), יכול להיות שתצטרכו להכליל, להטשטש או לצנזר אותם.
אחת מהשיטות לעשות זאת היא הכללה או חלוקה לקטגוריות. עם זאת, בהתאם לתרחיש השימוש ולהגדרה, יכול להיות שהחלוקה לקטגוריות תסיר את התועלת של התאריכים. לדוגמה, אם תכלילו את כל התאריכים רק בשנה, יכול להיות שתאבדו את הסדר שבו האירועים מתרחשים באותה שנה. שיטה חלופית להסתרת תאריכים שפותרת את הבעיה הזו היא שינוי תאריך.
טכניקות של שינוי תאריכים משנות באופן אקראי קבוצה של תאריכים, אבל שומרות על הרצף ועל משך הזמן של תקופה מסוימת. הזזת תאריכים מתבצעת בדרך כלל בהקשר של אדם פרטי או ישות. כלומר, התאריכים של כל אדם מוזזים בפרק זמן ייחודי לאותו אדם.
דוגמה להזזת תאריך
כדאי להביא בחשבון את הנתונים הבאים:
| user_id | תאריך | פעולה |
|---|---|---|
| 1 | 2009-06-09 | הפעלה |
| 1 | 2009-06-03 | הליכה |
| 1 | 2009-05-23 | סריקה |
| 2 | 2010-11-03 | סריקה |
| 2 | 2010-11-22 | הליכה |
| ... | ... | ... |
אם מכלילים את התאריכים האלה לשנה, מקבלים:
| user_id | date_year | פעולה |
|---|---|---|
| 1 | 2009 | הפעלה |
| 1 | 2009 | הליכה |
| 1 | 2009 | סריקה |
| 2 | 2010 | סריקה |
| 2 | 2010 | הליכה |
| ... | ... | ... |
אבל עכשיו איבדתם את תחושת הרצף לכל משתמש.
במקום זאת, כדאי לנסות להזיז את התאריך:
| user_id | תאריך | פעולה |
|---|---|---|
| 1 | 2009-07-17 | הפעלה |
| 1 | 2009-07-11 | הליכה |
| 1 | 2009-06-30 | סריקה |
| 2 | 2011-01-26 | סריקה |
| 2 | 2011-02-14 | הליכה |
| ... | ... | ... |
שימו לב שהתאריכים שונים, אבל הרצף ומשך הזמן נשמרים.
ההפרש בין התאריכים שונה בין user_id 1 ל-2.
הזזת תאריכים ב-Sensitive Data Protection
אובייקט JSON להגדרת השיטה content.deidentify של Sensitive Data Protection:
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"
}
}
}
}
}
}
}
הגבולות העליון והתחתון של השינוי מוגדרים על ידי הערכים upper_bound_days ו-lower_bound_days, בהתאמה. ההקשר או ההיקף שבהם יחול השינוי הזה מבוססים על הערך entity_id_field, שבמקרה הזה הוא "user_id".
שימו לב גם לשימוש ב-crypto_key. זה דומה לשימוש בפסאודונימיזציה. המפתח יאפשר לכם לשמור על השלמות של שינויי התאריכים האלה בכמה בקשות או הפעלות של נתונים.
משאבים
מידע נוסף על הסרת פרטים מזהים מנתונים באמצעות שינוי תאריכים ושיטות אחרות ב-Sensitive Data Protection זמין במאמרים הבאים:
למידע על הפניות ל-API בנושא טרנספורמציות פרימיטיביות ב-Sensitive Data Protection, אפשר לעיין במאמרים הבאים:
DeidentifyConfigobject: האובייקט שבו מגדירים את האפשרויות להסרת פרטים מזהים.PrimitiveTransformationsאובייקט: שינוי תאריך הוא 'שינוי בסיסי' ב-Sensitive Data Protection.DateShiftConfigobject: האובייקט שבו רוצים להגדיר אתPrimitiveTransformationsobject. אם מציינים את האובייקטDateShiftConfig, אפשר להזיז את התאריכים במספר אקראי של ימים.