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

7.2.3. メッセージコンポーネントの選択 (Choosing Message Components)

7.2.3. メッセージコンポーネントの選択 (Choosing Message Components)

HTTP メッセージ署名のアプリケーションは, どのメッセージコンポーネントを署名でカバーするかを決める必要がある. アプリケーションによっては, 署名の検証前に中間者によって変更されることが想定されるコンポーネントもある. それらのコンポーネントをカバーすると, 設計上, そのような変更は署名を破壊する.

しかし, 本ドキュメントは, どのコンポーネントを署名するかについて柔軟性を認めており, 与えられたアプリケーションが問題のあるコンポーネントを避けつつ, 署名が必要なメッセージの適切な部分を選べるようにしている. 例えば, クエリパラメータの書き換えに依存する Web アプリケーションフレームワークは, @query 派生コンポーネントの使用を避け, 代わりに @query-param 派生コンポーネントでクエリ値を部分インデックス化する, といった選択ができる.

一部のコンポーネントは中間者によって変更されることが想定され, ほとんどの状況では署名すべきではない. 例えば Via および Forwarded ヘッダフィールドは, プロキシやその他の middlebox によって操作されることが想定されており, 既存の値の置換や完全な削除も含む. これらのフィールドは, ごく限定的で密結合したシナリオを除き, 署名でカバーすべきではない.

署名の側面を選ぶ際の追加の考慮事項は, 1.4 節で論じている.