Movatterモバイル変換


[0]ホーム

URL:


コンテンツにスキップ
Wikipedia
検索

Secure Enclave

出典: フリー百科事典『ウィキペディア(Wikipedia)』
この記事は英語版の対応するページを翻訳することにより充実させることができます。2024年4月
翻訳前に重要な指示を読むには右にある[表示]をクリックしてください。
  • 英語版記事を日本語へ機械翻訳したバージョン(Google翻訳)。
  • 万が一翻訳の手がかりとして機械翻訳を用いた場合、翻訳者は必ず翻訳元原文を参照して機械翻訳の誤りを訂正し、正確な翻訳にしなければなりません。これが成されていない場合、記事は削除の方針G-3に基づき、削除される可能性があります。
  • 信頼性が低いまたは低品質な文章を翻訳しないでください。もし可能ならば、文章を他言語版記事に示された文献で正しいかどうかを確認してください。
  • 履歴継承を行うため、要約欄に翻訳元となった記事のページ名・版について記述する必要があります。記述方法については、Wikipedia:翻訳のガイドライン#要約欄への記入を参照ください。
  • 翻訳後、{{翻訳告知|en|Secure Enclave|…}}ノートに追加することもできます。
  • Wikipedia:翻訳のガイドラインに、より詳細な翻訳の手順・指針についての説明があります。

Secure Enclave(セキュアエンクレーブ)はAppleが開発した、iOS/iPadOSデバイスやMacTouch IDあるいはFace ID対応モデルのApple A7, T1[1]以降、Apple TVApple WatchHomePod に搭載されているセキュリティコプロセッサである[2]
FileVault と安全な起動に必要な暗号化キーを保護し、Touch IDセンサーから指紋データを処理・一致しているかどうかを判断する役割も担っている。

概要

[編集]

Secure Enclave Processorとも表記され、略してSEPと呼ばれることもある。

Touch IDの指紋データ、またはFace IDの顔認証データ、Apple Payのカードデータは、このSecure Enclave内の、アプリケーションプロセッサーやアプリからは隔離された特殊な領域に保存される。

そのため、インターネット経由やApp経由(システム含む)からはアクセスが不可能になっている。

OSバージョン毎にアップデートされる。

ある程度のバージョン間では互換性があるが、特殊な方法で互換性のないOSバージョンとSEPの組み合わせになると、そのバージョンを使用している間は生体認証が使用できなくなりパスコード認証のみとなる。

再度Apple Configurator等で最新版にアップデートすると利用可能状態に戻る。

構成

[編集]

Secure Enclaveはメインプロセッサやアプリケーションプロセッサから隔離されていて、アプリケーションプロセッサのカーネルが侵害された場合でも、ユーザの機密データを安全に保てるように設計されている。Secure EnclaveはSoCと同じような設計で、ハードウェア信頼ルートを確立するための専用のBoot ROM、効率的かつ安全な暗号化操作のためのAESエンジンと保護されたメモリで構成されている。

Secure Enclaveにはストレージは含まれてないが、アプリケーションプロセッサとiOSで使用されるNANDフラッシュストレージとは別の接続されたストレージに、情報を安全に保存するメカニズムがある。

Secure Enclaveプロセッサはセキュリティための主要な演算を担当する。最大限の隔離を実現するため、Secure EnclaveプロセッサがiOS上で担当するのはセキュリティ処理のみとなっている。これにより、悪意のあるソフトウェアに依存したサイドチャネル攻撃を防止することができる。

メモリ保護エンジン

[編集]

Secure EnclaveはデバイスのDRAMメモリの専用領域で動作し、複数の保護層によってアプリケーションプロセッサからの隔離が確保されている。

