The reason why section 10.11 recommends JWT type to be defined by the
use-case is because SD-JWT specification is not meant only for one kind of
use-case/architecture. SD-JWT document does not define a stand alone
credential format for issuer-holder-verifier model, SD-JWT VC document is
intended to serve that purpose. Theoretically, SD-JWT could be used with
any other JWTs (such as ID Tokens, Access Tokens, JARM JWTs, etc.) which
have their own typing. So giving SD-JWT construct itself an explicit type
is not very helpful (though still defined for the cases where no
example+sd-jwt media type is defined), and might even become the source of
the confusion if developers start using a type defined in the SD-JWT
document instead of a type defined in documents like SD-JWT VC.

This is why the SD-JWT draft already defined both application/sd-jwt
and +sd-jwt Structured Syntax for use-cases like application/vc+sd-jwt in
SD-JWT VC, and if I am interpreting the thread correctly, sounds like that
is a good balance and is the way to go.

Hope this helps,
Kristina



On Sun, Sep 22, 2024 at 7:40 PM Rohan Mahy <rohan.m...@gmail.com> wrote:

> But when you *don't* use the public key to secure more than a single type
> of application message (unsurprisingly a very common use case), there is no
> issue. Given that the current document defers to profiles all decisions
> about which validation claims to require, which is a much more serious
> likely security concern, I think a default type should be defined,
> mentioned in security considerations, and its use (or not) can be profiled
> as appropriate.
> Thanks,
> -rohan
>
> On Sun, Sep 22, 2024 at 10:24 AM David Waite <da...@alkaline-solutions.com>
> wrote:
>
>> There are security issues from this however if the public key is used to
>> secure more than a single type of application message - say a message
>> normally used to indicate someone is logging out accidentally being
>> accepted for log-in or as a valid session token on a website.
>>
>> In this scenario, you need some way to differentiate the two messages
>> reliably (across many potential interoperable implementations), and making
>> them different media types is the best current practice.
>>
>> -DW
>>
>> On Sep 22, 2024, at 10:52 AM, Rohan Mahy <rohan.m...@gmail.com> wrote:
>>
>> 
>> Hi,
>> If someone defines a new profile application/foobar-audit-system and it
>> has sd-jwt, jwt, and sd-cwt versions, it seems perfectly reasonable to have
>> a fine-grained explicit media type application/foobar-audit-system+sd-jwt.
>> That said, there are times when someone just wants an sd-jwt with an
>> unspecified profile. In this second case, it makes more sense to me to also
>> register application/sd-jwt. The implementor should fill in whichever form
>> they are using in the `typ` header.
>>
>> Thanks,
>> -rohan
>>
>> On Sat, Sep 21, 2024 at 12:17 PM Michael Jones <
>> michael_b_jo...@hotmail.com> wrote:
>>
>>> Actually, the JWT BCP (which we were both authors of) does not recommend
>>> using a single media type.  Rather, it recommends using a specific
>>> media type suffix in the “typ” values
>>> <https://www.rfc-editor.org/rfc/rfc8725.html#name-use-explicit-typing>:
>>>
>>> When explicit typing is employed for a JWT, it is *RECOMMENDED* that a
>>> media type name of the format "application/example+jwt" be used, where
>>> "example" is replaced by the identifier for the specific kind of JWT.
>>>
>>>
>>>
>>> SD-JWT is doing the same thing, recommending the use of the media type
>>> suffix “+sd-jwt”.
>>>
>>>
>>>
>>> This enables more fine-grained explicit typing.  For instance, when
>>> doing explicit typing for an SD-JWT in the Example use case, the “typ”
>>> value would be “example+sd-jwt”.  This can then be distinguished from an
>>> SD-JWT for the Other use case, which would use the “typ” value
>>> “other+sd-jwt” – meeting the goal of explicit typing.
>>>
>>>
>>>
>>>                                                                 -- Mike
>>>
>>>
>>>
>>> *From:* Dick Hardt <dick.ha...@gmail.com>
>>> *Sent:* Saturday, September 21, 2024 9:16 AM
>>> *To:* Daniel Fett <m...@danielfett.de>
>>> *Cc:* oauth@ietf.org; krist...@sfc.keio.ac.jp
>>> *Subject:* [OAUTH-WG] Re: SD-JWT architecture feedback
>>>
>>>
>>>
>>> …
>>>
>>>
>>>
>>> *Explicit Typing*
>>>
>>> Why leave the typing in the header to be determined by the application
>>> (10.11), and not just be 'sd-jwt' and be REQUIRED?
>>>
>>> We had extensive discussions around typing, please refer to the
>>> following issues:
>>>
>>> - https://github.com/oauth-wg/oauth-selective-disclosure-jwt/issues/267
>>>
>>> - https://github.com/oauth-wg/oauth-selective-disclosure-jwt/issues/327
>>>
>>> - https://github.com/oauth-wg/oauth-selective-disclosure-jwt/issues/345
>>>
>>>
>>>
>>> Those issues don't really address the point.
>>>
>>>
>>>
>>> Per RFC 8725: JSON Web Token Best Current Practices (rfc-editor.org)
>>> <https://www.rfc-editor.org/rfc/rfc8725.html#name-use-explicit-typing> --
>>> the best practice would be to have a single type that would allow a library
>>> to know it is an SD-JWT. If additional context is needed, perhaps that
>>> should be a different header property?
>>> _______________________________________________
>>> 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
>>
>>
_______________________________________________
OAuth mailing list -- oauth@ietf.org
To unsubscribe send an email to oauth-le...@ietf.org

Reply via email to