ハードウェアセキュリティの最新動向
電源の電圧を一瞬だけ下げる電圧グリッチで、チップが誤動作する主な理由として、正しいものはどれか。
- A電圧が下がった瞬間に、チップの中のレジスタやメモリにあるすべてのデータが0に消えて、電源を入れた直後の状態に戻ってしまうから
- B電圧が下がると、チップの中のクロックの発振回路の周波数が自動で上がり、それに合わせて命令の実行が速くなるから
- C電圧が下がるとトランジスタが遅くなり、信号が次のクロックまでにフリップフロップに届かず、誤った値が取り込まれるから
答えと解説を見る
正解:C. 電圧が下がるとトランジスタが遅くなり、信号が次のクロックまでにフリップフロップに届かず、誤った値が取り込まれるから
トランジスタは、電源の電圧が下がると流せる電流が減り、ゲートの遅延が大きくなります。クロックの周期の間に信号が届くという、設計で確かめたタイミングの条件(セットアップ時間)が満たされなくなると、フリップフロップは誤った値を取り込みます。その結果、比較の結果が変わったり、分岐や命令が飛ばされたりして、署名の確認を飛ばされることがあります。クロックに短すぎる周期を混ぜるクロックグリッチも、同じようにタイミングの条件を破って誤動作を起こさせます。
- A. 一瞬の電圧の低下で、すべてのデータが消えるわけではありません。狙われるのは、特定の時点の誤動作です。
- B. 電圧が下がってもクロックの周波数は上がりません。遅くなるのはトランジスタの側です。
- C. 正しい。タイミングの条件が破られることが、誤動作の原因です。