金融カードシステムにおいて、個人識別番号(PIN)の安全な管理は不正利用を防ぐための最重要課題です。国際規格であるISO 9564-1:2011は、PINの生成から保存、伝送、検証に至るまでの一連のプロセスにおける基本原則と技術的要件を定義しています。本記事では、この規格が定めるセキュリティの根幹について詳しく解説します。
Key Facts
- 機密性の根拠:セキュリティはアルゴリズムの秘匿ではなく、暗号鍵の機密性に依存させる。
- PINの長さ:4桁から12桁までを許容し、発行者は原則として6桁以下を推奨。
- 物理的保護:PIN入力デバイス(PINパッド)は、改ざんや盗聴が不可能な構造である必要がある。
- 伝送の安全:PINは常に暗号化して伝送し、平文で通信してはならない。
- 運用の厳格化:銀行職員が顧客にPINを尋ねたり、特定の番号を推奨したりすることは禁止されている。
PIN管理の基本原則と運用ルール
PIN管理の核心は、データの機密性と完全性の確保にあります。システムを構築する際は、ソフトウェアとハードウェアの両面で、検知されることなく機能を変更したり、データを不正に取得したりすることができない実装が求められます。
特に重要なのは、同じPINを同じ鍵で暗号化しても、異なる口座間では予測不可能な暗号文になるようにすることです。また、保存されるPINは必ず暗号化されるか、物理的に厳重に保護されなければなりません。万が一、PINの漏洩が疑われる場合は、速やかに失効させる措置が必要です。
運用の面では、PINの選択や発行に関与できるのは顧客本人、または厳格な手続きに基づいた権限を持つ発行者スタッフのみに限定されます。顧客に対しては、PINを他人に教えないことの重要性を周知することが義務付けられています。
ハードウェアの要件:PINパッドとカードリーダー
PIN入力デバイス(PINパッド)の設計
ユーザーがPINを入力するデバイスには、以下の仕様が求められます。まず、0から9までの数字入力が必須です。利便性のために英字が印字されている場合がありますが、内部処理は数字のみで行われます。また、第三者に番号を覗き見られない設計であることや、物理的な改ざんを防ぐ堅牢な構造が不可欠です。
操作ミスを防ぐため、キーボードレイアウトの標準化が推奨されており、「確定(Enter)」は緑、「消去(Clear)」は黄、「キャンセル(Cancel)」は赤という色分けが推奨されています。
スマートカードリーダーのセキュリティ
ICカード(スマートカード)内部でPINを検証するオフライン方式の場合、リーダーの構造に注意が必要です。カードスロットに監視デバイスを挿入して通信を傍受されることを防ぐ設計が求められます。また、PINパッドとリーダーが一体型でない場合は、デバイス間を流れるPINデータを必ず暗号化しなければなりません。
PINの生成と安全な配送
PINの決定方法には、以下の3つの方式が認められています。
- 派生PIN:口座番号などの顧客情報に暗号関数を適用して生成する。
- ランダムPIN:乱数生成器を用いて発行者が生成する。
- 顧客選択PIN:ユーザー自身が任意の番号を設定する。
発行されたPINを顧客に届ける際は、配送スタッフさえも内容を知ることができない仕組みが必要です。例えば、開封するまで中身が見えず、かつ開封済みのことが一目でわかる「PINメーラー(専用封筒)」の使用が有効です。また、セキュリティ上のリスクを避けるため、PINとカードを同時に、あるいは同じ郵便物で送付してはならず、封筒に口座番号を記載することも禁止されています。
PINの暗号化とブロックフォーマット
PINを検証装置へ伝送する際は、まず「PINブロック」と呼ばれる形式にエンコードし、その後承認されたアルゴリズムで暗号化します。使用される主なフォーマットは以下の通りです。
| フォーマット | 特徴・用途 | 構成要素 |
|---|---|---|
| フォーマット 0 | 標準的な形式 | PINデータと口座番号(PAN)の下12桁をXOR演算 |
| フォーマット 1 | PANがない場合に使用 | PINデータとトランザクション番号(またはタイムスタンプ)を結合 |
| フォーマット 2 | オフライン/ICカード用 | PINデータと固定のフィル値(15)を結合 |
| フォーマット 3 | フォーマット0の強化版 | PINデータとランダムなフィル値(10〜15)をXOR演算 |
これらのフォーマット(0〜3)は、64ビットのブロックサイズを持つTriple DES(3DES)などのアルゴリズムに適しています。一方、AES(Advanced Encryption Standard)のような128ビットの大きなブロックサイズを持つアルゴリズムを使用する場合は、2015年の修正案で定義された「拡張PINブロック」を利用する必要があります。
Frequently Asked Questions
PINの長さはどれくらいが適切ですか?
規格では4桁から12桁までを規定しています。桁数が多いほどセキュリティ強度は高まりますが、利便性は低下します。そのため、発行者が割り当てる場合は6桁以下にすることが推奨されています。
なぜアルゴリズムではなく「鍵」の機密性が重視されるのですか?
暗号アルゴリズムは公開されていても、正しく設計されていれば安全であるという考え方(ケルクホフスの原理)に基づいています。鍵さえ厳重に管理されていれば、攻撃者がアルゴリズムを知っていてもデータを復号することは極めて困難だからです。
PINパッドに英字が書いてあるのはなぜですか?
これはあくまでユーザーの利便性を高めるための補助的な印字であり、システム内部ではすべて数字として処理されます。マルチタップ方式などの入力はサポートされていません。
PINの配送時に口座番号を記載してはいけないのはなぜですか?
PINと口座番号が同じ場所に記載されていると、万が一配送中に封筒が盗まれた際、攻撃者が即座にどの口座のPINであるかを特定でき、不正利用に直結するリスクがあるためです。
ブルートフォース攻撃(総当たり攻撃)への対策はどうなっていますか?
ISO 9564-1では、ハードウェアおよびソフトウェアの実装において、総当たりによるPINの特定が不可能な仕組みを構築することを要求しています。