Hi Vittorio,

Yeah, I’m concerning user & client ids collision.
I haven’t seen such implementations, but user-select username as sub, or 
incremental integer as sub & client_id will be easily collide.

If you can enforce collision resistant IDs between user & client instances, 
it’ll works fine. I feel its overkill though.

Sent from my iPhone

> On Mar 26, 2019, at 8:51, Vittorio Bertocci <vitto...@auth0.com> wrote:
> 
> Hey Nov, Dominick, Hans-
> thanks for the comments. That was an area I was expecting to cause more 
> discussion, and I am glad we are having this opportunity to clarify.
> The current language in the draft traces the etymology of sub to OpenID 
> Connect core, hence Dominick observation is on point. However in the 
> description I express something in line with 7519, which was in fact my 
> intent.
> 
> The idea was to provide an identifier of the calling subject that is 
> guaranteed to be present in all cases- this would allow an SDK developer to 
> use the same code for things like lookups and membership checks regardless of 
> the nature of the caller (user in a delegated case, app in app-only grants). 
> The information to discriminate between user and app callers is always 
> available in the token (say, the caller is a user if sub!=client_id, where 
> client_id is always guaranteed to be present as well) hence there's no loss 
> in expressive power, should that difference be relevant for the resource 
> server.
> 
> Dominick, Hans- I probably missed the security issue you guys are thinking of 
> in this case. Of course, if this would introduce a risk I completely agree it 
> should be changed- I'd just like to understand better the problem. Could you 
> expand it in a scenario/use case to clarify the risk?
> Nov- playing this back: is the concern that a user and a client might have 
> the same identifier within an IDP? When using collision resistant IDs, as it 
> is usually the case, that seems to be a remote possibility- did you stumble 
> in such scenario in production?
> 
> Thanks
> V. 
> 
> 
>> On Mon, Mar 25, 2019 at 7:44 AM Hans Zandbelt <hans.zandb...@zmartzone.eu> 
>> wrote:
>> I believe there are plenty of OAuth 2.0 only use cases out there... but 
>> nevertheless I agree with the potential confusion and thus security problems 
>> arising from that (though one may argue the semantics are the same).
>> 
>> Hans.
>> 
>>> On Mon, Mar 25, 2019 at 3:39 PM Dominick Baier <dba...@leastprivilege.com> 
>>> wrote:
>>> Yes I know - and I think in hindsight it was a mistake to use the same 
>>> claim type for multiple semantics.
>>> 
>>> All the “this is OIDC not OAuth” arguments are making things more 
>>> complicated than they need to be - in my experience almost no-one (that I 
>>> know) does OIDC only - nor OAuth only. They always combine it.
>>> 
>>> In reality this leads to potential security problems - this spec has the 
>>> potential to rectify the situation.
>>> 
>>> Dominick
>>> 
>>>> On 25. March 2019 at 14:58:56, Hans Zandbelt (hans.zandb...@zmartzone.eu) 
>>>> wrote:
>>>> 
>>>> Without agreeing or disagreeing: OIDC does not apply here since it is not 
>>>> OAuth and an access token is not an id_token.
>>>> The JWT spec says in https://tools.ietf.org/html/rfc7519#section-4.1.2:
>>>> 
>>>> "The "sub" (subject) claim identifies the principal that is the
>>>>    subject of the JWT.  The claims in a JWT are normally statements
>>>>    about the subject.  The subject value MUST either be scoped to be
>>>>    locally unique in the context of the issuer or be globally unique.
>>>>    The processing of this claim is generally application specific"
>>>> 
>>>> which kind of spells "client" in case of the client credentials grant but 
>>>> I also do worry about Resource Servers thinking/acting only in terms of 
>>>> users
>>>> 
>>>> Hans.
>>>> 
>>>>> On Mon, Mar 25, 2019 at 2:41 PM Dominick Baier 
>>>>> <dba...@leastprivilege.com> wrote:
>>>>> IMHO the sub claim should always refer to the user - and nothing else.
>>>>> 
>>>>> OIDC says:
>>>>> 
>>>>> "Subject - Identifier for the End-User at the Issuer."
>>>>> 
>>>>> client_id should be used to identify clients.
>>>>> 
>>>>> cheers
>>>>> Dominick
>>>>> 
>>>>>> On 25.. March 2019 at 05:13:03, Nov Matake (mat...@gmail.com) wrote:
>>>>>> 
>>>>>> Hi Vittorio,
>>>>>> 
>>>>>> Thanks for the good starting point of standardizing JWT-ized AT.
>>>>>> 
>>>>>> One feedback.
>>>>>> The “sub” claim can include 2 types of identifier, end-user and client, 
>>>>>> in this spec.
>>>>>> It requires those 2 types of identifiers to be unique each other in the 
>>>>>> IdP context.
>>>>>> 
>>>>>> I prefer omitting “sub” claim in 2-legged context, so that no such 
>>>>>> constraint needed.
>>>>>> 
>>>>>> thanks
>>>>>> 
>>>>>> nov
>>>>>> 
>>>>>>> On Mar 25, 2019, at 8:29, Vittorio Bertocci 
>>>>>>> <vittorio.bertocci=40auth0....@dmarc.ietf.org> wrote:
>>>>>>> 
>>>>>>> Dear all,
>>>>>>> I just submitted a draft describing a JWT profile for OAuth 2.0 access 
>>>>>>> tokens. You can find it in 
>>>>>>> https://datatracker.ietf.org/doc/draft-bertocci-oauth-access-token-jwt/.
>>>>>>> I have a slot to discuss this tomorrow at IETF 104 (I'll be presenting 
>>>>>>> remotely). I look forward for your comments!
>>>>>>> 
>>>>>>> Here's just a bit of backstory, in case you are interested in how this 
>>>>>>> doc came to be. The trajectory it followed is somewhat unusual.
>>>>>>> Despite OAuth2 not requiring any specific format for ATs, through the 
>>>>>>> years I have come across multiple proprietary solution using JWT for 
>>>>>>> their access token. The intent and scenarios addressed by those 
>>>>>>> solutions are mostly the same across vendors, but the syntax and 
>>>>>>> interpretations in the implementations are different enough to prevent 
>>>>>>> developers from reusing code and skills when moving from product to 
>>>>>>> product.
>>>>>>> I asked several individuals from key products and services to share 
>>>>>>> with me concrete examples of their JWT access tokens (THANK YOU 
>>>>>>> Dominick Baier (IdentityServer), Brian Campbell (PingIdentity), Daniel 
>>>>>>> Dobalian (Microsoft), Karl Guinness (Okta) for the tokens and 
>>>>>>> explanations!).
>>>>>>> I studied and compared all those instances, identifying commonalities 
>>>>>>> and differences. 
>>>>>>> I put together a presentation summarizing my findings and suggesting a 
>>>>>>> rough interoperable profile (slides: 
>>>>>>> https://sec.uni-stuttgart.de/_media/events/osw2019/slides/bertocci_-_a_jwt_profile_for_ats.pptx
>>>>>>>  ) - got early feedback from Filip Skokan on it. Thx Filip!
>>>>>>> The presentation was followed up by 1.5 hours of unconference 
>>>>>>> discussion, which was incredibly valuable to get tight-loop feedback 
>>>>>>> and incorporate new ideas. John Bradley, Brian Campbell Vladimir 
>>>>>>> Dzhuvinov, Torsten Lodderstedt, Nat Sakimura, Hannes Tschofenig were 
>>>>>>> all there and contributed generously to the discussion. Thank you!!!
>>>>>>> Note: if you were at OSW2019, participated in the discussion and didn't 
>>>>>>> get credited in the draft, my apologies: please send me a note and I'll 
>>>>>>> make things right at the next update.
>>>>>>> On my flight back I did my best to incorporate all the ideas and 
>>>>>>> feedback in a draft, which will be discussed at IETF104 tomorrow. 
>>>>>>> Rifaat, Hannes and above all Brian were all super helpful in 
>>>>>>> negotiating the mysterious syntax of the RFC format and submission 
>>>>>>> process.
>>>>>>> I was blown away by the availability, involvement and willingness to 
>>>>>>> invest time to get things right that everyone demonstrated in the 
>>>>>>> process. This is an amazing community. 
>>>>>>> V.
>>>>>>> _______________________________________________
>>>>>>> OAuth mailing list
>>>>>>> OAuth@ietf.org
>>>>>>> https://www.ietf.org/mailman/listinfo/oauth
>>>>>> 
>>>>>> _______________________________________________
>>>>>> OAuth mailing list
>>>>>> OAuth@ietf.org
>>>>>> https://www.ietf.org/mailman/listinfo/oauth
>>>>> _______________________________________________
>>>>> OAuth mailing list
>>>>> OAuth@ietf.org
>>>>> https://www.ietf.org/mailman/listinfo/oauth
>>>> 
>>>> 
>>>> --
>>>> hans.zandb...@zmartzone.eu
>>>> ZmartZone IAM - www.zmartzone.eu
>> 
>> 
>> -- 
>> hans.zandb...@zmartzone.eu
>> ZmartZone IAM - www.zmartzone.eu
_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth

Reply via email to