クレジットカード番号などの機密データを、元の情報とは無関係なランダムな文字列 (トークン) に置き換えるセキュリティ技術。万が一トークンが漏洩しても元のカード番号を復元できないため、決済データの安全性を大幅に向上させる。
トークナイゼーションの仕組みと暗号化との違い
トークナイゼーションは、機密データ (例: カード番号 4111-1111-1111-1111) を意味のないランダムな文字列 (例: tok_a8f3b2c1d4e5) に置き換える技術だ。元のデータとトークンの対応関係はトークンボールト (安全なデータベース) に保管され、正規の決済処理時にのみ復元される。暗号化との最大の違いは、トークン自体には元データを復元するための数学的な関係がない点だ。暗号化は鍵があれば復号できるが、トークンは鍵の概念がなく、ボールトへのアクセス権がなければ復元不可能だ。
Apple Pay や Google Pay が採用するネットワークトークナイゼーションでは、カードブランド (Visa、Mastercard) がトークンを発行する。ユーザーがスマートフォンで決済する際、店舗にはトークンのみが送信され、実際のカード番号は一切渡らない。さらに、取引ごとに一回限りの暗号文 (クリプトグラム) が生成されるため、トークンが傍受されても再利用できない二重の防御構造になっている。
トークナイゼーションが決済の現場にもたらす実務的なメリット
加盟店にとってトークナイゼーションの最大のメリットは、PCI DSS (Payment Card Industry Data Security Standard) の準拠負荷の軽減だ。カード番号を自社サーバーに保存しなければ、PCI DSS の対象範囲が大幅に縮小され、監査コストとセキュリティ対策費用を削減できる。Stripe や Square などの決済サービスを利用すれば、加盟店側はトークンのみを扱い、カード番号に一切触れない設計が可能だ。
消費者にとっては、カード番号の漏洩リスクが低減する安心感がある。従来のオンライン決済ではカード番号が加盟店のサーバーに保存されるケースがあり、情報漏洩事故の原因となっていた。トークナイゼーション対応の決済では、仮に加盟店のデータベースが侵害されても、流出するのはトークンのみで、カード番号は安全だ。カードの再発行が必要になった場合も、トークンは自動的に新しいカード番号に紐づけられるため、サブスクリプションの再登録などの手間が省ける。