7.5.7. 複数フィールド値によるパディング攻撃 (Padding Attacks with Multiple Field Values)
7.5.7. 複数フィールド値によるパディング攻撃 (Padding Attacks with Multiple Field Values)
HTTP フィールド値は HTTP 署名ベースに含めるために単一の文字列値へ結合する必要がある (Section 2.5 参照). したがって, 攻撃者は所定のフィールドに追加の値を注入し, 検証者の署名ベースにこれを加えうる.
多くの状況では, 新しい署名ベースの値が署名者が署名を作成した際の値と一致しないため, 期待どおり署名検証が失敗する. しかし理論上, 攻撃者はフィールドにゴミの値を注入すると同時に, 別のフィールドに望ましい値を注入して特定の入力を強制することも可能である. これは Section 7.3.1 で述べる衝突攻撃の変種であり, 攻撃者は既存のフィールド値に加えることでメッセージの変更を達成する.
これに対処するため, アプリケーションは署名自体が検証されることに加え, 署名でカバーされるフィールドの内容を検証する必要がある. そのような保護があれば, 攻撃者が署名衝突を強制できた場合でも, 攻撃者のパディング攻撃はフィールド値処理器によって拒否される.