Q1: cnf claimだけで確立できるものは何か?
単一選択signed A2A task tokenがpresenterのpublic keyを含むcnf claimを持ちます. requestはtokenを運びますが, 対応するprivate keyによる別proofはありません.
confirmation keyの識別と、所持証明、replay対策、token検証、resource認可を分けて扱います。Section番号はRFC 7800を指します。
signed A2A task tokenがpresenterのpublic keyを含むcnf claimを持ちます. requestはtokenを運びますが, 対応するprivate keyによる別proofはありません.
A2A profileは, asymmetric public JWKまたはsymmetric MAC keyを, signed but unencrypted JWTのcnfへ直接入れる案を検討します.
presenterはcnf private keyでfixed stringへ署名します. 同じsignatureを全A2A requestへ付け, method, URI, body digest, nonce, time valueをcoverしません. profileは各requestへbindしたreplay-resistant proofを求めます.
二つのA2A tenantが異なるkeyへ同じcnf kid "signing-key-1"を使います. verifierはtrusted token issuerやtenant contextへbindする前に, single global tableでkidをlookupします.
A2A resourceがcorrect audienceとcnf claimを持つtokenを受け取ります. requestにvalidなholder proofがない場合, implementationはcnfをignoreしてbearer tokenとして処理します. profileはproof of possessionを必須にします.
gatewayがincoming requestのcnf tokenとholder proofをvalidateし, 別connection上のbackendへX-Proof-Valid: trueだけをforwardします. backendはresourceを所有しますがoriginal proofを確認できません.
issuerはrollover対応として、1つのcnf objectへjwkとjkuの両方を入れた。jkuはbackup keyを指し、kidも付いている。recipientは複数confirmation keyを定義する拡張なしでRFC 7800を実装している。
cnfのjkuはhttp URLである。取得したJWK Setには3つのkeyがあるが、cnfにkidはない。recipientは以前のresponseで1つのkeyを見たことがある。
A2A profileはagent_proofという登録済みcnf memberを必須にする。JWT libraryはこのmemberを理解せず、無視したまま通常のJWT validation後にtokenをacceptする。
agentは、互いに無関係なrecipientへ送るJWTで1つのlong-lived confirmation keyを再利用する。各recipientはkey identifierをlogへ残し、後にlogが統合される。protocolはpossession自体を正しくverifyしている。