Skip to content

Commit 9ff8e49

Browse files
committed
merged main to branch
2 parents 09c9c88 + 1bbeb2f commit 9ff8e49

File tree

3 files changed

+116
-116
lines changed

3 files changed

+116
-116
lines changed

openid-sharedsignals-framework-1_0.html

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1227,7 +1227,7 @@
12271227
<thead><tr>
12281228
<td class="left"></td>
12291229
<td class="center">SharedSignals</td>
1230-
<td class="right">March 2023</td>
1230+
<td class="right">June 2023</td>
12311231
</tr></thead>
12321232
<tfoot><tr>
12331233
<td class="left">Tulshibagwale, et al.</td>
@@ -1242,7 +1242,7 @@
12421242
<dd class="workgroup">Shared Signals</dd>
12431243
<dt class="label-published">Published:</dt>
12441244
<dd class="published">
1245-
<time datetime="2023-03-21" class="published">21 March 2023</time>
1245+
<time datetime="2023-06-23" class="published">23 June 2023</time>
12461246
</dd>
12471247
<dt class="label-authors">Authors:</dt>
12481248
<dd class="authors">
@@ -1733,22 +1733,22 @@ <h4 id="name-jwt-id-subject-identifier-f">
17331733
in <span>[<a href="#RFC7519" class="cite xref">RFC7519</a>]</span><a href="#section-3.4.1-5.1.1" class="pilcrow"></a></p>
17341734
</li>
17351735
</ul>
1736-
<p id="section-3.4.1-6">The "JWT ID" Subject Identifier Format is identified by the name "jwt-id".<a href="#section-3.4.1-6" class="pilcrow"></a></p>
1737-
<p id="section-3.4.1-7">Below is a non-normative example of Subject Identifier for the "jwt-id" Subject
1736+
<p id="section-3.4.1-6">The "JWT ID" Subject Identifier Format is identified by the name "jwt_id".<a href="#section-3.4.1-6" class="pilcrow"></a></p>
1737+
<p id="section-3.4.1-7">Below is a non-normative example of Subject Identifier for the "jwt_id" Subject
17381738
Identifier Format.<a href="#section-3.4.1-7" class="pilcrow"></a></p>
1739-
<span id="name-example-jwt-id-subject-iden"></span><div id="sub-id-jwtid">
1739+
<span id="name-example-jwt_id-subject-iden"></span><div id="sub-id-jwtid">
17401740
<figure id="figure-3">
17411741
<div class="lang-json sourcecode" id="section-3.4.1-8.1">
17421742
<pre>
17431743
{
1744-
"format": "jwt-id",
1744+
"format": "jwt_id",
17451745
"iss": "https://idp.example.com/123456789/",
17461746
"jti": "B70BA622-9515-4353-A866-823539EECBC8"
17471747
}
17481748
</pre>
17491749
</div>
17501750
<figcaption><a href="#figure-3" class="selfRef">Figure 3</a>:
1751-
<a href="#name-example-jwt-id-subject-iden" class="selfRef">Example: 'jwt-id' Subject Identifier</a>
1751+
<a href="#name-example-jwt_id-subject-iden" class="selfRef">Example: 'jwt_id' Subject Identifier</a>
17521752
</figcaption></figure>
17531753
</div>
17541754
</section>
@@ -1822,7 +1822,7 @@ <h2 id="name-event-properties">
18221822
of these members are required and specified as such in the respective event
18231823
types specs. If a Transmitter determines that it needs to include additional
18241824
members that are not specified in the event types spec, then the name of such
1825-
members MUST be a URI. The discoverability of all additional members is
1825+
members MUST be a URI. The discoverability of all additional members is
18261826
specified in the Discovery <a href="#discovery" class="auto internal xref">Section 6</a> section.<a href="#section-4-1" class="pilcrow"></a></p>
18271827
</section>
18281828
</div>
@@ -3039,7 +3039,7 @@ <h5 id="name-deleting-a-stream">
30393039
</h5>
30403040
<p id="section-7.1.1.5-1">An Event Receiver deletes a stream by making an HTTP DELETE request to the
30413041
Configuration Endpoint. On receiving a request the Event Transmitter responds
3042-
with an empty "204 OK" response if the configuration was successfully removed.<a href="#section-7.1.1.5-1" class="pilcrow"></a></p>
3042+
with an empty "204 No Content" response if the configuration was successfully removed.<a href="#section-7.1.1.5-1" class="pilcrow"></a></p>
30433043
<p id="section-7.1.1.5-2">The DELETE request MUST include the "stream_id" as a parameter in order to
30443044
identify the correct Event Stream.<a href="#section-7.1.1.5-2" class="pilcrow"></a></p>
30453045
<p id="section-7.1.1.5-3">The following is a non-normative example request to delete an Event Stream:<a href="#section-7.1.1.5-3" class="pilcrow"></a></p>

