Visual RFC.
ALL RFCs / RFC 7800
Read the RFC ↗
RFC 7800 / JWT PROOF-OF-POSSESSION KEYS

Keep validation, replay and privacy checks separate

05

One confirmation key does not replace application rules, freshness, audience restriction or privacy precautions.

RFC 7800 · § 4EXAMPLE
4 / 4
Keep validation, replay and privacy checks separateFour separate policy scenes show conflicting jwk plus jwe stopped by the single-key rule; unknown confirmation member ignored by default but insufficient for a proof-required profile; old nonce proof stopped when nonce-new is current plus a separately named audience rejection; and party-specific keys A/B reducing key-based correlation without claiming anonymity. kid with jku can select the same key, not a second key. No generic audience or privacy recommendation is promoted to an uppercase universal MUST.Proof is one check within the applicationparty-Aparty-BK-AK-Bdistinct keydistinct keyDifferent keys reduce a correlation handleOther claims can still link interactions
04
Use distinct keys to reduce correlation.

Example party-A uses K-A and party-B uses K-B. Reusing K-A with both could link interactions; other identifying claims can still correlate them.

Source for this drawing: RFC 7800 · Read RFC section 4 ↗

Protocol participantThreat or exceptionProtocol controlSimplified drawings · precise section references
New to this? Start hereA quick picture + helpful background

A key is different from permission.

An app, a person, and a server have different roles. Follow who asks, who grants permission, and who checks the credential. A key in the drawing is an analogy, not a literal protocol field.

Helpful first, if these ideas are unfamiliar

These pictures are analogies to help you learn. The linked RFC explains the actual rules.

Related RFCs and changes

“Updates” changes part of an earlier RFC. “Obsoletes” replaces it. This list shows selected related documents.

KEY POINT

Proof of possession answers a narrower question than authorization.

  • cnf MUST represent only a single proof key: at most one of jwk, jwe and jku may be present. kid can accompany jku to select that same key; it is not a second key.
  • Absent application-specific requirements, unrecognized confirmation members MUST be ignored. A profile requiring possession must ensure its needed confirmation behavior is implemented; ignoring an unknown member does not establish proof.
  • Audience restriction protects a different boundary from possession. Encrypted symmetric-secret proofs can be replayed; distinct challenges or instance-specific derived subkeys are possible defenses, with protocol details outside this RFC.
  • Reusing a proof key across parties can create a correlation handle. For privacy, different keys with different parties are recommended; this is not a guarantee of anonymity.
DETAILS

Application profiles define required claims and proof processing. Audience guidance and different-party key use are recommendations here, not invented universal uppercase MUSTs. RFC7800 does not standardize a complete anti-replay protocol or grant authorization.

Read the RFC section ↗

All chapters in RFC 7800

Drawing view

Scroll the drawing to see every part. Playback controls stay above it.

RFC 9700 / CHAPTERS

Chapters

For full details, tables, algorithms, and exceptions, read the original RFC.

RFC status and corrections ↗