AWS Payment Cryptography で実現するクラウド決済処理 - 暗号鍵管理と PIN 検証

Payment Cryptography による決済用暗号鍵の管理、PIN ブロックの暗号化・復号、PCI DSS 準拠を解説します。

Payment Cryptography の概要

Payment Cryptography は PCI PIN Security と PCI P2PE に準拠した決済処理用の暗号鍵管理と暗号化操作をクラウドで提供するサービスです。従来、決済処理の暗号化にはオンプレミスの HSM (Thales payShield、Futurex など) が必要でしたが、Payment Cryptography でクラウドに移行できます。PCI PIN Security Requirements はPIN の安全な処理を保証し、PCI P2PE は端末から処理センターまでのエンドツーエンド暗号化を保証します。サービスの HSM は FIPS 140-2 Level 3 認証を受けたハードウェアで動作し、鍵は平文の状態で HSM の外に出ることがありません。Control Plane (鍵の作成・管理) と Data Plane (暗号化操作の実行) の 2 つの API に分離されており、IAM ポリシーで最小権限を付与することで、鍵を作成できるロールと暗号化操作のみ実行できるロールを明確に分離できます。

決済暗号化操作

Control Plane API で AES-128/256、TDES、RSA-2048/4096 の暗号鍵の作成、インポート、エクスポートを管理し、Data Plane API で暗号化操作を実行します。PIN Translation はアクワイアラーの鍵で暗号化された PIN ブロックをイシュアーの鍵で再暗号化する操作で、決済ネットワークのスイッチング処理に使用します。CVV の生成と検証はカード発行時と決済認証時に使用し、カード番号と有効期限から暗号学的に検証値を計算します。TR-31 鍵ブロック形式で鍵をインポート・エクスポートし、他の HSM や決済ネットワークとの鍵交換が可能です。MAC (メッセージ認証コード) の生成と検証はトランザクションデータの改竄検知に使用し、ISO 9797-1 Algorithm 1 や Algorithm 3 をサポートします。ARQC (Authorization Request Cryptogram) の検証は EMV チップカードの認証処理で使用され、カードと発行者間の相互認証を暗号学的に実現します。

鍵管理と決済ネットワーク統合

Payment Cryptography は BDK (Base Derivation Key)、 IPEK (Initial PIN Encryption Key)、 KEK (Key Encryption Key) など決済固有の鍵タイプをサポートします。 TR-31 鍵ブロック形式で鍵のインポート・エクスポートを行い、既存の決済インフラとの相互運用性を確保します。 DUKPT (Derived Unique Key Per Transaction) でトランザクションごとに一意の鍵を導出し、鍵の漏洩リスクを最小化します。 Visa 、 Mastercard 、 American Express の決済ネットワークで要求される暗号化操作 (PIN ブロックの変換、 MAC の生成・検証) をクラウドで実行できます。 Payment Cryptography のベストプラクティスを網羅的に学ぶなら、技術書 (Amazon)を参照してください。

ユースケースと導入パターン

典型的なユースケースは 3 つあります。第 1 にイシュアー (カード発行会社) の PIN 検証処理です。カード保有者が ATM で入力した PIN を、ネットワーク経由で受信した PIN ブロックと発行時に登録した PIN データを照合する処理を Payment Cryptography の VerifyPinData API で実行します。第 2 にペイメントプロセッサーのスイッチング処理です。アクワイアラーから受信した PIN ブロックをイシュアー向けに変換する TranslatePinData API を呼び出し、国際ブランドの決済ネットワーク間でトランザクションをルーティングします。第 3 にカード発行時の CVV/CVC 生成です。GenerateCardValidationData API でカード番号と有効期限から検証値を暗号学的に生成し、カードに印字する値を決定します。導入パターンとしては、既存のオンプレミス HSM と並行稼働させる段階的移行が一般的です。TR-31 鍵ブロック形式で既存 HSM から鍵をエクスポートし、Payment Cryptography にインポートすることで、既存トランザクションフローを変更せずにバックエンドの暗号化基盤だけをクラウドに移行できます。

CloudHSM や KMS との比較

AWS には暗号鍵を管理するサービスが 3 つあり、用途が異なります。KMS は汎用的なデータ暗号化 (S3 の暗号化、EBS ボリューム暗号化、Envelope Encryption) 向けで、決済固有の操作 (PIN Translation、DUKPT 鍵導出) をサポートしません。CloudHSM は汎用 HSM をクラウドで提供しますが、決済固有のコマンドセットは持たず、自分でライブラリを実装する必要があります。Payment Cryptography は決済処理に特化しており、PCI PIN Security / P2PE の準拠証明が提供され、TR-31 鍵ブロック、DUKPT、PIN Translation、ARQC 検証などの決済固有操作が API として用意されています。CloudHSM は FIPS 140-2 Level 3 で専用テナントの HSM を占有するため、決済以外の用途 (PKI、TLS オフロード、独自暗号プロトコル) に適します。Payment Cryptography はマルチテナントですが、PCI 準拠の証明済み環境であるため決済用途では CloudHSM より導入が容易です。コスト面では CloudHSM が時間課金 (1 HSM あたり約 1.5 ドル/時) で固定費が高いのに対し、Payment Cryptography は鍵数とオペレーション数の従量課金で少量利用時のコスト効率に優れます。

Payment Cryptography の料金

Payment Cryptography の料金は鍵の管理 (1 鍵あたり月額約 1 ドル) と暗号化操作 (1 万オペレーションあたり約 0.85 ドル) で構成されます。オンプレミスの HSM (ハードウェア購入、データセンター設置、保守契約) と比較して、初期投資が不要で従量課金のため、トランザクション量に応じたコスト管理が可能です。PCI DSS の準拠維持コスト (年次監査、ペネトレーションテスト) もクラウド移行で削減できます。トランザクション量が少ない場合は鍵管理の固定費が主要なコスト要因になります。鍵のライフサイクル管理として、未使用の鍵を定期的に棚卸しして削除することでコストを最適化する運用が推奨されます。

まとめ

Payment Cryptography は決済用暗号鍵の管理と暗号化操作をクラウドで提供するサービスです。PCI 準拠の環境で DUKPT や TR-31 鍵ブロックをサポートし、PIN ブロック変換や MAC 生成・検証を実行します。オンプレミス HSM の購入・設置・保守が不要になり、従量課金でトランザクション量に応じたコスト管理を実現します。Control Plane と Data Plane の分離による最小権限設計と、TR-31 形式による既存インフラとの段階的移行が導入の鍵です。