Le date sono un tipo di dati molto comune. Nei casi in cui le date possano essere considerate dati sensibili o informazioni che consentono l'identificazione personale (PII), potresti doverli generalizzare, offuscare o oscurare.
Un metodo per farlo è la generalizzazione o il raggruppamento. Tuttavia, a seconda del caso d'uso e della configurazione, il bucketing può rimuovere l'utilità delle date. Ad esempio, se generalizzi tutte le date a un solo anno, potresti perdere l'ordine in cui si verificano gli eventi all'interno di quell'anno. Un metodo alternativo per offuscare le date che risolve questo problema è il spostamento delle date.
Le tecniche di spostamento delle date spostano in modo casuale un insieme di date, ma mantengono la sequenza e la durata di un periodo di tempo. Lo spostamento delle date viene solitamente effettuato nel contesto di un privato o di una persona giuridica. In altre parole, le date di ogni individuo vengono spostate di un periodo di tempo univoco per quell'individuo.
Esempio di spostamento della data
Considera i seguenti dati:
user_id | data | azione |
---|---|---|
1 | 2009-06-09 | run |
1 | 2009-06-03 | camminare |
1 | 2009-05-23 | scansione |
2 | 2010-11-03 | scansione |
2 | 2010-11-22 | camminare |
… | … | … |
Se generalizzi queste date all'anno, ottieni:
user_id | date_year | azione |
---|---|---|
1 | 2009 | run |
1 | 2009 | camminare |
1 | 2009 | scansione |
2 | 2010 | scansione |
2 | 2010 | camminare |
… | … | … |
Ma ora non hai più idea della sequenza per utente.
Prova invece a modificare la data:
user_id | data | azione |
---|---|---|
1 | 2009-07-17 | run |
1 | 2009-07-11 | camminare |
1 | 2009-06-30 | scansione |
2 | 2011-01-26 | scansione |
2 | 2011-02-14 | camminare |
… | … | … |
Nota che le date sono diverse, ma la sequenza e la durata sono conservate.
L'entità dello spostamento delle date era diversa tra il primo e il secondo user_id
.
Spostamento della data in Sensitive Data Protection
Di seguito è riportato un oggetto JSON per configurare questa opzione per il metodo
content.deidentify
di 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"
}
}
}
}
}
}
}
I limiti superiore e inferiore del turno sono specificati rispettivamente dai valori upper_bound_days
e lower_bound_days
. Il contesto o l'ambito a cui verrà applicato il cambio si basa sul valore entity_id_field
, che in questo caso è "user_id"
.
Tieni presente anche l'utilizzo di un crypto_key
. È simile al modo in cui viene impiegato nella pseudonimizzazione. La chiave ti consentirà di mantenere l'integrità di questi scostamenti di data in più richieste o esecuzioni di dati.
Risorse
Per ulteriori informazioni su come anonimizzare i dati utilizzando lo spostamento della data e altri metodi in Sensitive Data Protection, consulta:
Per informazioni di riferimento sull'API relative alle trasformazioni primitive in Sensitive Data Protection, consulta:
DeidentifyConfig
object: l'oggetto in cui configuri le opzioni di anonimizzazione.PrimitiveTransformations
Oggetto: lo spostamento della data è una "trasformazione primitiva" in Sensitive Data Protection.DateShiftConfig
oggetto: oggetto con cui configurare l'oggettoPrimitiveTransformations
. Se specifichi l'oggettoDateShiftConfig
, puoi spostare le date di un numero casuale di giorni.