GH GambleHub

PII деректерін токенизациялау

PII-деректерді токендеу

1) Токенизациялау не үшін және нені токенизациялаймыз

Мақсаты: операциялық контур пен талдауда «шикі» дербес деректерге жүгінуді болдырмау, ағу қаупін төмендету және талаптарға сәйкестікті оңайлату.
PII-мысалдар: аты-жөні, телефоны, email, мекенжайы, төлқұжаты/ID, ЖСН, IP-мекенжайлары, cookie-ID, төлем сәйкестендіргіштері, туған күні және т.б.

Идея: бастапқы мәннің орнына қауіпсіз алмастырғыш токенді пайдаланамыз, ол:
  • бастапқы мәнін ашпайды;
  • қайтарымды (детокенизацияның қорғалған сервисі арқылы) немесе қайтарымсыз болуы мүмкін;
  • анықталуы (join/іздеу үшін) немесе анықталмауы (максималды құпиялылық үшін) мүмкін.

2) Қатерлер моделі және бақылау мақсаттары

Тәуекелдер: ДБ/логтардың/бэкаптардың жылыстауы, инсайдерлік оқулар, қайталанатын мәндер бойынша корреляция, рұқсатсыз детокенизация, сөздік/формат бойынша шабуылдар (email/телефон), құпияларды қайта пайдалану.

Мақсаттары:

1. Сенім аймақтарын бөлісу: қолданба токендермен жұмыс істейді, бастапқы құралдар тек токен сервисінде.

2. Токендер мен басқарылатын детокенизацияның криптографиялық беріктігіне кепілдік беру.

3. KMS/HSM, ротация және «крипто-стерильдеу» көмегімен blast radius азайту.

4. Бақыланатын тәуекел кезінде іздеу/джойндар/талдау үшін жарамдылықты қамтамасыз ету.

3) Токендер типологиясы

СипатПараметрлерНе үшін
Қайтарымдылыққайтарымды/қайтарымсызcustomer care vs аналитика
Детерминизмдетерминирленген/детерминирленбегенjoin/дедупликация vs анти-корреляция
ПішімFPE (format-preserving )/еркінмаскаларды сақтау (телефон/BIN) vs кездейсоқ жолдар
Аумақper-tenant/per-dataset/globalоқшаулау және коллизияларды басқару
Өмір сүру мерзімітұрақты/қысқа өмір сүретінұзақ мерзімді сілтемелер vs бір реттік белгілер
Ұсынылатын профильдер:
  • Іздеу/джойндарға арналған PII: кері қайтарылатын детерминирленген, (tenant/scope) аумағына байланған, KMS-те ілгегі бар.
  • Жедел бүркемелеуге арналған PII (UI): қайта пайдалану қаупін төмендету үшін өмір сүру мерзімімен кері шектелмеген.
  • «Сұр аймақта» талдау үшін: қайтарымсыз (негізгі НМАС/тұзбен хэш) немесе DP-агрегациялар.

4) Токенизациялау архитектурасы

4. 1 Компоненттер

Tokenization Service (TS): API «tokenize/detokenize/search», жоғары сенім аймағы.
Token Vault (TV): қорғалған мапа 'token → түпнұсқа (+ метадеректер)'.
KMS/HSM: негізгі кілттерді сақтау (KEK), орау/қолтаңба операциялары.
Policy Engine: кім, қайда және неге детокенизациялай алады; scope/TTL/rate-limits; mTLS/mTLS+mTLS.
Audit & Immutability: барлық токенизация/детокенизация операцияларының өзгермейтін журналдары.

4. 2 Кілттер иерархиясы

KMS/HSM Root/KEK (ұйымға/өңірге/жалға алушыға).
DEK-PII деректер доменіне (email/phone/address) және/немесе dataset.
Ротация: rewrap DEK бүкіл волтты қайта шифрлаусыз; «кілтті компрометациялау» жоспары.

4. 3 Ағындар

1. Tokenize: клиент → TS (mTLS + A&A) → қалыпқа келтіру → токенді есептеу → TV-ге жазу → токенмен жауап беру.
2. Detokenize: құқықтарымен клиент → TS → саясатты/негіздерді тексеру → бастапқы беру (немесе бас тарту).
3. Search/Match: детерминирленген токенизация токен бойынша іздеуге мүмкіндік береді; email/телефон үшін - токенизациялау алдында форматты қалыпқа келтіреміз.

5) Токендер конструкциясы (крипто-дизайн)

5. 1 Қайтымды (операциялық контур үшін ұсынылады)

AES-SIV/AEAD envelope: `cipher = AEAD_Encrypt(DEK, PII, AAD=scope|tenant|field)`; = 'prefix' nonce 'cipher' tag '.
Форматтар үшін FPE (FF1/FF3-1) (мысалы, ел кодынсыз 10 таңбалы телефон). Сақтықпен және дұрыс доменмен (әліпби/ұзындық) қолдану.

5. 2 Қайтымсыз (шекарада талдау/анонимдеу)

