GH GambleHub

Tokenizacja danych PII

Tokenizacja danych PII

1) Dlaczego tokenizacja i co dokładnie tokenizujemy

Cel: wyłączenie dostępu do „surowych” danych osobowych w obiegu operacyjnym i analizie, zmniejszenie ryzyka wycieków oraz uproszczenie zgodności z wymogami.
Przykłady PII: pełna nazwa, numer telefonu, e-mail, adres, paszport/ID, NIP, adresy IP, identyfikator pliku cookie, identyfikatory płatności, data urodzenia itp.

Pomysł: zamiast pierwotnej wartości używamy tokena - bezpiecznego substytutu, który:
  • nie ujawnia pierwotnej wartości;
  • mogą być odwracalne (za pośrednictwem bezpiecznej usługi detokenacji) lub nieodwracalne;
  • może być deterministyczne (do przyłączenia/wyszukiwania) lub nie-deterministyczne (dla maksymalnej prywatności).

2) Model zagrożenia i cele kontroli

Ryzyko: wycieki bazy danych/dziennika/kopii zapasowych, odczyty poufne, korelacja przez powtarzające się wartości, nieautoryzowana detokenizacja, ataki słownika/formatu (e-mail/telefon), ponowne wykorzystanie tajemnic.

Cele:

1. Oddzielne strefy zaufania: aplikacja działa z żetonami, źródła - tylko w serwisie tokenowym.

2. Gwarancja wytrzymałości kryptograficznej żetonów i zarządzanej detokenacji.

3. Zmniejszyć promień wybuchu z KMS/HSM, rotacji i sterylizacji krypto.

4. Zapewnienie przydatności do wyszukiwania/joyns/analityki w kontrolowanym ryzyku.

3) Typologia żetonów

WłasnośćOpcjeCo za
Odwracalnośćodwracalne/nieodwracalneobsługa klienta vs analytics
Determinizmdeterministyczne/nondeterministycznełączenie/deduplicacja vs antykorelacja
FormatFPE (format-preserving )/arbitralnyprzyleganie do maski (telefon/BIN) vs ciągi losowe
Obszarper-najemca/per-dataset/globalzarządzanie izolacją i kolizją
Okres życiatrwały/krótkotrwałytrwałe łącza vs jednorazowe żetony
Zalecane profile:
  • PII dla wyszukiwania/joynes: odwracalny deterministyczny, związany regionalnie (najemca/zakres), zamykany na KMS.
  • PII do maskowania operacyjnego (UI): odwracalny nondeterministyczny z okresem życia w celu zmniejszenia ryzyka ponownego użycia.
  • W przypadku analizy strefy szarej: nieodwracalne (hash klucz NMAC/sól) lub agregacje DP.

4) Architektura tokenizacji

4. 1 Składniki

Usługa tokenizacji (TS): „tokenize/detokenize/search” API, strefa wysokiego zaufania.
Token Vault (TV): mapa chroniona 'token → oryginał (+ metadane)'.
KMS/HSM: pamięć główna klucza (KEK), operacje pakowania/podpisywania.
Silnik polityki: kto, gdzie i dlaczego może detokenizować; zakres/TTL/limity stawek; mTLS/mTLS + mTLS.
Audyt i odporność: niezmienne dzienniki wszystkich operacji tokenizacji/detokenizacji.

4. 2 Kluczowa hierarchia

Korzeń/KEK w KMS/HSM (według organizacji/regionu/najemcy).
DEK-PII dla domeny danych (e-mail/telefon/adres) i/lub zbioru danych.
Obrót: rewrap DEK bez ponownego szyfrowania całego woltu; Plan „kluczowy kompromis”.

4. 3 Przepływy

1. Tokenize: TS → klient (mTLS + A&A) → normalizacja → obliczanie tokenu → pisanie do TV → odpowiedź na token.
2. Detokenize - TS → Klient → Zasady/Powód Sprawdź → Sprawdzenie źródła (lub odrzucić).
3. Wyszukiwanie/dopasowanie: tokenizacja deterministyczna pozwala na wyszukiwanie przez token; dla e-maila/telefonu - znormalizować format przed tokenizacją.

5) Wzory tokenów (projekt kryptograficzny)

5. 1 Odwracalny (zalecany do obwodu operacyjnego)

