Re: [OAUTH-WG] Text Proposal for draft-ietf-oauth-spop-04

John Bradley <ve7jtb@ve7jtb.com> Wed, 19 November 2014 12:48 UTC

Return-Path: <ve7jtb@ve7jtb.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 9F4001A1AB1 for <oauth@ietfa.amsl.com>; Wed, 19 Nov 2014 04:48:56 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.601
X-Spam-Level:
X-Spam-Status: No, score=-2.601 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, 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 5tjk7N4EqSZN for <oauth@ietfa.amsl.com>; Wed, 19 Nov 2014 04:48:54 -0800 (PST)
Received: from mail-qa0-f53.google.com (mail-qa0-f53.google.com [209.85.216.53]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id F2E601A079A for <oauth@ietf.org>; Wed, 19 Nov 2014 04:48:53 -0800 (PST)
Received: by mail-qa0-f53.google.com with SMTP id bm13so293986qab.40 for <oauth@ietf.org>; Wed, 19 Nov 2014 04:48:53 -0800 (PST)
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=9OMBFqQh+xg7nxMD3umWwGnZKn/OkY+ILKuGOJAus3k=; b=dDNzwvpkzWir9GRug9J5qr9MkvfzLa3XDHncrJoRDNjHJP+QuPx//HWcpUC6rIVFvk rMk8Y41p3sum6oEwKSkLM4hyGZKIvmWJk1gcf+yEsA57tfhlWyjsHqdZ6ElO34ZERfAs VSe4N6zTv5AoIikDyztaOjqwKIC9mZdeIW06YnGD0fAdXDN9jAZtq0EKV8TInVepH1OL mLHSZnQPIOKxVxINjl1B4MPRXkvbZV2xBOZv2wLON8p+RKrhgUpa2jnPDyQzBq87R0bQ +mMkGrBUVIXMT7kJRJgFWBuTXb7hGi+IbzsVg83LdwiI3QNmXz0Eu/7GlmkPb5X53mL5 AAxA==
X-Gm-Message-State: ALoCoQnQi4PM6XK7CS3URK0lI9PIe5+Q2BYGwoWBHX2yOL5u+XjYLU/i9S08csZfZSziXmrQtfKV
X-Received: by 10.224.131.74 with SMTP id w10mr52423478qas.81.1416401333118; Wed, 19 Nov 2014 04:48:53 -0800 (PST)
Received: from [192.168.5.81] (ip-64-134-65-133.public.wayport.net. [64.134.65.133]) by mx.google.com with ESMTPSA id p10sm1244264qab.39.2014.11.19.04.48.51 for <multiple recipients> (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 19 Nov 2014 04:48:52 -0800 (PST)
Content-Type: multipart/signed; boundary="Apple-Mail=_E4013141-B8DA-4810-A81D-186607B4BFB9"; protocol="application/pkcs7-signature"; micalg="sha1"
Mime-Version: 1.0 (Mac OS X Mail 8.1 \(1993\))
From: John Bradley <ve7jtb@ve7jtb.com>
In-Reply-To: <546C90BE.4040402@gmx.net>
Date: Wed, 19 Nov 2014 07:48:49 -0500
Message-Id: <F0E78FC4-5ADE-4C09-98DB-339A8791CD84@ve7jtb.com>
References: <546C90BE.4040402@gmx.net>
To: Hannes Tschofenig <hannes.tschofenig@gmx.net>
X-Mailer: Apple Mail (2.1993)
Archived-At: http://mailarchive.ietf.org/arch/msg/oauth/fiqzTbost1pVnh_F0ze_0io-So4
Cc: "oauth@ietf.org" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Text Proposal for draft-ietf-oauth-spop-04
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: <http://www.ietf.org/mail-archive/web/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, 19 Nov 2014 12:48:56 -0000

Hannes,

Thanks for the feedback.   I will go over it today.


> On Nov 19, 2014, at 7:44 AM, Hannes Tschofenig <hannes.tschofenig@gmx.net> wrote:
> 
> Hi Nat,
> 
> I have a few text suggestions for the abstract and the intro.
> 
> 
> FROM:
> 
> Abstract
> 
>   The OAuth 2.0 public client utilizing Authorization Code Grant (RFC
>   6749 - 4.1) is susceptible to the code interception attack.  This
>   specification describes a mechanism that acts as a control against
>   this threat.
> 
> 
> TO:
> 
> Abstract
> 
>   OAuth 2.0 public clients utilizing the Authorization Code Grant are
>   susceptible to the authorization code interception attack.  This
> specification
>   describes the attack as well as a technique to mitigate against the
>   threat.
> 
> New text for the into:
> 
> 
> 1.  Introduction
> 
>   OAuth 2.0 [RFC6749] public clients are susceptible to the
>   authorization code interception attack.
> 
>   The attacker thereby intercepts the authorization code returned
>   from the authorization endpoint within communication path not
>   protected by TLS, such as inter-app communication within the
>   operating system of the client.
> 
>   Once the attacker has gained access to the authorization code it
>   can use it to obtain the access token.
> 
>   Figure 1 shows the attack graphically. In step (1) the native
>   app running on the end device, such as a smart phone, issues
>   an authorization request via the browser/operating system, which
>   then gets forwarded to the OAuth 2.0 authorization server in
>   step (2). The authorization server returns the authorization code
>   in step (3). The malicious app is able to observe the
>   authorization code in step (4) since it is registered to the
>   custom URI scheme used by the legitimate app. This allows the
>   attacker to reguest and obtain an access token in step (5)
>   and step (6), respectively.
> 
> +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
> | End Device (e.g., Smart Phone) |
> |                                |
> | +-------------+   +----------+ | (6) Access Token  +----------+
> | |Legitimate   |   | Malicious|<--------------------|          |
> | |OAuth 2.0 App|   | App      |-------------------->|          |
> | +-------------+   +----------+ | (5) Authorization |          |
> |        |    ^          ^       |        Grant      |          |
> |        |     \         |       |                   |          |
> |        |      \   (4)  |       |                   |          |
> |    (1) |       \  Authz|       |                   |          |
> |   Authz|        \ Code |       |                   |  Authz   |
> | Request|         \     |       |                   |  Server  |
> |        |          \    |       |                   |          |
> |        |           \   |       |                   |          |
> |        v            \  |       |                   |          |
> | +----------------------------+ |                   |          |
> | |                            | | (3) Authz Code    |          |
> | |     Operating System/      |<--------------------|          |
> | |         Browser            |-------------------->|          |
> | |                            | | (2) Authz Request |          |
> | +----------------------------+ |                   +----------+
> +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
> 
>   Figure 1: Authorization Code Interception Attack.
> 
>   A number of pre-conditions need to hold in order for this attack
>   to work:
> 
>   1) The attacker manages to register a malicious application on
>      the client device and registers a custom URI scheme that is
>      also used by another application.
> 
>      The operating systems must allow a custom URI schemes to
>      be registered by multiple applications.
> 
>   2) The OAuth 2.0 authorization code grant is used.
> 
>   3) The attacker has access to the client id. All native app
>      client-instances use the same client id. No client secret is
>      used (since public clients cannot keep their secrets
>      confidential.)
> 
>   4) The attacker (via the installed app) is able to observe
>      responses from the authorization endpoint. As a more
>      sophisticated attack scenario the attacker is also able
>      to observe requests (in addition to responses) to the
>      authorization endpoint. The attacker is, however, not
>      able to act as a man-in-the-middle.
> 
>   While this is a long list of pre-conditions the described attack
>   has been observed in the wild and has to be considered in
>   OAuth 2.0 deployments. While Section 4.4.1 of [RFC6819] describes
>   mitigation techniques they are, unfortunately, not applicable
>   since they rely on a per-client instance secret or aper client
>   instance redirect URI.
> 
> Ciao
> Hannes
> 
> 
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth