Q1: RFC 8725に沿うalgorithm-selection behaviorはどれか
Multiple ChoiceA2A verifierのlibraryはRS256とES256をsupportします.このtoken profileが許すのはES256だけですが,incoming tokenはalg=RS256を宣言し,有効なRS256 signatureを持ちます.
A2A verifierのlibraryはRS256とES256をsupportします.このtoken profileが許すのはES256だけですが,incoming tokenはalg=RS256を宣言し,有効なRS256 signatureを持ちます.
一つのissuerがA2A access tokenとAgent Card attestationの両方を同じkeyでsignします.現在はaudienceもoptional claimも同じため,どちらのtokenも他方のvalidatorを通ります.
attestationはtrusted issuer Iが正しくsignし,aud=gatewayでunexpiredです.access-token endpointもIをtrustします.access-token profileはtyp=a2a-access+jwtとscope=task.writeを要求しますが,attestationはtyp=a2a-card+jwtでscopeを持ちません.authorizationにはaccess-token profileが必要です.
multi-issuer A2A gatewayはsigned JWTのjkuを読み,そのURLからverification keyを取得します.trusted issuerはconfiguredですが,jkuでは任意HTTPS hostを許します.security requirementはattacker-directedなinternal serviceへのrequestを禁止します.
A2A profileはissuer IのRSA public keyによるRS256だけをacceptします.libraryはHS256もimplementします.attackerはalg=HS256とし,公開RSA public-key bytesをHMAC secretとしてHMACを計算します.判定基準はprofileのRS256 issuer authenticationです.
gatewayは同一issuerのaccess JWTとsession-binding JWTをacceptします.一つのgeneric ruleでsignatureをverifyし,X-Agentにsubだけをforwardします.backendはそのheaderからtask.writeをauthorizeします.backend policyはbackend自身向けaccess tokenと,このrequestに対するindependently validなsession-binding proofを要求します.