Questo documento descrive come utilizzare Sensitive Data Protection per creare una pipeline di trasformazione dei dati automatizzata per anonimizzare i dati sensibili come le informazioni che consentono l'identificazione personale (PII). Le tecniche di anonimizzazione come la tokenizzazione (assegnazione di pseudonimi) ti consentono di preservare l'utilità dei tuoi dati per processi di unione o analisi riducendo il rischio di manipolare i dati offuscando gli identificatori di dati sensibili non elaborati. Per ridurre al minimo il rischio di gestire grandi volumi di dati sensibili, puoi utilizzare una pipeline di trasformazione dei dati automatizzata per creare repliche anonimizzate. Sensitive Data Protection consente trasformazioni come oscuramento, mascheramento, tokenizzazione, bucket e altri metodi di anonimizzazione. Quando un set di dati non è stato caratterizzato, Sensitive Data Protection può anche ispezionare i dati per rilevare informazioni sensibili utilizzando più di 100 classificatori integrati.
Questo documento è destinato a un pubblico tecnico le cui responsabilità includono la sicurezza, l'elaborazione o l'analisi dei dati. Questa guida presuppone che tu abbia familiarità con il trattamento e la privacy dei dati, senza la necessità di essere un esperto.
Architettura di riferimento
Il seguente diagramma mostra un'architettura di riferimento per l'utilizzo dei prodottiGoogle Cloud per aggiungere un livello di sicurezza ai set di dati sensibili utilizzando tecniche di deidentificazione.
L'architettura è costituita da quanto segue:
Pipeline di streaming per l'anonimizzazione dei dati: anonimizza i dati sensibili nel testo utilizzando Dataflow. Puoi riutilizzare la pipeline per più trasformazioni e casi d'uso.
Gestione della configurazione (chiave e modello Sensitive Data Protection): una configurazione di anonimizzazione gestita accessibile solo a un piccolo gruppo di persone, ad esempio gli amministratori della sicurezza, per evitare di esporre metodi di anonimizzazione e chiavi di crittografia.
Pipeline di convalida e reidentificazione dei dati: convalida le copie dei dati anonimizzati e utilizza una pipeline Dataflow per reidentificare i dati su larga scala.
Contribuire a proteggere i dati sensibili
Uno dei compiti principali di qualsiasi azienda è garantire la sicurezza dei dati dei propri utenti e dipendenti. Google Cloud fornisce misure di sicurezza integrate per facilitare la sicurezza dei dati, inclusa la crittografia dei dati archiviati e dei dati in transito.
Crittografia dei dati inattivi: Cloud Storage
Il mantenimento della sicurezza dei dati è fondamentale per la maggior parte delle organizzazioni. L'accesso non autorizzato anche a dati moderatamente sensibili può danneggiare la fiducia, i rapporti e la reputazione che hai con i tuoi clienti. Google cripta i dati archiviati at-rest per impostazione predefinita. Per impostazione predefinita, qualsiasi oggetto caricato in un bucket Cloud Storage viene criptato utilizzando una Google-owned and Google-managed encryption key. Se il tuo set di dati utilizza un metodo di crittografia preesistente e richiede un'opzione non predefinita prima del caricamento, esistono altre opzioni di crittografia fornite da Cloud Storage. Per saperne di più, consulta Opzioni di crittografia dei dati.
Crittografia dei dati in transito: Dataflow
Quando i dati sono in transito, la crittografia at-rest non è attiva. I dati in transito sono protetti da protocolli di rete sicuri denominati crittografia in transito. Per impostazione predefinita, Dataflow utilizza Google-owned and Google-managed encryption keys. I tutorial associati a questo documento utilizzano una pipeline automatizzata che utilizza il Google-owned and Google-managed encryption keyspredefinito.
Trasformazioni dei dati di Sensitive Data Protection
Esistono due tipi principali di trasformazioni eseguite da Sensitive Data Protection:
Entrambi i metodi recordTransformations
e infoTypeTransformations
possono
anonimizzare e criptare le informazioni sensibili nei tuoi dati. Ad esempio, puoi trasformare i valori nella colonna US_SOCIAL_SECURITY_NUMBER
in modo che non siano identificabili o utilizzare la tokenizzazione per oscurarli mantenendo l'integrità referenziale.
Il metodo infoTypeTransformations
ti consente di verificare la presenza di dati sensibili
e trasformare il risultato. Ad esempio, se hai dati non strutturati o di testo libero, il metodo infoTypeTransformations
può aiutarti a identificare un numero di previdenza sociale all'interno di una frase e a criptare il valore del numero di previdenza sociale lasciando intatto il resto del testo. Puoi anche definire metodi infoTypes
personalizzati.
Il metodo recordTransformations
ti consente di applicare una configurazione di trasformazione per campo quando utilizzi dati strutturati o tabulari. Con il metodo
recordTransformations
, puoi applicare la stessa trasformazione a
ogni valore nel campo, ad esempio l'hashing o la tokenizzazione di ogni valore in una colonna
con la colonna SSN
come nome del campo o dell'intestazione.
Con il metodo recordTransformations
, puoi anche combinare il metodo infoTypeTransformations
che si applica solo ai valori nei campi specificati. Ad esempio, puoi utilizzare un metodo infoTypeTransformations
all'interno di un metodo recordTransformations
per il campo denominato comments
per oscurare eventuali risultati per US_SOCIAL_SECURITY_NUMBER
trovati all'interno del testo nel campo.
In ordine crescente di complessità, i processi di anonimizzazione sono i seguenti:
- Oscuramento: rimuovi i contenuti sensibili senza sostituirli.
- Mascheramento: sostituisci i contenuti sensibili con caratteri fissi.
- Crittografia: sostituisci i contenuti sensibili con stringhe criptate, possibilmente in modo reversibile.
Utilizzo di dati delimitati
Spesso i dati sono costituiti da record delimitati da un carattere selezionato, con tipi fissi in ogni colonna, come un file CSV. Per questa classe di dati, puoi applicare
direttamente le trasformazioni di deidentificazione (recordTransformations
), senza
ispezionare i dati. Ad esempio, puoi aspettarti che una colonna etichettata SSN
contenga solo dati relativi al numero di previdenza sociale. Non è necessario esaminare i dati per sapere che il
infoType
è US_SOCIAL_SECURITY_NUMBER
. Tuttavia, le colonne
in formato libero etichettate Additional Details
possono contenere informazioni sensibili, ma la
classe infoType
non è nota in anticipo. Per una colonna in formato libero, devi
ispezionare il rilevatore infoTypes
(infoTypeTransformations
) prima di applicare
le trasformazioni di deidentificazione. Sensitive Data Protection consente a entrambi questi tipi di trasformazione di coesistere in un unico modello di anonimizzazione.
Sensitive Data Protection include
più di 100 rilevatori infoTypes
integrati.
Puoi anche creare tipi personalizzati o modificare i rilevatori infoTypes
integrati per
trovare dati sensibili univoci per la tua organizzazione.
Determinazione del tipo di trasformazione
La scelta del metodo recordTransformations
o infoTypeTransformations
dipende dal caso d'uso. Poiché l'utilizzo del metodo infoTypeTransformations
richiede più risorse ed è quindi più costoso, consigliamo di utilizzare
questo metodo solo per le situazioni in cui il tipo di dati è sconosciuto. Puoi valutare i costi di esecuzione di Sensitive Data Protection utilizzando il Google Cloud Calcolatore prezzi.
Per esempi di trasformazione, questo documento fa riferimento a un set di dati che contiene file CSV con colonne fisse, come mostrato nella tabella seguente.
Nome colonna | Ispezione infoType (personalizzata o integrata) |
Tipo di trasformazione di Sensitive Data Protection |
---|---|---|
Card Number
|
Non applicabile | Crittografia deterministica (DE) |
Card Holder's Name
|
Non applicabile | Crittografia deterministica (DE) |
Card PIN
|
Non applicabile | Hashing di criptovalute |
SSN (Social Security Number)
|
Non applicabile | Mascheramento |
Age
|
Non applicabile | Bucketing |
Job Title
|
Non applicabile | Bucketing |
Additional Details
|
Integrato:IBAN_CODE , EMAIL_ADDRESS ,
PHONE_NUMBER
Personalizzato:
ONLINE_USER_ID
|
Sostituzione |
Questa tabella elenca i nomi delle colonne e descrive il tipo di trasformazione
necessario per ciascuna colonna. Ad esempio, la colonna Card Number
contiene numeri di carte di credito che devono essere criptati; tuttavia, non devono essere ispezionati perché il tipo di dati (infoType
) è noto.
L'unica colonna in cui è consigliata una trasformazione di ispezione è la colonna
Additional Details
. Questa colonna è in formato libero e potrebbe contenere PII,
che, ai fini di questo esempio, devono essere rilevate e rese anonime.
Gli esempi in questa tabella presentano cinque diverse trasformazioni di deidentificazione:
Tokenizzazione bidirezionale: sostituisce i dati originali con un token deterministico, preservando l'integrità referenziale. Puoi utilizzare il token per unire i dati o utilizzarlo nell'analisi aggregata. Puoi invertire o detokenizzare i dati utilizzando la stessa chiave che hai utilizzato per creare il token. Esistono due metodi per la tokenizzazione bidirezionale:
- Crittografia deterministica (DE): Sostituisce i dati originali con un valore criptato con codifica Base64 e non conserva il set di caratteri o la lunghezza originali.
- Crittografia con protezione del formato con FFX (FPE-FFX): Sostituisce i dati originali con un token generato utilizzando la crittografia con protezione del formato in modalità FFX. Per progettazione, FPE-FFX conserva la lunghezza e il set di caratteri del testo di input. Non dispone di autenticazione e di un vettore di inizializzazione, il che può causare un'espansione della lunghezza nel token di output. Altri metodi, come DE, offrono una maggiore sicurezza e sono consigliati per i casi d'uso di tokenizzazione, a meno che la conservazione della lunghezza e del set di caratteri non siano requisiti rigorosi, ad esempio la compatibilità con i sistemi di dati legacy.
Tokenizzazione unidirezionale, utilizzando hashing crittografico: sostituisce il valore originale con un valore sottoposto ad hashing, preservando l'integrità referenziale. Tuttavia, a differenza della tokenizzazione bidirezionale, un metodo unidirezionale non è reversibile. Il valore hash viene generato utilizzando un codice di autenticazione del messaggio basato su SHA-256 (HMAC-SHA-256) sul valore di input.
Mascheramento: sostituisce i dati originali con un carattere specificato, parzialmente o completamente.
Bucketing: Sostituisce un valore più identificabile con un valore meno distinguibile.
Sostituzione: sostituisce i dati originali con un token o il nome di
infoType
se rilevato.
Selezione del metodo
La scelta del metodo di anonimizzazione migliore può variare in base al caso d'uso. Ad esempio, se un'app legacy sta elaborando i record de-identificati, la conservazione del formato potrebbe essere importante. Se hai a che fare con numeri di 10 cifre formattati in modo rigoroso, FPE conserva la lunghezza (10 cifre) e il set di caratteri (numerico) di un input per il supporto del sistema legacy.
Tuttavia, se non è richiesta una formattazione rigorosa per la compatibilità legacy, come nel caso dei valori nella colonna Card Holder's Name
, DE è la scelta preferita perché ha un metodo di autenticazione più efficace. Sia FPE sia
DE consentono di invertire o detokenizzare i token. Se non hai bisogno
della detokenizzazione, l'hashing crittografico garantisce l'integrità, ma i token
non possono essere invertiti.
Altri metodi, come la mascheratura, il raggruppamento, lo spostamento delle date e la sostituzione, sono adatti per i valori che non devono mantenere l'integrità completa. Ad esempio, raggruppare un valore di età (ad esempio, 27) in un intervallo di età (20-30) può comunque essere analizzato riducendo l'unicità che potrebbe portare all'identificazione di un individuo.
Chiavi di crittografia dei token
Per le trasformazioni di anonimizzazione crittografica, è necessaria una chiave crittografica, nota anche come chiave di crittografia token. La chiave di crittografia del token utilizzata per la crittografia di deidentificazione viene utilizzata anche per reidentificare il valore originale. La creazione e la gestione sicure delle chiavi di crittografia dei token non rientrano nell'ambito di questo documento. Tuttavia, ci sono alcuni principi importanti da considerare che vengono utilizzati in seguito nei tutorial associati:
- Evita di utilizzare chiavi di testo normale nel modello. Utilizza invece Cloud KMS per creare una chiave di wrapping.
- Utilizza chiavi di crittografia dei token separate per ogni elemento di dati per ridurre il rischio di compromissione delle chiavi.
- Ruota le chiavi di crittografia dei token. Sebbene sia possibile ruotare la chiave sottoposta a wrapping, la rotazione della chiave di crittografia del token interrompe l'integrità della tokenizzazione. Quando la chiave viene ruotata, devi tokenizzare nuovamente l'intero set di dati.
Modelli Sensitive Data Protection
Per i deployment su larga scala, utilizza i modelli di Sensitive Data Protection per eseguire le seguenti operazioni:
- Attiva il controllo della sicurezza con Identity and Access Management (IAM).
- Disaccoppia le informazioni di configurazione e la modalità di anonimizzazione di queste informazioni dall'implementazione delle tue richieste.
- Riutilizza un insieme di trasformazioni. Puoi utilizzare i modelli di anonimizzazione e ri-identificazione su più set di dati.
BigQuery
L'ultimo componente dell'architettura di riferimento è la visualizzazione e l'utilizzo dei dati deidentificati in BigQuery. BigQuery è lo strumento di data warehouse di Google che include infrastruttura serverless, BigQuery ML e la possibilità di eseguire Sensitive Data Protection come strumento nativo. Nell'architettura di riferimento di esempio, BigQuery funge da data warehouse per i dati anonimizzati e da backend per una pipeline di dati di reidentificazione automatizzata che può condividere i dati tramite Pub/Sub.
Passaggi successivi
- Scopri di più sull'utilizzo di Sensitive Data Protection per ispezionare lo spazio di archiviazione e i database per l'individuazione di dati sensibili.
- Scopri altre soluzioni di riconoscimento di pattern.
- Per ulteriori architetture di riferimento, diagrammi e best practice, esplora il Cloud Architecture Center.