長さ拡張攻撃とは?
長さ拡張攻撃とは、圧縮関数を連鎖させる構造のハッシュで、内部状態がハッシュ値としてそのまま出力されることを突く攻撃。元データを知らなくても、ハッシュ値と長さだけから末尾にデータを追加した正しいハッシュ値を計算できてしまう。
情報処理安全確保支援士試験の過去問では1回出題されています。
ながさかくちょうこうげき
長さ拡張攻撃の意味
圧縮関数を連鎖させる構造のハッシュで、内部状態がハッシュ値としてそのまま出力されることを突く攻撃。元データを知らなくても、ハッシュ値と長さだけから末尾にデータを追加した正しいハッシュ値を計算できてしまう。
長さ拡張攻撃の具体例
秘密鍵とメッセージを単純に連結してハッシュした値を認証子に使っていると、攻撃者は元メッセージの末尾にパラメータを追記した偽の要求と、その正しい認証子を作れる。HMACはこの構造上の弱点を回避する設計になっている。
長さ拡張攻撃は試験でどう引っ掛けられる?
ハッシュ関数そのものが破られたわけではなく、使い方の問題である点が要点。SHA-256でも同じ構造なら成立する。認証子を作るなら自作の連結ではなくHMACなど定義済みのMAC方式を使う、という判断につながる。
長さ拡張攻撃と関連する用語
長さ拡張攻撃が出た過去問
SHA-512/256の説明はどれか。
正解:入力データにSHA-512に基づいたハッシュ関数を1回適用し、512ビットの値を出力した後、256ビットに切り詰めて出力する。
要点:SHA-512/256はSHA-512の出力を256ビットに切り詰めた方式
SHA-512/256はSHA-2ファミリの一種で、SHA-512の演算構造(64ビット語で処理)をそのまま用い、初期ハッシュ値だけを専用の値に差し替えて計算し、得られた512ビットの結果の先頭256ビットだけを出力する方式です。SHA-256を繰り返すものでも、出力を後から拡張するものでもありません。64ビットCPU上ではSHA-256より高速に256ビット出力が得られる利点があり、長さ拡張攻撃への耐性も持ちます。
出典:令和7年度 春期 情報処理安全確保支援士試験 am2 問3(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。