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 <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) <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) <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 <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 <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 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 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
>>>>> www.independentid.com
>>>>> phil.h...@oracle.com
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>>> On Jan 25, 2016, at 4:52 PM, nov matake <mat...@gmail.com> wrote:
>>>>>> 
>>>>>> The first assumption is coming from the original security report at 
>>>>>> 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/
>>>>>> 
>>>>>> nov
>>>>>> 
>>>>>>> On Jan 26, 2016, at 08:22, Phil Hunt <phil.h...@oracle.com> wrote:
>>>>>>> 
>>>>>>> Sorry, meant to reply-all.
>>>>>>> 
>>>>>>> Phil
>>>>>>> 
>>>>>>> @independentid
>>>>>>> www.independentid.com
>>>>>>> phil.h...@oracle.com
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>>> Begin forwarded message:
>>>>>>>> 
>>>>>>>> From: Phil Hunt <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>
>>>>>>>> 
>>>>>>>> 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
>>>>>>>> www.independentid.com
>>>>>>>> phil.h...@oracle.com
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>> On Jan 25, 2016, at 2:58 PM, Nat Sakimura <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/,
>>>>>>>>>  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) <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 <gffle...@aol.com> 
>>>>>>>>>> > wrote:
>>>>>>>>>> >
>>>>>>>>>> > would
>>>>>>>>>> 
>>>>>>>>>> _______________________________________________
>>>>>>>>>> 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