openid-sharedsignals-framework-1_0.md

Lines changed: 45 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: OpenID Shared Signals Framework Specification 1.0 - draft 02
33
abbrev: SharedSignals
44
docname: openid-sharedsignals-framework-1_0
5-
date: 2023-03-21
5+
date: 2023-06-23
66

77
ipr: none
88
cat: std
@@ -207,8 +207,8 @@ This spec also directly profiles several IETF Security Events drafts:
207207

208208
* Security Event Token (SET) {{RFC8417}}
209209
* Subject Identifiers for Security Event Tokens {{SUBIDS}}
210-
* Push-Based SET Token Delivery Using HTTP {{DELIVERYPUSH}}
211-
* Poll-Based SET Token Delivery Using HTTP {{DELIVERYPOLL}}
210+
* Push-Based SET Token Delivery Using HTTP {{DELIVERYPUSH}}
211+
* Poll-Based SET Token Delivery Using HTTP {{DELIVERYPOLL}}
212212

213213
--- middle
214214

@@ -313,7 +313,7 @@ Below is a non-normative example of a Complex Subject claim in a SSF event.
313313
"sub" : "1234"
314314
}
315315
}
316-
~~~
316+
~~~
317317
{: #complex-subject-ex title="Example: Complex Subject"}
318318

319319
### Complex Subject Interpretation {#complex-subject-interpretation}
@@ -338,7 +338,7 @@ scope of this specification.
338338

339339
## Additional Subject Identifier Formats {#additional-subject-id-formats}
340340

341-
The following new subject identifier formats are defined:
341+
The following new subject identifier formats are defined:
342342

343343
### JWT ID Subject Identifier Format {#sub-id-jwt-id}
344344

@@ -356,21 +356,21 @@ jti
356356
> REQUIRED. The "jti" (JWT token ID) claim of the JWT being identified, defined
357357
in {{RFC7519}}
358358

359-
The "JWT ID" Subject Identifier Format is identified by the name "jwt-id".
359+
The "JWT ID" Subject Identifier Format is identified by the name "jwt_id".
360360

361-
Below is a non-normative example of Subject Identifier for the "jwt-id" Subject
361+
Below is a non-normative example of Subject Identifier for the "jwt_id" Subject
362362
Identifier Format.
363363

364364
~~~ json
365365
{
366-
"format": "jwt-id",
366+
"format": "jwt_id",
367367
"iss": "https://idp.example.com/123456789/",
368368
"jti": "B70BA622-9515-4353-A866-823539EECBC8"
369369
}
370370
~~~
371-
{: #sub-id-jwtid title="Example: 'jwt-id' Subject Identifier"}
371+
{: #sub-id-jwtid title="Example: 'jwt_id' Subject Identifier"}
372372

373-
### SAML Assertion ID Subject Identifier Format {#sub-id-saml-assertion-id}
373+
### SAML Assertion ID Subject Identifier Format {#sub-id-saml-assertion-id}
374374

375375
The "SAML Assertion ID" Subject Identifier Format specifies a SAML 2.0
376376
{{OASIS.saml-core-2.0-os}} assertion identifier. Subject Identifiers of this
@@ -416,7 +416,7 @@ Additional members about an event may be included in the "events" claim. Some
416416
of these members are required and specified as such in the respective event
417417
types specs. If a Transmitter determines that it needs to include additional
418418
members that are not specified in the event types spec, then the name of such
419-
members MUST be a URI. The discoverability of all additional members is
419+
members MUST be a URI. The discoverability of all additional members is
420420
specified in the Discovery {{discovery}} section.
421421

422422
# Example SETs that conform to the Shared Signals Framework {#events-examples}
@@ -816,8 +816,8 @@ delivery
816816
parameters for the SET delivery method. The actual delivery method is
817817
identified by the special key "method" with the value being a URI as defined
818818
in {{delivery-meta}}. The value of the "delivery" field contains two
819-
sub-fields:
820-
819+
sub-fields:
820+
821821
> method
822822

823823
> > **Receiver-Supplied**, the specific delivery method to be used. This can be
@@ -1130,7 +1130,7 @@ Errors are signaled with HTTP status codes as follows:
11301130
| 403 | if the Event Receiver is not allowed to read the stream configuration |
11311131
| 404 | if there is no Event Stream with the given "stream_id" for this Event Receiver |
11321132
{: title="Read Stream Configuration Errors" #tabreadconfig}
1133-
1133+
11341134
#### Updating a Stream’s Configuration {#updating-a-streams-configuration}
11351135
An Event Receiver updates the current configuration of a stream by making an
11361136
HTTP PATCH request to the Configuration Endpoint. The PATCH body contains a
@@ -1311,7 +1311,7 @@ Pending conditions or errors are signaled with HTTP status codes as follows:
13111311
#### Deleting a Stream {#deleting-a-stream}
13121312
An Event Receiver deletes a stream by making an HTTP DELETE request to the
13131313
Configuration Endpoint. On receiving a request the Event Transmitter responds
1314-
with an empty "204 OK" response if the configuration was successfully removed.
1314+
with an empty "204 No Content" response if the configuration was successfully removed.
13151315

13161316
The DELETE request MUST include the "stream_id" as a parameter in order to
13171317
identify the correct Event Stream.
@@ -1676,14 +1676,14 @@ identified by a Phone Number Subject Identifier:
16761676
POST /ssf/subjects:remove HTTP/1.1
16771677
Host: transmitter.example.com
16781678
Authorization: Bearer eyJ0b2tlbiI6ImV4YW1wbGUifQo=
1679-
1679+
16801680
{
16811681
"stream_id": "f67e39a0a4d34d56b3aa1bc4cff0069f",
16821682
"subject": {
16831683
"format": "phone",
16841684
"phone_number": "+12065550123"
16851685
}
1686-
}
1686+
}
16871687
~~~
16881688
{: title="Example: Remove Subject Request" #figremovereq}
16891689

@@ -1707,7 +1707,7 @@ Errors are signaled with HTTP status codes as follows:
17071707
| 429 | if the Event Receiver is sending too many requests in a given amount of time |
17081708
{: title="Remove Subject Errors" #tabremoveerr}
17091709

1710-
### Verification {#verification}
1710+
### Verification {#verification}
17111711
In some cases, the frequency of event transmission on an Event Stream will be
17121712
very low, making it difficult for an Event Receiver to tell the difference
17131713
between expected behavior and event transmission failure due to a misconfigured
@@ -1720,7 +1720,7 @@ delivery is working, including signature verification and encryption.
17201720
An Event Transmitter MAY send a Verification Event at any time, even if one was
17211721
not requested by the Event Receiver.
17221722

1723-
#### Verification Event {#verification-event}
1723+
#### Verification Event {#verification-event}
17241724
The Verification Event is a standard SET with the following attributes:
17251725

17261726
event type
@@ -1870,11 +1870,11 @@ subject
18701870
"format": "iss_sub",
18711871
"iss" : "http://example.com/idp1",
18721872
"sub" : "1234"
1873-
}
1874-
},
1873+
}
1874+
},
18751875
"status": "paused",
18761876
"reason": "License is not valid"
1877-
}
1877+
}
18781878
}
18791879
}
18801880
~~~
@@ -1888,9 +1888,9 @@ The receiver may obtain an access token using the Client
18881888
Credential Grant {{CLIENTCRED}}, or any other method suitable for the Receiver and the
18891889
Transmitter.
18901890

