Apple Payでの支払い承認
Secure Enclaveが搭載されたデバイスでは、Secure Enclaveから承認を受けたあとにのみ支払いを行うことができます。この際、iPhone、iPad、またはTouch IDを搭載したMac(あるいはTouch ID搭載Magic KeyboardとペアリングされているMac)では、ユーザが生体認証あるいはデバイスパスコードまたはパスワードで認証したことを確認します。利用できる場合には生体認証がデフォルトの方法ですが、パスコードまたはパスワードもいつでも使用できます。また、指紋の認証に3回失敗するか、(iPhoneまたはiPadで)顔の認証に2回失敗すると、自動的にパスコードまたはパスワードが使用できるようになります。5回失敗すると、パスコードまたはパスワードが必須になります。生体認証が設定されていない場合や、Apple Payに対して有効になっていない場合にも、パスコードまたはパスワードが要求されます。Apple Watchで支払いを実行するには、パスコードでデバイスのロックを解除し、サイドボタンをダブルクリックする必要があります。
共有ペアリングキーを使用する
Secure EnclaveおよびSecure Elementは、シリアルインターフェイスを経由して通信します。これには、AESに基づいた暗号化と認証が使用され、リプレイ攻撃から保護するためにアンチリプレイ値が使われます。両者は直接接続されてはいませんが、製造工程でプロビジョニングされた共有ペアリング鍵を使用して安全に通信します。そのプロビジョニングプロセスでは、Secure Enclaveが、自身のUID鍵およびSecure Elementの一意識別子からペアリング鍵を生成します。次にSecure Enclaveは、ペアリング鍵を工場のハードウェアセキュリティモジュール(HSM)に安全に転送します。そして、HSMがペアリング鍵をSecure Elementに導入します。
安全なトランザクションを承認する
ユーザがトランザクションを承認すると(Secure Enclaveと直接通信する物理ジェスチャを含む)、認証の種類およびトランザクションの種類(非接触型またはアプリ内)の詳細に関する署名済みデータがAR(Authorization Random)値に付加されて、Secure EnclaveからSecure Elementに送信されます。AR値は、ユーザが初めてクレジットカードをプロビジョニングしたときにSecure Enclave内で生成されます。これは、Apple Payが有効な間は維持され、Secure Enclaveの暗号化およびロールバック防止メカニズムによって保護されます。ARは、ペアリングキーを利用してSecure Elementに安全に配信されます。Secure Elementは、新しいAR値を受け取ると、以前に追加されたすべてのカードに終了済みのマークを付けます。
動的なセキュリティに支払い用クリプトグラムを使用する
ペイメントアプレットから送信される支払いトランザクションには、デバイスアカウント番号に加えて支払い用クリプトグラムが含まれています。このクリプトグラムは1回限りのコードで、トランザクションカウンタと鍵を使って計算されます。トランザクションカウンタは、新しいトランザクションが発生するたびに増分されます。鍵は、パーソナライズ時にペイメントアプレットでプロビジョニングされ、ペイメントネットワークとカード発行会社のいずれかまたは両方に通知されます。支払い方式によっては、この計算に以下のようなデータも使用されます:
端末が生成する予測不可能な数(NFC(Near-Field-Communication)トランザクションの場合)
Apple Payサーバのアンチリプレイ値(アプリ内トランザクションの場合)
CVM(Cardholder Verification Method)情報などのユーザ検証の結果
これらのセキュリティコードはペイメントネットワークとカード発行会社に送信されるため、発行会社が各トランザクションの検証に使用できます。セキュリティコードの長さは、トランザクションの種類によって異なることがあります。