Interesting. No code change even at the now compromised AS? I can see that the phase two, the cut-and-paste attack portion works, but I cannot see how the first portion works. Could you elaborate? 2016年1月28日(木) 5:56 Hans Zandbelt <hzandb...@pingidentity.com>:
> a perfectly valid - at first - AS may get compromised later and used to > attack other ASes; that attacj does not require code changes or control > over the authorization endpoint: a rogue employee that happens to have > access to log files (granted those include GET & POST data) on the AS > can mount the attack if only he can phish the user > > we can't expect that Clients are able to judge whether an AS will become > compromised in the future; in fact that pushes the problems to the > really good AS who now needs to decide if it accepts Clients that are > able to make that judgement call about other ASes that it connects to > > Hans. > > On 1/27/16 8:48 PM, Justin Richer wrote: > > I propose we rename this the “Random ASs Attack”. > > > > — Justin (only half joking) > > > >> On Jan 27, 2016, at 8:07 AM, Nat Sakimura <sakim...@gmail.com > >> <mailto:sakim...@gmail.com>> wrote: > >> > >> Yup. > >> > >> For the RPs that would deal with valuable data, I also recommend it to > >> become HTTPS only. This will effectively close the hole for the AS > >> Mix-Up. > >> Also, I would recommend to the clients to think twice before accepting > >> random ASs. > >> To prevent the code phishing, it is a good idea to require the same > >> authority restriction. Otherwise, use some variant of discovery to get > >> the authoritative token endpoints. > >> > >> > >> 2016年1月27日(水) 21:49 George Fletcher <gffle...@aol.com > >> <mailto:gffle...@aol.com>>: > >> > >> Based on Hans' response to Nat I understand why this doesn't solve > >> all the use cases. It does still seem like a good idea from a > >> client perspective that would address the dynamic client > >> registration cases where the Bad AS is returning mixed endpoints. > >> > >> > >> On 1/27/16 7:43 AM, George Fletcher wrote: > >>> Following up on Nat's last paragraph... did the group in > >>> Darmstadt discuss this option? Namely, to require that the > >>> authority section of the AuthZ and Token endpoints be the same? > >>> Are there known implementations already deployed where the > >>> authority sections are different? It seems like a simple check > >>> that would address the endpoint mix-up cases. > >>> > >>> Thanks, > >>> George > >>> > >>> On 1/26/16 8:58 PM, Nat Sakimura wrote: > >>>> John, > >>>> > >>>> Nov is not talking about the redirection endpoint. I just > >>>> noticed that 3.1.2.1 of RFC 6749 is just asking TLS by "SHOULD" > >>>> and I think it needs to be changed to "MUST" but that is not > >>>> what he is talking about. > >>>> > >>>> Instead, he is talking about before starting the RFC 6749 flow. > >>>> > >>>> In many cases, a non TLS protected sites have "Login with HIdP" > >>>> button linked to a URI that initiates the RFC 6749 flow. This > >>>> portion is not within RFC 6749 and this endpoint has no name or > >>>> no requirement to be TLS protected. Right, it is very stupid, > >>>> but there are many sites like that. > >>>> As a result, the attacker can insert itself as a proxy, say by > >>>> providing a free wifi hotspot, and either re-write the button or > >>>> the request so that the RP receives "Login with AIdP" instead of > >>>> "Login with HIdP". > >>>> > >>>> I have add a note explaining this to > >>>> < > http://nat.sakimura.org/2016/01/15/idp-mix-up-attack-on-oauth-rfc6749/> > http://nat.sakimura.org/2016/01/15/idp-mix-up-attack-on-oauth-rfc6749/ > >>>> > >>>> I also have added a bit of risk analysis on it and considered > >>>> other risk control measures as well. > >>>> > >>>> It does not seem to be worthwhile to introduce a new > >>>> wire-protocol element to deal with this particular attack. (I > >>>> regard code cut-and-paste attack a separate attack.) I am > >>>> inclining to think that just to TLS protect the pre-RFC6749 flow > >>>> portion and add a check to disallow the ASs that has different > >>>> authority section for the Auhtz EP and Token EP would be adequate. > >>>> > >>>> Nat > >>>> > >>>> 2016年1月27日(水) 2:18 John Bradley > >>>> <<mailto:ve7...@ve7jtb.com>ve7...@ve7jtb.com > >>>> <mailto:ve7...@ve7jtb.com>>: > >>>> > >>>> Nov, > >>>> > >>>> Are you referring to Sec 3.1.2.1 of RFC 6749. > >>>> > >>>> Stating that the the redirection endpoint SHOULD require > >>>> TLS, and that the AS should warn the user if the redirect > >>>> URI is not over TLS (Something I have never seen done in the > >>>> real world) > >>>> > >>>> Not using TLS is reasonable when the redirect URI is using a > >>>> custom scheme for native apps. > >>>> > >>>> It might almost be reasonable for the token flow where the > >>>> JS page itself is not loaded over TLS so the callback to > >>>> extract the fragment would not be as well. > >>>> Note that the token itself is never passed over a non https > >>>> connection in tis case. > >>>> I would argue now that it is irresponsible to have a non TLS > >>>> protected site, but not everyone is going to go along with > >>>> that. > >>>> > >>>> Using a http scheme URI for the redirect is allowed but is > >>>> really stupid. We did have a large debate about this when > >>>> profiling OAuth for Connect. > >>>> We did tighten connect to say that if you are using the code > >>>> flow then a http scheme redirect URI is only allowed if the > >>>> client is confidential. > >>>> > >>>> John B. > >>>>> On Jan 26, 2016, at 1:14 AM, Phil Hunt (IDM) > >>>>> <phil.h...@oracle.com <mailto:phil.h...@oracle.com>> wrote: > >>>>> > >>>>> Still don't see it. Though i think the diagram is wrong > >>>>> (the rp should redirct to the ua and not call the authz > >>>>> direct), the IDP should either return an error or redirect > >>>>> the RP to TLS. > >>>>> > >>>>> I don't see this as proper oauth protocol since the RP is > >>>>> MITM the UA rather than acting as a client. > >>>>> > >>>>> Phil > >>>>> > >>>>> On Jan 25, 2016, at 19:57, nov matake > >>>>> <<mailto:mat...@gmail.com>mat...@gmail.com > >>>>> <mailto:mat...@gmail.com>> wrote: > >>>>> > >>>>>> In this flow, AuthZ endpoint is forced to be TLS-protected. > >>>>>> > http://nat.sakimura.org/wp-content/uploads/2016/01/oauth-idp-mixup.png > >>>>>> > >>>>>> However, RP’s redirect response which causes following > >>>>>> AuthZ request is still not TLS-protected, and modified on > >>>>>> the attacker’s proxy. > >>>>>> > >>>>>> Section 3.2 of this report also describes the same flow. > >>>>>> http://arxiv.org/pdf/1601.01229v2.pdf > >>>>>> > >>>>>>> On Jan 26, 2016, at 12:37, Phil Hunt (IDM) > >>>>>>> <<mailto:phil.h...@oracle.com>phil.h...@oracle.com > >>>>>>> <mailto:phil.h...@oracle.com>> wrote: > >>>>>>> > >>>>>>> Also the authz endpoint is required to force tls. So if > >>>>>>> the client doesn't do it the authz should reject (eg by > >>>>>>> upgrading to tls). > >>>>>>> > >>>>>>> Phil > >>>>>>> > >>>>>>> On Jan 25, 2016, at 19:29, Phil Hunt (IDM) > >>>>>>> <<mailto:phil.h...@oracle.com>phil.h...@oracle.com > >>>>>>> <mailto:phil.h...@oracle.com>> wrote: > >>>>>>> > >>>>>>>> When the RP acting as the client issues a authorize > >>>>>>>> redirect to the UA it has to make it with TLS > >>>>>>>> > >>>>>>>> Phil > >>>>>>>> > >>>>>>>> On Jan 25, 2016, at 17:53, Nov Matake > >>>>>>>> <<mailto:mat...@gmail.com>mat...@gmail.com > >>>>>>>> <mailto:mat...@gmail.com>> wrote: > >>>>>>>> > >>>>>>>>> It doen't say anything about the first request which > >>>>>>>>> initiate the login flow. > >>>>>>>>> It is still a reasonable assumption that RP puts a > >>>>>>>>> "login with FB" button on a non TLS-protected page. > >>>>>>>>> > >>>>>>>>> nov > >>>>>>>>> > >>>>>>>>> On Jan 26, 2016, at 10:45, Phil Hunt > >>>>>>>>> <<mailto:phil.h...@oracle.com>phil.h...@oracle.com > >>>>>>>>> <mailto:phil.h...@oracle.com>> wrote: > >>>>>>>>> > >>>>>>>>>> I would find it hard to believe that is true. > >>>>>>>>>> > >>>>>>>>>> From 6749 Sec 3.1 > >>>>>>>>>> Since requests to the authorization endpoint result > in user > >>>>>>>>>> authentication and the transmission of clear-text > credentials (in the > >>>>>>>>>> HTTP response), the authorization server MUST > require the use of TLS > >>>>>>>>>> as described inSection 1.6 > >>>>>>>>>> <https://tools.ietf.org/html/rfc6749#section-1.6> > when sending requests to the > >>>>>>>>>> authorization endpoint. > >>>>>>>>>> > >>>>>>>>>> Sec 3.1.2.1 > >>>>>>>>>> The redirection endpoint SHOULD require the use of > TLS as described > >>>>>>>>>> inSection 1.6 > >>>>>>>>>> <https://tools.ietf.org/html/rfc6749#section-1.6> > when the requested response type is "code" or "token", > >>>>>>>>>> or when the redirection request will result in the > transmission of > >>>>>>>>>> sensitive credentials over an open network. This > specification does > >>>>>>>>>> not mandate the use of TLS because at the time of > this writing, > >>>>>>>>>> requiring clients to deploy TLS is a significant > hurdle for many > >>>>>>>>>> client developers. If TLS is not available, the > authorization server > >>>>>>>>>> SHOULD warn the resource owner about the insecure > endpoint prior to > >>>>>>>>>> redirection (e.g., display a message during the > authorization > >>>>>>>>>> request). > >>>>>>>>>> > >>>>>>>>>> Lack of transport-layer security can have a severe > impact on the > >>>>>>>>>> security of the client and the protected resources > it is authorized > >>>>>>>>>> to access. The use of transport-layer security is > particularly > >>>>>>>>>> critical when the authorization process is used as > a form of > >>>>>>>>>> delegated end-user authentication by the client > (e.g., third-party > >>>>>>>>>> sign-in service). > >>>>>>>>>> > >>>>>>>>>> Section 10.5 talks about transmission of authorization > >>>>>>>>>> codes in connection with redirects. > >>>>>>>>>> > >>>>>>>>>> Also see 6819, Sec 4.4.1.1 regarding eavesdropping or > >>>>>>>>>> leaking of authz codes. > >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>> Phil > >>>>>>>>>> > >>>>>>>>>> @independentid > >>>>>>>>>> <http://www.independentid.com/>www.independentid.com > >>>>>>>>>> <http://www.independentid.com/> > >>>>>>>>>> <mailto:phil.h...@oracle.com>phil.h...@oracle.com > >>>>>>>>>> <mailto:phil.h...@oracle.com> > >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>>> On Jan 25, 2016, at 4:52 PM, nov matake > >>>>>>>>>>> <<mailto:mat...@gmail.com>mat...@gmail.com > >>>>>>>>>>> <mailto:mat...@gmail.com>> wrote: > >>>>>>>>>>> > >>>>>>>>>>> The first assumption is coming from the original > >>>>>>>>>>> security report at > >>>>>>>>>>> <http://arxiv.org/abs/1601.01229> > http://arxiv.org/abs/1601.01229. > >>>>>>>>>>> > >>>>>>>>>>> RFC 6749 requires TLS between RS and AS, and also > >>>>>>>>>>> between UA and AS, but not between UA and RS. > >>>>>>>>>>> > >>>>>>>>>>> The blog post is based on my Japanese post, and it > >>>>>>>>>>> describes multi-AS case. > >>>>>>>>>>> Nat's another post describes the case which can > >>>>>>>>>>> affect single-AS case too. > >>>>>>>>>>> < > http://nat.sakimura.org/2016/01/22/code-phishing-attack-on-oauth-2-0-rfc6749/ > > > http://nat.sakimura.org/2016/01/22/code-phishing-attack-on-oauth-2-0-rfc6749/ > >>>>>>>>>>> > >>>>>>>>>>> nov > >>>>>>>>>>> > >>>>>>>>>>>> On Jan 26, 2016, at 08:22, Phil Hunt > >>>>>>>>>>>> <<mailto:phil.h...@oracle.com>phil.h...@oracle.com > >>>>>>>>>>>> <mailto:phil.h...@oracle.com>> wrote: > >>>>>>>>>>>> > >>>>>>>>>>>> Sorry, meant to reply-all. > >>>>>>>>>>>> > >>>>>>>>>>>> Phil > >>>>>>>>>>>> > >>>>>>>>>>>> @independentid > >>>>>>>>>>>> <http://www.independentid.com/>www.independentid.com > >>>>>>>>>>>> <http://www.independentid.com/> > >>>>>>>>>>>> <mailto:phil.h...@oracle.com>phil.h...@oracle.com > >>>>>>>>>>>> <mailto:phil.h...@oracle.com> > >>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>>>>>> Begin forwarded message: > >>>>>>>>>>>>> > >>>>>>>>>>>>> *From: *Phil Hunt <phil.h...@oracle.com > >>>>>>>>>>>>> <mailto:phil.h...@oracle.com>> > >>>>>>>>>>>>> *Subject: **Re: [OAUTH-WG] Call for Adoption: OAuth > >>>>>>>>>>>>> 2.0 Mix-Up Mitigation* > >>>>>>>>>>>>> *Date: *January 25, 2016 at 3:20:19 PM PST > >>>>>>>>>>>>> *To: *Nat Sakimura <sakim...@gmail.com > >>>>>>>>>>>>> <mailto:sakim...@gmail.com>> > >>>>>>>>>>>>> > >>>>>>>>>>>>> I am having trouble with the very first assumption. > >>>>>>>>>>>>> The user-agent sets up a non TLS protected > >>>>>>>>>>>>> connection to the RP? That’s a fundamental > >>>>>>>>>>>>> violation of 6749. > >>>>>>>>>>>>> > >>>>>>>>>>>>> Also, the second statement says the RP (assuming it > >>>>>>>>>>>>> acts as OAuth client) is talking to two IDPs. > >>>>>>>>>>>>> That’s still a multi-AS case is it not? > >>>>>>>>>>>>> > >>>>>>>>>>>>> Phil > >>>>>>>>>>>>> > >>>>>>>>>>>>> @independentid > >>>>>>>>>>>>> <http://www.independentid.com/>www.independentid.com > <http://www.independentid.com/> > >>>>>>>>>>>>> <mailto:phil.h...@oracle.com>phil.h...@oracle.com > >>>>>>>>>>>>> <mailto:phil.h...@oracle.com> > >>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>>>>>> On Jan 25, 2016, at 2:58 PM, Nat Sakimura > >>>>>>>>>>>>>> <<mailto:sakim...@gmail.com>sakim...@gmail.com > >>>>>>>>>>>>>> <mailto:sakim...@gmail.com>> wrote: > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> Hi Phil, > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> Since I was not in Darmstadt, I really do not know > >>>>>>>>>>>>>> what was discussed there, but with the compromised > >>>>>>>>>>>>>> developer documentation described in > >>>>>>>>>>>>>> < > http://nat.sakimura.org/2016/01/15/idp-mix-up-attack-on-oauth-rfc6749/> > http://nat.sakimura.org/2016/01/15/idp-mix-up-attack-on-oauth-rfc6749/, > >>>>>>>>>>>>>> all RFC6749 clients with a naive implementer will > >>>>>>>>>>>>>> be affected. The client does not need to be > >>>>>>>>>>>>>> talking to multiple IdPs. > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> Nat > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> 2016 年1月26日(火) 3:58 Phil Hunt (IDM) > >>>>>>>>>>>>>> <<mailto:phil.h...@oracle.com>phil.h...@oracle.com > >>>>>>>>>>>>>> <mailto:phil.h...@oracle.com>>: > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> I recall making this point in Germany. 99% of > >>>>>>>>>>>>>> existing use is fine. OIDC is probably the > >>>>>>>>>>>>>> largest community that *might* have an issue. > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> I recall proposing a new security document > >>>>>>>>>>>>>> that covers oauth security for dynamic > >>>>>>>>>>>>>> scenarios. "Dynamic" being broadly defined to > >>>>>>>>>>>>>> mean: > >>>>>>>>>>>>>> * clients who have configured at runtime or > >>>>>>>>>>>>>> install time (including clients that do > discovery) > >>>>>>>>>>>>>> * clients that communicate with more than one > >>>>>>>>>>>>>> endpoint > >>>>>>>>>>>>>> * clients that are deployed in large volume > >>>>>>>>>>>>>> and may update frequently (more discussion of > >>>>>>>>>>>>>> "public" cases) > >>>>>>>>>>>>>> * clients that are script based (loaded into > >>>>>>>>>>>>>> browser on the fly) > >>>>>>>>>>>>>> * others? > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> Phil > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> > On Jan 25, 2016, at 10:39, George Fletcher > >>>>>>>>>>>>>> <<mailto:gffle...@aol.com>gffle...@aol.com > >>>>>>>>>>>>>> <mailto:gffle...@aol.com>> wrote: > >>>>>>>>>>>>>> > > >>>>>>>>>>>>>> > would > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> _______________________________________________ > >>>>>>>>>>>>>> OAuth mailing list > >>>>>>>>>>>>>> <mailto:OAuth@ietf.org>OAuth@ietf.org > >>>>>>>>>>>>>> <mailto:OAuth@ietf.org> > >>>>>>>>>>>>>> <https://www.ietf.org/mailman/listinfo/oauth> > https://www.ietf.org/mailman/listinfo/oauth > >>>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>>>>> _______________________________________________ > >>>>>>>>>>>> OAuth mailing list > >>>>>>>>>>>> <mailto:OAuth@ietf.org>OAuth@ietf.org > >>>>>>>>>>>> <mailto:OAuth@ietf.org> > >>>>>>>>>>>> <https://www.ietf.org/mailman/listinfo/oauth> > https://www.ietf.org/mailman/listinfo/oauth > >>>>>>>>>>> > >>>>>>>>>> > >>>>>>>> _______________________________________________ > >>>>>>>> OAuth mailing list > >>>>>>>> <mailto:OAuth@ietf.org>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 > >>>> > >>>> _______________________________________________ > >>>> OAuth mailing list > >>>> OAuth@ietf.org <mailto:OAuth@ietf.org> > >>>> https://www.ietf.org/mailman/listinfo/oauth > >>>> > >>>> > >>>> > >>>> _______________________________________________ > >>>> OAuth mailing list > >>>> OAuth@ietf.org <mailto:OAuth@ietf.org> > >>>> https://www.ietf.org/mailman/listinfo/oauth > >>> > >>> -- > >>> Chief Architect > >>> Identity Services Engineering Work:george.fletc...@teamaol.com > <mailto:george.fletc...@teamaol.com> > >>> AOL Inc. AIM: gffletch > >>> Mobile: +1-703-462-3494 Twitter: > http://twitter.com/gffletch > >>> Office: +1-703-265-2544 Photos: > http://georgefletcher.photography > >>> <http://georgefletcher.photography/> > >>> > >>> > >>> _______________________________________________ > >>> OAuth mailing list > >>> OAuth@ietf.org <mailto:OAuth@ietf.org> > >>> https://www.ietf.org/mailman/listinfo/oauth > >> > >> -- > >> Chief Architect > >> Identity Services Engineering Work:george.fletc...@teamaol.com > <mailto:george.fletc...@teamaol.com> > >> AOL Inc. AIM: gffletch > >> Mobile: +1-703-462-3494 Twitter: > http://twitter.com/gffletch > >> Office: +1-703-265-2544 Photos: > http://georgefletcher.photography <http://georgefletcher.photography/> > >> > >> _______________________________________________ > >> OAuth mailing list > >> OAuth@ietf.org <mailto:OAuth@ietf.org> > >> https://www.ietf.org/mailman/listinfo/oauth > > > > > > > > _______________________________________________ > > OAuth mailing list > > OAuth@ietf.org > > https://www.ietf.org/mailman/listinfo/oauth > > > > -- > Hans Zandbelt | Sr. Technical Architect > hzandb...@pingidentity.com | Ping Identity >
_______________________________________________ OAuth mailing list OAuth@ietf.org https://www.ietf.org/mailman/listinfo/oauth