Keyed HMAC/хэш: `token = HMAC(PII_normalized, key=K_scope)`; тұз/pepper - жеке; жалға алушыға немесе күні.
Коллизия қаупін функцияны (SHA-256/512) таңдаумен және доменмен азайту.

5. 3 Детерминизм және іс-қимыл саласы

join үшін AAD = '{tenant' purpose 'field}' → дегенді пайдаланыңыз.
Түрлі сервистерде анти-корреляция үшін - әртүрлі кілттер/салалар.

5. 4 Сөздік бойынша шабуылдарды барынша азайтамыз

Қалыпқа келтіру (email/телефон канонизациясы), KMS-тегі pepper, домен өлшемдерін шектеу (қателер «сайд-арна» ретінде табылмады), rate-limit және САРТСНА/көпшілік нүктелері үшін прокси.

6) API дизайны және схемасы

6. 1 REST/gRPC (нұсқа)

`POST /v1/tokenize { field, value, scope, tenant_id, purpose } -> { token, meta }`

`POST /v1/detokenize { token, purpose } -> { value }` (mTLS + OIDC + ABAC; беруді «барынша азайту»)

'POST/v1/match {field, value} -> {token}' (іздеу үшін детерминацияланған жол)

6. 2 Сақтау схемасы (TV)

Таблица `tokens(field, scope, tenant_id, token, created_at, version, wrapped_key_id, hash_index)`

Индекстер: бойынша 'token', бойынша '(tenant_id, field, hash_index)' дубликаттау/іздеу үшін.
Hash index (қалыпқа келтірілген PII-ден HMAC) детокенизациясыз іздеуге мүмкіндік береді.

6. 3 Қалыпқа келтіру конвейерлері

email: lowercasing, trim, canonical local-part (барлық домендер үшін нүктелерді агрессивті «жеусіз»).
phone: E.164 (ел коды бар), пішімдеуші таңбаларды жою.
address/name: ереже бойынша транслитерация, trim, collapse spaces.

7) Көп жалдау және оқшаулау

Жалға алушыға кілттер мен namespaces: KEK/DEK per tenant.
Детокенизация саясаты: рөлі + мақсаты + себебі + event-аудит.
Жалға алушының деректерін крипто-жою - KEK қайтарып алу және DEK → volt жою пайдасыз болады (оның жазбалары үшін).

8) Интеграция

8. 1 Дерекқорлар мен кэштер

Тек токендерді операциялық кестелерде сақтаңыз.
Сирек кездесетін кейстер үшін прокси/агент арқылы «ұшуда» детокенизациялау қажет.
Токендер кэштері - тек жадында қысқа TTL, дискіге жазылмай.

8. 2 Талдау/BI/ML

DWH/көлде - токендер немесе хэштер. Join тиісті scope детерминирленген белгілері бойынша орындалады.
ML үшін - псевдонимдеу және агрегаттар; адамдарды қалпына келтіруден аулақ болу.

8. 3 Қолдау қызметтері және антифродтар

UI маскасымен ('+ 380') және негізделген себеп бойынша эпизодтық детокенизациямен (reason code) + second factor.

9) Ротация, нұсқалар және өмірлік цикл

Токен идентификаторы мен шифрлау нұсқасын бөліңіз (v1/v2).
Rewrap: KEK-ті деректерге тиіспей өзгертеміз.
Тосын оқиғалар жоспары: кілттерді сындыру → дереу қайтарып алу, детокенизациялауға тыйым салу, «read-only» дейін қайтару, rewrap іске қосу.
TTL токендер: саясат бойынша - тұрақты (сәйкестендіргіштер) немесе қысқа (бір реттік сілтемелер/уақытша интеграциялар).

10) Өнімділік және сенімділік

Аппараттық үдеулер (AES-NI/ARMv8), KMS қосылыстар пулы, DEK ораған кэш.
TS көлденең масштабтау; read/write жолдарын бөлу.
Желілік флаптарда tokenize қайталау үшін idempotency-key.
DR/HA: көп аймақтық, вулттың асинхронды репликасы, тұрақты қалпына келтіру тестілері.
SLO: p99 латенттілігі 'tokenize' ≤ 50-100 мс; 'detokenize' ≤ 50 мс; қол жетімділік ≥ 99. 9%.

11) Бақылау, аудит, комплаенс

Өлшемдері: әдістер бойынша QPS, A&A қателері, детокенизация үлесі (рөлдер/мақсаттар бойынша), hit-rate кэш, KMS-операциялар уақыты.
Аудит (өзгермейтін): әрбір детокенизация 'who/what/why/where', хэш сұрау, нәтиже.
Журнал үшін сақтау және WORM саясаты («Аудит және өзгермейтін журналдарды» қараңыз).
Сәйкестік: GDPR (барынша азайту, крипто-өшіру арқылы жою құқығы), PCI DSS (PAN үшін - FPE/псевдонимдеу), ISO/SOC есептілігі.

12) Тестілеу және қауіпсіздік

