Brian, Vittorio,

To move this discussion forward, can you guys suggest some text to make the
logical identifier usage clearer?

Regards,
 Rifaat


On Mon, Jan 21, 2019 at 10:32 AM Brian Campbell <bcampbell=
40pingidentity....@dmarc.ietf.org> wrote:

> As I suggested before, I do think that's within the bounds of the draft's
> definition of 'resource' as a URI. And that perhaps all that's needed is
> some minor adjustment and/or augmentation of some text to make it more
> clear.
>
> On Sun, Jan 20, 2019 at 7:39 PM Vittorio Bertocci <vitto...@auth0.com>
> wrote:
>
>> [sent to John only by mistake, resending to the ML]
>>
>> In Azure AD v1 & ADFS, that's resource. It could be used for both
>> network and logical ids, with the concrete usage in the wild I described
>> earlier.
>> In Azure AD v2, the resource as explicit parameter (network, logic or
>> otherwise) is gone and is expressed as part of the scope string of all the
>> scopes requested for a given resource- but it still exist in practice tho
>> as it still end up in the resulting aud of the issued token.
>> This is 9 months old info hence
>>
>> On Sun, Jan 20, 2019 at 17:58 John Bradley <ve7...@ve7jtb.com> wrote:
>>
>>> What is the parameter that Microsoft is using?
>>> On 1/20/2019 3:59 PM, Vittorio Bertocci wrote:
>>>
>>> First of all, it wasn't my intent to disrupt the established process. In
>>> my former position I wasn't monitoring those discussions hence I didn't
>>> have a chance to offer feedback. When I saw something that gave me the
>>> impression might lead to issues, and given that I worked with actual
>>> deployments and developers using a similar parameter for a long time, I
>>> thought prudent to bring this up. I really appreciate Rifaat's stance on
>>> this. End of preamble.
>>>
>>> Ultimately my goal is for developers to have guidance on how to work
>>> with the concept of logical resource in a standard compliant way, hence it
>>> doesn't strictly matter whether the definition of the corresponding
>>> parameter lives in oauth-resource-indicators or elsewhere.
>>> That said. Reading through the draft, it would appear that most of the
>>> reasons for which the spec was created apply to both the network
>>> addressable and the logical resource types: knowing what keys to use to
>>> encrypt the token, constrain access tokens to the intended audience,
>>> avoiding overloading scopes with resource indicating parts... those all
>>> apply to network addressable and logic identifiers alike. And both
>>> parameters are expected to result in audience restricted tokens. It seems
>>> the only difference comes at token usage time, with the network addressable
>>> case giving more guarantees that the token will go to its intended
>>> recipient, but the request and audience restriction syntax seems to be
>>> exactly the same.
>>> On top of this: in the 99.999% of the scenarios I encountered in the
>>> wild in the last 5 years of using the resource parameter in the MS
>>> ecosystem, the resource identifier was known at design time: the developer
>>> discovered it out of band and placed it in the app config at deployment
>>> time. Those aren't fringe cases I occasionally encountered: the resource
>>> parameter in Azure AD v1 and ADFS was mandatory, hence literally every
>>> solution i saw or touched used it. As Brian suggested, this is a scenario
>>> where the security advantages of the network addressable case aren't as
>>> pronounced as in the case in which the client discovers the resource
>>> identifier at runtime. This isn't just because there is no specification
>>> suggesting location should be explicitly indicated, it's because there are
>>> many practical advantages at development and deployment time to be able to
>>> use logical identifiers- and if the *concrete *security advantages
>>> don't apply to the their case, people will simply not comply.
>>>
>>> In summary: creating two different parameters in two different documents
>>> is better than ignoring he logical identifier case altogether, however I
>>> think that not acknowledging the logical id case
>>> in oauth-resource-indicators is going to create confusion and ultimately
>>> not be as useful to the developer community as it could be.
>>>
>>>
>>>
>>> On Sat, Jan 19, 2019 at 12:38 Phil Hunt <phil.h...@oracle.com> wrote:
>>>
>>>> +1 to Mike and John’s comments.
>>>>
>>>> Phil
>>>>
>>>> On Jan 19, 2019, at 12:34 PM, Mike Jones <
>>>> Michael.Jones=40microsoft....@dmarc.ietf.org> wrote:
>>>>
>>>> I also agree that “resource” should be a specific network-addressable
>>>> URL whereas a separate audience parameter (like “aud” in JWTs) can refer to
>>>> one or more logical resources.  They are different, if related, things..
>>>>
>>>>
>>>>
>>>> Note that the ACE WG is proposing to register a logical audience
>>>> parameter “req_aud” in
>>>> https://tools.ietf.org/html/draft-ietf-ace-oauth-params-01 - partly
>>>> based on feedback from OAuth WG members.  This is a general OAuth
>>>> parameter, which any OAuth deployment will be able to use.
>>>>
>>>>
>>>>
>>>> I therefore believe that no changes are needed to
>>>> draft-ietf-oauth-resource-indicators, as the logical audience work is
>>>> already happening in another draft.
>>>>
>>>>
>>>>
>>>>                                                           -- Mike
>>>>
>>>>
>>>>
>>>> *From:* OAuth <oauth-boun...@ietf.org> *On Behalf Of * John Bradley
>>>> *Sent:* Saturday, January 19, 2019 9:01 AM
>>>> *To:* Brian Campbell <bcampb...@pingidentity.com>
>>>> *Cc:* Vittorio Bertocci <Vittorio=40auth0....@dmarc.ietf.org>; IETF
>>>> oauth WG <oauth@ietf.org>
>>>> *Subject:* Re: [OAUTH-WG] Shepherd write-up for
>>>> draft-ietf-oauth-resource-indicators-01
>>>>
>>>>
>>>>
>>>> We need to decide if we want to make a change.
>>>>
>>>>
>>>>
>>>> For security we are location centric.
>>>>
>>>>
>>>>
>>>> I prefer to keep resource location separate from logical audience that
>>>> can be a scope or other parameter.
>>>>
>>>>
>>>>
>>>> If becomes harder for people to use the parameter correctly if we are
>>>> too flexible.
>>>>
>>>>
>>>>
>>>> I would rather have a separate logical audience parameter if we think
>>>> we want one.
>>>>
>>>>
>>>>
>>>> John B.
>>>>
>>>>
>>>>
>>>> On Sat, Jan 19, 2019, 11:41 AM Brian Campbell <
>>>> bcampb...@pingidentity.com wrote:
>>>>
>>>> No apology needed, Rifaat. And I apologize if what I said came off the
>>>> wrong way. I was just trying to make light of the situation.. And I agree
>>>> that we should not be hamstrung by the process and there are times when it
>>>> makes sense to be flexible with things.
>>>>
>>>>
>>>>
>>>> On Fri, Jan 18, 2019 at 6:22 PM Rifaat Shekh-Yusef <
>>>> rifaat.i...@gmail.com> wrote:
>>>>
>>>> Sorry Brian, I was not clear with my statement.
>>>>
>>>> I meant to say that we should not allow the process to prevent the WG
>>>> from producing a quality document without issues, assuming there is an
>>>> issue in the first place.
>>>>
>>>> Ideally we want to get these identified during the WGLC, but things
>>>> happen and sometimes the WG misses something.
>>>>
>>>>
>>>>
>>>> I hear you and agree that this make things difficult for authors. We
>>>> will make sure that this does not become the norm, and we will try to stick
>>>> to the process as much as possible.
>>>>
>>>>
>>>>
>>>> Regards,
>>>>
>>>>  Rifaat
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> On Fri, Jan 18, 2019 at 5:35 PM Brian Campbell <
>>>> bcampb...@pingidentity.com> wrote:
>>>>
>>>> Thanks Rifaat. Process is as process does, right? I do kinda want to
>>>> grumble about WGCL having passed already but that's mostly because replying
>>>> to these kinds of threads is hard for me and I'll just get over it...
>>>>
>>>>
>>>>
>>>> As far as I understand things, the security concerns come into play
>>>> when the client is being told the by the resource how to identity the
>>>> resource like is described in
>>>> https://tools.ietf.org/html/draft-ietf-oauth-distributed-01 and using
>>>> the actual location in that context ,along with some other checks
>>>> prescribed in that draft, prevents the kind of issues John described
>>>> earlier in the thread.
>>>>
>>>> In cases where the client knows the resource a priori or out-of-band or
>>>> configured or whatever, I don't think the same security concerns arise.. 
>>>> And
>>>> using such a known value, be it an actual location or logical
>>>> representation, would be okay.
>>>>
>>>> The resource-indicators draft is admittedly somewhat location-centric
>>>> in how it talks about the value of the 'resource' parameter. But ultimately
>>>> it defines it as an absolute URI that indicates the location of the target
>>>> service or resource where access is being requested. A location can be
>>>> varying shades of abstract and I'd say that using a URI as 'resource'
>>>> parameter value that's a logical identifier that points to some resource is
>>>> well within the bounds of the draft.
>>>>
>>>>
>>>>
>>>> So maybe the draft is okay as is?
>>>>
>>>>
>>>>
>>>> Or perhaps that's too much to be left as an exerciser to the reader?
>>>> And some text should be added and/or adjusted so the resource-indicators
>>>> draft would be a little more open/clear about the parameter value
>>>> potentially being more of a logical or abstract identifier and not
>>>> necessarily a network addressable URL?
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> On Fri, Jan 18, 2019 at 1:18 PM Rifaat Shekh-Yusef <
>>>> rifaat.i...@gmail.com> wrote:
>>>>
>>>> I wouldn't worry too much about the process.
>>>>
>>>> If it makes sense to update the document, then feel free to do that.
>>>>
>>>>
>>>>
>>>> Regards,
>>>>
>>>>  Rifaat
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> On Fri, Jan 18, 2019 at 3:08 PM John Bradley <ve7...@ve7jtb.com> wrote:
>>>>
>>>> Yes the logical resource can be provided by "scope"
>>>>
>>>>
>>>>
>>>> Some implementations like Ping and Auth0 have been adding another
>>>> parameter "aud" to identify the logical resource and then using scopes to
>>>> define permissions to the resource.
>>>>
>>>>
>>>>
>>>> Fortunately, we are using a different parameter name so not stepping on
>>>> that..
>>>>
>>>>
>>>>
>>>> We could go back and try to add text explaining the difference, but we
>>>> are quite late in the process.
>>>>
>>>>
>>>>
>>>> I agree that a logical resource parameter may be helpful, but perhaps
>>>> it should be a separate draft.
>>>>
>>>>
>>>>
>>>> John B.
>>>>
>>>>
>>>>
>>>> On Fri, Jan 18, 2019 at 4:38 PM Richard Backman, Annabelle <
>>>> richa...@amazon.com> wrote:
>>>>
>>>> Doesn’t the “scope” parameter already provide a means of specifying a
>>>> logical identifier?
>>>>
>>>>
>>>>
>>>> --
>>>>
>>>> Annabelle Richard Backman
>>>>
>>>> AWS Identity
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> *From: *OAuth <oauth-boun...@ietf.org> on behalf of Vittorio Bertocci
>>>> <Vittorio=40auth0....@dmarc.ietf.org <40auth0.....@dmarc.ietf.org>>
>>>> *Date: *Friday, January 18, 2019 at 5:47 AM
>>>> *To: *John Bradley <ve7...@ve7jtb.com>
>>>> *Cc: *IETF oauth WG <oauth@ietf.org>
>>>> *Subject: *Re: [OAUTH-WG] Shepherd write-up for
>>>> draft-ietf-oauth-resource-indicators-01
>>>>
>>>>
>>>>
>>>> Thanks John for the background.
>>>>
>>>> I agree that from the client validation PoV, having an identifier
>>>> corresponding to a location makes things more solid.
>>>>
>>>> That said: the use of logical identifiers is widespread, as it has
>>>> significant practical advantages (think of services that assign generated
>>>> hosting URLs only at deployment time, or services that are somehow grouped
>>>> under the same logical audience across regions/environment/deployments).
>>>> People won't stop using logical identifiers, because they often have no
>>>> alternative (generating new audiences on the fly at the AS every time you
>>>> do a deployment and get assigned a new URL can be unfeasible). Leaving a
>>>> widely used approach as exercise to the reader seems a disservice to the
>>>> community, given that this might lead to vendors (for example Microsoft and
>>>> Auth0) keeping their own proprietary parameters, or developers misusing the
>>>> ones in place; would make it hard for SDK developers to provide libraries
>>>> that work out of the box with different ASes; and so on.
>>>>
>>>> Would it be feasible to add such parameter directly in this spec? That
>>>> would eliminate the interop issues, and also gives us a chance to fully
>>>> warn people about the security shortcomings of choosing that approach.
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> On Thu, Jan 17, 2019 at 4:32 PM John Bradley <ve7...@ve7jtb.com> wrote:
>>>>
>>>> We have discussed this.
>>>>
>>>> Audiences can certainly be logical identifiers.
>>>>
>>>> This however is a more specific location.  The AS is free to map the
>>>> location into some abstract audience in the AT.
>>>>
>>>> From a security point of view once the client starts asking for logical
>>>> resources it can be tricked into asking for the wrong one as a bad resource
>>>> can always lie about what logical resource it is.
>>>>
>>>> If we were to change it, how a client would validate it becomes
>>>> challenging to impossible.
>>>>
>>>> The AS is free to do whatever mapping of locations to identifiers it
>>>> needs for access tokens.
>>>>
>>>> Some implementations may want to keep additional parameters like
>>>> logical audience, but that should be separate from resource.
>>>>
>>>> John B.
>>>>
>>>> On 1/17/2019 9:56 AM, Rifaat Shekh-Yusef wrote:
>>>>
>>>> Hi Vittorio,
>>>>
>>>>
>>>>
>>>> The text you quoted is copied form the abstract of the draft itself.
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> *Authors,*
>>>>
>>>>
>>>>
>>>> Should the draft be updated to cover the logical identifier case?
>>>>
>>>>
>>>>
>>>> Regards,
>>>>
>>>>  Rifaat
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> On Thu, Jan 17, 2019 at 8:19 AM Vittorio Bertocci <vitto...@auth0.com>
>>>> wrote:
>>>>
>>>> Hi Rifaat,
>>>>
>>>> one detail. The tech summary says
>>>>
>>>>
>>>>
>>>> An extension to the OAuth 2.0 Authorization Framework defining request
>>>>
>>>> parameters that enable a client to explicitly signal to an authorization 
>>>> server
>>>>
>>>> about the *location* of the protected resource(s) to which it is requesting
>>>>
>>>> access.
>>>>
>>>> But at least in the Microsoft implementation, the resource identifier
>>>> doesn't *have* to be a network addressable URL (and if it is, it
>>>> doesn't strictly need to match the actual resource location). It can be a
>>>> logical identifier, tho using the actual resource location there has
>>>> benefits (domain ownership check, prevention of token forwarding etc).
>>>>
>>>> Same for Auth0, the audience parameter is a logical identifier rather
>>>> than a location.
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> On Wed, Jan 16, 2019 at 6:32 PM Rifaat Shekh-Yusef <
>>>> rifaat.i...@gmail.com> wrote:
>>>>
>>>> All,
>>>>
>>>>
>>>>
>>>> The following is the first shepherd write-up for
>>>> the draft-ietf-oauth-resource-indicators-01 document.
>>>>
>>>>
>>>> https://datatracker.ietf.org/doc/draft-ietf-oauth-resource-indicators/shepherdwriteup/
>>>>
>>>>
>>>>
>>>> Please, take a look and let me know if I missed anything.
>>>>
>>>>
>>>>
>>>> Regards,
>>>>
>>>>  Rifaat
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> 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 
>>>> <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
>>>>
>>>> _______________________________________________
>>>> OAuth mailing list
>>>> OAuth@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/oauth
>>>>
>>>>
>>>> *CONFIDENTIALITY NOTICE: This email may contain confidential and
>>>> privileged material for the sole use of the intended recipient(s). Any
>>>> review, use, distribution or disclosure by others is strictly prohibited.
>>>> If you have received this communication in error, please notify the sender
>>>> immediately by e-mail and delete the message and any file attachments from
>>>> your computer. Thank you.*
>>>>
>>>>
>>>> *CONFIDENTIALITY NOTICE: This email may contain confidential and
>>>> privileged material for the sole use of the intended recipient(s). Any
>>>> review, use, distribution or disclosure by others is strictly prohibited..
>>>> If you have received this communication in error, please notify the sender
>>>> immediately by e-mail and delete the message and any file attachments from
>>>> your computer. Thank you.*
>>>>
>>>> _______________________________________________
>>>> OAuth mailing list
>>>> OAuth@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/oauth
>>>>
>>>>
> *CONFIDENTIALITY NOTICE: This email may contain confidential and
> privileged material for the sole use of the intended recipient(s). Any
> review, use, distribution or disclosure by others is strictly prohibited...
> If you have received this communication in error, please notify the sender
> immediately by e-mail and delete the message and any file attachments from
> your computer. Thank you.*_______________________________________________
> 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

Reply via email to