ハードウェアセキュリティ
キャッシュのサイドチャネルへの対策として、共有のキャッシュを分割(パーティショニング)する考え方として正しいものはどれか。
- Aキャッシュを物理的に2つに割って捨てる
- Bキャッシュの容量を2倍にする
- Cプロセスや仮想マシンごとに使えるキャッシュの範囲を分け、互いのデータを追い出し合えないようにして、痕跡を観察できなくする
答えと解説を見る
正解:C. プロセスや仮想マシンごとに使えるキャッシュの範囲を分け、互いのデータを追い出し合えないようにして、痕跡を観察できなくする
キャッシュのサイドチャネルは、攻撃者と被害者が同じキャッシュの場所を取り合うことで成り立ちます。キャッシュの一部のウェイやセットを、プロセスや仮想マシンごとに割り当てて分ければ、互いのデータを追い出し合えなくなり、相手のアクセスの痕跡を観察できなくなります。CPUには、キャッシュの割り当てを制御する機能を持つものがあります。ただし、それぞれが使える容量が減るので性能とのかね合いになります。
- A. 物理的に割るわけではありません。
- B. 容量を増やしても、共有していれば痕跡は残ります。
- C. 正しい。代わりに使えるキャッシュは減ります。