Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-Up Mitigation
nov matake <matake@gmail.com> Tue, 26 January 2016 03:57 UTC
Return-Path: <matake@gmail.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 DD4761B2DBB for <oauth@ietfa.amsl.com>; Mon, 25 Jan 2016 19:57:28 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=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 6uVWk1yDIwRL for <oauth@ietfa.amsl.com>; Mon, 25 Jan 2016 19:57:25 -0800 (PST)
Received: from mail-pa0-x22b.google.com (mail-pa0-x22b.google.com [IPv6:2607:f8b0:400e:c03::22b]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8C92F1B2DB9 for <oauth@ietf.org>; Mon, 25 Jan 2016 19:57:25 -0800 (PST)
Received: by mail-pa0-x22b.google.com with SMTP id yy13so91267725pab.3 for <oauth@ietf.org>; Mon, 25 Jan 2016 19:57:25 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=content-type:mime-version:subject:from:in-reply-to:date:cc :message-id:references:to; bh=1EKUHNDCDD1b1+uJ31tkfVPWW02CPrYGWMP7ZEp8LZ0=; b=k061+75j2A9pru9lVZ8mc841mY0i/C4zYBW6gQJzHVRSW30sT9B7jx+YrZqTHyk2// gHLf29MQZ5BQiyBXd2KVkkmEKMHcFBljusPUW+mG77vGUQ44vG3CVI8+4F4Fl4l6jvwO OMvgH+Emzb+bsxzw53oWfwbUme8JUA6F+ceKiTKl/jGkmwmXnKk1egRgPHxKB1lRok1W nW8GWCMcqOh7VXD86a+ncOciXHUVafkKkQIIjTIiWhP/qLwFGeukRWPLVWNi2yJ6oB+W jbDeMEb0L9vlkwnHVlgMCs8piiiclVqBuOi0UqxUEcFxC8xd9He8laZ2EEW/WBzJTAUU Fiwg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:content-type:mime-version:subject:from :in-reply-to:date:cc:message-id:references:to; bh=1EKUHNDCDD1b1+uJ31tkfVPWW02CPrYGWMP7ZEp8LZ0=; b=Z5FQsk6eyCxOrjV1BUErwuVtctwJiCXSyrjS1Muph6xpDdZU0r6g+8ZWiwsXYn1Fhh 1bY7xSLrg4I6X0l9/Fr0u/5Tjib/7j/NpXhO1qJmOmypSswIBPpTn9JSmtkh+YLwnxaM vZWbXawYsc3kzwQz4c8xgWLquYZPkjGkolNO9wbSt8xndYrjzoA6T6bUCb0Do5bhvu2G 1ph9UjMHGa4YWH+ne+tpx4uKI/Uj5TvHglG5fMN71DQAMzOYxyRTGDQFr2DAUy3tIOlC xhT3I2ucGF0116U1KieLKMQ/lgR7VGV4o+dpqACx1BpdUFNLYVsM0ELLaunEDd3nxeQW HtDw==
X-Gm-Message-State: AG10YOTrxuvSB/n1300gj91SotOseyWvuDNExxgzFK9+toAUED20js8ClvXLPm4CbHmSbQ==
X-Received: by 10.66.102.106 with SMTP id fn10mr31435363pab.60.1453780645173; Mon, 25 Jan 2016 19:57:25 -0800 (PST)
Received: from tovan.intra.gree-office.net ([27.110.57.140]) by smtp.gmail.com with ESMTPSA id p20sm31830466pfi.86.2016.01.25.19.57.23 (version=TLSv1/SSLv3 cipher=OTHER); Mon, 25 Jan 2016 19:57:24 -0800 (PST)
Content-Type: multipart/alternative; boundary="Apple-Mail=_E094F7FE-4093-483B-81D0-C51C95CEFA08"
Mime-Version: 1.0 (Mac OS X Mail 9.2 \(3112\))
From: nov matake <matake@gmail.com>
In-Reply-To: <73E18F37-C765-4F62-A690-102D0C794C52@oracle.com>
Date: Tue, 26 Jan 2016 12:57:22 +0900
Message-Id: <845FCC92-E0A5-413F-BA4E-53E0D4C4DBD4@gmail.com>
References: <809D2C8D-F76B-42AD-93D1-E6AF487487AA@oracle.com> <362D654D-BC33-45AE-9F64-0A131A9EBC5E@oracle.com> <7BA5A647-5BBB-4C5E-95C7-0D6F295F96A6@gmail.com> <87971FDB-B51A-48B6-8311-6E55322960FC@oracle.com> <DDFE7F75-46BB-4868-8548-CF449452EB69@gmail.com> <222CF07B-5AA7-4789-8AC8-7C32377C5AE6@oracle.com> <73E18F37-C765-4F62-A690-102D0C794C52@oracle.com>
To: "Phil Hunt (IDM)" <phil.hunt@oracle.com>
X-Mailer: Apple Mail (2.3112)
Archived-At: <http://mailarchive.ietf.org/arch/msg/oauth/o3Ue6PEuAQLdbZWPPN442uol-tU>
Cc: "oauth@ietf.org WG" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-Up Mitigation
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: Tue, 26 Jan 2016 03:57:29 -0000
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.hunt@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.hunt@oracle.com <mailto:phil.hunt@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 <matake@gmail.com <mailto:matake@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.hunt@oracle.com <mailto:phil.hunt@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 >>>> www.independentid.com <http://www.independentid.com/>phil.hunt@oracle.com <mailto:phil.hunt@oracle.com> >>>> >>>> >>>> >>>> >>>> >>>>> On Jan 25, 2016, at 4:52 PM, nov matake <matake@gmail.com <mailto:matake@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 <phil.hunt@oracle.com <mailto:phil.hunt@oracle.com>> wrote: >>>>>> >>>>>> Sorry, meant to reply-all. >>>>>> >>>>>> Phil >>>>>> >>>>>> @independentid >>>>>> www.independentid.com <http://www.independentid.com/>phil.hunt@oracle.com <mailto:phil.hunt@oracle.com> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>> Begin forwarded message: >>>>>>> >>>>>>> From: Phil Hunt <phil.hunt@oracle.com <mailto:phil.hunt@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 <sakimura@gmail.com <mailto:sakimura@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 <http://www.independentid.com/>phil.hunt@oracle.com <mailto:phil.hunt@oracle.com> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>> On Jan 25, 2016, at 2:58 PM, Nat Sakimura <sakimura@gmail.com <mailto:sakimura@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) <phil.hunt@oracle.com <mailto:phil.hunt@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 <gffletch@aol.com <mailto:gffletch@aol.com>> wrote: >>>>>>>> > >>>>>>>> > would >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> 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>
- [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-Up Mi… Hannes Tschofenig
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… George Fletcher
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… Brian Campbell
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… Phil Hunt (IDM)
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… John Bradley
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… William Denniss
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… Anthony Nadalin
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… Nat Sakimura
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… Antonio Sanso
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… Roland Hedberg
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… Nat Sakimura
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… Josh Mandel
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… Nat Sakimura
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… Josh Mandel
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… George Fletcher
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… John Bradley
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… Nat Sakimura
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… William Denniss
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… John Bradley
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… Nat Sakimura
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… John Bradley
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… Mike Jones
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… nov matake
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… Hans Zandbelt
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… Nat Sakimura
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… William Denniss
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… nov matake
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… Vladimir Dzhuvinov
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… Nat Sakimura
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… John Bradley
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… John Bradley
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… George Fletcher
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… John Bradley
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… John Bradley
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… George Fletcher
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… Phil Hunt (IDM)
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… Nat Sakimura
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… Phil Hunt
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… Justin Richer
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… nov matake
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… Phil Hunt
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… Nov Matake
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… Phil Hunt (IDM)
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… Phil Hunt (IDM)
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… nov matake
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… Phil Hunt (IDM)
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… George Fletcher
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… John Bradley
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… Nat Sakimura
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… George Fletcher
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… George Fletcher
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… Nat Sakimura
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… Justin Richer
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… Hans Zandbelt
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… Nat Sakimura
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… Hans Zandbelt
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… Nat Sakimura
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… John Bradley
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… Nat Sakimura
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… Phil Hunt (IDM)
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… Nat Sakimura
- Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-U… Mike Jones