【たいみんぐこうげき】
タイミング攻撃 とは?
最終更新:
💡 処理時間の小さな違いを手掛かりに、秘密を推測する
処理にかかる時間の差を計測することで、パスワードや暗号鍵などの秘密情報を推測するサイドチャネル攻撃の一種。
📌 このページのポイント
タイミング攻撃って何をするの?
処理時間の差を秘密の手掛かりにする攻撃だよ。文字列を先頭から比べて不一致ですぐ終える実装なら、先頭から一致する部分が長いほど処理が増えることがある。全体で何文字合ったかではなく、比較がどこまで進んだかが問題なんだ。
すごく小さい差でも分かるの?
一度の測定で明確に分かるとは限らないよ。繰り返しの観測と統計で差を推測するけれど、通信の揺れや他の処理も混ざる。どの程度の差を何回で見分けられるかは条件次第で、何千回なら必ず分かるというものではないんだ。
どんな場面で問題になるの?
定数時間比較なら防げる?
専用関数だけで対策が終わるわけじゃないんだね?
まとめ:ざっくりこれだけ覚えればOK!
「タイミング攻撃」って出てきたら「処理時間の差から秘密情報を推測するサイドチャネル攻撃」と思えればだいたいOK!
📖 おまけ:英語の意味
「Timing Attack」 = タイミング攻撃
💬 処理の「タイミング(timing)」=所要時間の差を観察して秘密情報を割り出す攻撃で、直接データを盗むのではなく間接的に推測するのが特徴だよ。