iOS起動時に、Secure Enclave Boot ROMがメモリ保護エンジンのために一時的なランダムなメモリ保護鍵を生成し、Secure Enclaveがデータを専用領域に書きこむ際、メモリ保護エンジンはAESを用いてメモリブロックを暗号化しCMAC認証タグを計算する。メモリの読み込み時には認証タグを検証し、一致すればメモリブロックを復号し、不一致の場合はエラーを送信する。このエラーが発生すると、システムが再起動するまでSecure Enclaveは停止することで強力なセキュリティを実現する。

さらにA11やS4 SoCからSecure Enclaveメモリ向けにリプレイ保護を追加し、重要なデータのリプレイを防ぐ。アンチリプレイ値と認証タグを使用し、Secure Enclave内のSRAMを基にした整合性ツリーで保護する。A14、M1、以降のSoCでは、Secure EnclaveとSecure Neural Engineのそれぞれに対応した2つの一時的な保護鍵をサポートする。メモリ保護は透過的で、安全性を確保しながら性能を維持する。

Secure Enclave Boot ROM

[編集]

Secure Enclaveは専用のSecure Enclave Boot ROMを備えている。このBootROMはSecure Enclaveの信頼の起点となる変更不可のコードである。システム起動時、iBootはSecure Enclaveにメモリの専用領域を割り当てる。Secure Enclave Boot ROMはメモリを暗号化で保護するため、メモリ保護エンジンを初期化する。アプリケーションプロセッサがsepOSイメージを送信し、その後イメージのハッシュと署名を検証する。有効であれば、Boot ROMはsepOSに制御を移す。無効の場合、チップがリセットされるまで使用を防止する。Apple A10以降のSoCでは、Boot ROMはsepOSのハッシュを専用レジスタにロックし、OS固定鍵として利用する。

Secure Enclave Boot Monitor

[編集]

Apple A13以降のSoCでは、Secure Enclaveが起動時の整合性を強化するためにブートモニタを利用する。ブートモニタは、Secure EnclaveプロセッサがSecure Enclave Boot ROM以外のコードを実行するのを防ぎ、sepOSの実効性を確保するためにハッシュを生成してSCIP設定を更新する。このプロセスは、新しいコードが実行可能になるたびに実行される。最後に、実行中のハッシュはファイナライズされ、OS固定鍵作成に使用される。これにより、Secure Enclave Boot ROMの脆弱性があっても鍵固定がバイパスされることはない。

真性乱数生成器(TRNG)

[編集]

真性乱数生成器(TRNG)は、安全なランダムデータを生成するために使用される装置である。Secure Enclaveがランダムな暗号鍵やランダムな鍵シードなどのエントロピーを生成する際には、必ずTRNGが用いられることになる。TRNGは、CTR_DRBG(カウンタモードのブロック暗号に基づくアルゴリズム)で後処理されており、複数のリングオシレータに基づいている。

Secure Enclave AESエンジン

[編集]

Secure Enclave AESエンジンは、AES暗号に基づく対称暗号を実行するハードウェアブロックである。AESエンジンは、タイミングと静的電力解析(SPA)に対する耐性を持ち、A9 SoC以降では動的電力解析(DPA)に対する対策も備えている。AESエンジンは、Secure EnclaveのUIDまたはGIDから導出されたハードウェア鍵とソフトウェア鍵をサポートする。これらの鍵はAESエンジン内にとどまり、sepOSソフトウェアでも確認できない。ユーザーは暗号化と復号をリクエストできるが、鍵を抜き出すことはできない。Apple A10以降のSoCsでは、AESエンジンにUIDまたはGIDから導出された鍵を多様化するためのロック可能なシードビットが含まれており、デバイスの動作モードに応じてデータアクセスを制限できる。この機能は、デバイスファームウェアアップデート(DFU)モードでの起動時に、パスワード保護されたデータへのアクセスを拒否する場合などに使用される。

セキュア不揮発性ストレージ

[編集]

