メインコンテンツまでスキップ

7.5.5. 正規化攻撃 (Canonicalization Attacks)

7.5.5. 正規化攻撃 (Canonicalization Attacks)

署名ベースの生成におけるあいまいさはすべて, 攻撃者にメッセージの署名を置換または破るための余地を与えうる. 一部のメッセージコンポーネント値, 特に HTTP フィールド値は, 予期せぬ不安全な挙動につながる誤った実装の影響を受けやすい. 本仕様の単純な実装は, フィールドの単一の値を取りそれを適切に処理せずに直接コンポーネント値として用いることで HTTP フィールド処理を実装しているかもしれない.

たとえば, obs-fold フィールド値の扱いで内部の行折り返しと空白を除去しない場合, 署名者により署名ベースへ追加の改行が導入され, 攻撃者が署名衝突 (Section 7.3.1) 攻撃を仕掛める余地になりうる. あるいは, 複数回現れるヘッダフィールドを本仕様が要求するとおり単一の文字列値に結合しない場合も, 同様の攻撃が可能である. 署名されたコンポーネント値が署名ベースに複数回現れ, このように置換または攻撃されうるからである.

これに対処するため, フィールド値処理アルゴリズム全体を, 署名者と検証者のすべての実装が実装する必要がある.