午前I問題
既存システムの改修コストを抑えながら機密データを保護する暗号化手法に関する記述として、適切なものはどれか。
ア)フォーマット保持暗号(FPE)は、暗号化後のデータサイズと形式(桁数・文字種)を暗号化前と同一に保つ暗号化方式であり、既存のデータベースのカラム定義や入力バリデーションを変更せずに導入できる。
イ)フォーマット保持暗号は、暗号化前後でデータの意味(例:クレジットカード番号として有効かどうか)を保持する必要はなく、暗号化後は完全にランダムな長さの文字列になる。
ウ)フォーマット保持暗号はハッシュ関数の一種であり、復号することはできない。
エ)フォーマット保持暗号を用いれば、暗号化を行わなくてもPCI DSSの要件を満たすことができる。
午前I の解答・解説を見る
正解: ア
解説:
- ア)正解。FPEの最大の特徴は「暗号化しても元のデータと同じ形式(16桁の数字なら16桁の数字のまま等)を維持する」点であり、これによりデータベースのカラム型・桁数制約・既存アプリケーションのバリデーションロジックを変更せずに暗号化を導入できる。これがAES等の一般的な暗号化(暗号文が任意長のバイナリになる)に対するFPEの最大の利点である。
- イ)不正解。FPEの定義そのものに反する。「形式を保持する」ことが目的であり、桁数や文字種を変えてしまっては本末転倒である。
- ウ)不正解。FPEは暗号化方式であり、正しい鍵を用いれば復号可能な可逆変換である。ハッシュ関数のような不可逆変換ではない。
- エ)不正解。FPEは暗号化の一手法であり「暗号化を行わなくてもよい」根拠にはならない。PCI DSSはカード会員データの保護要件であり、FPEはその実現手段の一つとして利用されるにすぎない。
午前II問題
FPEとトークナイゼーション(Tokenization)の違いに関する記述として、最も適切なものはどれか。
ア)FPEもトークナイゼーションも、いずれも元データとの対応関係を保持するためのマッピングテーブルを外部データベースに保存する必要があり、その点で技術的な差異はない。
イ)FPEは鍵を用いた可逆な暗号アルゴリズム(例:AESベースのFF1/FF3-1)によって形式を保持したまま値を変換するのに対し、トークナイゼーションは元データとランダムな代替値(トークン)の対応関係をマッピングテーブル(トークンボールト)で管理する方式であり、暗号アルゴリズムを用いない場合もある。
ウ)トークナイゼーションは暗号化の一種であり、正しい鍵さえあれば数学的にトークンから元データを復元できる。
エ)FPEはPCI DSSにおいてトークナイゼーションよりもスコープ削減効果が高いとされ、常に優先して採用すべき技術である。
午前II の解答・解説を見る
正解: イ
解説:
- ア)不正解。FPEは鍵を用いた暗号アルゴリズムによる決定的または非決定的な変換であり、マッピングテーブルを必要としない(鍵さえあれば計算で復号できる)。一方トークナイゼーションは多くの場合、元データとトークンの対応関係を保持する「トークンボールト」と呼ばれるマッピングテーブルに依存する。この点が両者の大きな技術的差異である。
- イ)正解。FPEはNIST SP 800-38Gで標準化されたFF1やFF3-1などのAESベースのモードを用いて、形式を保ちながら鍵による可逆変換を行う。一方トークナイゼーションはランダムに生成した無意味な代替値(トークン)とマッピングテーブルで対応管理する方式であり、暗号学的な鍵導出を用いない実装も存在する(ボールトベースのトークナイゼーション)。
- ウ)不正解。ボールトベースのトークナイゼーションはトークンボールトの参照によって元に戻すのであり、暗号アルゴリズムの鍵を用いた数学的復元ではない。トークン自体はランダム値であり、鍵から計算的に導出されるものではない。
- エ)不正解。FPE・トークナイゼーションのどちらが優れているかは要件次第であり、一律に優劣が決まるものではない。トークンボールトの可用性・スケーラビリティが問題になる場合はFPEが有利、複数システム間でのトークン一貫性やボールト集中管理が求められる場合はトークナイゼーションが有利など、トレードオフがある。
午後問題
K社は複数の基幹システム(受注管理・会計・CRM)でクレジットカード番号とマイナンバーを平文のまま保持しており、PCI DSS準拠および個人情報保護の観点から暗号化対応を進めることになった。担当のL氏は以下の制約に直面している。
(制約1)受注管理システムのデータベースは、クレジットカード番号カラムが CHAR(16) の固定長数字型として定義されており、他の連携先バッチシステムでも同じ桁数・数字のみという前提でパース処理が組まれている。これらのシステムを全て改修すると数か月〜半年規模のプロジェクトになる見込み。
(制約2)会計システムでは、集計処理においてカード番号の下4桁が一致するレコードをグルーピングするバッチ処理が存在し、この処理ロジックは維持する必要がある。
(制約3)マイナンバーについては、複数の拠点システムから同一の値を参照する必要があり、システム間でのマスタデータとしての一貫性(同一人物は常に同一の代替値)が求められる。
設問1
制約1について、L氏がAESによる通常の暗号化ではなくFPEの採用を検討すべき理由を、改修コストの観点から説明せよ。
設問1の解答・解説を見る
正解例: AESによる通常の暗号化では暗号化後のデータが16進数やBase64表記のバイナリ相当の文字列となり桁数も変化するため、CHAR(16)の数字型カラム定義や、桁数・数字のみを前提とする連携先バッチシステムのパース処理と互換性がなくなり、データベーススキーマ変更と全連携システムの改修が必要になる。FPEを用いれば暗号化後も16桁の数字形式が維持されるため、カラム定義や既存のバリデーション・パース処理を変更せずに暗号化を導入でき、数か月〜半年規模の改修コストを回避できる。
解説: FPEが実務で採用される最大の動機は「既存システムへの影響を最小化しながら暗号化を導入できる」点にある。特にレガシーシステムが多数連携している環境では、暗号化によってデータ形式が変わることが最大の障壁になりやすく、FPEはこの障壁を回避する現実的な選択肢となる。ただし性能面ではAESの標準モード(GCM等)より暗号化・復号処理が重くなる傾向がある点や、フォーマットを維持する分だけ暗号文の取りうる値の空間が平文と同じサイズに制約される点(安全性はAESの鍵長と暗号化モードの設計に依存)は留意事項となる。
採点基準(15点):
- 「AESの暗号化では桁数・形式が変わりカラム定義や連携システムと非互換になる」(6点)
- 「FPEなら形式を維持でき既存システムの改修が不要/最小限になる」(6点)
- 改修コスト削減という観点への明確な言及(3点)
設問2
制約2について、下4桁でのグルーピング処理を維持しながらFPEを適用する際に注意すべき設計上のポイントを述べよ。また、制約3のマイナンバーの一貫性要件に対して、FPEとトークナイゼーションのどちらがより適しているかを理由とともに述べよ。
設問2の解答・解説を見る
正解例(グルーピング処理): FPEは通常、桁全体を一体として変換するため、平文の下4桁が一致していても暗号化後の下4桁が一致するとは限らない。下4桁のグルーピングロジックを維持したい場合は、上位桁と下位桁を分割して別々にFPE変換する(下4桁部分のみ独立して暗号化し、その暗号化後の下4桁でグルーピング可能にする)などの設計上の工夫が必要であり、そうしない場合は既存のグルーピングロジックが機能しなくなる点に注意が必要である。
正解例(マイナンバーの一貫性): トークナイゼーションの方が適している。理由は、マイナンバーは複数拠点システム間で「同一人物には常に同一の代替値」という一貫性が求められており、これはトークンボールトで一元的にマッピングを管理する方式と親和性が高い。中央のトークンボールトを介して全拠点が同じトークンを参照できるため一貫性を保証しやすい。一方FPEは決定的な変換(同じ平文・同じ鍵なら常に同じ暗号文)を用いれば一貫性を確保できなくはないが、鍵管理を全拠点で統一する必要があり、鍵ローテーション時に全拠点のデータとの整合性維持が複雑になりやすい。
解説: FPEは桁全体を暗号アルゴリズムの入力として扱うため、部分文字列(下4桁等)の性質を暗号化後も保持することは保証されない。既存の業務ロジックが部分文字列に依存している場合は、桁を分割して個別に変換する、あるいは別のフィールドに平文の一部特徴量を安全な形で保持するなどの追加設計が必要になる。また、複数システム間での値の一貫性が求められるケースでは、中央集権的なマッピング管理に強いトークナイゼーションの方が運用上シンプルになることが多く、要件に応じた使い分けが実務上重要である。
採点基準(16点):
- グルーピング処理:「FPEは桁全体を変換するため下4桁の一致性は保証されない」(5点)
- グルーピング処理:「桁を分割して変換する等の設計対応が必要」(3点)
- マイナンバー一貫性:「トークナイゼーションが適切」という判断(3点)
- マイナンバー一貫性:「トークンボールトでの一元管理により複数拠点間の一貫性を確保しやすい」という理由(5点)
重要キーワード
| 用語 | 説明 |
|---|---|
| フォーマット保持暗号(FPE) | 暗号化後も元データと同じ桁数・文字種を維持する暗号化方式。NIST SP 800-38GのFF1/FF3-1が標準 |
| トークナイゼーション | 元データを無意味なランダム値(トークン)に置換し、対応関係をトークンボールトで管理する方式 |
| トークンボールト | トークナイゼーションにおいて元データとトークンの対応関係を保管するマッピングデータベース |
| ハイブリッド暗号方式 | FPEを含む実務暗号設計を理解する上で対比になる公開鍵・共通鍵の組み合わせ方式 |
| PCI DSS | クレジットカード業界のセキュリティ基準。カード会員データの保護要件でFPE・トークナイゼーションが活用される |
| AES | FPE(FF1/FF3-1)の内部で利用される共通鍵ブロック暗号 |
まとめ
- 午前I視点: FPEは「暗号化後も元の形式(桁数・文字種)を維持する」点が核心であり、可逆な暗号方式である点をハッシュ関数と混同しないこと
- 午前II視点: FPE(鍵ベースの可逆変換)とトークナイゼーション(マッピングテーブルベース)の技術的な違いを正確に区別し、優劣が一律に決まるものではない点を理解する
- 午後視点: 実務ではレガシーシステムの改修コスト回避というFPE採用の動機、部分文字列への依存処理への影響、複数システム間の一貫性要件など、要件に応じた技術選定の判断力が問われる