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> 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/
>>>  <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 
>>>>> <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 
>>>>> <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 in Section 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
>>>>>>>>>    in Section 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 
>>>>>>>>>> <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/
>>>>>>>>>>  
>>>>>>>>>> <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/
>>>>>>>>>>>>>  
>>>>>>>>>>>>> <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
>>>>>>>>>>>>>  <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
>>>>>>>>>>>  <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
>>>>>>>  <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 <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>
>> 
>> -- 
>> 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 
>> <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 
>> <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 
> <http://twitter.com/gffletch>
> Office: +1-703-265-2544           Photos: http://georgefletcher.photography 
> <http://georgefletcher.photography/>
> _______________________________________________
> 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