1891-
# Security Considerations {#management-sec}
1891+
# Security Considerations {#management-sec}
18921892

1893-
## Subject Probing {#management-sec-subject-probing}
1893+
## Subject Probing {#management-sec-subject-probing}
18941894
It may be possible for an Event Transmitter to leak information about subjects
18951895
through their responses to add subject requests. A "404" response may indicate
18961896
to the Event Receiver that the subject does not exist, which may inadvertently
@@ -1904,7 +1904,7 @@ to the subject, and Event Receivers MUST NOT assume that a 204 response means
19041904
that they will receive events related to the subject.
19051905

19061906

1907-
## Information Harvesting {#management-sec-information-harvesting}
1907+
## Information Harvesting {#management-sec-information-harvesting}
19081908
SETs may contain personally identifiable information (PII) or other non-public
19091909
information about the event transmitter, the subject (of an event in the SET),
19101910
or the relationship between the two. It is important for Event Transmitters to
@@ -1922,7 +1922,7 @@ transmitting the event. The mechanisms by which such validation is performed
19221922
are outside the scope of this specification.
19231923

19241924

1925-
## Malicious Subject Removal {#management-sec-malicious-subject-removal}
1925+
## Malicious Subject Removal {#management-sec-malicious-subject-removal}
19261926
A malicious party may find it advantageous to remove a particular subject from a
19271927
stream, in order to reduce the Event Receiver’s ability to detect malicious
19281928
activity related to the subject, inconvenience the subject, or for other reasons.
@@ -1937,9 +1937,9 @@ from the stream, and MUST NOT report these events as errors to the Event
19371937
Transmitter.
19381938

