RFC 7800 Quiz (EN)

Proof-of-Possession Key Semantics for JWTs

0 / 0

Primary reference

These questions separate identification of a confirmation key from proof of possession, replay protection, token validation, and resource authorization. Section numbers refer to RFC 7800.

Q1: What does a cnf claim establish by itself?

Multiple Choice

A signed A2A task token contains a cnf claim with the presenter's public key. The request carries the token but no separate proof made with the corresponding private key.

A: The issuer's token signature authenticates the cnf claim; it does not demonstrate that the request presenter controls the referenced private key. B: RFC 7800 Sections 3 and 3.6 define the confirmation-key semantics but intentionally leave the actual proof protocol to the application. C: cnf is intended to constrain presentation, not grant bearer use or resource permission. D: A public confirmation key does not encrypt the JWT.

Q2: How may confirmation keys be carried in a JWT?

Multiple Choice

An A2A profile considers placing either an asymmetric public JWK or a symmetric MAC key directly in cnf of a signed but unencrypted JWT.

A: A signature supplies integrity and origin authentication, not confidentiality. B: RFC 7800 defines both direct JWK and key-identifier representations. C: RFC 7800 Sections 3.2 and 3.3 distinguish public asymmetric JWK use from symmetric key material that must be encrypted from unauthorized parties. D: A short lifetime does not make disclosure of a live MAC key safe.

Q3: Is this holder proof sufficient for request-level sender constraint?

Multiple Choice

A presenter signs a fixed string with the cnf private key. The same signature is sent with every A2A request; it covers no method, URI, body digest, nonce, or time value. The profile requires proof bound to each request and resistant to replay.

A: A reusable fixed-string signature demonstrates key use but not integrity or freshness of a particular request. B: Audience restricts token recipients; it does not make a separate holder proof fresh. C: RFC 7800 Section 3.6 deliberately leaves nonce and proof details to the application protocol. D: The profile's stated request-binding and replay-resistance criteria make the reusable signature insufficient. Section 3.6 leaves the proof format to the application, while Section 4 describes distinct challenges or instance-specific sub-keys as possible replay defenses rather than one universal format.

Q4: How should an ambiguous cnf kid be resolved?

Multiple Choice

Two A2A tenants both use cnf kid "signing-key-1" for different keys. The verifier looks up kid in a single global table without first binding it to the trusted token issuer or tenant context.

A: RFC 7800 does not make kid globally unique. B: RFC 7800 Section 3.4 says kid content is application specific and works only when the recipient can obtain the identified key. The profile must prevent cross-namespace key confusion. C: Trying all keys discards the trusted identity context needed to interpret the identifier. D: An identifier digest is not key material and proves no possession.

Q5: May a cnf token fall back to bearer processing?

Multiple Choice

An A2A resource accepts a token with the correct audience and a cnf claim. If the request has no valid holder proof, the implementation ignores cnf and processes the token as a bearer token. The profile requires proof of possession.

A: RFC 7800 Section 4 explains that proof of possession and audience provide different protections. B: Token validation authenticates the claim, not current possession by this presenter. C: This applies the profile's explicit acceptance criterion without inventing a universal bearer-fallback rule. Section 3.1 requires unknown confirmation members to be ignored only in the absence of application requirements to understand them. D: aud and cnf can coexist and address independent security properties.

Q6: How should a gateway delegate a verified cnf result?

Multiple Choice

A gateway validates a cnf token and holder proof for an incoming request, then forwards only X-Proof-Valid: true to a backend over another connection. The backend owns the resource and cannot inspect the original proof.

A: RFC 7800 Sections 3.6 and 4 leave proof transport and replay controls to the application. This is therefore a system-design conclusion: either choice makes the verifier and trust boundary explicit and preserves request context; the resource owner still decides authorization. B: An ordinary boolean is not cryptographic evidence and is not bound to a request. C: A public key identifies what should be proven, not whether possession was verified. D: Proof of possession and resource authorization are independent.

Q7: How should the recipient process this cnf object?

Multiple Choice

To support rollover, an issuer puts both jwk and jku in one cnf object. The jku points to a backup key, and kid accompanies it. The recipient implements RFC 7800 without an extension that defines multiple confirmation keys.

A: RFC 7800 defines no precedence between jwk and jku. B: Trying both would silently create semantics that the token format does not define. C: Section 3.1 says cnf MUST represent only one proof-of-possession key and therefore permits at most one of jwk, jwe, and jku. An application needing multiple keys must define another claim or extension. D: Section 3.5 allows kid to select a key in a referenced set; it does not permit a second key representation in cnf.

Q8: May the recipient accept the key obtained through this jku?

Multiple Choice

A cnf jku uses an http URL. The returned JWK Set contains three keys, but cnf has no kid. The recipient happens to recognize one key from an earlier response.

A: Cached recognition does not satisfy the requirements for this acquisition and selection. B: Section 3.5 requires integrity protection; an HTTP GET MUST use TLS and validate the server identity. When the set contains multiple keys, cnf and the selected JWK MUST carry the same kid. C: Trial verification bypasses the specified key-selection condition. D: jku is expressly defined; the problem is the unprotected URL and missing selector, not remote retrieval itself.

Q9: Can this implementation claim conformance to the A2A profile?

Multiple Choice

An A2A profile requires a registered cnf member named agent_proof. A JWT library does not understand that member, ignores it, and accepts the token after ordinary JWT validation.

A: Section 3.1 limits the MUST-ignore rule to the absence of requirements to process the member. B: JWT validation protects the claim set but does not implement an application-specific confirmation method. C: RFC 7800 deliberately permits extension members and does not impose universal rejection. D: Section 3.1 says applications that require particular confirmation members must ensure implementations understand and process them. Acceptance here violates the stated profile, not a universal unknown-member rule.

Q10: What is the appropriate privacy review conclusion?

Multiple Choice

An agent reuses one long-lived confirmation key in JWTs sent to unrelated recipients. Each recipient logs the key identifier, and the logs are later combined. The protocol otherwise verifies possession correctly.

A: Section 5 warns that a proof-of-possession key can be a correlation handle. It does not prescribe one universal lifetime, so key scope and rotation are application privacy decisions. B: Observers can correlate a stable public key or identifier without learning the private value. C: RFC 7800 states the privacy risk but does not mandate per-request keys. D: Audience restriction protects a different boundary and removing it would not erase the stable identifier.