Крипто-юнит-тесттер: детерминирленген токендердің тұрақтылығы, AAD тексеру және ол сәйкес келмеген кезде бас тарту.
Теріс тесттер: сөздік шабуылдары, формат бойынша реверс, rate-limit, CSRF (веб-панельдер үшін), SSRF бекендтерге.
Chaos: KMS/volt қол жетімді емес, ескірген кілт, ішінара репликалау.
Мерзімді Red-team негізсіз және бүйірлік арналар бойынша детокенизациялау әрекеттері.

13) Шағын рецептер

Детерминирленген кері қайтарымды токен (AEAD SIV, псевдокод):

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
Аналитикаға арналған қайтарымсыз токен (HMAC):

pii_norm = normalize(value)
pepper  = kms. get_secret("pepper/"+tenant+"/"+field)
token = HMAC_SHA256 (pepper, pii_norm) # deterministically within scope return base64url (token)
Детокенизациялау саясаты (идея):

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
Жалға алушының крипто-жою:

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

14) Жиі қателер және оларды болдырмау

Логтардағы токендер. Белгілерді жасырыңыз (әсіресе кері қайтарылатын) - бұл сезімтал деректер.
Барлығы үшін бірыңғай кілт. Жалға алушылар/өрістер/мақсаттар бойынша бөліңіз; AAD пайдаланыңыз.
Қалыпқа келтіру «қалай болса солай». Келісілмеген канонизация іздеуді/джойнаны бұзады.
Себепсіз/шектеусіз детокенизациялау. Әрқашан reason code, аудит және rate-limit.
FPE панацея ретінде. Пішім қажет болғанда және дұрыс доменмен/кілттермен қолдану.
Дискідегі ұзақ мерзімді кэштер. Тек TTL жадындағы кэш.
rewrap процесінің болмауы. КЕК-ті тоқтаусыз ротациялау міндетті.

15) Чек парақтары

Азық-түлік алдында

  • Таңдалған per өрісі/мақсаты (қайтарымдылық/детерминизм/аумақ).
  • Кілттердің иерархиясы (KEK/DEK), KMS саясаты, негізгі операциялардың аудиті теңшелді.
  • Кірістерді қалыпқа келтіру, форматтарды валидациялау конвейері іске асырылды.
  • rate-limit, reason-codes, өзгермейтін аудит енгізілген.
  • Сөздік шабуылдарына/пішіміне/рөлге негізделген қолжетімділікке арналған тестілер өтті.
  • DR/волт репликасы және кілттерді сындыру жоспары.

Пайдалану

  • Детокенизация бойынша ай сайынғы есеп (кім/неге/қанша).
  • KEK/pepper, rewrap DEK мерзімді ротациясы.
  • Рұқсат етілмеген детокенизацияға/бүйірлік арналарға Red-team.
  • Жаңа пішімдер/өңірлер пайда болған кезде қалыпқа келтіруді қайта қарау.

16) FAQ

С: Токенизация = анонимдеу?
О жоқ. Токенизация - бүркеншік атау. Бастапқы кілт/волт болған жағдайда қалпына келтіреміз (немесе салыстырамыз). GDPR аясынан шығу үшін сенімді анонимдеу қажет.

С: Детокенизациясыз электрондық пошта/телефон арқылы қалай іздеуге болады?
О: Канонизациямен детеминирленген токенизация. Мекенжайлар/ТАӘ үшін - хэш-индекстер/іздеу кілттері және қосалқы кестелер.

С: FPE қашан қажет?
О: Сыртқы келісімшарт/схема форматты талап еткенде (ұзындығы/әліпби). Басқа жағдайларда - әдеттегі AEAD-токендер оңай және қауіпсіз.

В: Барлық мақсаттар үшін бір токен болуы мүмкін бе?
О: Жақсы әртүрлі аймақтар (scope/purpose): бір PII түрлі тапсырмалар үшін әртүрлі белгілерді береді → корреляция қаупін азайтады.

С: «Жою құқығын» қалай орындау керек?
О: Крипто-жою: тиісті теру үшін KEK/DEK қайтарып аламыз және/немесе жазуды өшіреміз + өріс/партия кілттерін жоямыз; талдауда - TTL/агрегаттау/иесіздендіру.

Байланысты материалдар:
  • «Құпия менеджменті»
  • «At Rest шифрлау»
  • «In Transit шифрлау»
  • «Privacy by Design (GDPR)»
  • «Аудит және өзгермейтін журналдар»
  • «Кілттерді басқару және ротация»
Contact

Бізбен байланысыңыз

Кез келген сұрақ немесе қолдау қажет болса, бізге жазыңыз.Біз әрдайым көмектесуге дайынбыз!

Telegram
@Gamble_GC
Интеграцияны бастау

Email — міндетті. Telegram немесе WhatsApp — қосымша.

Сіздің атыңыз міндетті емес
Email міндетті емес
Тақырып міндетті емес
Хабарлама міндетті емес
Telegram міндетті емес
@
Егер Telegram-ды көрсетсеңіз — Email-ге қоса, сол жерге де жауап береміз.
WhatsApp міндетті емес
Пішім: +ел коды және номер (мысалы, +7XXXXXXXXXX).

Батырманы басу арқылы деректерді өңдеуге келісім бересіз.