19391939

1940-
# Privacy Considerations {#privacy-considerations}
1940+
# Privacy Considerations {#privacy-considerations}
19411941

1942-
## Subject Information Leakage {#sub-info-leakage}
1942+
## Subject Information Leakage {#sub-info-leakage}
19431943
Event issuers and recipients SHOULD take precautions to ensure that they do not
19441944
leak information about subjects via Subject Identifiers, and choose appropriate
19451945
Subject Identifier Types accordingly. Parties SHOULD NOT identify a subject
@@ -1950,34 +1950,34 @@ Identifier Type and the same claim values to identify a given subject when
19501950
communicating with a given party in order to reduce the possibility of
19511951
information leakage.
19521952

1953-
## Previously Consented Data {#previously-consented-data}
1953+
## Previously Consented Data {#previously-consented-data}
19541954
If SSF events contain new values for attributes of Subject Principals that were
19551955
previously exchanged between the Transmitter and Receiver, then there are no
19561956
additional privacy considerations introduced by providing the updated values in
19571957
the SSF events, unless the attribute was exchanged under a one-time consent
19581958
obtained from the user.
19591959

1960-
## New Data {#new-data}
1960+
## New Data {#new-data}
19611961
Data that was not previously exchanged between the Transmitter and the Receiver,
19621962
or data whose consent to exchange has expired has the following considerations:
19631963

1964-
### Organizational Data {#organizational-data}
1964+
### Organizational Data {#organizational-data}
19651965
If a user has previously agreed with a Transmitter that they agree to release
19661966
certain data to third-parties, then the Transmitter MAY send such data in SSF
19671967
events without additional consent of the user. Such data MAY include
19681968
organizational data about the Subject Principal that was generated by the
19691969
Transmitter.
19701970

1971-
### Consentable Data {#consentable-data}
1971+
### Consentable Data {#consentable-data}
19721972
If a Transmitter intends to include data in SSF events that is not previously
19731973
consented to be released by the user, then the Transmitter MUST obtain consent
19741974
to release such data from the user in accordance with the Transmitter's privacy
19751975
policy.
19761976

1977-
# Profiles {#profiles}
1977+
# Profiles {#profiles}
19781978
This section is a profile of the following IETF SecEvent specifications:
19791979

1980-
* Security Event Token (SET) {{RFC8417}}
1980+
* Security Event Token (SET) {{RFC8417}}
19811981
* Push-Based SET Token Delivery Using HTTP {{DELIVERYPUSH}}
19821982
* Poll-Based SET Token Delivery Using HTTP {{DELIVERYPOLL}}
19831983

@@ -1987,20 +1987,20 @@ RISC Use Cases {{USECASES}}.
19871987
The CAEP use cases that set the requirements are described in CAEP Use Cases (TODO: Add
19881988
reference when file is added to repository.)
19891989

1990-
## Security Event Token Profile {#set-profle}
1990+
## Security Event Token Profile {#set-profle}
19911991
This section provides SSF profiling specifications for the Security Event Token (SET)
19921992
{{RFC8417}} spec.
19931993

