Inline >

On 01/03/16 16:33, John Bradley wrote:
> Inline
>
>> On Mar 1, 2016, at 5:51 AM, Vladimir Dzhuvinov <vladi...@connect2id.com> 
>> wrote:
>>
>> Hi John,
>>
>> On 28/02/16 01:15, John Bradley wrote:
>>> If the malicious client is registering it’s own redirect URI then option A 
>>> won’t help. 
>>>
>>> On the other hand the Good AS should identify the malicious client to the 
>>> user.
>> How could that be done in practice, especially with an AS that provides
>> a channel for dynamic discovery and registration?
>>
> Yes that is the question.  I think client impersonation by lying to the AS 
> when registering a client as part of a phishing attack is going to become 
> more common.
>
> Getting a trusted AS to say you are Tripit or some trusted client when you 
> are really a bad guy is becoming a real problem.
> This is however not directly connected to the client mix up issue, and needs 
> to be addressed separately.  
>
> One thing we added to dynamic client registration was a software statement 
> that can lock down redirect URI for a given client.  
> In the case of Mobile Connect for  Mobile network operators the proposal is 
> to have a trusted registration authority that validates clients and issues 
> them software statements to register at individual AS.
>
> Validating the developer/client will probably need to be a business process, 
> more stringent than just getting a developer account based on an email 
> address.   One possibility might be to check if the redirect URI has a EV 
> certificate indicating the organization, or trust frameworks set up to 
> register clients for conformance with European data protection laws (yes with 
> safe harbour going away something like that might be required by AS to keep 
> on the good side of the law.  Germany did take a run at this once, but it did 
> not work for the internet in a practical way)
>
> The biggest issue will probably be identifying native apps.  Custom scheme 
> redirects are not real useful.
>
> On iOS and Android(beta) there are now ways for an app to claim a https: URI 
> that is controlled by the developer. 
> https://tools.ietf.org/html/draft-ietf-oauth-native-apps-00#page-9
> That in combination with software statements might be a useful way to 
> identify the client and display something useful at the AS.
>
> We need to do more work on this in my opinion.
Thanks John for the exhaustive answer! How do you see this additional work?

Vladimir

