I will put that forward in an alternate draft. 

Phil

> On Mar 12, 2016, at 08:28, Mike Jones <michael.jo...@microsoft.com> wrote:
> 
> The AS metadata format is a necessary part of discovery.  No, it doesn’t 
> accomplish every possible aspect of discovery – nor was it ever intended to.  
> I’ve consistently encouraged Phil and others to write down additional aspects 
> of discovery in specifications that build upon this one so that the working 
> group and implementers can evaluate them.
>  
> Since we’re chartered to do discovery and this is part of discovery, no 
> rechartering is needed either for the current specification or for new 
> specifications performing additional discovery tasks.
>  
>                                                           -- Mike
>  
> From: Anthony Nadalin 
> Sent: Saturday, March 12, 2016 8:20 AM
> To: Mike Jones <michael.jo...@microsoft.com>; Brian Campbell 
> <bcampb...@pingidentity.com>; John Bradley <ve7...@ve7jtb.com>
> Cc: oauth <oauth@ietf.org>
> Subject: RE: [OAUTH-WG] Working Group Last Call on OAuth 2.0 Discovery
>  
> We agreed upon a discovery specification that the WG would work on, we did 
> not agree upon what this has turned out to actually be, so at the minimum the 
> chairs should call for adoption of a Authorization Server Metadata 
> specification and we can continue to work on a Discovery specification
>  
> From: Mike Jones 
> Sent: Saturday, March 12, 2016 8:06 AM
> To: Anthony Nadalin <tony...@microsoft.com>; Brian Campbell 
> <bcampb...@pingidentity.com>; John Bradley <ve7...@ve7jtb.com>
> Cc: oauth <oauth@ietf.org>
> Subject: RE: [OAUTH-WG] Working Group Last Call on OAuth 2.0 Discovery
>  
> The draft enables easy configuration of OAuth clients with an AS.  For 
> instance, the Microsoft “ADAL” OAuth client software uses AS metadata in this 
> format as an input at client configuration time.
>  
> As a side benefit, having this standard AS metadata format and returning the 
> issuer URL per the Mix-Up Mitigation draft will also enable clients to 
> validate that they are using a consistent set of AS endpoints and 
> information.  But even without the mitigation benefits, the client 
> configuration benefit is the primary reason for the specification.
>  
>                                                           -- Mike
>  
> From: OAuth [mailto:oauth-boun...@ietf.org] On Behalf Of Anthony Nadalin
> Sent: Friday, March 11, 2016 3:25 PM
> To: Brian Campbell <bcampb...@pingidentity.com>; John Bradley 
> <ve7...@ve7jtb.com>
> Cc: oauth <oauth@ietf.org>
> Subject: Re: [OAUTH-WG] Working Group Last Call on OAuth 2.0 Discovery
>  
> Disagree, what purpose is this activity solving then, it was being pushed as 
> what was need to solve the Mix-up, but that is not true. So now you are 
> suggesting a change in scope and not dealing with discovery.
>  
> From: OAuth [mailto:oauth-boun...@ietf.org] On Behalf Of Brian Campbell
> Sent: Friday, March 11, 2016 3:11 PM
> To: John Bradley <ve7...@ve7jtb.com>
> Cc: oauth <oauth@ietf.org>
> Subject: Re: [OAUTH-WG] Working Group Last Call on OAuth 2.0 Discovery
>  
> I tend to agree with John that addressing the concerns Phil raises should be 
> part of (extension to) the core protocol.  And that those kinds of concerns 
> don't manifest in the way OAuth is typically deployed now. 
> 
> The hopefully soon to be named "OAuth 2.0 Authorization Server Metadata" 
> should keep it's scope to the publishing of authorization server metadata. 
> The act of doing discovery is beyond its scope and so is trying to prevent a 
> client from presenting a token to someplace it shouldn't.
> 
>  
> On Fri, Mar 11, 2016 at 9:08 AM, John Bradley <ve7...@ve7jtb.com> wrote:
> Inline
> On Mar 11, 2016, at 12:13 PM, Phil Hunt (IDM) <phil.h...@oracle.com> wrote:
>  
> John
>  
> In many case all the AS has to check is the domain name component to check 
> for mitm. 
>  
> POP and the other solns are dramatically more complex than a simple check. 
>  
> I was proposing ding that check at the authorization endpoint or token 
> endpoint as part of AT issuance. 
>  
> It is up to the AS how much of the path to validate and or put in the aud or 
> dst. 
>  
>  
>  
> I see it as part of the discovery(bad name aside) problem because we 
> discussed that if a client finds app.example.com how do we ensure it gets a 
> complete set of oauth endpoints as a valid set of endpoints--that a hacker 
> has not inserted one of their own endpoints. The most important endpoint to 
> get right is ensuring the resource server (and optionally the path) is the 
> correct one. We can't really define resource discovery but we can validate it 
> to some degree. 
>  
> I think it is part of core protocol security and should/must not require 
> discovery. 
>  
> What is app.example.com ? 
>  
> If it is the resource then the client would be preconfigured for it’s AS out 
> of band or optionally would do discovery on the issuer uri that you admit 
> needs to be configured out of band some way (note discovery is optional)
>  
> In the AS meta-data draft it would do a get on a well known file that would 
> have configuration for the AS, but not the RS, though some API may optionally 
> list a API endpoint like connect has.  
>  
> The client then makes a authorization request (after registering out of band 
> or dynamically).  
> As part of the authorization request for implicit it could provide the 
> aud/dst that it wants the token for.
> If that is not sent then the aud/dst are implicit in the scopes.
>  
> The client gets back a AT with a list of scopes granted, aud/dst allowed and 
> time to live for the token (one extra thing returned)
>  
> This doesn’t require any discovery (yes there is a optional AS meta-data 
> discovery but not required)
>  
> I prefer to fix the RS man in the middle issue as part of the protocol and 
> not part of discovery that should remain optional.
>  
> I honestly don’t quite know how the client learns about this bad RS and 
> starts talking to it, so this may be a solution to a problem that doesn’t yet 
> exist.   The one place this is posable is if the registration for the client 
> is compromised.  However we are discussing other mitigations for that that 
> also explicitly do not require discovery.
>  
> John B.
>  
>  
> 
> I am not stuck on webfinger or well-known. Because this is config maybe it 
> should be an oauth endpoint. 
> 
> Phil
> 
> On Mar 11, 2016, at 06:51, John Bradley <ve7...@ve7jtb.com> wrote:
> 
> I think Phil is proposing something different.   Should the client send a 
> token from this AS to that RS.  
>  
> His goal is to prevent man in the middle attacks where a bad RS gets a AT 
> that is audianced to/accepted by another RS.
>  
> That is separate from the question of if a RS accepts tokens from a good AS.  
>  A bad AS would always say yes.
>  
> We need to be careful of what if anything the RS provides to the client as 
> meta-data without validation.
>  
> Currently the client can provide a list of scopes required to get access.   I 
> personally feel it would be useful to also include in the unauthenticated 
> error response an indication of what API the resource supports.  Say “scim2” 
> as an example.   I don’t think adding that is however a high priority as most 
> if all clients know what API they expect.   It might be useful if at some 
> point in the future if a client were to be given a RS URI it could check to 
> see if it is a protocol that it supports before bothering with OAuth.    I 
> expect that a lot of people will want that left to the API definition.   I 
> think we can talk about it but rate this low priority.
>  
> I agree that the RS giving out a list of AS that it trusts is a generally bad 
> idea.  I hope that is not on the table.
>  
> I don’t think that preventing a client from sending a token to the wrong RS 
> is part of a AS meta-data discovery problem.
>  
> I do however think that it is important.
>  
> We have been discussing this as a separate problem to AS meta-data discovery 
> where the endpoints of the AS and it’s configuration are discovery.   Sorry 
> for perhaps stating the obvious, but the RS is explicitly not part of the AS 
> in OAuth 2.   Starting in WAP that was a core principal.
>  
> So we have a number of options to address the RS token leakage via MiTM 
> attacks.
>  
> 1) PoP bound tokens.  If they are bound to the TLS channel by mutual TLS or 
> Token binding they cannot be replayed.  Signed messages where the signing 
> covers the RS Host and path components,  also would work.
>  
> 2) Have the AS audience restrict the resources the AT is good at. (AT should 
> be doing that now) 
> In the token response include the list of audience/s the token is presentable 
> at.  The client would throw an error if the RS it intends to send the token 
> to is not on the list.   The RS the token is good at might change based on 
> scopes, client_id and resource owner.   This is the place where all of that 
> comes together.   In some cases the RS and AS might not have a 
> pre-established relationship.   The client should send the RS base URI to the 
> AS as part of the request.  The AS can use that to audience restrict the AT 
> and issue the AT or refuse to issue the AT based on policy.
> It can also use the audience in the request to down audience the AT if the 
> default is to have multiple audiences.    We may want to use a term other 
> than audience for this like resource or destination.  It is a audience but 
> that term might confuse people with AT.
>  
> We did talk about breaking audience out of POP key distribution, and Brian 
> Campbell did a draft 
> https://tools.ietf.org/html/draft-campbell-oauth-dst4jwt.   
>  
> To do this we could take dst4jwt and add another spec that adds a new dst 
> parameter to the token and authorization endpoints requests That would be a 
> space separated list of dst values.  and in the response from the token 
> endpoint would be a JSON array of dst values.
>  
> 3) Have the AS always return all the list of all RS the token can be used at 
> (basically Nat's link relationship proposal).  It needs a way to handle 
> down destinationing of AT and to allow for un-configured RS that it might 
> issue a token for.  So could be combined with dst from 2.  Basically 
> returning the acceptable destinations as link headers vs JS in the response 
> is mostly a style issue that other people can bike shed.
>  
>  
> 4) Trying to add all the RS to the AS discovery document.  This seems 
> impractical as there would be multiple protocols and doesn’t address 
> un-configured RS.
>  
> 5) Some new AS endpoint that the client could introspect the RS URI and get 
> back metadata about if the client should send tokens there.
>     A couple of problems with this.  The first is that it would not support 
> un-configured RS unless you add dst to the token and authorization endpoints. 
>   The other is that the introspection endpoint doesn’t have the context of 
> the RO and client_id unless you also pass the code/RT and client_id, and 
> probably client credentials.    Basically this is trying to introspect the AT 
> to determine the audiance/dst.   By the time you build a new introspection 
> endpoint securely it is going to look like the token endpoint with a bit more 
> meta data about the token beyond expiry and scopes.
>  
>  
> I think we should go a head with the renamed "OAuth 2.0 Authorization Server 
> Discovery Metadata” 
> I am also fine with making the default document 'openid-configuration’  as 
> long as we allow for protocol specific variation so that SCIM2 could define a 
> file name.    If people want we could do a API  to file name registry so that 
> protocol specific ones can be defined.
>  
> We are all-ready working on option 1 to secure AT, we need a spec like I 
> propose in 2 for bearer tokens.  We can add one request parameter and a bit 
> more token meta-data to the token response and that takes care of the 
> problem.   Honestly we probably should have separated scope and destination 
> in the first place and returned both dst and scope in the response all along, 
> so this is update that is consistent with the eisting architecture of OAuth 2.
>  
> Lets keep the two issues separate.
>  
> John B.
>  
>  
>  
>  
> On Mar 11, 2016, at 12:07 AM, Anthony Nadalin <tony...@microsoft.com> wrote:
>  
> The relationship between AS and RS need to be scoped to “does this RS accept 
> tokens from this AS” as a list is too much information that could be used in 
> the wrong way
>  
> From: OAuth [mailto:oauth-boun...@ietf.org] On Behalf Of Nat Sakimura
> Sent: Thursday, March 10, 2016 6:25 PM
> To: Phil Hunt (IDM) <phil.h...@oracle.com>
> Cc: oauth <oauth@ietf.org>
> Subject: Re: [OAUTH-WG] Working Group Last Call on OAuth 2.0 Discovery
>  
> Phil, 
>  
> Right. So what my conditional approvals (11 conditions in total) said was to 
> drop the word "discovery" from everywhere. This is not a discovery spec. This 
> is a configuration lookup spec as you correctly points out. So, I am with you 
> here. 
>  
> Also, my 2nd conditiion is essentially saying to drop section 3. 
>  
> One thing that I overlooked and am with you is that we need to be able to 
> express the AS-RS relationships. I have been preaching this in the other 
> thread for so many times as you know so I thought I pointed it out, but 
> missed apparently in my previous comment. So, I would add my 12th condition: 
>  
> 12. A way to express a list of valid RSs for this AS needs to be added to 
> section 2. 
>  
> Best, 
>  
> Nat
>  
> 2016-03-11 2:09 GMT+09:00 Phil Hunt (IDM) <phil.h...@oracle.com>:
> I strongly oppose. 2 major issues. 
>  
> This is not service discovery this is configuration lookup. The client must 
> have already discovered the oauth issuer uri and the resource uri. 
>  
> The objective was to provide a method to ensure the client has a valid set of 
> endpoints to prevent mitm of endpoints like the token endpoint to the 
> resource server. 
>  
> The draft does not address the issue of a client being given a bad endpoint 
> for an rs. What we end up with is a promiscuous authz service giving out 
> tokens to an unwitting client. 
> 
> Phil
> 
> On Mar 10, 2016, at 08:06, Vladimir Dzhuvinov <vladi...@connect2id.com> wrote:
> 
> +1 to move forward with these
> 
> On 10/03/16 17:35, Brian Campbell wrote:
> +1
>  
> On Thu, Mar 10, 2016 at 6:04 AM, Roland Hedberg <roland.hedb...@umu.se>
> wrote:
>  
> I support this document being moved forward with these two changes:
>  
> - change name to “OAuth 2.0 Authorization Server Discovery Metadata” as
> proposed by Brian and
> - use the URI path suffix ’oauth-authorization-server’ instead of
> ’openid-configuration’ as proposed by Justin.
>  
> 18 feb 2016 kl. 14:40 skrev Hannes Tschofenig <hannes.tschofe...@gmx.net
> :
>  
> Hi all,
>  
> This is a Last Call for comments on the  OAuth 2.0 Discovery
> specification:
> https://tools.ietf.org/html/draft-ietf-oauth-discovery-01
>  
> Since this document was only adopted recently we are running this last
> call for **3 weeks**.
>  
> Please have your comments in no later than March 10th.
>  
> Ciao
> Hannes & Derek
>  
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
> — Roland
>  
> ”Everybody should be quiet near a little stream and listen."
> >From ’Open House for Butterflies’ by Ruth Krauss
>  
>  
> _______________________________________________
> 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
> 
> 
> 
>  
> -- 
> Nat Sakimura (=nat)
> Chairman, OpenID Foundation
> http://nat.sakimura.org/
> @_nat_en
> _______________________________________________
> 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
_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth

Reply via email to