Hi Mike, Regarding the definition of Holder, here I want to share an open issue that aims to clarify this kind of entity, even if it is opened for the openid4vc specs your revision reminds me it https://github.com/openid/OpenID4VP/issues/225
Il giorno lun 5 ago 2024 alle ore 05:55 Michael Jones < michael_b_jo...@hotmail.com> ha scritto: > I read > https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html > in its entirety, resulting in these suggestions. Some are for > readability. Some are for consistency with related specifications, > including JWT. Some are for security and correctness. The most important > comments, including those addressing correctness issues, are in red. > > > > *Abstract > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#abstract>*: > In “It encompasses various applications, including but not limited to the > selective disclosure of JSON Web Token (JWT) claims.”, change “encompasses > various” to “can be used for multiple” or “is applicable to multiple”. The > use of “encompasses” is confusing here, and “various” isn’t a strong word. > > > > *1. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-1>Introduction > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-introduction>*: > In “However, that does not preclude the mechanism's applicability to other > or more general applications of JWS with JSON payloads.”, delete “or more > general”, since it doesn’t add anything but length. > > > > *1. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-1>Introduction > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-introduction>: > Change “Web Authorization Protocol (oauth) working group” to “Web > Authorization Protocol (OAuth) working group”.* > > > > *1. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-1>Introduction > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-introduction>: > In “While JWTs with claims describing natural persons are a common use > case, the mechanisms defined in this document can be used for other use > cases as well.” change “can be used for other use cases as well” to “are > also applicable other use cases” to tighten the exposition.* > > > > *1. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-1>Introduction > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-introduction>: > The usage of “Holder” in “used a number of times by the user (the "Holder" > of the JWT)” inconsistent with its usage in the definitions, which defines > “Holder” as being “an entity”. The usage here in the introduction makes > the holder into a person rather than an entity. Please adjust the language > here to not confuse the user who utilizes the holder with the holder > itself.* > > > > *1. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-1>Introduction > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-introduction>: > The use of the undefined terms “verifiable credential” and “credential” in > “One example of a multi-use JWT is a verifiable credential, an > Issuer-signed credential that contains the claims about a subject, and > whose authenticity can be cryptographically verified.” will almost > certainly cause people to ask you to define them, and then people will > argue about the definitions. Get rid of both terms by changing this to > “One example of a multi-use JWT is an Issuer-signed token that contains > claims about a subject, and whose authenticity can be cryptographically > verified.” and save us some grief! (Although I see that “credential” is > used later. At least ditch “verifiable credential” here!)* > > > > *1. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-1>Introduction > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-introduction>: > In “"Claims" here refers to both object properties (name-value pairs) as > well as array elements.” and all other locations in the spec, change > “name-value” to “name/value” for consistency with the notation in the > “Claim” definition at https://www.rfc-editor.org/rfc/rfc7519.html#section-2 > <https://www.rfc-editor.org/rfc/rfc7519.html#section-2>.* > > > > *1. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-1>Introduction > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-introduction>: > In “"Claims" here refers to both object properties (name-value pairs) as > well as array elements.” change “array elements” to “elements in arrays > that are the values of name/value pairs” (or something like that). Without > saying what the array elements are, readers will be confused about what’s > being referred to. I’d apply this clarification in 4.1. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-4.1>SD-JWT > and Disclosures > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-sd-jwt-and-disclosures> > *and other applicable locations as well. > > > > *1. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-1>Introduction > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-introduction>: > In “they hold the private key associated to the SD-JWT”, change “associated > to” to “associated with”.* > > > > *1. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-1>Introduction > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-introduction>: > During IESG and/or RFC Editor review, we’re likely going to be asked to add > a reference for JSON-LD at “SD-JWT can be used with any JSON-based > representation of claims, including JSON-LD.” If we don’t want that, I’d > delete “, including JSON-LD” now.* > > > > *1.1. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-1.1>Feature > Summary > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-feature-summary>*: > Shorten both uses of “The definition in this document comprises the > following:” to “This comprises the following:” to tighten the exposition. > > > > *1.1. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-1.1>Feature > Summary > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-feature-summary>*: > In “A format for enabling selective disclosure in nested JSON data > structures, supporting selectively disclosable object properties > (name-value pairs) and array elements”, consider expanding “array elements” > in the same manner as the preceding comment to make the meaning more > evident. > > > > *1.1. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-1.1>Feature > Summary > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-feature-summary>*: > In “A facility for associating an SD-JWT to a key pair”, change “to a key > pair” to “with a key pair”, as it reads more naturally. > > > > *1.2. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-1.2>Conventions > and Terminology > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-conventions-and-terminology>*: > I suggest moving the “base64url” definition to the Terms and Definitions > section and use a parallel structure to that at > https://www.rfc-editor.org/rfc/rfc7519.html#section-2. Specifically, say > “The “base64url” term denotes the URL-safe base64 encoding without padding > defined in Section 2 of [RFC7515].” Then introduce the rest of the > definitions with the phrase “These terms are defined by this > specification:” as is done in RFC 7519. The current presentation is fairly > jarring. > > > > *1.2. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-1.2>Conventions > and Terminology > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-conventions-and-terminology>*: > Change “Selective disclosure” to “Selective Disclosure”. > > > > *4.3. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-4.3>Optional > Key Binding > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-optional-key-binding>*: > Change “use-case” to “use case”. > > > > *4.3. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-4.3>Optional > Key Binding > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-optional-key-binding>*: > This disclaimer seems too strong: “Note: How the public key is included in > SD-JWT is out of scope of this document. It can be passed by value or by > reference.”. I suggest changing this to “Means of including or referencing > the public key in the SD-JWT are described in *5.1.2. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-5.1.2>Key > Binding > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-key-binding>* > .” > > > > *5.2.1. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-5.2.1>Disclosures > for Object Properties > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-disclosures-for-object-prop>*: > In “It is RECOMMENDED to base64url-encode minimum 128 bits of > cryptographically secure random data”, insert “a” before “minimum”. Also, > consider moving “See Section 10.3 > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#salt-entropy> > for > security considerations.” to the end of the paragraph. > > > > *5.2.1. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-5.2.1>Disclosures > for Object Properties > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-disclosures-for-object-prop>*: > In “The value MAY be of any type that is allowed in JSON, including > numbers, strings, booleans, arrays, and objects.”, consider adding “null”. > Likewise in *5.2.2. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-5.2.2>Disclosures > for Array Elements > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-disclosures-for-array-eleme>* > . > > > > *5.2.1. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-5.2.1>Disclosures > for Object Properties > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-disclosures-for-object-prop>*: > In “US-ASCII [RFC0020 > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#RFC0020>]”, > consider changing “RFC0020” to the more readable and standard “RFC20”, > matching the reference identifier used at > https://www.rfc-editor.org/rfc/rfc7519.html#section-13.1. > > > > *5.2.2. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-5.2.2>Disclosures > for Array Elements > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-disclosures-for-array-eleme>*: > Some readers and implementers will be confused at this point because the > array disclosure doesn’t indicate what Claim Name the disclosed array > element corresponds to. Please say here how the Claim Name information is > communicated. At the very least, add a forward reference saying that the > way the array element disclosure is associated with the Claim Name is > described in *5.2.4.2. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-5.2.4.2>Array > Elements > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-array-elements>.* > > > > *5.2.3. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-5.2.3>Hashing > Disclosures > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-hashing-disclosures>*: > Consider changing “(often used)” to “(sometimes used)”. > > > > *5.2.3. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-5.2.3>Hashing > Disclosures > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-hashing-disclosures>*: > Change “For example, the SHA-256 digest of the Disclosure” to “For > example, the base64url-encoded SHA-256 digest of the Disclosure” . And add > “base64url-encoded” to the second example as well (for correctness). > > > > *5.2.4.1. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-5.2.4.1>Object > Properties > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-object-properties>*: > Change “family_name” to “given_name” to match the example. > > > > *5.2.4.2. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-5.2.4.2>Array > Elements > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-array-elements>*: > I suggest adding an example also enabling disclosing a second array > element, so that the syntax will be clear to readers. In other words, show > what “unless a matching Disclosure for the second element is received” > would look like. Or add a forward reference showing a place that it’s done. > > > > *5.2.6. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-5.2.6>Recursive > Disclosures > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-recursive-disclosures>*: > Change “conceal presence” to “conceal the presence”. > > > > *5.3. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-5.3>Key > Binding JWT > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-key-binding-jwt>*: > Change “MUST NOT be none.” to “It MUST NOT be "none".”. > > > > *5.3.2. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-5.3.2>Validating > the Key Binding JWT > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-validating-the-key-binding->*: > In “if the SD-JWT contains a cnf value with a jwk member, the Verifier > could parse the provided JWK and use it to verify the Key Binding JWT.”, > change “could” to “MUST”. Make this normative to increase interoperability! > > > > *6.1. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-6.1>Issuance > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-issuance>*: > In “The Issuer is using the following input claim set:”, consider changing > “claim set” to “JWT Claims Set”, so that you’re using the standard JWT > claims terminology. Or at least, change “claim set” to “Claims Set” > (plural) wherever “claim set” is currently used, such as also in *7. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-7>Considerations > on Nested Data in SD-JWTs > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-considerations-on-nested-da>* > . > > > > *6.1. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-6.1>Issuance > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-issuance>*: > There are many places from here on where the label “SHA-256 Hash” is used, > for instance “SHA-256 Hash: jsu9yVulwQQlhFlM_3JlzMaSFzglhQG0DpfayQwLUK4”. > Change all of these to “Base64url-Encoded SHA-256 Hash” for correctness. > > > > *6.1. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-6.1>Issuance > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-issuance>*: > Change “The payload is then signed by the Issuer to create a JWT like the > following:” to “The payload is then signed by the Issuer to create the JWT:” > > > > *6.1. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-6.1>Issuance > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-issuance>*: > Change “The issued SD-JWT might look as follows:” to “The issued SD-JWT > would be as follows:” or “The issued SD-JWT would be:”. > > > > *6.1. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-6.1>Issuance > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-issuance>*: > Change “The following Key Binding JWT payload was created and signed for > this presentation by the Holder:” to “The following Key Binding JWT Claims > Set was created and signed for this presentation by the Holder:”, again, to > use the standard JWT claims terminology. > > > > *7. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-7>Considerations > on Nested Data in SD-JWTs > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-considerations-on-nested-da>*: > Change “Important: The following examples” to “Note that the following > examples”. It’s more standard exposition and less jarring. > > > > *7.2. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-7.2>Example: > Structured SD-JWT > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-example-structured-sd-jwt>*: > Change “In this case there would be no Disclosure for country since it is > provided in the clear.” to “In this case, there would be no Disclosure > for country, since it is provided in the clear.” (adding the two missing > commas). > > > > *8.1. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-8.1>Verification > of the SD-JWT > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-verification-of-the-sd-jwt>*: > Delete “nbf” from “claims such as nbf, iat, and exp” and everywhere else > in the spec, other than in *10.7. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-10.7>Selectively-Disclosable > Validity Claims > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-selectively-disclosable-val>*, > where both “iat” and “nbf” should be listed, as described in my comment > there. “iat” (Issued At) is a standard validity claim in JWT tokens (for > instance, ID Tokens), whereas “nbf” (Not Before) is rarely used, since it > is only useful when future-dating tokens, which is rare. > > > > *8.2. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-8.2>Processing > by the Holder > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-processing-by-the-holder>*: > In “If the Holder receives an SD-JWT+KB, it SHOULD be rejected.”, change > “SHOULD” to “MUST”. Make it normative and thereby more secure. > > > > *9.1. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-9.1>New > Unprotected Header Parameters > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-new-unprotected-header-para>*: > Change “the representation as a regular SD-JWT MUST be created > temporarily” to “the representation as a regular SD-JWT where the JWT uses > the JWS Compact Serialization MUST be created temporarily” or something > similar. The key point is to indicate that the regular SD-JWT being > referenced uses the JWS Compact Serialization for the JWT in the SD-JWT. > You also may want to rework this to also eliminate the somewhat ambiguous > “using a . character as a separator” language in favor of describing the > result as using the JWS Compact Serialization. > > > > *10.1. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-10.1>Mandatory > Signing of the Issuer-signed JWT > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-mandatory-signing-of-the-is>*: > Change “Any of the JWS asymmetric digital signature algorithms registered > in [IANA.JWS.Algorithms > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#IANA.JWS.Algorithms>] > can > be used, including post-quantum algorithms, when they are ready.” to “Any > of the JWS asymmetric digital signature algorithms registered in [ > IANA.JWS.Algorithms > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#IANA.JWS.Algorithms>] > meeting > the security requirements of the application, as described in the last > paragraph of Section 5.2 of [RFC7515], can be used.” It’s NOT, in general, > the case that any registered algorithm can be used. That’s up to the > application. For instance, “ES512” might be acceptable to the application > whereas “RS256” isn’t. Also, the post-quantum language seems superfluous > and non-actionable, so I’d delete it. > > > > *10.3. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-10.3>Entropy > of the salt > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-entropy-of-the-salt>*: > Change “salt” to “Salt” in the title. > > > > *10.7. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-10.7>Selectively-Disclosable > Validity Claims > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-selectively-disclosable-val>*: > Add “iat (Issued At) to the validity claims list before “nbf”, and change > “nbf (Not Before)” to “nbf (Not Before) (if present)”. “iat” (Issued At) > is a standard validity claim in JWT tokens (for instance, ID Tokens), > whereas “nbf” (Not Before) is rarely used, since it is only useful when > future-dating tokens, which is rare. Change all uses of “nbf” to “iat” > elsewhere in the spec. > > > > *10.7. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-10.7>Selectively-Disclosable > Validity Claims > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-selectively-disclosable-val>*: > Change “application-specific profile” to “application-specific profiles”. > > > > *10.10. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-10.10>Integrity > of SD-JWTs and SD-JWT+KBs > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-integrity-of-sd-jwts-and-sd>*: > In “The specific set of Disclosures, however, is not integrity-protected - > the SD-JWT can be modified by adding or removing Disclosures and still be > valid.”, change the dash to a period or semicolon. > > > > *11.1. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-11.1>Storage > of Signed User Data > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-storage-of-signed-user-data>*: > Change “OpenID Connect” to “OpenID Connect [OpenID.Core]” and add the > following reference to the specification: > > > > <reference anchor="OpenID.Core" target= > https://openid.net/specs/openid-connect-core-1_0.html> > > <front> > > <title>OpenID Connect Core 1.0</title> > > > > <author fullname="Nat Sakimura" initials="N." surname="Sakimura"> > > <organization abbrev="NAT.Consulting (was at > NRI)">NAT.Consulting</organization> > > </author> > > > > <author fullname="John Bradley" initials="J." surname="Bradley"> > > <organization abbrev="Yubico (was at Ping > Identity)">Yubico</organization> > > </author> > > > > <author fullname="Michael B. Jones" initials="M.B." > surname="Jones"> > > <organization abbrev="Self-Issued Consulting (was at > Microsoft)">Self-Issued Consulting</organization> > > </author> > > > > <author fullname="Breno de Medeiros" initials="B." surname="de > Medeiros"> > > <organization abbrev="Google">Google</organization> > > </author> > > > > <author fullname="Chuck Mortimore" initials="C." > surname="Mortimore"> > > <organization abbrev="Disney (was at > Salesforce)">Disney</organization> > > </author> > > > > <date day="15" month="December" year="2023"/> > > </front> > > </reference> > > > > *12. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-12>Acknowledgements > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-acknowledgements>*: > Please change “Mike Jones” to “Michael B. Jones”. (Lots of people share my > name so I include my middle initial for disambiguation in professional > contexts.) > > > > *12. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-12>Acknowledgements > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-acknowledgements>*: > Consider sorting the acknowledgements alphabetically by last name, which is > the usual convention. > > > > *13.2. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-13.2>Media > Type Registration > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-media-type-registration>* > and *13.3. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-13.3>Structured > Syntax Suffix Registration > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-structured-syntax-suffix-re>*: > In all the Encoding Considerations, change “separated by period ('.') or > tilde ('~') characters” to “separated by period ('.') and tilde ('~') > characters”. > > > > *14.2. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-14.2>Informative > References > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-informative-references>*: > Add the missing date to the reference “[EUDIW.ARF]”. And if isn’t the most > current public ARF reference, please update to the latest one. > > > > *14.2. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-14.2>Informative > References > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-informative-references>*: > Update the reference “[I-D.ietf-oauth-sd-jwt-vc]” to > https://datatracker.ietf.org/doc/html/draft-ietf-oauth-sd-jwt-vc-04. > > > > *14.2. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-14.2>Informative > References > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-informative-references>*: > Update the reference “[OIDC.IDA]” to > https://openid.net/specs/openid-connect-4-identity-assurance-1_0-14.html > and be sure to include the (currently missing) date. > > > > *14.2. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#section-14.2>Informative > References > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-informative-references>*: > Update the reference “[VC_DATA_v2.0]” to use the current editor list and > date. (For instance, Orie resigned.) > > > > *Appendix A. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#appendix-A>Additional > Examples > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-additional-examples>*: > Consider changing “Important: The following examples” to “Note that the > following examples”. “Important” is unnecessarily jarring. > > > > *A.1. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#appendix-A.1>Simple > Structured SD-JWT > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-simple-structured-sd-jwt>*: > Change “allowing to separately disclose individual members of the claim” to > “allowing separate disclosure of individual members of the claim”. > > > > *A.1. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#appendix-A.1>Simple > Structured SD-JWT > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-simple-structured-sd-jwt>*: > Change “The following is how a presentation of the SD-JWT that discloses > only region and country of the address property could look like:” to “The > following is a presentation of the SD-JWT that discloses > only region and country of the address:”. Similarly, excise other uses of > the extra verbiage “could look like” elsewhere in the specification. > > > > *A.5. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#appendix-A.5>Elliptic > Curve Key Used in the Examples > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-elliptic-curve-key-used-in->*: > Change “The public key used to validate a Key Binding JWT can be found in > the examples as the content of the cnf claim.” to “The public key used to > validate a Key Binding JWT can be found in the examples as the value of the > jwk member of the cnf claim.” > > > > *Appendix B. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#appendix-B>Disclosure > Format Considerations > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-disclosure-format-considera>*: > Change “particularly useful when the content, like JSON, can have > differences but be semantically equivalent.” to “particularly useful when > the content, like JSON, can have different representations but is > semantically equivalent, thus avoiding canonicalization.” > > > > *Appendix B. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#appendix-B>Disclosure > Format Considerations > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-disclosure-format-considera>*: > Change “computation over the data need to be performed and verified” to > “computation over the data needs to be performed and verified”. > > > > *Appendix B. > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#appendix-B>Disclosure > Format Considerations > <https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-10.html#name-disclosure-format-considera>*: > At the end of the paragraph introduced by “1. Canonicalization”, consider > adding the sentence “Canonicalization schemes have a long history of > creating interoperability problems in practice.” > > > > Everywhere: Consider changing the name “…” to something more indicative > of its function, such as “_sd_element” or “_sd_item”. Or alternatively, at > least provide rationale for why that non-obvious name was chosen. > > > > I hope that you find this review helpful in improving the specification. > I look forward to its publication as an RFC and its widespread use! > > > > -- Mike > > > _______________________________________________ > OAuth mailing list -- oauth@ietf.org > To unsubscribe send an email to oauth-le...@ietf.org >
_______________________________________________ OAuth mailing list -- oauth@ietf.org To unsubscribe send an email to oauth-le...@ietf.org