【てぃーいーいー】

TEE(Trusted Execution Environment) とは?

最終更新:
💡 機密データを処理するための、隔離された実行環境

通常のOSやアプリとは隔離し、機密性の高いコードやデータを保護して実行する環境。ハードウェアによる保護を基盤とし、何をどこから守るかは実装や設定によって異なる。

📌 このページのポイント
TEE:隔離した環境で機密処理 通常の実行環境 アプリ 通常のOS 機能を呼び出す TEE 暗号鍵・機密データ 許可された処理 要求 結果 内部データへの不正アクセスを防ぐ ハードウェア・ファームウェア・内部コード などが信頼の土台になる 保護範囲と必要な更新は実装ごとに確認
要求と許可された結果は境界を通ります。すべてをCPU内の物理的な金庫と考えるのではなく、実装ごとの隔離と保護範囲を確認します。
ひよこ ひよこ
TEEは何を守るためにあるの?
ペンギン先生 ペンギン先生
保存時や通信時の暗号化に加えて、データを処理している間も保護するためだよ。通常のOSやアプリから切り離した環境で、機密のコードやデータを扱うんだ。
ひよこ ひよこ
暗号化したまま計算するの?
ペンギン先生 ペンギン先生
TEEは、暗号文のまま計算することを必須にした技術ではないよ。隔離された環境の中で復号したデータを扱い、その外からの不正な読み取りや改変を防ぐ、という使い方があるんだ。
ひよこ ひよこ
管理者からも必ず隠せる?
ペンギン先生 ペンギン先生
通常のOSや管理者を保護の境界の外に置く実装もあるよ。ただし、TEEごとに保護範囲が違う。ハードウェア、ファームウェア、内部で動くコードや設定まで含めて、何を信頼する設計か確認する必要があるんだ。
ひよこ ひよこ
身近な用途は?
ペンギン先生 ペンギン先生
暗号鍵の管理や、指紋などの生体認証に関わる処理があるよ。ただ、すべてのスマホが同じ方式というわけではない。機器の安全な領域と通常のアプリを分ける仕組みとして考えよう。
ひよこ ひよこ
クラウドでも利用するの?
ペンギン先生 ペンギン先生
うん。コンフィデンシャルコンピューティングでは、ハードウェアを基盤とするTEEと、その実行環境を確かめるアテステーションを使う。Azureでも、適切に有効化・設定することで、事業者から処理中の顧客データを保護する仕組みがあるよ。
ひよこ ひよこ
TEEがあれば更新は不要?
ペンギン先生 ペンギン先生
不要にはならないよ。たとえばIntel SGXの資料では、CPUのファームウェアやソフトウェアを含む信頼の土台と、脆弱性への更新を説明している。TEE内部のコードや外へ出すデータも、用途に合うよう設計するんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「TEE」って出てきたら「機密処理を守るために隔離された実行環境」と思えばだいたいOK!
📖 おまけ:英語の意味
「Trusted Execution Environment」 = 信頼された実行環境
💬 Trustedは信頼された、Execution Environmentは実行環境という意味。隔離を成立させるハードウェアやソフトウェアを信頼の土台にする考え方で、あらゆる攻撃への安全を保証する名前ではないよ。

参考資料

← 用語集にもどる