OpenID RISC Profile Specification 1.0
Workgroup:
Shared Signals
Published:
29 August 2025
Authors:
M. Scurtescu
Coinbase
A. Backman
Amazon
P. Hunt
Oracle
J. Bradley
Yubico
S. Bounev
VeriClouds
A. Tulshibagwale
SGNL
Abstract
この文書は、Shared Signals Framework(SSF)に基づく Risk Incident Sharing and Coordination(RISC)の Event Types を定義する。Event Types は Security Event Token(SET)で導入され、定義されている。
Table of Contents
- OpenID RISC Profile Specification 1.0
- Abstract
- Table of Contents
- 1. Introduction
- 2. Event Types
- 3. Compatibility
- 4. Security Considerations
- 5. Normative References
- Appendix A
- Appendix B
- Authors' Addresses
1. Introduction
この仕様は、Risk Incident Sharing and Coordination を実装するために必要となる、Shared Signals Framework に基づく event type とその内容を定義する。
1.1. Notational Conventions
この文書で用いるキーワード「MUST」「MUST NOT」「REQUIRED」「SHALL」「SHALL NOT」「SHOULD」「SHOULD NOT」「RECOMMENDED」「NOT RECOMMENDED」「MAY」「OPTIONAL」は、ここに示すとおり全て大文字で表記される場合に限り、BCP 14(RFC2119、RFC8174)で記述されているとおりに解釈される。
2. Event Types
RISC の event type に対するベース URI は次のとおりである: https://schemas.openid.net/secevent/risc/event-type/
2.1. Account Credential Change Required
Event Type URI: https://schemas.openid.net/secevent/risc/event-type/account-credential-change-required
Account Credential Change Required は、subject によって識別されるアカウントが credential を変更する必要があったことを通知する。たとえば、ユーザーが password の変更手続きを行う必要があった場合である。
Attributes: なし
{
"iss": "https://idp.example.com/",
"jti": "756E69717565206964656E746966696572",
"iat": 1508184845,
"aud": "636C69656E745F6964",
"sub_id": {
"format": "iss_sub",
"iss": "https://idp.example.com/",
"sub": "7375626A656374"
},
"events": {
"https://schemas.openid.net/secevent/risc/event-type/account-credential-change-required": {}
}
}
Figure 1: Example: Account Credential Change Required
2.2. Account Purged
Event Type URI: https://schemas.openid.net/secevent/risc/event-type/account-purged
Account Purged は、subject によって識別されるアカウントが恒久的に削除されたことを通知する。
Attributes: なし
2.3. Account Disabled
Event Type URI: https://schemas.openid.net/secevent/risc/event-type/account-disabled
Account Disabled は、subject によって識別されるアカウントが無効化されたことを通知する。アカウントが無効化された実際の理由は、以下で説明するネストされた reason 属性で指定される場合がある。このアカウントは将来、Account Enabled(Section 2.4)によって有効化される可能性がある。
Attributes:
- reason - optional。アカウントが無効化された理由を説明する。取り得る値は次のとおり:
- hijacking
- bulk-account
{
"iss": "https://idp.example.com/",
"jti": "756E69717565206964656E746966696572",
"iat": 1508184845,
"aud": "636C69656E745F6964",
"sub_id": {
"format": "iss_sub",
"iss": "https://idp.example.com/",
"sub": "7375626A656374"
},
"events": {
"https://schemas.openid.net/secevent/risc/event-type/account-disabled": {
"reason": "hijacking"
}
}
}
Figure 2: Example: Account Disabled
2.4. Account Enabled
Event Type URI: https://schemas.openid.net/secevent/risc/event-type/account-enabled
Account Enabled は、subject によって識別されるアカウントが有効化されたことを通知する。
Attributes: なし
2.5. Identifier Changed
Event Type URI: https://schemas.openid.net/secevent/risc/event-type/identifier-changed
Identifier Changed は、subject に指定された identifier が変更されたことを通知する。subject type は email または phone のいずれかでなければならず、古い値を指定しなければならない。
この event は、その identifier に対して権威を持つ provider のみが発行することが望ましい。たとえば、john.doe@example.com を所有する人物が改名などを経て新しい john.roe@example.com の email を望む場合、以下の例に示すとおり、email provider である example.com のみが Identifier Changed event を発行することが望ましい。
username または recovery option として用いられる identifier が、その identifier に対して権威を持たない provider で変更された場合は、代わりに Recovery Information Changed(Section 2.10)を用いることが望ましい。
Attributes:
- new-value - optional。identifier の新しい値。
{
"iss": "https://idp.example.com/",
"jti": "756E69717565206964656E746966696572",
"iat": 1508184845,
"aud": "636C69656E745F6964",
"sub_id": {
"format": "email",
"email": "john.doe@example.com"
},
"events": {
"https://schemas.openid.net/secevent/risc/event-type/identifier-changed": {
"new-value": "john.roe@example.com"
}
}
}
Figure 3: Example: Identifier Changed
john.doe@example.com の email が john.roe@example.com に変更された。
2.6. Identifier Recycled
Event Type URI: https://schemas.openid.net/secevent/risc/event-type/identifier-recycled
Identifier Recycled は、subject に指定された identifier が再利用され、現在は新しいユーザーに割り当てられていることを通知する。subject type は email または phone のいずれかでなければならない。
Attributes: なし
{
"iss": "https://idp.example.com/",
"jti": "756E69717565206964656E746966696572",
"iat": 1508184845,
"aud": "636C69656E745F6964",
"sub_id": {
"format": "email",
"email": "foo@example.com"
},
"events": {
"https://schemas.openid.net/secevent/risc/event-type/identifier-recycled": {}
}
}
Figure 4: Example: Identifier Recycled
foo@example.com の email address が再利用された。
2.7. Credential Compromise
Event Type URI:
https://schemas.openid.net/secevent/risc/event-type/credential-compromise
Credential Compromise event は、subject に指定された identifier が侵害されたことが判明したことを通知する。
Attributes:
- credential_type - REQUIRED。侵害された credential の種類。この属性の値は、CAEP Specification で定義されている
Credential Changeevent における同名フィールドに対して指定されている値のいずれかでなければならない。 - event_timestamp - OPTIONAL。JSON number。Transmitter がこの SET で記述される event を検知した時刻。UTC における 1970-01-01T0:0:0Z から当該 date/time までの秒数を表す JSON number として表現される。
- reason_admin - OPTIONAL。credential compromised event が生成された理由(管理者向け)。
- reason_user - OPTIONAL。credential compromised event が生成された理由(エンドユーザー向け)。
{
"iss": "https://idp.example.com/3456790/",
"jti": "756E69717565206964656E746966696572",
"iat": 1508184845,
"aud": "https://sp.example2.net/caep",
"sub_id": {
"format": "iss_sub",
"iss": "https://idp.example.com/3456790/",
"sub": "joe.smith@example.com"
},
"events": {
"https://schemas.openid.net/secevent/risc/event-type/credential-compromise": {
"credential_type": "password"
}
}
}
Figure 5: Example: Compromised credential found
2.8. Opt Out
ユーザーは、自身のアカウントについて RISC event の送信を opt-in / opt-out できるべきである。opt-out に関して、アカウントは次の 3 つの状態のいずれかになり得る。
- opt-in - アカウントが RISC event exchange に参加している。
- opt-out-initiated - ユーザーが RISC event exchange から除外することを要求したが、実用上のセキュリティ上の理由により一定期間は RISC event が引き続き交換される。この状態の主な理由は、乗っ取り犯が RISC から即座に opt out することを防ぐためである。
- opt-out - アカウントが RISC event exchange に参加していない。
状態の変更は、以下に示すとおり Opt-Out Events をトリガーする。
+--------+ opt-out-initiated +-------------------+
| +---------------------> |
| opt-in | | opt-out-initiated |
| | opt-out-cancelled | |
| <---------------------+ |
+---^----+ +----------+--------+
| |
| opt-in | opt-out-effective
| |
| +----------V--------+
| | |
+--------------------------| opt-out |
| |
+-------------------+
Figure 6: Opt-Out States and Opt-Out Events
Transmitters と Receivers の双方は、ユーザーの Opt-Out state を管理することが望ましい。Transmitters は、Opt-Out state が変化したときに、本節で定義される event を送信すべきである。
2.8.1. Opt In
Event Type URI: https://schemas.openid.net/secevent/risc/event-type/opt-in
Opt In は、subject によって識別されるアカウントが RISC event exchange を opt-in したことを通知する。アカウントは opt-in 状態にある。
Attributes: なし
2.8.2. Opt Out Initiated
Event Type URI: https://schemas.openid.net/secevent/risc/event-type/opt-out-initiated
Opt Out Initiated は、subject によって識別されるアカウントが RISC event exchange から opt out を開始したことを通知する。アカウントは opt-out-initiated 状態にある。
Attributes: なし
2.8.3. Opt Out Cancelled
Event Type URI: https://schemas.openid.net/secevent/risc/event-type/opt-out-cancelled
Opt Out Cancelled は、subject によって識別されるアカウントが RISC event exchange からの opt out を取り消したことを通知する。アカウントは opt-in 状態にある。
Attributes: なし
2.8.4. Opt Out Effective
Event Type URI: https://schemas.openid.net/secevent/risc/event-type/opt-out-effective
Opt Out Effective は、subject によって識別されるアカウントが RISC event exchange から実際に opt out されたことを通知する。アカウントは opt-out 状態にある。
Attributes: なし
2.9. Recovery Activated
Event Type URI: https://schemas.openid.net/secevent/risc/event-type/recovery-activated
Recovery Activated は、subject によって識別されるアカウントが recovery flow を起動したことを通知する。
Attributes: なし
2.10. Recovery Information Changed
Event Type URI: https://schemas.openid.net/secevent/risc/event-type/recovery-information-changed
Recovery Information Changed は、subject によって識別されるアカウントの recovery information の一部が変更されたことを通知する。たとえば、recovery email address が追加または削除された場合である。
Attributes: なし
2.11. Sessions Revoked
注: この event type は現在 deprecated である。新しい実装では、CAEP Specification で定義されている session-revoked event を使用しなければならない。
Event Type URI: https://schemas.openid.net/secevent/risc/event-type/sessions-revoked
Sessions Revoked は、subject によって識別されるアカウントの全ての session が取り消されたことを通知する。
Attributes: なし
3. Compatibility
3.1. Google Subject Type Value
実装者は、Google による既存の RISC 実装では、subject identifier の format を示すためにフィールド名 format の代わりに subject_type を使用していることに留意されたい。フィールド名 subject_type の使用は deprecated であり、新しいサービスはこのフィールド名を使用してはならない。
そのため、Google の RISC transmitter から event を受信したい Relying Party は、実装が更新されるまでの間、この差異を回避するためのコードを用意する必要がある。そのような回避策は、Google が実装を更新して本仕様に適合させた場合でも破綻しないように記述されるべきである。
4. Security Considerations
この文書で記述される event のいかなる実装も、Shared Signals Framework に準拠することが望ましい。Shared Signals Framework に準拠せずに本書で記述される event を交換すると、セキュリティ上の問題を引き起こす可能性がある。
5. Normative References
[CAEP-SPECIFICATION]
Cappalli, T. and A. Tulshibagwale, "OpenID Continuous Access Evaluation Profile 1.0", 29 August 2025, OpenID Continuous Access Evaluation Profile 1.0.
[RFC2119]
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, Key words for use in RFCs to Indicate Requirement Levels.
[RFC8174]
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words.
[SET]
Hunt, P., Ed., Jones, M.B., Denniss, W., and M.A. Ansari, "Security Event Token (SET)", April 2018, Security Event Token (SET).
[SHARED-SIGNALS-FRAMEWORK]
Tulshibagwale, A., Cappalli, T., Scurtescu, M., Backman, A., Bradley, J., and S. Miel, "OpenID Shared Signals Framework Specification 1.0", 29 August 2025, OpenID Shared Signals Framework Specification 1.0.
Appendix A
著者は、本仕様の策定に貢献した OpenID Foundation Shared Signals Working Group の全メンバーに謝意を表する。
Appendix B
Copyright (c) 2025 The OpenID Foundation.
OpenID Foundation(OIDF)は、いかなる Contributor、developer、implementer、またはその他の関心を持つ当事者に対しても、この Implementers Draft、Final Specification、または Final Specification Incorporating Errata Corrections を、(i) 仕様を策定する目的、および (ii) そのような文書に基づく Implementers Drafts、Final Specifications、ならびに Final Specification Incorporating Errata Corrections を実装する目的に限って、複製、派生物の作成、配布、上演および表示するための、非独占的・ロイヤルティフリー・全世界的な著作権ライセンスを許諾する。ただし、資料の出所として OIDF を明示して帰属表示を行うことを条件とするが、その帰属表示は OIDF による推奨(endorsement)を示すものではない。
本仕様で説明される技術は、OpenID Foundation のメンバーおよびその他を含む様々な出所からの貢献によって提供された。OpenID Foundation は、その技術が配布可能であることを確保するための手順を講じてきたが、本仕様で説明される技術の実装または使用に関して主張され得る、いかなる知的財産権またはその他の権利の有効性や範囲、ならびに当該権利に基づくライセンスが利用可能であるか否か、または利用可能となり得る範囲について、いかなる立場も取らない。また、OpenID Foundation がそのような権利を特定するための独立した努力を行ったことを表明するものでもない。OpenID Foundation および本仕様の貢献者は、本仕様に関連して、商品性、非侵害、特定目的への適合性、権原を含む(ただしそれらに限られない)いかなる保証(明示、黙示、その他)も行わず、(ここに明示的に)全て放棄する。本仕様を実装することに伴うリスクは、実装者が全て負うものとする。OpenID Intellectual Property Rights policy(openid.net に掲載)は、貢献者に対して、他の貢献者および実装者に対して特定の特許請求を主張しない旨のパテント・プロミスを提供することを求めている。OpenID は、関心を持つ当事者に対し、本仕様の実施に必要となり得る技術をカバーする著作権、特許、特許出願、その他の専有的権利が存在する場合には、その旨を OpenID に知らせるよう呼びかける。
Authors' Addresses
Marius Scurtescu
Coinbase
Email: marius.scurtescu@coinbase.com
Annabelle Backman
Amazon
Email: richanna@amazon.com
Phil Hunt
Oracle Corporation
Email: phil.hunt@yahoo.com
John Bradley
Yubico
Email: secevemt@ve7jtb.com
Stan Bounev
VeriClouds
Email: stanb@vericlouds.com
Atul Tulshibagwale
SGNL
Email: atul@sgnl.ai