>
> John B.
>
>
>
>>> I think this is a separate problem of client impersonation being used for 
>>> Phishing.
>>>
>>> This is really a case of bad guy registers client and phishes the user to 
>>> login pretending to be some other client.
>>>
>>> That can all be done with the good client not being involved at all. 
>> OK.
>>
>> Vladimir
>>
>>
>>> John B.
>>>
>>>> On Feb 27, 2016, at 1:16 PM, Vladimir Dzhuvinov <vladi...@connect2id.com> 
>>>> wrote:
>>>>
>>>> Hi Brian,
>>>>
>>>> On 27/02/16 00:27, Brian Campbell wrote:
>>>>> My preference is for Option A.
>>>>>
>>>>> The mix-up attack, in all it's variations, relies on there being no means
>>>>> in OAuth for the AS to identify itself to the client when it returns the
>>>>> user's browser to the client's redirect_uri. 'OAuth 2.0 Mix-Up Mitigation'
>>>>> addresses that fundamental missing piece by including the 'iss'
>>>>> authorization response parameter.
>>>> This fundamental piece is indeed missing. I'm not sure measure "A" can
>>>> also cover dynamic discovery and registration though. The mixup attack
>>>> was originally described there, with OpenID Connect.
>>>>
>>>> How about this variation:
>>>>
>>>> Suppose the malicious IdP:
>>>>
>>>> 1. Registers the client under attack for
>>>> a) malicious authz endpoint
>>>> b) malicious token endpoint (optional)
>>>>
>>>> ... while also acting as proxy, where there are two variants:
>>>> a) repeats the client registration with the honest IdP to obtain
>>>> client_id + credentials that it keeps for itself; or
>>>> b) is already registered as a client with the honest IdP
>>>>
>>>> Then:
>>>>
>>>> 1. When the authz request is made to the malicious authz endpoint, the
>>>> request is rewritten with the client_id and redirect_uri which the
>>>> malicious IdP has with the honest IdP. The state may or may not be 
>>>> replaced.
>>>>
>>>> 2. The browser is then given a second redirect with the rewritten
>>>> parameters to the authz endpoint of the honest IdP.
>>>>
>>>> 3. The user doesn't notice this double redirect, and logs in / gives
>>>> consent.
>>>>
>>>> 4. The honest IdP sends the browser back to the registered malicious
>>>> redirect_uri. The attacker receives the code or tokens (depending on the
>>>> response type)
>>>>
>>>> 5. A second redirect is made back to the redirect_uri of the client,
>>>> with rewritten state, iss, client_id
>>>>
>>>>
>>>> What is your take on this?
>>>>
>>>> The ideal fix for me would be one that covers dynamic discovery and
>>>> registration as well. I'm not convinced option A does that.
>>>>
>>>> Cheers,
>>>>
>>>> Vladimir
>>>>
>>>>> During the course of the discussions in Darmstadt Hans and I independently
>>>>> implemented and successfully interop tested the 'iss' and 'client_id'
>>>>> authorization response parameters, which is what was anticipated to be in
>>>>> the mitigation draft. Doing so was very simple and straightforward. And it
>>>>> addresses the vulnerability. We decided, unfortunately, to pull that
>>>>> functionality out of a looming a product release due to the churn in this
>>>>> WG and the perceived risk of changes in what would eventually become the
>>>>> standard solution. Of course, that kind of risk is always present with
>>>>> draft standards but it's been very frustrating in this case to have worked
>>>>> towards a simple solution to a known problem only to have progress get 
>>>>> hung
>>>>> up in lack of agreement in this WG.
>>>>>
>>>>> I'll also say that in many/most cases the AS doesn't explicitly know all 
>>>>> of
>>>>> the resources that tokens it issues can or will be used at (and there are
>>>>> often more than one). So the ruri/Resource URI parameter isn't really a
>>>>> workable option.
>>>>>
>>>>>
>>>>>
>>>>> On Thu, Feb 25, 2016 at 12:43 AM, Hannes Tschofenig <
>>>>> hannes.tschofe...@gmx.net> wrote:
>>>>>
>>>>>> Vladimir,
>>>>>>
>>>>>> yes, we could do a formal analysis and it would be a very good idea.
>>>>>> It would even go faster if a few of us work together on it. Anyone
>>>>>> interested?
>>>>>>
>>>>>> This would be a good contribution for the workshop in July, btw.
>>>>>>
>>>>>> Ciao
>>>>>> Hannes
>>>>>>
>>>>>> On 02/23/2016 10:09 AM, Vladimir Dzhuvinov wrote:
>>>>>>> Hi Mike,
>>>>>>>
>>>>>>> You mention that you spent considerable time in research. I wonder if
>>>>>>> there is existing theory, in communications or information theory, that
>>>>>>> can be used to formally establish and prove (or disprove) the security
>>>>>>> of the proposed OAuth measures? Perhaps some work that is totally
>>>>>>> unrelated to identity and the web protocols, but could well apply here?
>>>>>>>
>>>>>>> My reasoning is that we have a closed system that is fairly simple, so
>>>>>>> formal analysis must be entirely possible.
>>>>>>>
>>>>>>> 1. We have 5 parties (client, AS, RS, user, user agent).
>>>>>>>
>>>>>>> 2. The OAuth protocol follows a simple and well-defined pattern of
>>>>>>> messages between the parties.
>>>>>>>
>>>>>>> 3. The points and the number of ways by which an adversary may break
>>>>>>> into OAuth must therefore be finite.
>>>>>>>
>>>>>>> 4. The security requirement is essentially to guarantee the precedence
>>>>>>> and authenticity of the messages from discovery endpoint to RS, and the
>>>>>>> preferred way to do that is by establishing a binding between the
>>>>>>> messages, which can be forward or backward binding.
>>>>>>>
>>>>>>>
>>>>>>> Right now the WG concern is whether all possible attacks have been
>>>>>>> recognised, and then taken care of. If we can have a formal model that
>>>>>>> can reliably reveal and prove that, this will be a huge breakthrough.
>>>>>>>
>>>>>>> Cheers,
>>>>>>>
>>>>>>> Vladimir
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On 20/02/16 12:41, Mike Jones wrote:
>>>>>>>> Suggesting that they be read is of course, the right long-term
>>>>>> approach.  But as someone who spent 20+ years as a researcher before
>>>>>> switching to digital identity, I was sensitive to not wanting to upstage
>>>>>> their work by copying too much of their material into our draft before
>>>>>> their publications were widely known.  I'll of course commit to working 
>>>>>> the
>>>>>> researchers and the working group to create a self-contained concise
>>>>>> description of the threats and mitigations in the working group document.
>>>>>>>>                            Cheers,
>>>>>>>>                            -- Mike
>>>>>>>>
>>>>>>>> -----Original Message-----
>>>>>>>> From: Hannes Tschofenig [mailto:hannes.tschofe...@gmx.net]
>>>>>>>> Sent: Saturday, February 20, 2016 2:25 AM
>>>>>>>> To: Mike Jones <michael.jo...@microsoft.com>; William Denniss <
>>>>>> wdenn...@google.com>; Phil Hunt (IDM) <phil.h...@oracle.com>
>>>>>>>> Cc: oauth@ietf.org
>>>>>>>> Subject: Re: [OAUTH-WG] Fixing the Authorization Server Mix-Up: Call
>>>>>> for Adoption
>>>>>>>> Hi Mike,
>>>>>>>>
>>>>>>>> On 02/20/2016 10:52 AM, Mike Jones wrote:
>>>>>>>>> Have you read both of their publications?  If not, do yourself a favor
>>>>>>>>> and do.  They're actually both very readable and quite informative.
>>>>>>>> I have read both documents. In context of this discussion the question
>>>>>> is whether we
>>>>>>>> (a) require them to be read (in which case they should be a normative
>>>>>> reference), or
>>>>>>>> (b) suggest them to be read (since they provide additional background
>>>>>> information). In this case they are an informative reference.
>>>>>>>> I believe believe we want (b) for the OAuth WG document. While I
>>>>>> encourage everyone to read the publications I also believe that there is
>>>>>> lots of material in there that goes beyond the information our audience
>>>>>> typically reads (such as the text about the formal analysis).
>>>>>>>> There is probably also a middle-ground where we either copy relevant
>>>>>> text from the papers into the draft or reference specific sections that 
>>>>>> are
>>>>>> "must-read".
>>>>>>>> One other issue: I actually thought that the threat that is outlined in
>>>>>> the research paper is sufficiently well described but the second threat,
>>>>>> which is called 'cut-and-paste attack', requires more work.
>>>>>>>> I noted this in my summary mail to the list, see
>>>>>> http://www.ietf.org/mail-archive/web/oauth/current/msg15697.html
>>>>>>>> Ciao
>>>>>>>> Hannes
>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> 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
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth

Reply via email to