OpenID Continuous Access Evaluation Profile 1.0
Workgroup:
Shared Signals
Published:
29 August 2025
Authors:
T. Cappalli
Okta
A. Tulshibagwale
SGNL
Abstract
この文書は、Shared Signals Framework(SSF)の Continuous Access Evaluation Profile(CAEP)を定義する。SSF に準拠するイベント型の集合を規定する。これらのイベント型は、協調する Transmitter と Receiver の間で使用されることを意図しており、Transmitter が継続的な更新を送信することで、Receiver が共有される人間またはロボットのユーザー、デバイス、セッション、アプリケーションへのアクセスを抑制できるようにする。
Table of Contents
- OpenID Continuous Access Evaluation Profile 1.0
- Abstract
- Table of Contents
- 1. Introduction
- 2. Optional Event Claims
- 3. Event Types
- 4. Security Considerations
- 5. Normative References
- Appendix A. Acknowledgments
- Appendix B. Notices
- Contributors
- Authors' Addresses
1. Introduction
CAEP は、協調するプロバイダーのネットワークにおけるアクセスの安全性を確保するために、IETF Security Events 1.0 の Shared Signals Profile(SSF Profile)を Shared Signals Framework(SSF)に適用したものである。CAEP は SSF Profile に準拠するイベント型の集合を規定する。本書は、この目標を達成するために必要なイベント型を規定する。
1.1. Notational Considerations
この文書中のキーワード「MUST」「MUST NOT」「REQUIRED」「SHALL」「SHALL NOT」「SHOULD」「SHOULD NOT」「RECOMMENDED」「NOT RECOMMENDED」「MAY」「OPTIONAL」は、ここに示すようにすべて大文字で表記される場合に限り、BCP 14(RFC2119、RFC8174)で記述されるとおりに解釈される。
2. Optional Event Claims
以下の claim は、イベント定義で別途指定がない限り任意である。
event_timestamp
- OPTIONAL、JSON number: この SET が記述するイベントが発生した時刻。値は、UTC における 1970-01-01T0:0:0Z から当該日時までの秒数を表す JSON number である。
initiating_entity
- OPTIONAL、JSON string: イベントを呼び出したエンティティを記述する。これは以下の文字列のいずれかでなければならない。
admin: 管理操作がイベントを引き起こしたuser: End-User の操作がイベントを引き起こしたpolicy: ポリシー評価がイベントを引き起こしたsystem: システムまたはプラットフォームのアサーションがイベントを引き起こした
reason_admin
- OPTIONAL、JSON object: ログ記録および監査を目的とした、ローカライズ可能な管理者向けメッセージ。オブジェクトは 1 つ以上の key/value ペアを含まなければならず、key は BCP47(RFC5646)の言語タグ、value はロケール固有の管理者向けメッセージである。
{
"reason_admin": {
"en": "Landspeed Policy Violation: C076E82F",
"de": "Landspeed-Richtlinienverstoss: C076E82F",
"es-410": "Violacion de la politica de landspeed: C076E82F"
}
}
Figure 1: 例: 複数言語を含む管理者向け理由情報
reason_user
- OPTIONAL、JSON object: End-User に表示するための、ローカライズ可能なユーザーフレンドリーなメッセージ。オブジェクトは 1 つ以上の key/value ペアを含まなければならず、key は BCP47(RFC5646)の言語タグ、value はロケール固有の End-User 向けメッセージである。
{
"reason_user": {
"en": "Access attempt from multiple regions.",
"de": "Zugriffsversuch aus mehreren Regionen.",
"es-410": "Intento de acceso desde varias regiones."
}
}
Figure 2: 例: 複数言語を含む End-User 向け理由情報
3. Event Types
CAEP のイベント型のベース URI は次のとおりである。
https://schemas.openid.net/secevent/caep/event-type/
3.1. Session Revoked
Event Type URI:
https://schemas.openid.net/secevent/caep/event-type/session-revoked
Session Revoked は、subject により識別されるセッションが失効したことを通知する。明示的なセッション識別子は subject に直接参照されてもよいし、Receiver が該当するセッションを識別できるように、セッションの他のプロパティを含めてもよい。
Complex Claim が subject として使用される場合、この失効イベントは、それらの結合された claim に一致することから導出される任意のセッションに適用される。
セッションが失効した実際の理由は、Section 2 で説明した入れ子の reason_admin および/または reason_user claim により指定される場合がある。
3.1.1. Event-Specific Claims
このイベント型にはイベント固有の claim はない。
event_timestamp が含まれる場合、その値はセッション失効が発生した時刻を表さなければならない。
3.1.2. Examples
{
"iss": "https://idp.example.com/123456789/",
"jti": "24c63fb56e5a2d77a6b512616ca9fa24",
"iat": 1615305159,
"aud": "https://sp.example.com/caep",
"txn": "8675309",
"sub_id": {
"format": "opaque",
"id": "dMTlD|1600802906337.16|16008.16"
},
"events": {
"https://schemas.openid.net/secevent/caep/event-type/session-revoked": {
"event_timestamp": 1615304991
}
}
}
Figure 3: 例: Session Revoked - 必須 claim + Simple Subject
{
"iss": "https://idp.example.com/123456789/",
"jti": "24c63fb56e5a2d77a6b512616ca9fa24",
"iat": 1615305159,
"aud": "https://sp.example.com/caep",
"txn": "8675309",
"sub_id": {
"format": "complex",
"session": {
"format": "opaque",
"id": "dMTlD|1600802906337.16|16008.16"
},
"user": {
"format": "iss_sub",
"iss": "https://idp.example.com/123456789/",
"sub": "99beb27c-c1c2-4955-882a-e0dc4996fcbc"
},
"tenant": {
"format": "opaque",
"id": "123456789"
}
},
"events": {
"https://schemas.openid.net/secevent/caep/event-type/session-revoked": {
"initiating_entity": "policy",
"reason_admin": {
"en": "Landspeed Policy Violation: C076E82F"
},
"reason_user": {
"en": "Access attempt from multiple regions.",
"es-410": "Intento de acceso desde varias regiones."
},
"event_timestamp": 1615304991
}
}
}
Figure 4: 例: Session Revoked - subject を sub claim として表現(任意 claim を含む)
{
"iss": "https://idp.example.com/123456789/",
"jti": "24c63fb56e5a2d77a6b512616ca9fa24",
"iat": 1615305159,
"aud": "https://sp.example.com/caep",
"txn": "8675309",
"sub_id": {
"format": "complex",
"user": {
"format": "iss_sub",
"iss": "https://idp.example.com/123456789/",
"sub": "jane.smith@example.com"
},
"device": {
"format": "iss_sub",
"iss": "https://idp.example.com/123456789/",
"sub": "e9297990-14d2-42ec-a4a9-4036db86509a"
},
"tenant": {
"format": "opaque",
"id": "123456789"
}
},
"events": {
"https://schemas.openid.net/secevent/caep/event-type/session-revoked": {
"initiating_entity": "policy",
"reason_admin": {
"en": "Policy Violation: C076E822"
},
"reason_user": {
"en": "This device is no longer compliant.",
"it": "Questo dispositivo non e piu conforme."
},
"event_timestamp": 1615304991
}
}
}
Figure 5: 例: Session Revoked - user + device + tenant を記述する Complex Subject(任意 claim を含む)
3.2. Token Claims Change
Event Type URI:
https://schemas.openid.net/secevent/caep/event-type/token-claims-change
Token Claims Change は、subject claim により識別されるトークン内の claim が変更されたことを通知する。
claim 変更が発生した実際の理由は、Section 2 で述べた入れ子の reason_admin および/または reason_user claim により指定される場合がある。
3.2.1. Event-Specific Claims
claims
- REQUIRED、JSON object: 1 つ以上の claim とその新しい値
event_timestamp が含まれる場合、その値は claim の値が変更された時刻を表さなければならない。
3.2.2. Examples
{
"iss": "https://idp.example.com/987654321/",
"jti": "9afce1e4e642b165fcaacdd0e7aa4903",
"iat": 1615305159,
"aud": "https://sp.example2.net/caep",
"txn": "8675309",
"sub_id": {
"format": "jwt_id",
"iss": "https://idp.example.com/987654321/",
"jti": "f61t6e20zdo3px56gepu8rzlsp4c1dpc0fx7"
},
"events": {
"https://schemas.openid.net/secevent/caep/event-type/token-claims-change": {
"event_timestamp": 1615304991,
"claims": {
"role": "ro-admin"
}
}
}
}
Figure 6: 例: OIDC ID Token Claims Change - 必須 claim のみ
{
"iss": "https://idp.example.com/987654321/",
"jti": "9afce1e4e642b165fcaacdd0e7aa4903",
"iat": 1615305159,
"aud": "https://sp.example2.net/caep",
"txn": "8675309",
"sub_id": {
"format": "jwt_id",
"iss": "https://idp.example.com/987654321/",
"jti": "f61t6e20zdo3px56gepu8rzlsp4c1dpc0fx7"
},
"events": {
"https://schemas.openid.net/secevent/caep/event-type/token-claims-change": {
"event_timestamp": 1615304991,
"initiating_entity": "policy",
"reason_admin": {
"en": "User left trusted network: CorpNet3"
},
"reason_user": {
"en": "You're no longer connected to a trusted network.",
"it": "Non sei piu connesso a una rete attendibile."
},
"claims": {
"trusted_network": false
}
}
}
}
Figure 7: 例: OIDC ID Token Claims Change - 任意 claim
{
"iss": "https://idp.example.com/987654321/",
"jti": "dae94fed5f459881efa38b65c6772ddc",
"iat": 1615305159,
"aud": "https://sp.example2.net/caep",
"txn": "8675309",
"sub_id": {
"format": "saml_assertion_id",
"issuer": "https://idp.example.com/987654321/",
"assertion_id": "_a75adf55-01d7-dbd8372ebdfc"
},
"events": {
"https://schemas.openid.net/secevent/caep/event-type/token-claims-change": {
"event_timestamp": 1615304991,
"claims": {
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/role": "ro-admin"
}
}
}
}
Figure 8: 例: SAML Assertion Claims Change - 必須 claim のみ
3.3. Credential Change
Event Type URI:
https://schemas.openid.net/secevent/caep/event-type/credential-change
Credential Change イベントは、クレデンシャルが作成、変更、失効、または削除されたことを通知する。Credential Change のシナリオには次が含まれる。
- password/PIN の変更/リセット
- 証明書の登録、更新、失効、および削除
- 第 2 要素/パスワードレス・クレデンシャルの登録または削除(U2F、FIDO2、OTP、アプリベース)
クレデンシャル変更が発生した実際の理由は、Section 2 で述べた入れ子の reason_admin および/または reason_user claim により指定される場合がある。
3.3.1. Event-Specific Claims
credential_type
- REQUIRED、JSON string: 次の文字列のいずれか、または Transmitter と Receiver が相互にサポートする他のクレデンシャル種別でなければならない。
passwordpinx509fido2-platformfido2-roamingfido-u2fverifiable-credentialphone-voicephone-smsapp
change_type
- REQUIRED、JSON string: 次の文字列のいずれかでなければならない。
createrevokeupdatedelete
friendly_name
- OPTIONAL、JSON string: クレデンシャルの分かりやすい名前
x509_issuer
- OPTIONAL、JSON string: RFC5280 で定義される X.509 証明書の発行者
x509_serial
- OPTIONAL、JSON string: RFC5280 で定義される X.509 証明書のシリアル番号
fido2_aaguid
- OPTIONAL、JSON string: WebAuthn で定義される FIDO2 Authenticator Attestation GUID
event_timestamp が含まれる場合、その値はクレデンシャル変更が発生した時刻を表さなければならない。
3.3.2. Examples
{
"iss": "https://idp.example.com/3456789/",
"jti": "07efd930f0977e4fcc1149a733ce7f78",
"iat": 1615305159,
"aud": "https://sp.example2.net/caep",
"txn": "8675309",
"sub_id": {
"format": "iss_sub",
"iss": "https://idp.example.com/3456789/",
"sub": "jane.smith@example.com"
},
"events": {
"https://schemas.openid.net/secevent/caep/event-type/credential-change": {
"credential_type": "fido2-roaming",
"change_type": "create",
"fido2_aaguid": "accced6a-63f5-490a-9eea-e59bc1896cfc",
"friendly_name": "Jane's USB authenticator",
"initiating_entity": "user",
"reason_admin": {
"en": "User self-enrollment"
},
"event_timestamp": 1615304991
}
}
}
Figure 9: 例: 新しい FIDO2 認証器のプロビジョニング - Simple Subject + 任意 claim
3.4. Assurance Level Change
Event Type URI:
https://schemas.openid.net/secevent/caep/event-type/assurance-level-change
Assurance Level Change イベントは、初回のユーザーログイン以降に認証方式が変化したことを通知する。この変化は、弱い認証方式から強い認証方式への変化、またはその逆でありうる。
最初のシナリオでは Assurance Level Change は増加となり、2 つ目のシナリオでは減少となる。たとえば、ユーザーが単一要素認証(password など)で Service Provider A のセッションを開始し、その後に二要素認証(OTP など)で Service Provider B の別セッションを開始できる。このシナリオでは、増加の Assurance Level Change イベントが、ユーザーがより強い認証方式で認証したことを Service Provider A に通知する。
保証レベルが変化した実際の理由は、Section 2 で述べた入れ子の reason_admin および/または reason_user claim により指定される場合がある。
3.4.1. Event-Specific Claims
namespace:
- REQUIRED、JSON string:
current_levelおよびprevious_levelclaim の値の名前空間。次の文字列のいずれかであってもよい。RFC8176: RFC8176 仕様の保証レベル値RFC6711: RFC6711 仕様の保証レベル値ISO-IEC-29115: ISO-IEC-29115 仕様の保証レベル値NIST-IAL: NIST-IDPROOF 仕様の保証レベル値NIST-AAL: NIST-AUTH 仕様の保証レベル値NIST-FAL: NIST-FED 仕様の保証レベル値- Transmitter と Receiver の間で合意されたカスタム名前空間の別名となる、その他の任意の値
current_level
- REQUIRED、JSON string: 指定された
namespaceにおける現在の保証レベル
previous_level
- OPTIONAL、JSON string: 指定された
namespaceにおける以前の保証レベル。Transmitter がこの値を省略する場合、Receiver は、以前の保証レベルが Transmitter にとって不明であると仮定しなければならない。
change_direction
- OPTIONAL、JSON string: 保証レベルが増加したか減少したか。Transmitter が
previous_levelを指定している場合、Transmitter はこの claim の値を提供することが望ましい。存在する場合、次の文字列のいずれかでなければならない。increasedecrease
event_timestamp が含まれる場合、その値は保証レベルが変化した時刻を表さなければならない。
3.4.2. Examples
{
"iss": "https://idp.example.com/3456789/",
"jti": "07efd930f0977e4fcc1149a733ce7f78",
"iat": 1615305159,
"aud": "https://sp.example2.net/caep",
"txn": "8675309",
"sub_id": {
"format": "iss_sub",
"iss": "https://idp.example.com/3456789/",
"sub": "jane.smith@example.com"
},
"events": {
"https://schemas.openid.net/secevent/caep/event-type/assurance-level-change": {
"namespace": "NIST-AAL",
"current_level": "nist-aal2",
"previous_level": "nist-aal1",
"change_direction": "increase",
"initiating_entity": "user",
"event_timestamp": 1615304991
}
}
}
Figure 10: 例: Assurance Level Increase - Simple Subject + 任意 claim
{
"iss": "https://idp.example.com/3456789/",
"jti": "07efd930f0977e4fcc1149a733ce7f78",
"iat": 1615305159,
"aud": "https://sp.example2.net/caep",
"txn": "8675309",
"sub_id": {
"format": "iss_sub",
"iss": "https://idp.example.com/3456789/",
"sub": "jane.smith@example.com"
},
"events": {
"https://schemas.openid.net/secevent/caep/event-type/assurance-level-change": {
"namespace": "Retinal Scan",
"current_level": "hi-res-scan",
"initiating_entity": "user",
"event_timestamp": 1615304991
}
}
}
Figure 11: 例: カスタム Assurance Level - Simple Subject
3.5. Device Compliance Change
Event Type URI:
https://schemas.openid.net/secevent/caep/event-type/device-compliance-change
Device Compliance Change は、デバイスのコンプライアンス状態が変化したことを通知する。
状態変化が発生した実際の理由は、Section 2 で述べた入れ子の reason_admin および/または reason_user claim により指定される場合がある。
3.5.1. Event-Specific Claims
previous_status
- REQUIRED、JSON string: 変更を引き起こした変化の前のコンプライアンス状態。次の文字列のいずれかでなければならない。
compliantnot-compliant
current_status
- REQUIRED、JSON string: イベントを引き起こした現在の状態。次の文字列のいずれかでなければならない。
compliantnot-compliant
event_timestamp が含まれる場合、その値はデバイスのコンプライアンス状態が変化した時刻を表さなければならない。
3.5.2. Examples
{
"iss": "https://idp.example.com/123456789/",
"jti": "24c63fb56e5a2d77a6b512616ca9fa24",
"iat": 1615305159,
"aud": "https://sp.example.com/caep",
"txn": "8675309",
"sub_id": {
"format": "complex",
"device": {
"format": "iss_sub",
"iss": "https://idp.example.com/123456789/",
"sub": "e9297990-14d2-42ec-a4a9-4036db86509a"
},
"tenant": {
"format": "opaque",
"id": "123456789"
}
},
"events": {
"https://schemas.openid.net/secevent/caep/event-type/device-compliance-change": {
"current_status": "not-compliant",
"previous_status": "compliant",
"initiating_entity": "policy",
"reason_admin": {
"en": "Location Policy Violation: C076E8A3"
},
"reason_user": {
"en": "Device is no longer in a trusted location."
},
"event_timestamp": 1615304991
}
}
}
Figure 12: 例: Device No Longer Compliant - Complex Subject + 任意 claim
3.6. Session Established
Event Type URI:
https://schemas.openid.net/secevent/caep/event-type/session-established
Session Established イベントは、Transmitter が subject のために新しいセッションを確立したことを示す。Receiver は、この情報を次のような複数の理由で利用できる。
- Transmitter として動作するサービスが、ユーザーが IdP からフェデレーションされた後に IdP とループを閉じることができる
- IdP が意図しないログインを検知できる
- Receiver がユーザーのセッションのインベントリを確立できる
このイベント型における event_timestamp は、セッションが確立された時刻を指定する。
3.6.1. Event Specific Claims
Session Established イベントには、次の任意 claim を含めてもよい。
fp_ua
- Transmitter により計算されたユーザーエージェントのフィンガープリント。(NOTE、これはセッションを識別するためではなく、セッションのいくつかの性質を提示するためのものである)
acr
- Transmitter により確立されたセッションの認証コンテキスト・クラス参照。このフィールドの値は、OpenID Connect の ID Token における対応するフィールドと同様に解釈されなければならない(OpenID.Core)。
amr
- Transmitter により確立されたセッションの認証方法参照。このフィールドの値は文字列の配列でなければならず、各要素は OpenID Connect の ID Token における対応するフィールドと同様に解釈されなければならない(OpenID.Core)。
ext_id
- 外部セッション識別子。より広いセッション(たとえば SAML Assertion を用いて確立されたフェデレーション・セッション)と、このセッションを相関付けるために使用できる。
3.6.2. Examples
以下は session-established イベント型の、非規範的な例である。
{
"iss": "https://idp.example.com/123456789/",
"jti": "24c63fb56e5a2d77a6b512616ca9fa24",
"iat": 1615305159,
"aud": "https://sp.example.com/caep",
"txn": "8675309",
"sub_id": {
"format": "email",
"email": "someuser@somedomain.com"
},
"events": {
"https://schemas.openid.net/secevent/caep/event-type/session-established": {
"fp_ua": "abb0b6e7da81a42233f8f2b1a8ddb1b9a4c81611",
"acr": "AAL2",
"amr": ["otp"],
"event_timestamp": 1615304991
}
}
}
3.7. Session Presented
Event Type URI:
https://schemas.openid.net/secevent/caep/event-type/session-presented
Session Presented イベントは、Transmitter が、Session Presented イベントの event_timestamp フィールドで示される時刻に、当該セッションが Transmitter に存在していることを観測したことを示す。Receiver は、この情報を次のような理由で利用できる。
- 異常なユーザー活動の検知
- ユーザーに属する稼働中セッションのインベントリの確立
3.7.1. Event Specific Claims
Session Presented イベントには、次の任意 claim が存在してもよい。
fp_ua
- Transmitter により計算されたユーザーエージェントのフィンガープリント。(NOTE、これはセッションを識別するためではなく、セッションのいくつかの性質を提示するためのものである)
ext_id
- 外部セッション識別子。より広いセッション(たとえば SAML Assertion を用いて確立されたフェデレーション・セッション)と、このセッションを相関付けるために使用できる。
3.7.2. Examples
以下は Session Presented イベントの、非規範的な例である。
{
"iss": "https://idp.example.com/123456789/",
"jti": "24c63fb56e5a2d77a6b512616ca9fa24",
"iat": 1615305159,
"aud": "https://sp.example.com/caep",
"txn": "8675309",
"sub_id": {
"format": "email",
"email": "someuser@somedomain.com"
},
"events": {
"https://schemas.openid.net/secevent/caep/event-type/session-presented": {
"fp_ua": "abb0b6e7da81a42233f8f2b1a8ddb1b9a4c81611",
"ext_id": "12345",
"event_timestamp": 1615304991
}
}
}
3.8. Risk Level Change
Event Type URI:
https://schemas.openid.net/secevent/caep/event-type/risk-level-change
ベンダーは、ユーザー、デバイスなどの subject に関連付くさまざまなシグナルを収集し分析する仕組みを配備しうる。これらのシグナルは、このイベント記述の範囲外にある多様なチャネルや手法から生じうるが、処理されて、subject の現在の脅威状態を表す抽象化されたリスクレベルを導出する。
Risk Level Change イベントは、Transmitter が、Risk Level Change イベントの event_timestamp フィールドで示される時刻における subject の評価済みリスクレベルの変更を、Receiver に伝えるために用いられる。Transmitter は、次のことを示すためにこのイベントを生成してもよい。
- 不明な宛先からの疑わしいアクセスの可能性、password の侵害、強力な認証器の追加、その他の理由によりユーザーのリスクが変化した。
- 未承認ソフトウェアのインストール、安全でない周辺機器への接続、データの暗号化、その他の理由によりデバイスのリスクが変化した。
- さまざまな理由により、その他の subject のリスクが変化した。
3.8.1. Event Specific Claims
risk_reason
- RECOMMENDED、JSON string: Transmitter によるリスクレベル変化に寄与した理由を示す。
principal
- REQUIRED、JSON string: 観測されたリスクイベントに関与した principal エンティティを表し、Transmitter により識別される。subject principal は、USER、DEVICE、SESSION、TENANT、ORG_UNIT、GROUP、または SSF の Section 2 で定義されるその他の任意のエンティティのいずれかでありうる。この claim は、イベントに関連付く主要な subject を識別し、関与したエンティティに対する相対的なリスクの文脈付けに役立つ。
current_level
- REQUIRED、JSON string: subject の現在のリスクレベルを示す。値は LOW、MEDIUM、HIGH のいずれかでなければならない。
previous_level
- OPTIONAL、JSON string: subject について以前に既知であったリスクレベルを示す。値は LOW、MEDIUM、HIGH のいずれかでなければならない。Transmitter がこの値を省略する場合、Receiver は、以前のリスクレベルが Transmitter にとって不明であると仮定しなければならない。
3.8.2. Examples
以下は Risk Level Change イベントの、非規範的な例である。
{
"iss": "https://idp.example.com/123456789/",
"jti": "24c63fb56e5a2d77a6b512616ca9fa24",
"iat": 1615305159,
"aud": "https://sp.example.com/caep",
"txn": "8675309",
"sub_id": {
"format": "iss_sub",
"iss": "https://idp.example.com/3456789/",
"sub": "jane.doe@example.com"
},
"events": {
"https://schemas.openid.net/secevent/caep/event-type/risk-level-change": {
"current_level": "LOW",
"previous_level": "HIGH",
"event_timestamp": 1615304991,
"principal": "USER",
"risk_reason": "PASSWORD_FOUND_IN_DATA_BREACH"
}
}
}
4. Security Considerations
本書で説明するイベントの実装は、Shared Signals Framework(SSF)に準拠すべきである。Shared Signals Framework(SSF)に準拠せずに本書で説明するイベントを交換すると、セキュリティ上の問題が生じるおそれがある。
5. Normative References
[ISO-IEC-29115]
Standardization, I. O. for., "ISO/IEC 29115:2013 -- Information technology - Security techniques - Entity authentication assurance framework", March 2013, https://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=45138.
[NIST-AUTH]
Grassi, P., Garcia, M., and J. Fenton, "Digital Identity Guidelines, Authentication and Lifecycle Management", June 2017, https://pages.nist.gov/800-63-3/sp800-63-3.html.
[NIST-FED]
Grassi, P. A., Richer, J. P., Squire, S. K., Fenton, J. L., and E. M. Nadeau, "Digital Identity Guidelines, Federation and Assertions", n.d., https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-63c.pdf.
[NIST-IDPROOF]
Grassi, P. A. and J. L. Fenton, "Digital Identity Guidelines, Enrollment and Identity Proofing", June 2017, https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-63a.pdf.
[OpenID.Core]
Sakimura, N., Bradley, J., Jones, M. B., de Medeiros, B., and C. Mortimore, "OpenID Connect Core 1.0 - ID Token", November 2014, https://openid.net/specs/openid-connect-core-1_0.html#IDToken.
[RFC2119]
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, https://www.rfc-editor.org/info/rfc2119.
[RFC5280]
Cooper, D., Santesson, S., Farrell, S., Boeyen, S., Housley, R., and W. Polk, "Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile", RFC 5280, DOI 10.17487/RFC5280, May 2008, https://www.rfc-editor.org/info/rfc5280.
[RFC5646]
Phillips, A., Ed. and M. Davis, Ed., "Tags for Identifying Languages", BCP 47, RFC 5646, DOI 10.17487/RFC5646, September 2009, https://www.rfc-editor.org/info/rfc5646.
[RFC6711]
Johansson, L., "An IANA Registry for Level of Assurance (LoA) Profiles", RFC 6711, DOI 10.17487/RFC6711, August 2012, https://www.rfc-editor.org/info/rfc6711.
[RFC8174]
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, https://www.rfc-editor.org/info/rfc8174.
[RFC8176]
Jones, M., Hunt, P., and A. Nadalin, "Authentication Method Reference Values", RFC 8176, DOI 10.17487/RFC8176, June 2017, https://www.rfc-editor.org/info/rfc8176.
[SSF]
Tulshibagwale, A., Cappalli, T., Scurtescu, M., Backman, A., John Bradley, and S. Miel, "OpenID Shared Signals Framework Specification 1.0", 29 August 2025, https://openid.net/specs/openid-sharedsignals-framework-1_0.html.
[WebAuthn]
Balfanz, D., "Web Authentication: An API for accessing Public Key Credentials Level 2", 8 April 2021, https://www.w3.org/TR/webauthn/.
Appendix A. Acknowledgments
著者らは、この仕様の策定に貢献した OpenID Foundation Shared Signals Working Group のすべてのメンバーに感謝する。
Appendix B. Notices
Copyright (c) 2025 The OpenID Foundation.
OpenID Foundation(OIDF)は、いかなる Contributor、開発者、実装者、その他の関係者に対しても、非独占的・ロイヤリティフリー・全世界的な著作権ライセンスを付与し、(i) 仕様の策定、ならびに (ii) Implementers Draft、Final Specification、Final Specification Incorporating Errata Corrections の実装を目的とする限りにおいて、これらの Implementers Draft、Final Specification、Final Specification Incorporating Errata Corrections を複製し、派生著作物を作成し、頒布し、上演し、表示することを許諾する。ただし、素材の出所として OIDF への帰属表示を行うことを条件とし、その帰属表示は OIDF による支持を示すものではない。
この仕様で説明される技術は、OpenID Foundation のメンバーおよびその他のさまざまな出所からの貢献により提供された。OpenID Foundation は、当該技術が配布可能であることを確保するための手段を講じているが、この仕様で説明される技術の実装または使用に関係して主張されうる知的財産権その他の権利の有効性または範囲、ならびにそれらの権利に基づくライセンスが利用可能であるか否か、またはどの程度利用可能であるかについて、いかなる立場も取らない。また、そのような権利を特定するための独立した努力を行ったことを表明するものでもない。OpenID Foundation および本仕様への貢献者は、本仕様に関して、商品性、非侵害、特定目的への適合性、権原を含む(ただしこれらに限られない)いかなる保証(明示、黙示、その他)も行わず(そしてここに明示的に放棄する)、本仕様を実装することに伴う全リスクは実装者が負う。OpenID Intellectual Property Rights policy(openid.net に掲載)は、貢献者に対し、他の貢献者および実装者に対して特定の特許請求を主張しないためのパテント・プロミスを提供することを求めている。OpenID は、本仕様を実践するために必要となりうる技術をカバーする著作権、特許、特許出願、またはその他の専有権がある場合には、いかなる関係者もその注意喚起を行うよう求める。
Contributors
Apoorva Deshpande
Okta
Email: apoorva.deshpande@okta.com
Apoorva は risk-level-change イベントを定義した。
Authors' Addresses
Tim Cappalli
Okta
Email: tim.cappalli@okta.com
Atul Tulshibagwale
SGNL
Email: atul@sgnl.ai