PIIデータトークン化
PIIデータのトークン化
1)トークン化と正確にトークン化する理由
目標:運用回路および分析における「生の」個人データへのアクセスを除外し、漏洩のリスクを低減し、要件への準拠を簡素化する。
PIIの例:氏名、電話番号、電子メール、住所、パスポート/ID、錫、IPアドレス、クッキーID、支払い識別子、生年月日など。
- 元の値を開示しません。
- リバーシブル(安全なdetokenationサービスを介して)または不可逆的にすることができます。
- 決定論的(結合/検索の場合)または非決定論的(最大プライバシーの場合)にすることができます。
2)脅威モデルと制御目標
リスク:データベース/ログ/バックアップリーク、インサイダー読み取り、繰り返し値による相関、不正なデトークン化、辞書/フォーマット攻撃(電子メール/電話)、秘密の再利用。
目的:1.別の信頼ゾーン:アプリケーションはトークン、ソースで動作します-トークンサービスでのみ。
2.トークンの暗号強度と管理されたデトークン化を保証します。
3.KMS/HSM、回転、暗号滅菌でブラスト半径を削減します。
4.管理されたリスクでの検索/ジョイン/分析に適していることを確認します。
3)トークンの類型
推奨プロファイル:- search/joynesのPII: KMS上にラッチされたリバーシブル決定論的、リージョンバウンド(テナント/スコープ)。
- 運用マスキング(UI)のためのPII:再利用リスクを低減するために、生涯にわたって可逆的な非決定性。
- グレーゾーン分析の場合:不可逆(key NMAC/salt hash)またはDP集計。
4)トークン化アーキテクチャ
4.1コンポーネント
トークン化サービス(TS): 「tokenize/detokenize/search」 API、高い信頼ゾーン。
Token Vault (TV):保護マップ'token→original(+metadata)'。
KMS/HSM:ルートキーストレージ(KEK)、ラッピング/署名操作。
ポリシーエンジン:誰が、どこで、なぜdetokenizeすることができます。範囲/TTL/rate-limits;mTLS/mTLS+mTLS。
監査と免責:すべてのトークン化/デトークン化オペレーションの変更不可のログ。
4.2キー階層
KMS/HSMのルート/KEK(組織/地域/テナントごと)。
データドメインごとのDEK-PII(電子メール/電話/アドレス)および/またはデータセット。
回転:ボルト全体を再暗号化せずにrewrap DEK;「鍵の妥協」計画。
4.3つの流れ
1.トークナイズ:TS→クライアント(mTLS+A&A)→正規化→トークン計算→テレビへの書き込み→トークン応答。
2.Detokenize-TS→Client→Policy/Reason Check→Source Check(またはReject)。
3.Search/Match:決定論的トークン化により、トークンで検索することができます。Eメール/電話-トークン化の前にフォーマットを正規化します。
5)トークン設計(暗号設計)
5.1リバーシブル(動作回路に推奨)
AES-SIV/AEADエンベロープ:'cipher=AEAD_Encrypt (DEK、 PII、 AAD=scope' tenant'フィールド)';token='prefix' nonce 'cipher' tag'。
フォーマットのFPE (FF1/FF3-1)(例:国番号無しの10桁の電話)。慎重に適用し、正しいドメイン(アルファベット/長さ)。
5.2取り返しのつかない(分析/顔の匿名化)
キー付きHMAC/хэш: 'token=HMAC (PII_normalized、 key=K_scope)';塩/コショウ-別々;テナントまたはデータセットごと。
関数(SHA-256/512)とドメインを選択することで、衝突のリスクを最小限に抑えます。
5.3決定論とスコープ
ジョインには、AAD='{tenant' purpose 'field}'→同じ値の異なるトークンが異なるターゲットに対応する決定論的スキーマを使用します。
異なったサービスの反相関のため-異なったキー/区域。
5.4辞書攻撃を最小限に抑える
正規化(電子メール/電話の正規化)、KMSのコショウ、ドメインサイズの制限(サイドチャネルとして「レコードが見つかりません」エラーを与えないでください)、レートリミットとパブリックポイントのSARTSNA/プロキシ。
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)
Таблица'トークン(フィールド、スコープ、tenant_id、トークン、created_at、バージョン、wrapped_key_id、 hash_index)'
インデックス:'token'、 '(tenant_id、 field、 hash_index)'による重複除外/検索。
ハッシュインデックス(正規化されたPIIからのHMAC)を使用すると、デトークン化せずに検索できます。
6.3正規化パイプライン
email:小文字、トリム、正規のローカルパート(すべてのドメインのポイントを積極的に「食べる」ことなく)。
phone: E.164(国コード付き)、書式文字を削除します。
address/name:ルール、トリム、折りたたみスペースによる変換。
7)複数のテナントおよび分離
テナントごとのキーと名前空間:テナントごとのKEK/DEK。
Detokenizationポリシー:role+goal+cause+event監査。
テナントデータの暗号削除-KEK失効とDEK破壊→ボルトは(その記録のために)役に立たなくなります。
8)統合
8.1データベースとキャッシュ
トークンのみを操作テーブルに保存します。
まれなケースでは、プロキシ/エージェントを介してオンザフライのデトークン化が必要です。
トークンキャッシュ-ディスクに書き込むことなく、短いTTLを持つメモリでのみ。
8.2 アナリティクス/BI/ML
DWH/lakeでは、トークンまたはハッシュ。Joinは、対応するスコープの決定論的トークンで実行されます。
MLでは、仮名化と集計が推奨されます。人を回復させることは避けてください。
8.3サポートサービスと不正防止
mask('+380')とepisodic detokenization (reason code)+second factorを使用したUI。
9)回転、バージョンおよびライフサイクル
トークンIDと暗号化バージョン(v1/v2)を分離します。
Rewrap:データに触れることなくKEKを変更します。
インシデントプラン:重要な妥協→即時リコール、デトークン化の禁止、「読み取り専用」へのロールバック、リラップの開始。
TTLトークン:ポリシー別-永続的(識別子)または短い(ワンタイムリンク/一時的な統合)。
10)性能および信頼性
ハードウェアアクセラレーション(AES-NI/ARMv8)、 KMSへの接続プール、ラップされたDEKのキャッシュ。
水平スケーリングTS;読み取り/書き込みパスを分割します。
ネットワークフラグの繰り返しをトークン化するためのIdempotency-key。
DR/HA:マルチエリア、非同期ボルトレプリカ、定期的なリカバリテスト。
SLO: p99 latency 'tokenize' ≤ 50-100 ms;'detokenize' ≤ 50 ms;99 ≥可用性。9%.
11)オブザビリティ、監査、コンプライアンス
メトリクス:メソッドによるQPS、 A&Aエラー、デトークンの共有(役割/目標による)、キャッシュのヒット率、KMSの動作時間。
監査(不変):'who/what/why/where'、クエリーハッシュ、resultの各detokenation。
ログの保持とWORMポリシー(監査と不変ログを参照)。
コンプライアンス:GDPR(最小化、暗号消去による削除権)、PCI DSS (PAN-FPE/仮名化)、ISO/SOCレポート。
12)テストおよび安全
暗号ユニットテスト:決定論的トークンの安定性、AADの検証、および一致しない場合の失敗。
ネガティブテスト:辞書攻撃、フォーマット逆、レート制限、CSRF (Webパネル用)、バックエンド用SSRF。
カオス:KMS/Voltが利用できない、レガシーキー、部分的なレプリケーション。
定期的なレッドチームは、理由なくサイドチャンネルを介してデトークン化しようとします。
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)
Detokenization policy(アイデア):
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を使用します。
正規化"ランダムで。"調整されていない正規化は、検索/ジョインを破壊します。
原因/制限なしのデトークン化。常に理由コード、監査およびレート制限。
万能薬としてのFPE。フォーマットが本当に必要な場合と正しいドメイン/キーでのみ使用します。
ディスク上の長寿命キャッシュ。TTLを使用したメモリでのみキャッシュします。
巻き戻しプロセスはありません。ダウンタイムのないKEKの回転は必須です。
15)チェックリスト
販売する前に
- フィールド/ターゲットごとに選択されたトークン・プロファイル(可逆性/決定性/スコープ)。
- キー階層(KEK/DEK)、 KMSポリシー、キー操作監査が設定されています。
- 入力正規化、フォーマット検証パイプラインを実装。
- Rate-limit、 reason-codes、 immutable監査有効。
- 辞書攻撃/フォーマット/ロールベースのアクセスのテストが渡されました。
- DR/レプリカボルトと鍵の妥協計画。
操作
- 毎月のdetokenationレポート(who/why/how much)。
- KEK/pepperの周期的な回転、rewrap DEK。
- 無許可のdetokenation/側面チャネルのための赤いチーム。
- 新しいフォーマット/リージョンが出現すると、正規化を修正します。
16) FAQ
Q:トークン化=匿名化?
ああ、いやいや。トークン化-仮名化。キー/ボルトがある場合、ソースは復元されます(または同等)。GDPRの領域を終了するには、信頼性の高い匿名化が必要です。
Q: detokenizationなしで電子メール/電話で捜す方法か?
A: canonizationのdeteminatedトークン化。アドレス/フルネームの場合-インデックス/検索キーと補助テーブルをハッシュします。
Q: FPEはいつ必要ですか?
A:外部契約/スキーマがフォーマット(長さ/アルファベット)を必要とする場合。他のケースでは、通常のAEADトークンはより簡単で安全です。
Q:すべての目的で1つのトークンを持つことは可能ですか?
A:より良い異なるスコープ(スコープ/目的):同じPIIは異なるタスクに異なるトークンを与えます→相関のリスクを低減します。
Q:どのように「削除する権利」を行使しますか?
A:暗号削除:対応するセットのKEK/DEKを取り消し、またはvolt+のエントリを削除してフィールド/パーティキーを破壊します。in analytics-TTL/aggregation/depersonalization。
- 「秘密管理」
- 「At Rest Encryption」
- 「In Transit Encryption」
- 「デザインによるプライバシー(GDPR)」
- 「監査ログと不変ログ」
- 「キー管理とローテーション」