Secure Enclaveは、専用のセキュア不揮発性ストレージデバイスを備えている。このストレージはI2Cバスを通してのみSecure Enclaveに接続され、利用可能である。ユーザデータの暗号鍵はSecure Enclaveのストレージに保管されるエントロピーに基づく。A12、S4、またはそれ以降のSoC搭載デバイスでは、Secure Enclaveはセキュアストレージコンポーネントとペアリングされる。これはROMコード、乱数ジェネレータ、一意キー、暗号化エンジン、改ざん検出機能を備える。

2020年秋以降に初めてリリースされたデバイスは、第2世代セキュアコンポーネントを有し、カウンタロックボックスが追加されている。カウンタロックボックスはパスコードエントロピーを保持し、アクセス時には暗号化プロトコルを使用する。10回を超えるロック解除試行でデータは消去される。

カウンタロックボックス生成には、パスコードエントロピーと最大試行値がSecure Enclaveから送られる。ソルト値が乱数で生成され、パスコードベリファイアとエントロピー値が導出され、カウンタ0で初期化される。その後、エントロピー値がSecure Enclaveに返される。

データ保護にはカウンタロックボックスのエントロピーに基づく鍵が使用され、安全なストレージはSecure Enclaveのアンチリプレイサービスにも使用される。Secure Enclaveはイベントによってデータの無効化を行い、各種セキュリティ設定に影響を与える。セキュアストレージコンポーネントを持たないアーキテクチャではEEPROMが使用され、専用のハードウェアセキュリティ機能は含まれない。

Secure Neural Engine

[編集]

Face ID搭載デバイスでは、Secure Neural Engineが2D画像と深度マップを顔の数学的モデルに変換する。A11からA13 SoCsまで、Secure Neural EngineはSecure Enclaveに組み込まれており、DMAを使用してパフォーマンスを向上させる。sepOSカーネルのIOMMUは、このアクセスを承認済みメモリに制限する。A14、M1以降では、Secure Neural EngineはアプリケーションプロセッサのNeural Engineのセキュアモードとして実装され、専用ハードウェアセキュリティコントローラがトランザクション毎に状態をリセットし、データの安全性を保つ。専用エンジンはメモリ暗号化、認証、アクセス制御を利用し、承認済みメモリに制限する。

関連項目

[編集]

L4マイクロカーネルファミリー - Secure EnclaveのsepOSは、NICTAが2006年に開発したL4-embeddedカーネルベースのものである[2]

ARM Trust Zone - 類似技術[3]

Apple A7,A8,A8X,A9,A9X,A10,A10X,A11,A12,A12X, A12Z,A13,A14,A15,A16,A17 Pro,A18, A18 Pro

Apple M1,M1 Pro,M1 Max,M1 Ultra,M2,M2 Pro,M2 Max,M2 Ultra,M3,M3 Pro,M3 Max,M4,M4 Pro,M4 Max

脚注

[編集]
[脚注の使い方]
  1. ^新チップ「T1」でApple製品の可能性は広がる?”. EE Times Japan (2016年12月1日). 2020年11月24日閲覧。
  2. ^abSecure Enclave”. Apple Support. 2022年9月9日閲覧。
  3. ^お使いのスマートフォンには特別なセキュリティチップが搭載されています。仕組みは次のとおりです”. 2022年10月3日閲覧。

外部リンク

[編集]
バージョン
iOS logo
派生OS
iPadOS
アプリケーション
廃止
機能
廃止
サービス
終了
その他
バージョン
macOS logo
アプリケーション
廃止
ユーティリティ
廃止
テクノロジーおよび
インタフェース
非推奨
廃止
開発ツール
その他
スタブアイコン

この項目は、コンピュータに関連した書きかけの項目です。この項目を加筆・訂正などしてくださる協力者を求めていますPJ:コンピュータ/P:コンピュータ)。

https://ja.wikipedia.org/w/index.php?title=Secure_Enclave&oldid=106963633」から取得
カテゴリ:
隠しカテゴリ:

[8]ページ先頭

©2009-2026 Movatter.jp