【せきゅあえんくれーぶ】

セキュアエンクレーブ とは?

最終更新:
💡 秘密を扱う処理を、普段の処理から区切って守る

ハードウェアの保護機構を使い、秘密情報を扱う処理を周囲から隔離する仕組み。AppleのSecure EnclaveとIntel SGXの違い、生体認証の保護を説明します。

📌 このページのポイント
秘密を扱う処理を隔離するAppleのSecure Enclaveの例メイン側OS・アプリ保護された側秘密を扱う処理依頼結果例:Face IDのアプリには認証結果を返す秘密の情報を、アプリにそのまま渡さない
メイン側と隔離されたサブシステムの役割分担を表す例。Intel SGXのアプリ内の保護領域とは構成が異なります。
ひよこ ひよこ
セキュアエンクレーブは、パソコンの中の金庫みたいなもの?
ペンギン先生 ペンギン先生
秘密を扱う処理を、普段の処理から区切って守るイメージだよ。AppleのSecure Enclaveは、メインのプロセッサから隔離された専用のセキュリティ用サブシステムなんだ。
ひよこ ひよこ
Face IDの顔写真を、そのまま金庫に入れるの?
ペンギン先生 ペンギン先生
Face IDでは顔の特徴を数学的な表現にして照合するよ。その情報は暗号化され、復号する鍵はSecure Enclaveだけが使える。認証用のデータは端末内にあり、AppleやiCloudへ送られるものではないんだ。
ひよこ ひよこ
アプリには顔の情報が渡る?
ペンギン先生 ペンギン先生
アプリが受け取るのは認証が成功したかどうかだよ。顔の情報そのものにはアクセスできない。保護された側と、普段のアプリ側の役割を分けているんだ。
ひよこ ひよこ
Intel SGXも同じ専用チップなの?
ペンギン先生 ペンギン先生
同じ構成ではないよ。SGXは、アプリの一部のコードとデータを保護された実行領域に置く仕組み。守り方や範囲は製品で異なるし、ソフトウェアの設計や更新も必要なので「誰にも絶対に破られない」とは考えないようにしよう。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「セキュアエンクレーブ」って出てきたら「秘密を扱う処理を隔離して守る仕組み」と思えばだいたいOK!
📖 おまけ:英語の意味
「Secure Enclave」 = 安全に隔離された領域
💬 Enclaveには飛び地や囲まれた領域という意味があります。製品によって、専用プロセッサを持つ構成や、アプリの一部を保護する構成などの違いがあります。

参考資料

← 用語集にもどる