1994-
### Signature Key Resolution {#signature-key-resolution}
1994+
### Signature Key Resolution {#signature-key-resolution}
19951995
The signature key can be obtained through "jwks_uri", see {{discovery}}.
19961996

1997-
### SSF Event Subject {#event-subjects}
1997+
### SSF Event Subject {#event-subjects}
19981998
The subject of a SSF event is identified by the "subject" claim within the event
19991999
payload, whose value is a Subject Identifier. The "subject" claim is REQUIRED
20002000
for all SSF events. The JWT "sub" claim MUST NOT be present in any SET containing
20012001
a SSF event.
20022002

2003-
### SSF Event Properties {#event-properties}
2003+
### SSF Event Properties {#event-properties}
20042004
The SSF event MAY contain additional claims within the event payload that are
20052005
specific to the event type.
20062006

@@ -2043,7 +2043,7 @@ specific to the event type.
20432043
~~~
20442044
{: #caep-event-properties-example title="Example: SET Containing a CAEP Event with Properties"}
20452045

2046-
### Explicit Typing of SETs {#explicit-typing}
2046+
### Explicit Typing of SETs {#explicit-typing}
20472047
SSF events MUST use explicit typing as defined in Section 2.3 of {{RFC8417}}.
20482048

20492049
~~~ json
@@ -2059,13 +2059,13 @@ Sections 4.5, 4.6 and 4.7 of {{RFC8417}}. While current Id Token {{IDTOKEN}}
20592059
validators may not be using the "typ" header parameter, by requiring it for SSF
20602060
SETs a distinct value is guaranteed for future validators.
20612061

2062-
### The "exp" Claim {#exp-claim}
2062+
### The "exp" Claim {#exp-claim}
20632063
The "exp" claim MUST NOT be used in SSF SETs.
20642064

20652065
The purpose is defense in depth against confusion with other JWTs, as described
20662066
in Sections 4.5 and 4.6 of {{RFC8417}}.
20672067

2068-
### The "aud" Claim {#aud-claim}
2068+
### The "aud" Claim {#aud-claim}
20692069
The "aud" claim can be a single value or an array. Each value SHOULD be the
20702070
OAuth 2.0 client ID. Other values that uniquely identifies the Receiver to the
20712071
Transmitter MAY be used, if the two parties have agreement on the format.
@@ -2097,7 +2097,7 @@ multiple Receivers would lead to unintended data disclosure.
20972097
~~~
20982098
{: title="Example: SET with array 'aud' claim" #figarrayaud}
20992099

2100-
### The "events" claim {#events-claim}
2100+
### The "events" claim {#events-claim}
21012101
The "events" claim SHOULD contain only one event. Multiple event type URIs are
21022102
permitted only if they are alternative URIs defining the exact same event type.
21032103

@@ -2116,7 +2116,7 @@ on this subject. The Shared Signals Framework is asking for further restrictions
21162116
This section provides SSF profiling specifications for the {{DELIVERYPUSH}} and
21172117
{{DELIVERYPOLL}} specs.
21182118

2119-
### Stream Configuration Metadata {#delivery-meta}
2119+
### Stream Configuration Metadata {#delivery-meta}
21202120
Each delivery method is identified by a URI, specified below by the "method"
21212121
metadata.
21222122

@@ -2139,7 +2139,7 @@ authorization_header
21392139
> The HTTP Authorization header that the Transmitter MUST set with each event
21402140
delivery, if the configuration is present. The value is optional and it is set
21412141
by the Receiver.
2142-
2142+
21432143
#### Polling Delivery using HTTP
21442144
This section provides SSF profiling specifications for the {{DELIVERYPOLL}} spec.
21452145

@@ -2153,7 +2153,7 @@ url
21532153
Transmitter. These URLs MAY be reused across Receivers, but MUST be unique per
21542154
stream for a given Receiver.
21552155

2156-
# IANA Considerations {#iana}
2156+
# IANA Considerations {#iana}
21572157
Subject Identifiers defined in this document will be added to the "Security
21582158
Events Subject Identifier Types" registry. This registry is defined in the
21592159
Subject Identifiers for Security Event Tokens {{SUBIDS}} specification.

0 commit comments

Comments
 (0)