ハードウェアセキュリティ
キャッシュを使ったサイドチャネル攻撃が成り立つ主な理由はどれか。
- Aキャッシュはプロセスの間で共有されることがあり、ほかのプロセスがどのデータを使ったかが、自分のアクセスの速さ(ヒットかミスか)の違いとして観察できるから
- Bキャッシュの中身は、誰でも直接読み出せるから
- Cキャッシュはデータを暗号化せずにディスクに保存するから
答えと解説を見る
正解:A. キャッシュはプロセスの間で共有されることがあり、ほかのプロセスがどのデータを使ったかが、自分のアクセスの速さ(ヒットかミスか)の違いとして観察できるから
キャッシュに入っているデータは速く、入っていないデータは遅く読めます。攻撃者が共有のキャッシュの一部を自分のデータで埋めておき、後でその読み出しの時間を測ると、ほかのプロセスがその場所を使って自分のデータが追い出されたかどうかが分かります。暗号の処理が鍵によって違う表の場所を読む場合、この方法で鍵の情報が漏れます。
- A. 正しい。アクセスの時間が痕跡になります。
- B. 中身を直接読むのではなく、時間の違いから推測します。
- C. キャッシュはディスクに保存しません。