長さ拡張攻撃
署名付きメッセージに、鍵を知らなくてもデータを追記し、有効な署名を計算できてしまう攻撃。
MD5、SHA-1、SHA-256といったMerkle–Damgård型のハッシュは、内部状態をそのままダイジェストとして出力する。メッセージをhash(鍵 || メッセージ)で署名していると、ダイジェストを見た者はその状態から計算を再開でき、元のメッセージ、パディング、追記部分を合わせた有効なハッシュを作れる。2009年にはFlickrのAPIがまさにこの問題に見舞われた。HMACは鍵を2回に分けてハッシュ処理することで、拡張を可能にする構造を断ち切っている。ハッシュはいくら優れていても、MACではない。