Re: [OAUTH-WG] Call for Adoption

George Fletcher <gffletch@aol.com> Wed, 27 January 2016 15:30 UTC

Return-Path: <gffletch@aol.com>
X-Original-To: oauth@ietfa.amsl.com
Delivered-To: oauth@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9326B1B386A for <oauth@ietfa.amsl.com>; Wed, 27 Jan 2016 07:30:09 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 44xg2hvlLw69 for <oauth@ietfa.amsl.com>; Wed, 27 Jan 2016 07:30:06 -0800 (PST)
Received: from omr-m015e.mx.aol.com (omr-m015e.mx.aol.com [204.29.186.15]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 86BF31B3868 for <oauth@ietf.org>; Wed, 27 Jan 2016 07:30:06 -0800 (PST)
Received: from mtaout-mac01.mx.aol.com (mtaout-mac01.mx.aol.com [172.26.222.205]) by omr-m015e.mx.aol.com (Outbound Mail Relay) with ESMTP id C68BD38000BC; Wed, 27 Jan 2016 10:30:05 -0500 (EST)
Received: from [10.172.102.147] (unknown [10.172.102.147]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by mtaout-mac01.mx.aol.com (MUA/Third Party Client Interface) with ESMTPSA id 954D938000091; Wed, 27 Jan 2016 10:30:05 -0500 (EST)
To: John Bradley <ve7jtb@ve7jtb.com>, Nat Sakimura <sakimura@gmail.com>
References: <569E2076.2090405@gmx.net> <EE414329-AA2A-4F99-841B-0581E4F4605F@mit.edu> <CABzCy2A9RCONixTG+ZFD8sz6FTD-o1Do8iV2gX2=pKu+PenT-A@mail.gmail.com> <BY2PR03MB442DE057967872C63A56DF8F5C40@BY2PR03MB442.namprd03.prod.outlook.com> <CABzCy2Co2okoC_hxy3bLTzbGm3nuQiULM3XqkJMwiV_5iU9-=Q@mail.gmail.com> <CA+k3eCSfXQng6PzhWR-Qjyp=SO1LYnfXH7qqzb-5btqWaJJX-A@mail.gmail.com> <BY2PR03MB4422882B74ED659DB47CECDF5C40@BY2PR03MB442.namprd03.prod.outlook.com> <CABzCy2CC8jN6kzxbJ70m900g4J1VW2b65gM_M1dhx6YXfWVhdQ@mail.gmail.com> <CA+k3eCSiEcE-YRG+ej+zJuEHOwqO4oyvvGmKWv5SeMUu4dVPrA@mail.gmail.com> <56A78EEF.4090706@aol.com> <CA+k3eCQh+KfX8+NONECjVj2ZX_e=JFFM4fF7XXcxwWJ-kii9Tw@mail.gmail.com> <56A7C3E8.8080601@aol.com> <CA+k3eCREJUx4Mb_aciKJoq03j0tdmwB2LEPw7GvZA1ZOBNhq+w@mail.gmail.com> <CABzCy2C69JAadYfaZNXgfMaAiJJOuXoKGkC3vC+x8KnhXPHpKw@mail.gmail.com> <56A8794C.2040304@pingidentity.com> <c8c693abce3e7f013d3af38f3b9333fb@gmail.com> <E63EF38B-8A63-4490-8A07-56CD2A3B7E4B@ve7jtb.com>
From: George Fletcher <gffletch@aol.com>
Organization: AOL LLC
Message-ID: <56A8E27D.9090805@aol.com>
Date: Wed, 27 Jan 2016 10:30:05 -0500
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:38.0) Gecko/20100101 Thunderbird/38.5.1
MIME-Version: 1.0
In-Reply-To: <E63EF38B-8A63-4490-8A07-56CD2A3B7E4B@ve7jtb.com>
Content-Type: multipart/alternative; boundary="------------020702010702090009020106"
x-aol-global-disposition: G
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mx.aol.com; s=20150623; t=1453908605; bh=JEzBsVnhM8gur2Nv7H4YNNdR/mg3FvR7GQ7YFHCPzAw=; h=From:To:Subject:Message-ID:Date:MIME-Version:Content-Type; b=t+BuskF3Oo7fYK5/J90WLjIVkIy2/ZkD5Luk6M9JFsIAKcjcmVUUoYoTwBbatjJgb D7gem1RdPupa5JGpEpRVulrzmx+WIV0a3aENLYikInkC2ra+wm30qeOf7DUDCdc3Nc BjYNbYPj9tK4L9YSVdGXqvtULAUTvrm8AYOgh8Bg=
x-aol-sid: 3039ac1adecd56a8e27d7ab2
X-AOL-IP: 10.172.102.147
Archived-At: <http://mailarchive.ietf.org/arch/msg/oauth/_bG5oRgmLHT3yEgur5JBGM1_-KE>
Cc: oauth@ietf.org
Subject: Re: [OAUTH-WG] Call for Adoption
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/oauth/>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 27 Jan 2016 15:30:09 -0000

I agree that in many cases the RS and AS are in different domains and I 
think that OAuth2 explicitly was designed to support that.

I don't see how "sending a token to a bad RS" is a variant of the mix-up 
attack.

To me, it's the clients responsibility to send the token to an 
appropriate endpoint. In most cases, the RS endpoints are well known and 
not discovered (unless we are talking about endpoints like the userinfo 
endpoint).

While it's possible to use webfinger to do dynamic RS endpoint 
discovery, I haven't seen any real use of that mechanism. What are the 
use cases where the client will be confused to send the token to the 
wrong RS apart from endpoints obtained via discovery? Also, the client 
can always use the refresh_token mechanism to downscope tokens to a 
single scope such that exposure is limited (which is the intent of 
authorization protection in OAuth2).

If we are trying to solve a use case where tokens are bound to the RS 
they are sent to, then we need something other than standard OAuth2. I 
don't think we should be trying to solve that problem with these 
security mitigations.

Thanks,
George

On 1/27/16 8:30 AM, John Bradley 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, sakimura@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
>> https://www.ietf.org/mailman/listinfo/oauth
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth

-- 
Chief Architect
Identity Services Engineering     Work: george.fletcher@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