ハードウェアセキュリティ
ArmのTrustZoneの基本的なしくみとして正しいものはどれか。
- Aセキュアな処理は、すべて別のパソコンで行う
- Bノーマルワールドのプログラムが、セキュアワールドのメモリを自由に読める
- CCPUがセキュアワールドとノーマルワールドの状態を持ち、バスの信号などでメモリや周辺回路への読み書きがどちらの世界からかを区別して制限する
答えと解説を見る
正解:C. CPUがセキュアワールドとノーマルワールドの状態を持ち、バスの信号などでメモリや周辺回路への読み書きがどちらの世界からかを区別して制限する
TrustZoneでは、CPUのコアがセキュアとノーマルの2つの状態を切り替えて動き、読み書きのたびに今どちらの状態かを示す信号がバスに出ます。メモリや周辺回路の側の回路がこの信号を見て、セキュアに割り当てた領域へのノーマルからのアクセスを拒否します。専用のチップを追加せずに、1つのSoCの中で安全な領域を作れるので、スマートフォンなどで広く使われています。
- A. 同じチップの中で分けます。
- B. ノーマルワールドからは読めないようにします。
- C. 正しい。同じCPUを2つの世界で使い分けます。