Tornitura dei dati PII
Tokenizzazione dei dati PII
1) Perché la tornizzazione e esattamente cosa la torniamo
Scopo: eliminare i dati personali crudi nel circuito operativo e nell'analisi, ridurre il rischio di perdite e semplificare la conformità.
Esempi PII: FIO, telefono, email, indirizzo, passaporto/ID, INN, indirizzi IP, cookie-ID, ID di pagamento, data di nascita, ecc.
- non mostra il valore originale.
- può essere reversibile (tramite un servizio di disintossicazione protetta) o irreversibile;
- può essere definito (per join/ricerca) o non minato (per la massima privacy).
2) Modello di minacce e obiettivi di controllo
Rischi: fughe di database/logi/backup, lettura privilegiata, correlazione per valori ricorrenti, disintossicazione non autorizzata, attacchi con dizionario/formato (email/telefono), riutilizzo dei segreti.
Obiettivi:1. Separa le aree di fiducia: l'applicazione funziona con i token e i sorgenti solo nel servizio di token.
2. Garantisce la resistenza crittografica dei token e la disintossicazione guidata.
3. Ridurre i blast radius con KMS/HSM, rotazione e «cripto-sterilizzazione».
4. Assicurarsi che la ricerca/joyn/analisi sia adatta a rischi controllati.
3) Tipologia di token
Profili consigliati:- PII per la ricerca/gioiello: determinati reversibili, attaccati a un'area (tenant/scope), con chiusura su KMS.
- PII per il travestimento rapido (UI): reversibili non minati a vita per ridurre i rischi di riutilizzo.
- Per gli analisti nella «zona grigia»: irreversibili (NMAS/hash chiave con sale) o aggregazioni DOP.
4) Architettura di tornitura
4. 1 Componenti
Tokenization Service (TS): API «tokenize/detokenize/search», zona di massima fiducia.
Token Vault (TV) - Protezione mapa'token 'originale (+ metadati)'.
KMS/HSM - Memorizzazione chiavi radici (KEK), operazioni di avvolgimento/firma.
Policy Engine: chi, dove e perché può disintossicare; scope/TTL/rate-limits; mTLS/mTLS+mTLS.
Audit & Immutability - Registri invariati di tutte le operazioni di tornitura/disinstallazione.
4. 2 Gerarchia delle chiavi
Root/KEK in KMS/HSM.
DEK-PII per dominio dati (email/phone/address) e/o dataset.
Rotazione: rewrap DEK senza crittografare l'intero volt; Piano di compromissione della chiave.
4. 3 Flussi
1. Tokenize - Client TS ( + A&A) ha la normalizzazione del calcolo del token in modo da ottenere una risposta in token.
2. Detokenize - Client con privilegi TS Verifica criteri/basi della di estradizione di origine (o rifiuto).
3. Search/Match - La tornitura determinata consente la ricerca di un token; per email/telefono - Normalizza il formato prima della tornitura.
5) Progetti di token (crypto-design)
5. 1 Reversibili (raccomandato per il tracciato operativo)
AES-SIV/AEAD envelope: `cipher = AEAD_Encrypt(DEK, PII, AAD=scope|tenant|field)`; token = "prefix" nonce "cipher" tag ".
FPE (FF1/FF3-1) per formati (ad esempio, telefono a 10 cifre senza codice nazionale). Applica con cautela e il dominio corretto (alfabeto/lunghezza).
5. 2 Irreversibili (analisi/anonimato al limite)
Keyed HMAC/хэш: `token = HMAC(PII_normalized, key=K_scope)`; sale/pepper - separato; sull'inquilino o sul dataset.
Rischio di conflitti per ridurre al minimo la scelta della funzione (SHA-256/512) e del dominio.
5. 3 Determinismo e ambito d'azione
Per join, utilizzare uno schema di rilevamento con AAD = '{tenant'purpos'field}', diversi obiettivi corrispondono a token diversi dello stesso valore.
Per l'anti-correlazione in diversi servizi sono diverse chiavi/aree.
5. 4 Minimizzare gli attacchi del dizionario
Normalizzazione (canonizzazione email/telefono), pepper in KMS, limitazione delle dimensioni del dominio (non dare l'errore «non trovato» come canale di side), rate-limit e SARTSNA/proxy per i punti pubblici.
6) Design API e schemi
6. 1 REST/gRPC (opzione)
`POST /v1/tokenize { field, value, scope, tenant_id, purpose } -> { token, meta }`
`POST /v1/detokenize { token, purpose } -> { value }` (mTLS + OIDC + ABAC; «minimizzazione» del rilascio)
'POST/v1/match {field, value} -> {token} '(percorso di ricerca definito)
6. 2 Schema di storage (TV)
Таблица `tokens(field, scope, tenant_id, token, created_at, version, wrapped_key_id, hash_index)`
Indici: «token», «(tenant _ id, field, hash _ index)» per la de-duplicazione/ricerca.
Hash index (HMAC da PII normalizzato) consente la ricerca senza disinstallazione.
6. 3 Linee di montaggio normali
email: lowercasing, trim, canical locale-part (senza «mangiare» aggressivo per tutti i domini).
phone: E.164 (con codice paese), rimozione dei caratteri di formattazione.
address/name - Trasmissione di regole, trim, collapse space.
7) Polivalenza e isolamento
KEK/DEK per tenant.
Criteri di disinstallazione: ruolo + obiettivo + causa + controllo event.
Crypto-rimozione dei dati dell'inquilino - Il ritiro di KEK e la distruzione di DEK volt diventa inutile (per i suoi record).
8) Integrazioni
8. 1 Database e cache
Memorizzare solo i token nelle tabelle operative.
Le valigette rare richiedono la detonazione in volo tramite proxy/agente.
Cache token: solo memoria con TTL breve, senza scrittura su disco.
8. 2 Analisi/BI/ML
In DWH/lago - token o hash. Join viene eseguito in base ai token determinati della scope corrispondente.
Per ML - preferibilmente alias e aggregazioni; evitare di ripristinare la persona.
8. 3 Assistenza e antifrode
UI con maschera ('+ 380') e disintossicazione occasionale per ragione giustificata (reason code) + secondo factor.
9) Rotazione, versione e ciclo di vita
Separare l'ID del token e la versione della crittografia (v1/v2).
Rewrap: cambia KEK senza toccare i dati.
Il piano degli incidenti è quello di compromettere le chiavi, fare un richiamo istantaneo, disattivare la disintossicazione, annullare il read-only, avviare il rewrap.
TTL di token: per criteri sono costanti (ID) o brevi (collegamenti monouso/integrazioni temporanee).
10) Prestazioni e affidabilità
Accelerazioni hardware (AES-NI/ARMv8), pool di connessione KMS, cache DEK avvolto.
Scalabilità orizzontale TS; Separazione dei percorsi read/write.
Idempotency-key per ripetizioni tokenize nei flap di rete.
DR/HA: multifunzione, replica asincrona volt, test di ripristino regolari.
SLO: p99 latitanza «tokenize» 50-100 ms; «detokenize» 50 ms; Disponibilità ≥ 99. 9%.
11) Osservazione, verifica, compilazione
Metriche: QPS metodi, errori A&A, percentuale di disinstallazioni (per ruolo/scopo), hit-rate cache, tempo di operazioni KMS.
Controllo (invariato) - Ogni detonazione con «who/what/why/where», hash di query, risultato.
Criteri di conservazione e WORM per il registro (vedere Revisione e registri invariati).
Conformità: GDPR (minimizzazione, diritto di eliminazione tramite crypto-cancellazione), PCI DSS (per PAN - FPE/alias), report ISO/SOC.
12) Test e sicurezza
Crypto-unit Test: stabilità dei token determinati, controllo AAD e interruzione della conformità.
Test negativi: attacchi con dizionario, reverse formated, rate-limit, CSRF (per i pannelli Web), SSRF contro le becende.
Chaos: KMS/volt non disponibile, chiave obsoleta, replica parziale.
I Red team periodici tentano di disintossicare senza motivo e attraverso canali laterali.
13) Mini-ricette
Token reversibile (AEAD SIV, pseudocode):
pii_norm = normalize(value)
aad = scope tenant field dek = kms. unwrap(kek_id, wrapped_dek_for_field)
token = aead_siv_encrypt (dek, pii_norm, aad) # deterministically store_vault (token, pii_norm, meta)
return token
Token irreversibile per gli analisti (HMAC):
pii_norm = normalize(value)
pepper = kms. get_secret("pepper/"+tenant+"/"+field)
token = HMAC_SHA256 (pepper, pii_norm) # deterministically within scope return base64url (token)
Criteri di disintossicazione (idea):
allow if role in {SupportL2, Risk, DPO} and purpose in {KYC, Chargeback, DSAR}
and mTLS and OIDC_claims match tenant and reason_code provided and ticket_id linked rate_limit per actor <= N/min
Crypto-rimozione locatore:
kms. disable_key(kek_tenant)
access to unwrap is blocked → detoxification is not possible schedule_destroy (kek_tenant, hold_days=7)
14) Errori frequenti e come evitarli
I token sono nei reparti. Mascherare anche i token stessi (in particolare quelli reversibili) sono dati sensibili.
Una sola chiave per tutto. Dividere per affittuari/campi/obiettivi; Utilizzare AAD.
La normalizzazione del «come va». La canonizzazione incoerente rompe la ricerca/gioielli.
Detonazione senza motivo o vincolo. Sempre reason code, controllo e rate-limit.
FPE come una panacea. Applica solo se il formato è effettivamente necessario e con il dominio o le chiavi corrette.
Cache a lunga vita su disco. Cache solo in memoria con TTL.
Nessun processo rewrap. La rotazione KEK è obbligatoria.
15) Assegno fogli
Prima di vendere
- Profili di token selezionati per campo/obiettivo (reversibilità/determinismo/area).
- La gerarchia delle chiavi (KEK/DEK), i criteri di KMS e il controllo delle operazioni chiave sono configurati.
- La normalizzazione degli ingressi, la catena di montaggio dei formati.
- Abilitato rate-limit, reason-codes, controllo invariato.
- I test di attacco/formato/ruolo basati sono stati completati.
- DR/replica volt e piano di compromissione delle chiavi.
Utilizzo
- Rapporto mensile sulle disintossicazioni (chi/perché/quanto).
- Rotazione periodica di KEK/pepper, rewrap DEK.
- Red team per disintossicazione/canali laterali non autorizzati.
- Revisione della normalizzazione in caso di nuovi formati/regioni.
16) FAQ
C: Tokenizzazione = Anonimizzazione?
Oh, no. Tokening - Alias. Ripristinare (o mappare) l'origine in presenza di chiavi/volt. Per uscire dalla sfera GDPR è necessaria un'anonimizzazione affidabile.
B: Come faccio a cercare tramite email/telefono senza disintossicazione?
A: Torninizzazione con canonizzazione. Per indirizzi/FIO - indici hash/chiavi di ricerca e tabelle di supporto.
Quando ti serve un FPE?
O: Quando un contratto/schema esterno richiede un formato (lunghezza/alfabeto). In altri casi, i token AEAD normali sono più semplici e sicuri.
C'è un tocco per tutti gli scopi?
O: Più diverse aree (scope/purpose): lo stesso PII fornisce token diversi per attività diverse, meno rischio di correlazione.
C: Come si esegue il «diritto di eliminazione»?
O: Crypto-rimozione: richiamiamo KEK/DEK per il set appropriato e/o rimuoviamo la voce nel volt + distruggiamo le chiavi del campo/partitura; nell'analisi - TTL/aggregazione/impersonalizzazione.
- «Gestione dei segreti»
- Crittografia At Rest'
- Crittografia in transit
- «Privacy by Design (GDPR)»
- Controllo e registri invariati
- Gestione e rotazione delle chiavi