
NFC & SEプラットフォームのセキュリティ
NFC & SEプラットフォームはAppleによって開発された安全なソリューションであり、これによって正規デベロッパがiOSアプリ内から機能を提供することができます。iOS 18.1以降を搭載したデバイスでは、デベロッパは資格情報をSecure Elementに保存することができます。これらの資格情報は、支払い、アクセス、交通機関、ポイントプログラム、およびチケットに対応しています。デベロッパはカードの詳細を含むユーザのプライバシーとデータを保護する必要があります。このプラットフォームは、iPhoneのハードウェア、ソフトウェア、およびAppleのサーバからセキュリティ機能を提供します。デベロッパは、Secure Element、生体認証センサー、Secure Enclave、およびAppleのサーバを使用して、以下の使用段階で資格情報を保護することができます:
注記: デベロッパはNFC & SEプラットフォームを使用する資格を付与される必要があります。これにより、プライバシーとセキュリティの標準の順守に取り組んでいる正規デベロッパのみが、NFC & SEプラットフォームを使用できるようになります。
NFC & SEプラットフォームのコンポーネントのセキュリティ
NFC & SEプラットフォームは、デベロッパがiPhoneユーザのための安全なトランザクションを提供できるようにする、ハードウェアとソフトウェアの機能へのアクセスを提供します。
Secure Element
Secure Elementは、Java Cardプラットフォームを実行する業界標準の集積回路です。EMVCoとコモンクライテリアの両方に認定されており、NFC & SEプラットフォームで承認されたものを含む標準のJava Cardアプレットに対応しています。また、NFC & SEプラットフォームのアプレットの認証とアクティベーションを管理するための特殊なアプレットも用意されています。資格情報データは暗号化することができ、一意の鍵を使用してこれらのアプレットに送信することができます。このデータはアプレットに保存され、Secure Elementのセキュリティ機能によって保護されます。トランザクションの実行中、端末はNear -Field -Communication(NFC)コントローラ経由でSecure Elementと直接通信します。
NFCコントローラ
NFCコントローラは、NFCプロトコルに対応し、アプリケーションプロセッサとSecure Element間、およびSecure ElementとPOS端末間の通信をルーティングします。NFCコントローラにより、非接触型トランザクションが、デバイスの近くにある端末により実行されることが保証されます。フィールド範囲内の端末から届いた要求のみが、NFCコントローラによって非接触型トランザクションとしてマークされて処理されます。
ユーザがFace ID、Touch ID、または電話のパスコードを使用することでトランザクションの続行が承認されると、Secure Element内のNFC & SEプラットフォームのアプレットによって準備された非接触型の応答が、NFCコントローラによって排他的にNFCフィールドに配信されます。その結果、非接触型トランザクションの詳細情報はローカルのNFCフィールド範囲内に留まり、アプリケーションプロセッサには開示されません。
Secure Enclave
Secure Enclaveは、デバイスでのユーザ認証とセキュアインテントのプロセスを管理して、承認されたトランザクションを続行できるようにします。Secure EnclaveとSecure Element間の通信はシリアルインターフェイス経由で行われ、Secure ElementがNFCコントローラに接続され、次にNFCコントローラがアプリケーションプロセッサに接続されます。直接接続されるわけではありませんが、Secure EnclaveとSecure Elementは、実行時に生成された共有シークレットを使用して安全に通信することができます。この仕組みを利用して、必要に応じて通信リンクを介して機密性と整合性を提供することができます。
Appleのサーバ
Appleのサーバは、NFC & SEプラットフォームパートナーの承認済みのアプレットパッケージをホストします。また、NFC & SEプラットフォームで使用されるものを含めて、Secure Elementでのセキュリティドメインおよびアプレットの設定と作成も管理します。
アプレットと構成
NFC & SEプラットフォームを使用するためには、デベロッパに、承認済みのアプレットバンドルと資格情報に対応する製品構成が必要です。すべてのアプレットは、Secure Elementに安全にインストールできるものとしてAppleに提供する前に、公認の第三者のセキュリティ評価機関によるセキュリティレビューを受ける必要があります。アプレットバンドルと関連付けられた製品構成は、Appleへの提供後に再確認され、NFC & SEプラットフォームで使用する前に承認を得る必要があります。承認後、アプレットパッケージは、署名されてAppleのサーバでホストされます。
デベロッパは、使用方法や運営計画(法律や規制によって義務付けられているもの、または支払いネットワークの運営者に提供する必要があるものなど)に基づいて、アプレットに必要なその他の認証や資格の取得を行う責任も負います。
資格情報のプロビジョニング
NFC & SEプラットフォームのデベロッパには、ユーザが新しい資格情報をプロビジョニングするプロセスのセキュリティを保護する責任を負います。これには、iOSアプリでのユーザの認証、ユーザによって入力された機密データの保護と検証、サーバとの通信、資格情報の追加の承認、資格情報のプロビジョニングの開始、パーソナライズデータの処理などの手順が含まれる場合があります。また、デベロッパは、ソリューションが資格情報のプロビジョニングと使用のセキュリティに関連して適用される規制と業界標準を満たしていることを保証する責任も負います。
iOSアプリから新しい資格情報を作成するようリクエストされると、NFC & SEプラットフォームからAppleのサーバにリクエストが送信されます。リクエストされた製品構成に関連付けられたアプレットがまだSecure Elementにダウンロードされていない場合、AppleのサーバはSecure Elementへの署名済みパッケージのダウンロードを開始します。次に、新しいアプレットがSecure Elementの隔離されたセキュリティドメイン内にインストールされて、新しい資格情報の保存用に使用されます。インストール後、デベロッパが選択したTrusted Service Manager(TSM)によって、鍵やアカウント番号などの必要な資格情報データを含むアプレットインスタンスを、機密性を保ちながらパーソナライズすることができます。
セキュアストレージとアクセス
Secure Elementのハードウェアとソフトウェアのセキュリティ機能を利用して、保管中と使用中のどちらにおいてもNFC & SEプラットフォームの資格情報を保護することができます。デベロッパは、Secure Elementアプレットが安全な方法で実装されることを保証し、セキュリティガイドラインに従い、資格情報データを適切に保護するためにプラットフォームから提供されるセキュリティ機能をフルに活用します。
NFC & SEプラットフォームは、製品構成とアプレットインスタンスへのアクセスを関連付けられたiOSアプリに限定します。そのため、不正なアプリがiOSアプリを操作して変更したり使用したりすることはできません。以下が許可されているのは、関連付けられたiOSアプリのみです:
アプレットインスタンス作成をリクエストする
アプレットインスタンスをパーソナライズ/アップデートしたり、アプレットインスタンスにコマンドを送信したりする
トランザクションを開始する
アプレットインスタンスの削除をリクエストする
トランザクション認証
アプリはすべてのトランザクションについてユーザ認証を受ける必要があります。NFC & SEプラットフォームは、アプリデベロッパが確実にこれを実行できる方法を提供します。ユーザは、生体認証またはパスコードをSecure Enclaveに対する物理ジェスチャと組み合わせて使用して、トランザクションを承認します。承認後、Secure Enclaveが認証データをSecure Elementに送信します。そのあと、Secure Elementはこれを検証し、NFCインターフェイスをアクティベートするようにアプレットに通知します。 NFC & SEプラットフォームのデベロッパは、安全にトランザクション認証メカニズムを利用してトランザクションを実行するために、iOSアプリとSecure ElementアプレットをAppleから提供された仕様に従って実装する必要があります。
トランザクションを開始するには、iOSアプリはフォアグラウンドにある必要があり、iPhoneのロックが解除されている必要があります。「設定」でデフォルトの非接触アプリとして設定されているiOSアプリは、ユーザがサイドボタン(Face IDデバイスの場合)またはホームボタン(Touch IDの場合)をダブルクリックしたとき、およびユーザ認証後(iPhoneがロックされている場合)に、自動的に起動します。
さらに、デベロッパのNFC & SEプラットフォームのiOSアプリは、トランザクションに使用される資格情報をユーザに明確に通知して、関連トランザクションの詳細を表示する役割を担います。
ライフサイクル管理
デベロッパは、NFC & SEプラットフォームのAPIを使用して、資格情報データをアップデートするか資格情報を削除してから、iOSアプリからアプレットに適切なコマンドを送ることができます。デベロッパが資格情報の一時停止またはリンク解除の機能を追加することもできますが、この機能はNFC & SEプラットフォームとは独立しています。
Secure Elementのすべての資格情報は、以下の場合に安全に消去されます:
ユーザがiCloudからサインアウトした
デバイスパスコードを削除した
「すべてのコンテンツと設定を消去」または「探す」を使ってリモートでデバイスを消去した
Appleの「データとプライバシー」ページからApple Accountの削除をリクエストした
また、ユーザは、関連付けられたiOSアプリを削除することで、iPhoneから特定の資格情報を削除することもできます。