koperta AES-SIV/AEAD: „szyfr = AEAD_Encrypt (DEK, PII, AAD = zakres 'najemca' field')”; token = 'prefix' nonce 'cipher' tag '.
FPE (FF1/FF3-1) dla formatów (np. 10-cyfrowy telefon bez kodu kraju). Należy stosować ostrożnie i prawidłowo (alfabet/długość).

5. 2 Nieodwracalne (analityka/anonimizacja twarzy)

Klawisz HMAC/мич: 'token = HMAC (PII_normalized, key = K _ scope)'; sól/pieprz - oddzielne; na najemcę lub zestaw danych.
Zminimalizuj ryzyko kolizji wybierając funkcję (SHA-256/512) i domenę.

5. 3 Determinizm i zakres

Do przyłączenia użyj schematu deterministycznego z AAD = '{lokator' cel 'pole}' → różne żetony tej samej wartości odpowiadają różnym celom.
Do zwalczania korelacji w różnych usługach - różne klucze/obszary.

5. 4 Zminimalizuj ataki słownika

Normalizacja (kanonizacja e-maila/telefonu), pieprz w KMS, ograniczenie wielkości domeny (nie podawać błędów „nie znaleziono rekordu” jako kanał boczny), limit stawki i SARTSNA/proxy dla punktów publicznych.

6) projektowanie i schematy API

6. 1 REST/gRPC (opcja)

„POST/v1/tokenize {pole, wartość, zakres, tenant_id, cel} -> {token, meta}”

„POST/v1/detokenize {token, purpose} -> {value}” (mTLS + OIDC + ABAC; emisja „minimalizująca”)

'POST/v1/match {pole, value} -> {token}' (ścieżka wyszukiwania deterministycznego)

6. 2 Schemat przechowywania (TV)

Таблий 'tokens (pole, zakres, tenant_id, token, created_at, wersja, wrapped_key_id, hash_index) "

Indeksy: przez 'token', przez '(tenant_id, pole, hash_index)' dla de-dublowania/wyszukiwania.
Indeks hash (HMAC ze znormalizowanego PII) pozwala na wyszukiwanie bez detokenizacji.

6. 3 Rurociągi normalizacyjne

e-mail: lowercasing, trim, canonical local-part (bez agresywnego „jedzenia” punktów dla wszystkich domen).
telefon: E.164 (z kodem kraju), usuwanie znaków formatowania.
adres/nazwa: transliteracja według reguł, wykończenie, zawalenie przestrzeni.

7) Wielopoziomowość i izolacja

Klucze i obszary nazw na najemcę: KEK/DEK na najemcę.
Polityka detokenizacji: rola + cel + przyczyna + kontrola zdarzeń.
Crypto usunięcie danych najemcy - odwołanie KEK i DEK zniszczenie → woltów staje się bezużyteczne (dla jego rekordów).

8) Integracja

8. 1 Bazy danych i bufory

Przechowywać tylko żetony w tabelach operacyjnych.
Rzadkie przypadki wymagają detokenizacji podczas lotu przez pełnomocnika/agenta.
Token caches - tylko w pamięci z krótkim TTL, bez zapisu na dysku.

8. 2 Analityka/BI/ML

W DWH/jeziorze, żetony lub hashes. Połączenie wykonywane jest na żetonach deterministycznych odpowiedniego zakresu.
W przypadku ML preferowana jest pseudonimizacja i agregaty; unikać przywracania osób.

8. 3 Usługi wsparcia i zwalczania nadużyć finansowych

Interfejs użytkownika z maską ('+ 380') i epizodycznym detokenizacją z rozsądnego powodu (kod przyczyny) + drugi czynnik.

9) Obrót, wersje i cykl życia

Oddziel identyfikator tokena i wersję szyfrowania (v1/v2).
Wrap: zmień KEK bez dotykania danych.
Plan incydentu: kluczowy kompromis → natychmiastowe wycofanie, zakaz detokenizacji, odwrócenie do „tylko do odczytu”, uruchomienie wraku.
TTL tokeny: według zasad - stałe (identyfikatory) lub krótkie (jednorazowe linki/tymczasowe integracje).

10) Wydajność i niezawodność

Akceleracje sprzętowe (AES-NI/ARMv8), puli połączeń z KMS, pamięć podręczną owiniętych DEK.
Poziomy skalowanie ST; podzielone ścieżki odczytu/zapisu.
Idempotencja-klucz do tokenizacji powtórzeń dla flag sieciowych.
DR/HA: wielopolowa, asynchroniczna replika woltu, regularne testy odzysku.
SLO: p99 latency „tokenize” ≤ 50-100 ms; „detokenize” ≤ 50 ms; dostępność ≥ 99. 9%.

11) Obserwowalność, audyt, zgodność

Wskaźniki: QPS metodami, błędy A&A, udział detokenacji (według ról/celów), szybkość trafienia w pamięci podręcznej, czas pracy KMS.
Audyt (niezmienny): każda detokenacja z 'kto/co/dlaczego/gdzie', hash zapytania, wynik.
Zasady przechowywania i WORM dla dziennika (patrz Audyt i dzienniki niezmienne).
Zgodność: RODO (minimalizacja, prawo do usunięcia poprzez usunięcie krypto), PCI DSS (dla PAN - FPE/pseudonimizacja), raportowanie ISO/SOC.

12) Badania i bezpieczeństwo

