ハードウェアセキュリティの最新動向
10年以上使われる組込み機器のSoCを設計する。将来の暗号の移行(耐量子計算機暗号への移行など)に備えるハードウェアとファームウェアの設計として、適切なものはどれか。
- A署名を確かめる方式と公開鍵は、起動用のROMに1組だけ書き込み、後から誰も変えられないように固定しておくのが最も安全である
- B起動時の検証で複数の方式や鍵を扱える余地を残し、加速器は複数の方式で使える部品にして、更新で方式を入れ替えられるようにする
- C暗号の加速器は、今使っている楕円曲線暗号の1つの曲線だけを、面積が最も小さくなるように専用の回路で作り込んでおけばよい
答えと解説を見る
正解:B. 起動時の検証で複数の方式や鍵を扱える余地を残し、加速器は複数の方式で使える部品にして、更新で方式を入れ替えられるようにする
ハードウェアは製造した後に作り直せないので、1つの方式だけを回路やROMに固定すると、その方式が安全でなくなったときに、機器そのものを作り直すことになります。起動用のROMで、eFuseに置く鍵のハッシュ値を複数持てるようにしたり、方式を選べるようにしたりしておけば、鍵や方式を後から切り替えられます。加速器も、ハッシュ関数(SHA-2やSHA-3)、多項式の掛け算、大きな整数の演算など、複数の方式で使える部品にしておくと、ファームウェアの更新で新しい方式に対応しやすくなります。ファームウェアの署名には、ハッシュ関数だけに安全性を頼るLMSやXMSSのような方式を使う選択肢もあり、その場合は一度しか使えない鍵を二度使わないよう、署名する側での状態の管理が欠かせません。
- A. 方式と鍵を1組に固定すると、その方式が破られたときに入れ替えられません。
- B. 正しい。後から入れ替えられる余地を、ハードウェアの段階で用意しておきます。
- C. 1つの方式だけに特化した回路では、耐量子計算機暗号への移行に使えません。