マイキー・キャンベル
· 3分で読めます
Appleが水曜日に公開したiOSセキュリティのホワイトペーパーでは、iPhone 5sで導入された同社のTouch ID指紋センサーシステムと、A7 SoCに搭載されているいわゆる「Secure Enclave」についてより深く理解できる内容となっている。
セキュリティドキュメント(PDFリンク)には、iOSのハードウェアおよびソフトウェアのセキュリティプロトコルの詳細が記載されており、Touch IDとSecure Enclaveが連携してユーザーデータを安全に保つ仕組みに関する新たな情報も含まれています。このホワイトペーパーはTechCrunchによって最初に発見され、Appleの「iPhone in Business」ウェブサイトに掲載されました。
論文によると、A7のSecure Enclaveは実際にはAppleの最新のシステムオンチップ設計に組み込まれたコプロセッサです。アプリケーションプロセッサとは別にセキュアブートシーケンスとソフトウェアアップデートメカニズムを備えたこのコンポーネントは、「データ保護キー管理のためのすべての暗号化操作を担い、カーネルが侵害された場合でもデータ保護の整合性を維持します」。
各セキュアエンクレーブは製造時に固有のUID(ユニークID)が割り当てられます。このUIDはシステムの他の部分からはアクセスできず、Appleにも認識されません。デバイスの起動時に、UIDと組み合わせた一時的な鍵が生成され、デバイスのメモリ空間におけるセキュアエンクレーブの部分を暗号化するために使用されます。さらに、Secure Enclave によってファイル システムに保存されるデータは、UID とアンチリプレイ カウンターを組み合わせたキーで暗号化されます。
Touch IDに関しては、AppleはiPhone 5sに搭載されている独自の技術で、あらゆる角度から指紋を読み取り、時間の経過とともにユーザーの指紋を継続的に「学習」すると述べている。論文では、センサーは連続使用のたびに、新たに識別された重複ノードを追加することで、保存されている指紋マップを拡張すると説明されている。
ユーザーの指がホームボタンを囲む静電容量式スチールリングに触れると、Touch IDセンサーは88×88ピクセル、500ppiのラスタースキャンを実行し、「分析のためにベクトル化されながら、セキュアエンクレーブ内の暗号化メモリに一時的に保存されます」。このシステムは非常に高感度で、1本の指がランダムに一致する確率は5万分の1です。
処理と分析が完了すると、データは破棄され、iCloud、iTunes、Apple に送信されることはありません。
Apple は、この 2 つのテクノロジーがどのように連携するかを説明し、Touch ID モジュールからのデータは周辺機器インターフェース バスを介して A7 チップに転送され、その後、Secure Enclave に転送されて復号化されると述べています。
ただし、アプリケーションプロセッサはTouch IDの生データを読み取ることはできません。これは、指紋センサーとSecure Enclaveに組み込まれた共有キーに基づいて生成された固有のセッションキーで暗号化・保護されているためです。セッションキーの交換では、両端で高度暗号化標準(AES)キーラッピングとAES-CCMトランスポート暗号化を使用することで、ランダムなキー生成と強化された保護を実現します。
iPhone 5s のロック解除は少し異なるプロセスですが、同じ共有秘密とデータ保護キーのメカニズムを使用します。
Touch ID がオンになっている iPhone 5s では、デバイスがロックされてもキーは破棄されません。代わりに、Touch ID サブシステムに渡されるキーでラップされます。ユーザーがデバイスのロックを解除しようとすると、Touch ID がユーザーの指紋を認識すると、データ保護キーのラップを解除するためのキーが提供され、デバイスのロックが解除されます。このプロセスにより、デバイスのロックを解除するためにデータ保護サブシステムと Touch ID サブシステムの連携が必要となるため、保護が強化されます。
復号鍵はメモリに保存されるため、デバイスを再起動するとデータが削除されます。そのため、App StoreやiTunesでアイテムを購入する際にパスワードを再入力する必要があります。さらに保護を強化するため、Secure Enclaveは48時間経過またはTouch IDの認証に5回失敗すると、これらの鍵を破棄します。
Appleは、デジタルコンテンツの購入におけるTouch IDの使用例について次のように説明しています。
ユーザーが購入を承認すると、デバイスとストアの間で認証トークンが交換されます。トークンとノンスはSecure Enclaveに保管されます。ノンスは、すべてのデバイスとiTunes Storeで共有されるSecure Enclave鍵で署名されます。
Appleは以前、小売店での購入に関する特許出願の中で、同様の共有秘密認証方式を詳しく説明していた。
ホワイト ペーパーの残りの部分では、アプリのセキュリティ レイヤーに特に重点を置きながら、iOS セキュリティ プロトコル全体に焦点を当てています。