@@ -198,8 +198,8 @@ This spec also directly profiles several IETF Security Events drafts:
198198
199199* Security Event Token (SET) {{RFC8417}}
200200* Subject Identifiers for Security Event Tokens {{SUBIDS}}
201- * Push-Based SET Token Delivery Using HTTP {{DELIVERYPUSH}}
202- * Poll-Based SET Token Delivery Using HTTP {{DELIVERYPOLL}}
201+ * Push-Based SET Token Delivery Using HTTP {{DELIVERYPUSH}}
202+ * Poll-Based SET Token Delivery Using HTTP {{DELIVERYPOLL}}
203203
204204--- middle
205205
@@ -302,7 +302,7 @@ Below is a non-normative example of a Complex Subject claim in a SSF event.
302302 " sub" : "1234"
303303 }
304304}
305- ~~~
305+ ~~~
306306{: # complex-subject-ex title="Example: Complex Subject"}
307307
308308# ## Complex Subject Interpretation {#complex-subject-interpretation}
@@ -327,7 +327,7 @@ scope of this specification.
327327
328328# # Additional Subject Identifier Formats {#additional-subject-id-formats}
329329
330- The following new subject identifier formats are defined :
330+ The following new subject identifier formats are defined :
331331
332332# ## JWT ID Subject Identifier Format {#sub-id-jwt-id}
333333
@@ -345,21 +345,21 @@ jti
345345> REQUIRED. The "jti" (JWT token ID) claim of the JWT being identified, defined
346346 in {{RFC7519}}
347347
348- The "JWT ID" Subject Identifier Format is identified by the name "jwt-id ".
348+ The "JWT ID" Subject Identifier Format is identified by the name "jwt_id ".
349349
350- Below is a non-normative example of Subject Identifier for the "jwt-id " Subject
350+ Below is a non-normative example of Subject Identifier for the "jwt_id " Subject
351351Identifier Format.
352352
353353~~~ json
354354{
355- " format " : " jwt-id " ,
355+ " format " : " jwt_id " ,
356356 " iss " : " https://idp.example.com/123456789/" ,
357357 " jti " : " B70BA622-9515-4353-A866-823539EECBC8"
358358}
359359~~~
360- {: # sub-id-jwtid title="Example: 'jwt-id ' Subject Identifier"}
360+ {: # sub-id-jwtid title="Example: 'jwt_id ' Subject Identifier"}
361361
362- # ## SAML Assertion ID Subject Identifier Format {#sub-id-saml-assertion-id}
362+ # ## SAML Assertion ID Subject Identifier Format {#sub-id-saml-assertion-id}
363363
364364The "SAML Assertion ID" Subject Identifier Format specifies a SAML 2.0
365365{{OASIS.saml-core-2.0-os}} assertion identifier. Subject Identifiers of this
@@ -405,7 +405,7 @@ Additional members about an event may be included in the "events" claim. Some
405405of these members are required and specified as such in the respective event
406406types specs. If a Transmitter determines that it needs to include additional
407407members that are not specified in the event types spec, then the name of such
408- members MUST be a URI. The discoverability of all additional members is
408+ members MUST be a URI. The discoverability of all additional members is
409409specified in the Discovery {{discovery}} section.
410410
411411# Example SETs that conform to the Shared Signals Framework {#events-examples}
@@ -1118,7 +1118,7 @@ Errors are signaled with HTTP status codes as follows:
11181118| 403 | if the Event Receiver is not allowed to read the stream configuration |
11191119| 404 | if there is no Event Stream with the given "stream_id" for this Event Receiver |
11201120{: title="Read Stream Configuration Errors" # tabreadconfig}
1121-
1121+
11221122# ### Updating a Stream’s Configuration {#updating-a-streams-configuration}
11231123An Event Receiver updates the current configuration of a stream by making an
11241124HTTP PATCH request to the Configuration Endpoint. The PATCH body contains a
@@ -1662,14 +1662,14 @@ identified by a Phone Number Subject Identifier:
16621662POST /ssf/subjects:remove HTTP/1.1
16631663Host : transmitter.example.com
16641664Authorization : Bearer eyJ0b2tlbiI6ImV4YW1wbGUifQo=
1665-
1665+
16661666{
16671667 " stream_id " : " f67e39a0a4d34d56b3aa1bc4cff0069f" ,
16681668 " subject " : {
16691669 " format " : " phone" ,
16701670 " phone_number " : " +12065550123"
16711671 }
1672- }
1672+ }
16731673~~~
16741674{: title="Example: Remove Subject Request" # figremovereq}
16751675
@@ -1693,7 +1693,7 @@ Errors are signaled with HTTP status codes as follows:
16931693| 429 | if the Event Receiver is sending too many requests in a given amount of time |
16941694{: title="Remove Subject Errors" # tabremoveerr}
16951695
1696- # ## Verification {#verification}
1696+ # ## Verification {#verification}
16971697In some cases, the frequency of event transmission on an Event Stream will be
16981698very low, making it difficult for an Event Receiver to tell the difference
16991699between expected behavior and event transmission failure due to a misconfigured
@@ -1706,7 +1706,7 @@ delivery is working, including signature verification and encryption.
17061706An Event Transmitter MAY send a Verification Event at any time, even if one was
17071707not requested by the Event Receiver.
17081708
1709- # ### Verification Event {#verification-event}
1709+ # ### Verification Event {#verification-event}
17101710The Verification Event is a standard SET with the following attributes :
17111711
17121712event type
@@ -1855,11 +1855,11 @@ subject
18551855 " format " : " iss_sub" ,
18561856 " iss" : "http://example.com/idp1",
18571857 " sub" : "1234"
1858- }
1859- },
1858+ }
1859+ },
18601860 " status " : " paused" ,
18611861 " reason " : " License is not valid"
1862- }
1862+ }
18631863 }
18641864}
18651865~~~
@@ -1873,9 +1873,9 @@ The receiver may obtain an access token using the Client
18731873Credential Grant {{CLIENTCRED}}, or any other method suitable for the Receiver and the
18741874Transmitter.
18751875
1876- # Security Considerations {#management-sec}
1876+ # Security Considerations {#management-sec}
18771877
1878- # # Subject Probing {#management-sec-subject-probing}
1878+ # # Subject Probing {#management-sec-subject-probing}
18791879It may be possible for an Event Transmitter to leak information about subjects
18801880through their responses to add subject requests. A "404" response may indicate
18811881to the Event Receiver that the subject does not exist, which may inadvertently
@@ -1889,7 +1889,7 @@ to the subject, and Event Receivers MUST NOT assume that a 204 response means
18891889that they will receive events related to the subject.
18901890
18911891
1892- # # Information Harvesting {#management-sec-information-harvesting}
1892+ # # Information Harvesting {#management-sec-information-harvesting}
18931893SETs may contain personally identifiable information (PII) or other non-public
18941894information about the event transmitter, the subject (of an event in the SET),
18951895or the relationship between the two. It is important for Event Transmitters to
@@ -1907,7 +1907,7 @@ transmitting the event. The mechanisms by which such validation is performed
19071907are outside the scope of this specification.
19081908
19091909
1910- # # Malicious Subject Removal {#management-sec-malicious-subject-removal}
1910+ # # Malicious Subject Removal {#management-sec-malicious-subject-removal}
19111911A malicious party may find it advantageous to remove a particular subject from a
19121912stream, in order to reduce the Event Receiver’s ability to detect malicious
19131913activity related to the subject, inconvenience the subject, or for other reasons.
@@ -1922,9 +1922,9 @@ from the stream, and MUST NOT report these events as errors to the Event
19221922Transmitter.
19231923
19241924
1925- # Privacy Considerations {#privacy-considerations}
1925+ # Privacy Considerations {#privacy-considerations}
19261926
1927- # # Subject Information Leakage {#sub-info-leakage}
1927+ # # Subject Information Leakage {#sub-info-leakage}
19281928Event issuers and recipients SHOULD take precautions to ensure that they do not
19291929leak information about subjects via Subject Identifiers, and choose appropriate
19301930Subject Identifier Types accordingly. Parties SHOULD NOT identify a subject
@@ -1935,34 +1935,34 @@ Identifier Type and the same claim values to identify a given subject when
19351935communicating with a given party in order to reduce the possibility of
19361936information leakage.
19371937
1938- # # Previously Consented Data {#previously-consented-data}
1938+ # # Previously Consented Data {#previously-consented-data}
19391939If SSF events contain new values for attributes of Subject Principals that were
19401940previously exchanged between the Transmitter and Receiver, then there are no
19411941additional privacy considerations introduced by providing the updated values in
19421942the SSF events, unless the attribute was exchanged under a one-time consent
19431943obtained from the user.
19441944
1945- # # New Data {#new-data}
1945+ # # New Data {#new-data}
19461946Data that was not previously exchanged between the Transmitter and the Receiver,
19471947or data whose consent to exchange has expired has the following considerations :
19481948
1949- # ## Organizational Data {#organizational-data}
1949+ # ## Organizational Data {#organizational-data}
19501950If a user has previously agreed with a Transmitter that they agree to release
19511951certain data to third-parties, then the Transmitter MAY send such data in SSF
19521952events without additional consent of the user. Such data MAY include
19531953organizational data about the Subject Principal that was generated by the
19541954Transmitter.
19551955
1956- # ## Consentable Data {#consentable-data}
1956+ # ## Consentable Data {#consentable-data}
19571957If a Transmitter intends to include data in SSF events that is not previously
19581958consented to be released by the user, then the Transmitter MUST obtain consent
19591959to release such data from the user in accordance with the Transmitter's privacy
19601960policy.
19611961
1962- # Profiles {#profiles}
1962+ # Profiles {#profiles}
19631963This section is a profile of the following IETF SecEvent specifications :
19641964
1965- * Security Event Token (SET) {{RFC8417}}
1965+ * Security Event Token (SET) {{RFC8417}}
19661966* Push-Based SET Token Delivery Using HTTP {{DELIVERYPUSH}}
19671967* Poll-Based SET Token Delivery Using HTTP {{DELIVERYPOLL}}
19681968
@@ -1972,20 +1972,20 @@ RISC Use Cases {{USECASES}}.
19721972The CAEP use cases that set the requirements are described in CAEP Use Cases (TODO : Add
19731973 reference when file is added to repository.)
19741974
1975- # # Security Event Token Profile {#set-profle}
1975+ # # Security Event Token Profile {#set-profle}
19761976This section provides SSF profiling specifications for the Security Event Token (SET)
19771977{{RFC8417}} spec.
19781978
1979- # ## Signature Key Resolution {#signature-key-resolution}
1979+ # ## Signature Key Resolution {#signature-key-resolution}
19801980The signature key can be obtained through "jwks_uri", see {{discovery}}.
19811981
1982- # ## SSF Event Subject {#event-subjects}
1982+ # ## SSF Event Subject {#event-subjects}
19831983The subject of a SSF event is identified by the "subject" claim within the event
19841984payload, whose value is a Subject Identifier. The "subject" claim is REQUIRED
19851985for all SSF events. The JWT "sub" claim MUST NOT be present in any SET containing
19861986a SSF event.
19871987
1988- # ## SSF Event Properties {#event-properties}
1988+ # ## SSF Event Properties {#event-properties}
19891989The SSF event MAY contain additional claims within the event payload that are
19901990specific to the event type.
19911991
@@ -2028,7 +2028,7 @@ specific to the event type.
20282028~~~
20292029{: # caep-event-properties-example title="Example: SET Containing a CAEP Event with Properties"}
20302030
2031- # ## Explicit Typing of SETs {#explicit-typing}
2031+ # ## Explicit Typing of SETs {#explicit-typing}
20322032SSF events MUST use explicit typing as defined in Section 2.3 of {{RFC8417}}.
20332033
20342034~~~ json
@@ -2044,13 +2044,13 @@ Sections 4.5, 4.6 and 4.7 of {{RFC8417}}. While current Id Token {{IDTOKEN}}
20442044validators may not be using the "typ" header parameter, by requiring it for SSF
20452045SETs a distinct value is guaranteed for future validators.
20462046
2047- # ## The "exp" Claim {#exp-claim}
2047+ # ## The "exp" Claim {#exp-claim}
20482048The "exp" claim MUST NOT be used in SSF SETs.
20492049
20502050The purpose is defense in depth against confusion with other JWTs, as described
20512051in Sections 4.5 and 4.6 of {{RFC8417}}.
20522052
2053- # ## The "aud" Claim {#aud-claim}
2053+ # ## The "aud" Claim {#aud-claim}
20542054The "aud" claim can be a single value or an array. Each value SHOULD be the
20552055OAuth 2.0 client ID. Other values that uniquely identifies the Receiver to the
20562056Transmitter MAY be used, if the two parties have agreement on the format.
@@ -2082,7 +2082,7 @@ multiple Receivers would lead to unintended data disclosure.
20822082~~~
20832083{: title="Example: SET with array 'aud' claim" # figarrayaud}
20842084
2085- # ## The "events" claim {#events-claim}
2085+ # ## The "events" claim {#events-claim}
20862086The "events" claim SHOULD contain only one event. Multiple event type URIs are
20872087permitted only if they are alternative URIs defining the exact same event type.
20882088
@@ -2101,7 +2101,7 @@ on this subject. The Shared Signals Framework is asking for further restrictions
21012101This section provides SSF profiling specifications for the {{DELIVERYPUSH}} and
21022102{{DELIVERYPOLL}} specs.
21032103
2104- # ## Stream Configuration Metadata {#delivery-meta}
2104+ # ## Stream Configuration Metadata {#delivery-meta}
21052105Each delivery method is identified by a URI, specified below by the "method"
21062106metadata.
21072107
@@ -2124,7 +2124,7 @@ authorization_header
21242124> The HTTP Authorization header that the Transmitter MUST set with each event
21252125 delivery, if the configuration is present. The value is optional and it is set
21262126 by the Receiver.
2127-
2127+
21282128# ### Polling Delivery using HTTP
21292129This section provides SSF profiling specifications for the {{DELIVERYPOLL}} spec.
21302130
@@ -2138,7 +2138,7 @@ url
21382138 Transmitter. These URLs MAY be reused across Receivers, but MUST be unique per
21392139 stream for a given Receiver.
21402140
2141- # IANA Considerations {#iana}
2141+ # IANA Considerations {#iana}
21422142Subject Identifiers defined in this document will be added to the "Security
21432143Events Subject Identifier Types" registry. This registry is defined in the
21442144Subject Identifiers for Security Event Tokens {{SUBIDS}} specification.
0 commit comments