Advanced

Shared Signals, CAEP, and RISC

Let identity providers and applications notify each other of session revocations, credential changes, and compromise.

After a sign-in, an application often has no idea that anything has changed. The identity provider may have disabled the account or detected a stolen session, but the application’s session continues. Shared Signals addresses this gap by letting systems send each other security events.

The pieces

ComponentRole
Shared Signals Framework (SSF)How a transmitter and a receiver set up a stream, describe subjects, and deliver events.
CAEP — Continuous Access Evaluation ProfileEvents about sessions and access conditions.
RISC — Risk Incident Sharing and CoordinationEvents about account and credential compromise or changes.
Security Event Token (SET), RFC 8417The signed JWT format that carries each event.
Push and poll delivery, RFC 8935 and RFC 8936How events are transported over HTTP.
Subject identifiers, RFC 9493How an event names the user, device, or session concerned.

These specifications are developed in the OpenID Foundation’s Shared Signals Working Group.

Example events

ProfileEventTypical reaction by the receiver
CAEPSession revokedTerminate the matching local session.
CAEPCredential changeRe-evaluate sessions; require re-authentication if needed.
CAEPAssurance level changeStep up authentication for sensitive actions.
CAEPDevice compliance changeBlock or limit access from the device.
RISCAccount disabledDisable or suspend the linked account.
RISCCredential compromiseReset or disable the affected credential.
RISCIdentifier changedUpdate the stored identifier mapping.

How it changes revocation

Without signals, a receiver learns about changes only when tokens expire or the user signs in again. With signals, the identity provider can transmit a session-revoked event and a cooperating application ends the session within seconds.

The flow can go both ways: an application detecting suspicious behavior can send an event to the identity provider, which may then revoke sessions across all applications.

Design considerations

  • Mapping subjects. The receiver must map the event’s subject identifier to its own account or session. Agree on identifier formats in advance.
  • Trust. Validate the SET signature, issuer, and audience as for any JWT; see JWT and token validation.
  • Idempotence and ordering. Events can be delayed or delivered more than once. Design receivers to handle duplicates safely.
  • Actionability. An event the receiver cannot act on adds no protection. Start with the events that close your biggest revocation gaps.

Keep learning

This complements sessions, tokens, and revocation and identity threat detection.

References

Knowledge is better when it is shared.Improve this page

Type to search the entire handbook.