Testy jednostek kryptograficznych: stabilność żetonów deterministycznych, weryfikacja AAD i awaria, jeśli nie pasuje.
Testy negatywne: ataki słownikowe, format odwrotny, limit szybkości, CSRF (dla paneli internetowych), SSRF dla backendów.
Chaos: KMS/Volt niedostępny, klucz spuścizny, częściowa replikacja.
Okresowy zespół Czerwony próbuje zdetokenizować bez powodu i przez kanały boczne.

13) Mini przepisy kulinarne

Odstraszający odwracalny token (AEAD SIV, pseudokod):

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
Nieodwracalny token analityczny (HMAC):

pii_norm = normalize(value)
pepper  = kms. get_secret("pepper/"+tenant+"/"+field)
token = HMAC_SHA256 (pepper, pii_norm) # deterministically within scope return base64url (token)
Polityka detokenizacji (pomysł):

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
Usuwanie krypto lokatora:

kms. disable_key(kek_tenant)
access to unwrap is blocked → detoxification is not possible schedule_destroy (kek_tenant, hold_days=7)

14) Częste błędy i sposób ich unikania

Żetony w logach. Zamaskować same żetony (szczególnie odwracalne) - są to dane wrażliwe.
Pojedynczy klucz "dla wszystkiego. "Podziel przez najemcę/pole/cel; używać AAD.
Normalizacja "przypadkowo. "Nieskoordynowana kanonizacja załamuje poszukiwania/joynes.
Detokenizacja bez przyczyny/ograniczenia. Zawsze kod uzasadnienia, audyt i limit stawki.
FPE jako panaceum. Użyj tylko wtedy, gdy format jest naprawdę potrzebny i z właściwą domeną/klawiszami.
Długotrwałe bufory na dysku. Pamięć podręczna tylko w pamięci z TTL.
Brak przeróbki. Rotacja KEK bez przestoju jest obowiązkowa.

15) Listy kontrolne

Przed sprzedażą

  • Wybrane profile tokenowe na pole/cel (odwracalność/determinizm/zakres).
  • Skonfigurowano kluczową hierarchię (KEK/DEK), zasady KMS, audyt kluczowych operacji.
  • Normalizacja danych wejściowych, wdrożony rurociąg walidacji formatu.
  • Dopuszczalna stawka, kody uzasadnienia, możliwość niezmiennego audytu.
  • Przeszedł test na ataki słownikowe/format/dostęp oparty na rolach.
  • DR/replika woltu i kluczowy plan kompromisowy.

Operacja

  • Miesięczny raport detokenacji (kto/dlaczego/ile).
  • Okresowa rotacja KEK/pieprzu, rewrap DEK.
  • Czerwony zespół do nieautoryzowanego detokenacji/kanałów bocznych.
  • Przegląd normalizacji w miarę powstawania nowych formatów/regionów.

16) FAQ

P: Tokenizacja = anonimizacja?
Och nie. Tokenizacja - pseudonimizacja. Źródło zostanie przywrócone (lub porównywalne), jeśli istnieją klawisze/wolt. Wyjście z sfery RODO wymaga niezawodnej anonimizacji.

P: Jak wyszukiwać przez e-mail/telefon bez detokenizacji?
Odp.: Detemined tokenization with canonization. Dla adresów/pełnych nazw - indeksy hash/klucze wyszukiwania i tabele pomocnicze.

P: Kiedy potrzebny jest FPE?
Odp.: Gdy zewnętrzna umowa/schemat wymaga formatu (długość/alfabet). W innych przypadkach regularne żetony AEAD są prostsze i bezpieczniejsze.

P: Czy możliwe jest posiadanie jednego żetonu we wszystkich celach?
Odp.: Lepsze różne zakresy (zakres/cel): ten sam PII daje różne żetony dla różnych zadań → zmniejsza ryzyko korelacji.

P: Jak korzystać z „prawa do usunięcia”?
Odp.: Deletion Crypto: cofnij KEK/DEK dla odpowiedniego zestawu i/lub usuń wpis w wolcie + zniszczyć klucze pola/strony; w analityce - TTL/agregacja/depersonalizacja.

Materiały pokrewne:
  • „Tajne zarządzanie”
  • „W odpoczynku szyfrowanie”
  • „W szyfrowaniu tranzytu”
  • „Prywatność według projektu (RODO)”
  • „Audyt i niezmienne kłody”
  • „Kluczowe zarządzanie i rotacja”
Contact

Skontaktuj się z nami

Napisz do nas w każdej sprawie — pytania, wsparcie, konsultacje.Zawsze jesteśmy gotowi pomóc!

Telegram
@Gamble_GC
Rozpocznij integrację

Email jest wymagany. Telegram lub WhatsApp są opcjonalne.

Twoje imię opcjonalne
Email opcjonalne
Temat opcjonalne
Wiadomość opcjonalne
Telegram opcjonalne
@
Jeśli podasz Telegram — odpowiemy także tam, oprócz emaila.
WhatsApp opcjonalne
Format: kod kraju i numer (np. +48XXXXXXXXX).

Klikając przycisk, wyrażasz zgodę na przetwarzanie swoich danych.