7.3.6. 鍵およびアルゴリズム指定のダウングレード (Key and Algorithm Specification Downgrades)
7.3.6. 鍵およびアルゴリズム指定のダウングレード (Key and Algorithm Specification Downgrades)
本仕様のアプリケーションは, 鍵指定のダウングレード攻撃から保護する必要がある. 例えば, 同一の RSA 鍵は RSA-PSS と RSA v1.5 の署名の両方に用いられる. アプリケーションが鍵を RSA-PSS にのみ用いることを期待する場合, より弱い RSA 1.5 指定を用いる鍵に対する署名は拒否する必要がある.
ダウングレード攻撃の別の例は, RSA-PSS のような非対称アルゴリズムが期待されているのに, 攻撃者が HMAC のような対称アルゴリズムを用いた署名に差し替える場合である. 単純な検証者の実装は, 公開 RSA 鍵の値を HMAC 検証関数への入力として用いうる. 公開鍵は攻撃者に知られているため, 攻撃者はこの既知の鍵に対する有効な HMAC 署名を作成できる. これを防ぐには, 検証者は, 鍵素材とアルゴリズムの両方が当該用途に適切であることを確保する必要がある. さらに, 本仕様は alg 署名パラメータを用いたアルゴリズムの実行時指定を認めるが, アプリケーションは静的設定やより上位プロトコルレベルのアルゴリズム指定などの別の機構を用いることが推奨され, 攻撃者が指定されたアルゴリズムを差し替えることを防げる.