Unless I’m missing something, requiring the authority section to match discounts attackers being able to deploy executable code on a path. This kind of hole was exploited in a number of Facebook hacks. Yes I’m aware that those were dealing with redirect URIs but we’re talking about the same kind of sub-component URI matching here, and I can only see it getting us into trouble.
— Justin > On Jan 27, 2016, at 1:15 PM, Nat Sakimura <sakim...@gmail.com> wrote: > > yeah. > > But for Google, Microsoft, etc., every RP can whitelist, cannot they? ;-) > > Otherwise, for a code phishing attack, you need to implement discovery of > some sort. My thinking before reading your email was: > > if( authority(authz_ep)==authority(token_ep) ) { > get_token(token_ep, code, client_credential); > } else { > get_token(token_ep_from_discovery(), code, client_credential); > } > > where token_ep_from_discovery() either returns the value of the toke_endpoint > member from .well-known/openid-configuration OR the value of turi parameter > in the query. > > 2016年1月28日(木) 2:03 Brian Campbell <bcampb...@pingidentity.com > <mailto:bcampb...@pingidentity.com>>: > There's at least one smallish deployment that has a different authority for > the Authorization Endpoint and the Token Endpoint. > > from https://accounts.google.com/.well-known/openid-configuration > <https://accounts.google.com/.well-known/openid-configuration> : > > { > "issuer": "https://accounts.google.com <https://accounts.google.com/>", > "authorization_endpoint": "https://accounts.google.com/o/oauth2/v2/auth > <https://accounts.google.com/o/oauth2/v2/auth>", > "token_endpoint": "https://www.googleapis.com/oauth2/v4/token > <https://www.googleapis.com/oauth2/v4/token>", > "userinfo_endpoint": "https://www.googleapis.com/oauth2/v3/userinfo > <https://www.googleapis.com/oauth2/v3/userinfo>", > "revocation_endpoint": "https://accounts.google.com/o/oauth2/revoke > <https://accounts.google.com/o/oauth2/revoke>", > "jwks_uri": "https://www.googleapis.com/oauth2/v3/certs > <https://www.googleapis.com/oauth2/v3/certs>", > ... > } > > > On Wed, Jan 27, 2016 at 6:30 AM, John Bradley <ve7...@ve7jtb.com > <mailto:ve7...@ve7jtb.com>> wrote: > It think requiring a common authority segment for the authorization endpoint > and the token endpoint might work in common cases, but there are legitimate > cases where the URI of the Authorization endpoint might be a alias in the > case of multi tenants, all using a common token endpoint. > > The larger problem would be the RS, it is not uncommon to have the AS and RS > in different domains, so with bearer tokens unless you make the same > authority restriction for RS then you are not really stoping the attacker. > They can get the AT by impersonating the RS. > > I think trying to enforce a common origin policy over OAuth would be a bad > direction to go. > > I understand that it seems like a easy fix on the surface, and it works for > most of the things people are using OAuth for today, but would be quite > limiting over the long term. > > John B. > > On Jan 27, 2016, at 7:31 AM, sakim...@gmail.com <mailto:sakim...@gmail.com> > > wrote: > > > > Hi Hans, > > > > Sorry, I mixed up the IdP mix-up attack and the code phishing attack. > > > > Mandating the Authorization and Token Endpoint being in the same > > authority would solve the later without changing the wire protocol. > > > > For AS mix-up attack, mandating the client to change the redirection > > endpoint > > per AS would solve the problem without change the wire protocol. > > > > If these are not possible, then we would have to look at changing the > > wire protocol. The solution that solves the both cases must > > provide the token endpoint URI authoritatively, which means > > you have to mandate some variation of discovery mandatory. > > > > Nat > > > > > > At 2016-01-27 17:01 Hans Zandbelt wrote: > >> I don't see how that can deal with the specific form of the attack > >> where the Client would have sent the authorization request to the > >> legitimate authorization endpoint of a compromised AS and believes it > >> gets the response from that, where in fact it was redirected away to > >> the good AS. > >> IOW, I don't think this is so much about mixing up endpoints where to > >> send stuff to, but mixing up the entity/endpoint from which the Client > >> believes the response was received. That may just be terminology > >> though. > >> Bottom line as far as I see is that a wire protocol element in the > >> response is needed to tell the Client who issued it, regardless of how > >> the Client deals with configuration of the AS information. > >> Hans. > >> On 1/27/16 1:31 AM, Nat Sakimura wrote: > >>> So, is there a lot of cases that the authority section of the Good AS's > >>> Authorization Endpoint and the Token Endpoints are different? > >>> If not, then requiring that they are the same seems to virtually remove > >>> the attack surface for the mix-up related attacks. It does not introduce > >>> new parameter nor discovery. If it can be done, it probably is not worth > >>> adding a new wire protocol element to mitigate the mix-up variants. > > > > > > _______________________________________________ > > OAuth mailing list > > OAuth@ietf.org <mailto:OAuth@ietf.org> > > https://www.ietf.org/mailman/listinfo/oauth > > <https://www.ietf.org/mailman/listinfo/oauth> > > > _______________________________________________ > OAuth mailing list > OAuth@ietf.org <mailto: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