TrustZone・SGX・SEV/TDXの違い:分離の単位・信頼する範囲・メモリの暗号化を比較
どれも、通常のOSやハイパーバイザが乗っ取られても秘密の処理を守るための、CPUのハードウェアによる仕組み(TEE、信頼できる実行環境)です。違いは、何を単位に切り分けるかにあります。TrustZoneはプロセッサをセキュアワールドとノーマルワールドの2つに分け、主にスマートフォンや組込み機器で使われます。SGXはアプリケーションの一部だけをエンクレーブとして切り出し、信頼する範囲を最も小さくします。SEVやTDXは仮想マシン(VM)全体のメモリを暗号化し、クラウドの事業者からも中身を読めないようにする、機密コンピューティングの方式です。
| 項目 | TrustZone | SGX(エンクレーブ) | SEV/TDX(VM型の機密コンピューティング) |
|---|---|---|---|
| 分離の単位 | プロセッサ全体を、セキュアワールドとノーマルワールドの2つに分ける。セキュアワールドで小さなトラステッドOSと信頼できるアプリケーションを動かす | アプリケーションの中の、秘密を扱う一部分(エンクレーブ) | 仮想マシン全体 |
| 守る相手 | ノーマルワールドのOSとアプリケーション。そのカーネルが乗っ取られても、セキュアワールドのメモリは読めない | OS、ハイパーバイザ、ほかのアプリケーション、主記憶を物理的に読む攻撃者 | ハイパーバイザ、クラウドの事業者の管理者、ほかのVM、主記憶を物理的に読む攻撃者 |
| 信頼する範囲(TCB) | CPUのハードウェア、モードの切り替えを行うセキュアモニタ、セキュアワールドのトラステッドOSとアプリケーション | CPUのハードウェアとファームウェア、エンクレーブ自身のコード。OSは含まれない | CPUのハードウェアとファームウェア(AMDのセキュアプロセッサやIntelのTDXモジュールなど)、ゲストOSを含むVMの中身全体。ハイパーバイザは含まれない |
| メモリの暗号化 | 基本の仕組みには含まれない。バスの信号でセキュアかどうかを区別し、アクセスそのものを遮断して分ける | エンクレーブのページを、CPUの外の主記憶では暗号化しておく。実装によっては改ざんも検出する | VMごとの鍵で、VMのメモリ全体を暗号化する。鍵はCPUの中だけで管理する。SEV-SNPやTDXでは、ハイパーバイザによるメモリの書き換えや付け替えを防ぐ、完全性の保護も加わる |
| アテステーション | アーキテクチャとしての共通の方式はなく、SoCのセキュアブートや鍵の仕組みと組み合わせて実現する | エンクレーブの起動時の測定値に、CPUの中の鍵で署名したレポートを出す。利用者は確かめてから秘密のデータを渡す | VMの初期状態をCPUが測定し、CPUの中の鍵で署名したレポートを出す。利用者は確かめてから、データを復号する鍵を渡す |
| 主な使われ方 | スマートフォンや組込み機器での、生体認証の照合、決済の資格情報、DRMの鍵の保管、セキュアブート中の検証 | サーバで、鍵の管理や機密のデータを扱う処理の一部だけを守る | クラウドの機密VM。既存のアプリケーションを、事業者からも守った状態で動かす |
| 移植の手間 | セキュアワールドで動くアプリケーションとして書き、ノーマルワールドとの狭いインタフェースを設計する必要がある | 大きい。アプリケーションをエンクレーブの中と外に分け、システムコールやファイル・通信の処理は外のコードに任せる | 小さい。対応したゲストOSを使えば、既存のOSやアプリケーションをほぼそのまま動かせる |
| 知られている攻撃の種類 | コアやキャッシュ、電源を共有するので、キャッシュのサイドチャネル攻撃や、電圧・クロックの乱れによる故障注入攻撃が研究で示されている。トラステッドOSやアプリケーションの脆弱性も狙われる | キャッシュのタイミング、ページフォールトのパターン、投機的実行を使うサイドチャネル攻撃で秘密が漏れる例が、研究で報告されてきた | 悪意のあるハイパーバイザが、メモリの対応付けや割り込みなどVMとのやり取りを操作する攻撃や、サイドチャネル攻撃が研究で報告されている。完全性の保護は、こうした攻撃への対策として加えられた |
| 提供状況 | Armのアプリケーションプロセッサで広く使われ、Armv8-Mのマイコンには軽量版がある。Armv9-Aでは、VM単位で分離するArm CCA(Realm)も定められている | 2020年代前半の時点で、Intelはクライアント向けCPUでは提供しなくなり、主にサーバ向けCPUで提供している | SEVはAMDの、TDXはIntelのサーバ向けCPUの機能。2020年代半ばの時点で、主要なクラウドが機密VMとして提供している |
数値は代表的な目安で、世代や製品によって異なります。