Re: [OAUTH-WG] Call for Adoption: OAuth 2.0 Mix-Up Mitigation

Nov Matake <matake@gmail.com> Tue, 26 January 2016 01:53 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 7F1871ACD84 for <oauth@ietfa.amsl.com>; Mon, 25 Jan 2016 17:53:38 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.452
X-Spam-Level:
X-Spam-Status: No, score=0.452 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, MIME_CHARSET_FARAWAY=2.45, MIME_QP_LONG_LINE=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 QadCKcc_W2Uu for <oauth@ietfa.amsl.com>; Mon, 25 Jan 2016 17:53:35 -0800 (PST)
Received: from mail-pf0-x22b.google.com (mail-pf0-x22b.google.com [IPv6:2607:f8b0:400e:c00::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 ABFB71ACD82 for <oauth@ietf.org>; Mon, 25 Jan 2016 17:53:35 -0800 (PST)
Received: by mail-pf0-x22b.google.com with SMTP id n128so91095916pfn.3 for <oauth@ietf.org>; Mon, 25 Jan 2016 17:53:35 -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 :content-transfer-encoding:message-id:references:to; bh=Sbel/m18xwMhW5psECYYUyrH+0mGbdxIyrxtO2nHbt0=; b=flPA96Kh63Kz59ALMAmBJrTWUzUIDPBQACPSpzSW90/s+3hArG0tLUGQEz/QQQb/kn tf+93Ecb8MIVt7MTz1ZmLxgHYVoLHnnyzTdBI0QfrLVgRw5cKKbd5pBpbaYZg631fz0f 5ycIKz4e9vKUrEvCm6nxH9VPL3wLG/920Es871k1yZti7GPoOi9zGNFUtt7XSjGPoGY+ A3pwY7dpVPiQnDpGK6Zuz75vyhMLfU9ltGX+VYpwONuuu/HVktrIR5mq4niWiQAFJDsJ LjKFPU+g9S11J3jngKtt+faEpzxYFcGUx9+cs1UtTJ5Ff77aKUNHbNFFGUpdR5CBVTMn L5Ew==
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:content-transfer-encoding:message-id:references :to; bh=Sbel/m18xwMhW5psECYYUyrH+0mGbdxIyrxtO2nHbt0=; b=dv2FQl/30b/kmQYue6n0yUw4nlgSyImJGIYMOW6Q2dFjWpmaTyB2iRJ+VqypLbE70z EPqvm2+TDvar4Hhss9x5ZR2CpCbxc1fLdqmSsvxOiPYHN7FeUm80vkzUtYuHwgL2Upkx QYXu0JiYaZaqrWh/Bbe7ohMiGHh1CXi8H5BL64zb67c2McEYbUdBHaNXYt9zdwlYmkEO SwYMgGwAhlRAY4rmbKP1TuAVPtTrzVR6bRVWQj73ImCht8A/xoOS3ZkspZGRsoQH27yL CNVfXkj4ErgAFVfsB5qJUGVYgQ6bNuKUrsirAF69XixdXigaPsVX94gRD85EUrcn2qEh X7vA==
X-Gm-Message-State: AG10YOTveq6JwdEzFTAix7B1CVb63NLE1ezHLDvi7PwHLIVedFHr9Yy1w5kJI25YM2n+Vw==
X-Received: by 10.98.31.8 with SMTP id f8mr29900501pff.71.1453773215338; Mon, 25 Jan 2016 17:53:35 -0800 (PST)
Received: from [100.67.176.241] (8.190.130.210.rev.vmobile.jp. [210.130.190.8]) by smtp.gmail.com with ESMTPSA id e82sm31462342pfb.76.2016.01.25.17.53.34 (version=TLSv1/SSLv3 cipher=OTHER); Mon, 25 Jan 2016 17:53:34 -0800 (PST)
Content-Type: multipart/alternative; boundary="Apple-Mail-F21481C0-4F43-4DAE-AAB5-7C445FFF81E8"
Mime-Version: 1.0 (1.0)
From: Nov Matake <matake@gmail.com>
X-Mailer: iPhone Mail (13D15)
In-Reply-To: <87971FDB-B51A-48B6-8311-6E55322960FC@oracle.com>
Date: Tue, 26 Jan 2016 10:53:32 +0900
Content-Transfer-Encoding: 7bit
Message-Id: <DDFE7F75-46BB-4868-8548-CF449452EB69@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>
To: Phil Hunt <phil.hunt@oracle.com>
Archived-At: <http://mailarchive.ietf.org/arch/msg/oauth/-r6WgFGLyVJGe43FHrcW3YwiNxA>
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 01:53:38 -0000

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> 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.hunt@oracle.com
> 
> 
> 
> 
> 
>> On Jan 25, 2016, at 4:52 PM, nov matake <matake@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.hunt@oracle.com> wrote:
>>> 
>>> Sorry, meant to reply-all.
>>> 
>>> Phil
>>> 
>>> @independentid
>>> www.independentid.com
>>> phil.hunt@oracle.com
>>> 
>>> 
>>> 
>>> 
>>> 
>>>> Begin forwarded message:
>>>> 
>>>> From: Phil Hunt <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>
>>>> 
>>>> 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.hunt@oracle.com
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>>> On Jan 25, 2016, at 2:58 PM, Nat Sakimura <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/, 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>:
>>>>>> 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> 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
>