要約
- 第07版は Workload Identity Token の
cnf.jwkに束縛された鍵で、メソッド、パス、クエリ、宛先、選択ヘッダー、コンテンツダイジェスト、署名メタデータを認証する。そこで得るのはリクエスト表現の証拠であり、操作権限ではない。 - nonce の未観測は、調べたキャッシュの範囲でしか成立しない。レスポンス署名の削除を検出できるのも、クライアントが署名付き要求で明示した場合だけである。認証、再送、認可、コミット、結果は分けて記録すべきだ。
緑のランプが二つ点く
ノード A がリクエストを受ける。WIT は有効で、cnf.jwk の公開鍵が署名を検証し、Content-Digest は受信本文と一致する。wimse-aud も受信ワークロードを指し、nonce は A のローカルキャッシュにない。A は受理して nonce を保存する。
期限内に同じリクエストがノード B に届く。B は A と同じ信頼設定を持つが、nonce キャッシュは共有していない。署名は正しく、B にとって nonce は未知である。二つの緑のランプは、どちらも嘘ではない。
しかし、そのワークロードが対象資源への操作を許されているかは別問題だ。許可後にアプリケーションが状態をコミットしたかも別である。認証結果一つに三つの問いを背負わせると、暗号は正しいまま権限設計が壊れる。
draft-ietf-wimse-http-signature-07 は2026年9月20日提出で、ヘッダーは Standards Track を意図し、2027年3月24日失効とする。RFCでもなければ、特定製品の実装や普及を示す資料でもない。現行のIETFワーキンググループ Internet-Draft であり、実装状況の付録は試作の存在を示すにとどまる。
署名対象は「HTTP全体」ではない
WIMSE は RFC 9421 をプロファイルする。必須の導出コンポーネントは @method、@path、@query である。存在する場合は Content-Type、Content-Digest、Authorization、Txn-Token、Workload-Identity-Token も対象にする。本文があれば Content-Digest を含め、受信側が実際の本文から再計算する。
ダイジェスト文字列に署名があるだけでは、本文との結び付きは証明できない。RFC 9530 の意味に従って再計算し、初めて「受け取った内容」が検証対象になる。運用記録には、再構成した署名ベース、対象リスト、再計算値、判定を残す必要がある。
パラメータには created、短い expires、ランダムな nonce、タグ wimse-workload-to-workload が入り、リクエストには wimse-aud が加わる。HTTP Message Signatures の keyid と alg は使わず、WIT の cnf.jwk が鍵とアルゴリズムを示す。もっとも、受信側のローカルポリシーは、そのアルゴリズムを拒否できる。
同じ WIMSE タグを持つ署名が複数なら、選択せず拒否する。どの表現を認証したのかが曖昧なまま、送信者、プロキシ、アプリケーションが各自に都合のよい署名を指す状態を避けるためだ。
対象外のヘッダーは保護されない。プロキシが再署名すれば、新しい主体による新しい主張になる。最初の署名の範囲が後から広がるわけではない。
authority を固定しない理由
TLS終端プロキシやロードバランサーは HTTP の authority を書き換えることがある。そのため @authority は必須対象から外れ、論理的な受信者は署名パラメータ wimse-aud で束縛される。
ここで三つの概念を混ぜてはいけない。RFC 9525 に沿ったTLSサービス同一性、あるホップで見えるHTTP authority、WIMSEの宛先は、それぞれ別の判断である。TLSチャネルが正しくても宛先照合が広すぎることはある。署名が正しくても、受信サービスが宛先を拒否することもある。
証跡には、期待したサービス名、提示された同一性、TLS終端点、送信した宛先、照合結果、最終配送先を残す。一語の「authenticated」に潰すと、どの中継点が意味を変えたのか追えない。
秘密鍵を持つことと、操作を許されること
受信側は WIT を検証し、その後に束縛された鍵で署名を検証する。成功が示すのは、対応する秘密鍵の保持者が、許容時間内に対象表現を作ったという限定的な事実である。
それは要求の動機を示さず、鍵が一つの稼働インスタンスだけにあるとも証明せず、ビジネス上の役割も与えない。第07版は、認可サブシステム全体をスコープ外の信頼前提に置いている。
これは署名ゲートウェイに包括的権限を渡す指示ではない。認証は主体とリクエストを届ける。実際の効果を止められる最初のコンポーネントが、主体、操作、資源、文脈、ポリシー版を照合して認可する。
認可記録には、適用規則、許可または拒否、付帯条件、例外経路、時刻が要る。信頼ドメインの全WITを広いロールへ変換するなら、権限を生んだのはそのマッピング設定である。監査対象もそこにある。
replay の意味は配置で変わる
created と expires は使用可能な窓を狭めるが、その窓の中での二回目を止めない。nonce を覚えて初めて再送を識別できる。草案はリプレイキャッシュを許し、既知の値を拒否すべきだとする一方、複数バリデータ間の共有を要求しない。分散同期の難しさから、厳格な再送防止をプロトコル目標として保証していない。
したがってキャッシュミスは、「このノードが、この保持範囲では覚えていない」という証拠である。他ノード、別リージョン、再起動前の世代、あるいは別の要求IDで同じ業務処理が済んでいないことまでは言えない。
冪等な読み取りなら、ローカル記憶は合理的な設計になり得る。引き落とし、証明書発行、削除などでは、アプリケーション側の冪等キー、一意制約、コミット台帳が必要になる。「replay protection enabled」という表示だけでは、キャッシュ範囲、保持時間、フェイルオーバー、署名期限との関係が見えない。
レスポンス署名はクライアントの要求で成立する
サーバーは自発的にレスポンスを署名できる。しかし強い保証は、クライアントが署名済み要求内で wimse-sign-response=true を指定した場合に生じる。サーバーが署名できなければ、成功した未署名レスポンスで代用できず、クライアントも未署名なら拒否する。
署名レスポンスは必ず wimse-req-nonce を含め、要求 nonce と一致させる。これにより、単にサーバーが何かを署名したのではなく、この要求に結び付く対象レスポンスだと確認できる。
クライアントが要求していなければ、サーバー内部の署名方針だけでは削除を検出できない。中間装置が署名を落としても、クライアントは通常レスポンスを受け入れなければならない。「サーバーは署名する」は能力の説明であり、「クライアントが要求し nonce 結合を検証した」は取引の証跡である。
それでも業務完了ではない。署名レスポンスが非同期ジョブの受付を示し、その後に処理が失敗することはある。結果は別に観測する。
認可は最後の意味変換より後に置く
HTTP中継はTLSを終端し、正規化し、ルーティングし、場合によって再署名する。対象コンポーネントの変更は署名を壊すが、対象外の値は変えられる。ゲートウェイが /jobs へのPOSTを許可した後で、未署名ヘッダーにより対象テナントが決まるなら、認可は早過ぎた。
堅牢なトレースは、受信署名、変換ポリシー、再署名主体、対象差分、変換後の認可を一続きにする。HTTPの全バイトを固定する必要はない。効果を決める値を誰が変更できるかを固定する必要がある。
最終的に六つの証跡が残る。WITと鍵指紋、署名ベースと本文ダイジェスト、nonceと参照キャッシュ、主体・操作・資源・認可規則、冪等キーとコミット、そして独立した結果観測である。これらは食い違ってよい。有効な署名が再送であり、新規要求が無権限であり、許可された操作が失敗することは、すべて両立する。
実装付録や適合表は能力の主張である。稼働コードを評価するなら、実リクエスト、再構成ベース、WIT判定、キャッシュ配置、認可ログ、状態遷移を確認する。草案の改版もあり得るため、採用時には版とローカル差分を記録する。
情報源
- WIMSE HTTP署名草案
- 改訂履歴
- 第07版テキスト
- WIMSEアーキテクチャ草案
- WIMSEワークロード資格情報草案
- RFC 9421 — HTTP Message Signatures
- RFC 9530 — Digest Fields
- RFC 9110 — HTTP Semantics
- RFC 8941 — Structured Field Values for HTTP
- RFC 9449 — DPoP
- RFC 9525 — Service Identity in TLS
- Running-Code Primacy
- The Stability Fallacy
- On Authority, Belief, and the Internet’s Addressing System
会員向け解説
プロフィールの詳細
適切な会員レベルでログインすると、解説全文と出典メモをご覧いただけます。
ストラテジックサークル限定
ストラテジックサークル
すべての読者に公開されています。参加してログインすると プロフィール解説 を閲覧できます。
ストラテジックサークルに参加Leadership Alliance 会員限定
Leadership Alliance
対象となる IP 資産の所有者・管理者向けです。ログインすると Leadership Alliance の解説を閲覧できます。
Leadership Alliance に参加





