ハードウェアセキュリティの最新動向
機密コンピューティングで使われるTEEのうち、仮想マシン全体を守るVM型のもの(AMD SEV-SNP、Intel TDXなど)と、アプリケーションの一部を守るエンクレーブ型のもの(Intel SGXなど)の違いの説明として、正しいものはどれか。
- AVM型は仮想マシンのメモリを暗号化せずにアクセスの権限の確認だけで守り、メモリを暗号化して守るのはエンクレーブ型だけである
- BVM型は既存のOSやアプリケーションをほぼそのまま動かせるが、ゲストOS全体を信頼する範囲(TCB)に含めることになる
- Cエンクレーブ型ではOSやハイパーバイザも信頼する範囲に含まれるが、VM型ではCPUだけを信頼すればよい
答えと解説を見る
正解:B. VM型は既存のOSやアプリケーションをほぼそのまま動かせるが、ゲストOS全体を信頼する範囲(TCB)に含めることになる
エンクレーブ型は、アプリケーションの中で秘密を扱う部分だけを保護された領域で動かすので、信頼しなければならない範囲(TCB:Trusted Computing Base)はCPUとエンクレーブのコードにまで小さくなりますが、アプリケーションを分けて作り直す必要があります。VM型は、仮想マシン全体のメモリを暗号化してハイパーバイザやクラウドの管理者から守るので、既存のソフトウェアをほぼそのまま移せます。その代わり、ゲストOSとその上のすべてのソフトウェアがTCBに入り、そこに脆弱性があれば秘密が漏れます。TCBが小さいほど検証しやすく、攻撃される面も狭くなるので、使いやすさと信頼する範囲の大きさのかね合いで選びます。
- A. VM型のTEEも、仮想マシンのメモリを、CPUが仮想マシンごとの鍵で暗号化します。
- B. 正しい。移しやすさと引き換えに、信頼する範囲が大きくなります。
- C. 逆です。エンクレーブ型はOSやハイパーバイザを信頼せず、VM型はゲストOSを信頼する範囲に含めます。