Thanks for the response, Brian.

A few remarks below.

From: Brian Campbell <bcampb...@pingidentity.com>
Sent: Tuesday, November 29, 2022 11:21 PM
To: Hannes Tschofenig <hannes.tschofe...@arm.com>
Cc: oauth <oauth@ietf.org>
Subject: Re: [OAUTH-WG] draft-ietf-oauth-selective-disclosure-jwt

Hi Hannes,

Though I am yet to officially have my name on the document as a co-author, you 
did mention me directly :) And so I'll attempt to answer or respond to your 
questions/statements below.


On Mon, Nov 28, 2022 at 7:24 AM Hannes Tschofenig 
<hannes.tschofe...@arm.com<mailto:hannes.tschofe...@arm.com>> wrote:
Hi Daniel, Hi Kristina, Hi Brian,
Hi all,

Reading through draft-ietf-oauth-selective-disclosure-jwt I was wondering why 
the document defines new terminology for roles that already exist in OAuth.
For example:


  *   Issuer  =  AS
  *   Holder = Client
  *   Verifier = RS

I assume that was done intentionally. What was the rational was.

JWT itself<https://datatracker.ietf.org/doc/rfc7519/> is a product of this WG 
(as I'm sure you remember).. While JWT had important applications in OAuth, it 
was developed as a more general purpose token format and has seen widespread 
usage both in OAuth and beyond. Similarly, SD-JWT is meant to be a general 
purpose selective disclosure mechanism for JWT, which can have applications in 
OAuth but is certainly not constrained to OAuth. As such, the terminology in 
the draft aims to be generally applicable/meaningful. This is 
similar/consistent with JWT/RFC7519, which also does not use terms like AS, RS, 
or client.


[Hannes] I think the draft should provide that background.


You write:

“
One of the common use cases of a signed JWT is representing a user's identity.
“

In classical OAuth this use case should not be common. We bragged about the 
fact that you could to delegated authorization without having to rely on 
identity information. I think it would help to expand this statement a bit and 
explain what the use case is.

A signed JWT representing a user's identity is, in fact, exceedingly common. 
Even in classical OAuth the access tokens almost always convey something about 
an identity - the resource owner in OAuth parlance. The sub in introspection 
https://www.rfc-editor.org/rfc/rfc7662#section-2.2 and the JWT AT profile 
https://datatracker.ietf.org/doc/html/rfc9068#section-2.2 show this in specs, 
for example. Of course the AT format and content aren't defined by OAuth itself 
and are left up to the implementation/deployment so those optional specs don't 
tell the whole story. But every single deployment I've seen has some identity 
info in the AT for delegation.


[Hannes] This paragraph would be a good addition to the draft providing a bit 
of background.

You write:
“ As long as the signed JWT is one-time use, it typically only contains those 
claims the user has consented to disclose to a specific Verifier. However, 
there is an increasing number of use cases where a signed JWT is created once 
and then used a number of times by the user (the "Holder" of the JWT). In such 
cases, the signed JWT needs to contain the superset of all claims the user of 
the signed JWT might want to disclose to Verifiers at some point. The ability 
to selectively disclose a subset of these claims depending on the Verifier 
becomes crucial to ensure minimum disclosure and prevent Verifiers from 
obtaining claims irrelevant for the transaction at hand.
“

Using the same access token with multiple resource servers is not good security 
practice not only from a privacy point of view but also from a security point 
of view.

From reading the introduction I get the impression that you create your own 
problem that is subsequently solved in the document. Since I believe you are 
too clever to do this, I believe the document needs to provide more text to 
explain how this use case emerged. You mention “verifiable credential” as the 
“use case” but it is a technology rather than a use case.

I've reread the introduction (which, in full disclosure, I did not write) and 
honestly feel like it does a pretty decent job of describing the emerging 
problem space and what the draft aims to provide. We certainly don't want to 
leave you or any reader with the impression that the document invents a 
not-real problem only to subsequently solve it. But I'm not getting that 
impression from reading it. And I am honestly not sure how to better avoid 
giving that impression (other than writing this email, I guess).


[Hannes] The obvious solution to only disclose information relevant for a 
recipient is to provide that information. Now, you introduce a new requirement, 
namely that you want to obtain the token once and then share it with many 
recipients.

It would be good to motivate this new requirement since the solution comes with 
a certain cost.


Ciao
Hannes

IMPORTANT NOTICE: The contents of this email and any attachments are 
confidential and may also be privileged. If you are not the intended recipient, 
please notify the sender immediately and do not disclose the contents to any 
other person, use it for any purpose, or store or copy the information in any 
medium. Thank you.
_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth

Reply via email to