Re: [OAUTH-WG] OAuth Security Topics -- Recommend authorization code instead of implicit

Mike Jones <Michael.Jones@microsoft.com> Mon, 19 November 2018 22:13 UTC

Return-Path: <Michael.Jones@microsoft.com>
X-Original-To: oauth@ietfa.amsl.com
Delivered-To: oauth@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1656C130DEE for <oauth@ietfa.amsl.com>; Mon, 19 Nov 2018 14:13:35 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.47
X-Spam-Level:
X-Spam-Status: No, score=-2.47 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.47, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=microsoft.com
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 A2bYMjjGm-1C for <oauth@ietfa.amsl.com>; Mon, 19 Nov 2018 14:13:32 -0800 (PST)
Received: from NAM06-DM3-obe.outbound.protection.outlook.com (mail-dm3nam06on0728.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe56::728]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5FF76130DE5 for <oauth@ietf.org>; Mon, 19 Nov 2018 14:13:32 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=DCi114Z92ieaiQL257Sa2TK+QFoC95w0HO9dRFeMlK4=; b=XPs34PjyiG6jIc+dPUPwY5G7ku3U3hm/veitDGON23g8uEjuIlS1G8VunoeAaGBJrilpHz6JpkGcgVz7zhL2d/Hw7QwZKuiV1qB7zD6LpB0P7X3VReEAptBXctQxOjQlFx6sT6n52RxKJSbWoTTFMknwH1vlXTWbIHcU+ygo4bw=
Received: from BL0PR00MB0292.namprd00.prod.outlook.com (52.132.19.158) by BL0PR00MB0402.namprd00.prod.outlook.com (52.132.20.32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1395.0; Mon, 19 Nov 2018 22:13:30 +0000
Received: from BL0PR00MB0292.namprd00.prod.outlook.com ([fe80::a18d:49e5:f24f:5fbf]) by BL0PR00MB0292.namprd00.prod.outlook.com ([fe80::a18d:49e5:f24f:5fbf%5]) with mapi id 15.20.1396.000; Mon, 19 Nov 2018 22:13:30 +0000
From: Mike Jones <Michael.Jones@microsoft.com>
To: Hannes Tschofenig <Hannes.Tschofenig@arm.com>, oauth <oauth@ietf.org>
Thread-Topic: OAuth Security Topics -- Recommend authorization code instead of implicit
Thread-Index: AdR/8wsdlCSgLoNZTem+1MxrAorhbwAYRRbA
Date: Mon, 19 Nov 2018 22:13:29 +0000
Message-ID: <BL0PR00MB029244CACC634E2D2E923B77F5D80@BL0PR00MB0292.namprd00.prod.outlook.com>
References: <VI1PR0801MB211266BA6F6E06FFB3081425FAD80@VI1PR0801MB2112.eurprd08.prod.outlook.com>
In-Reply-To: <VI1PR0801MB211266BA6F6E06FFB3081425FAD80@VI1PR0801MB2112.eurprd08.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels: MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Enabled=True; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Owner=mbj@microsoft.com; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2018-11-19T22:13:26.5349988Z; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Name=General; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Application=Microsoft Azure Information Protection; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Extended_MSFT_Method=Automatic; Sensitivity=General
x-originating-ip: [2001:4898:80e8:9:48d3:87f8:bb08:ae16]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; BL0PR00MB0402; 6:uQJ2+i3z5sdADlJNh7J4dTLhrGpLMVZW0mRhQ4freUhBhk5O0OhsycNalS0ZDX4WEGvnRa4+6rTRAnZkQUPRgB/jLfymScG9k5PC7OWnA9HmzwxT6fTpSXr2MXKGLBBjiXfdlwCZWT/2DncCvIUiuGhu67m/kPirYnfRTfLjKguyavPOv87z7rUrAgazmmg3dAISM2nrJdYTJc3vLAezs4UYtsWSq3NcSg57JlP7lWEZ6EuKY5fa2IEx9+FE5LRqbeQvdS7H+SEmqwlr6yO80hDrBgDi3T36oPLM0ViM8snVoW6T3iL8n86bLGiqMy6O+DWx40OtRa0RpJ6xnhWFJYp+YhzluVBmsG/cg7V4k7TTE9e0uzA3AcB/fjlM5RUTItw4DE8b1RTNkEspQpHyF2B4uuZI4AoYFLqEhKrZZqyUIZ2SfcFYIiZNZMvL1O2GCRf/K0epxXIlJEyCfaE3lw==; 5:xW+BBDktCIJ1VGK+863LUkq1wHOHqqcryLuRNLbsP3ozi7wiMcKXB/g1GuWPvKWfCGovAHigTzVSzqpYcxxmCobZOWDYBvowtrkyWNPmEDBrgbUoQKfQQdr1f0cpohZ/Iq3Thj/JHuSnuDSBnuRgW7PYiQktM65SC2501AXl6Wg=; 7:OPnoHn++5EsKdkv2hDIs2J0NFi6YSxvdctZUHQ/QNeJ3JlLGdcWZlY84twMd29RaREu7m8SfoZ9QEis0xOPvKRQQZcFUhBbhu+C8Us391tpZMJdeY4/xs1SzrsgU373D67M5lLCKuFQ42JbOLo6L6g==
x-ms-exchange-antispam-srfa-diagnostics: SOS;
x-ms-office365-filtering-correlation-id: ba0a1f88-5929-4d2d-1657-08d64e6c3cba
x-ms-office365-filtering-ht: Tenant
x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390098)(7020095)(4652040)(8989299)(5600074)(711020)(4618075)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7193020); SRVR:BL0PR00MB0402;
x-ms-traffictypediagnostic: BL0PR00MB0402:
x-ms-exchange-purlcount: 6
authentication-results: spf=none (sender IP is ) smtp.mailfrom=Michael.Jones@microsoft.com;
x-ld-processed: 72f988bf-86f1-41af-91ab-2d7cd011db47,ExtAddr
x-microsoft-antispam-prvs: <BL0PR00MB04026FCE2BDF02D250EBBCDFF5D80@BL0PR00MB0402.namprd00.prod.outlook.com>
x-ms-exchange-senderadcheck: 1
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(2017102700009)(2017102701064)(6040522)(8220035)(2401047)(8121501046)(5005006)(2017102702064)(20171027021009)(20171027022009)(20171027023009)(20171027024009)(20171027025009)(20171027026009)(2017102703076)(93006095)(93001095)(3002001)(3231440)(944501410)(2018427008)(10201501046)(6055026)(148016)(149066)(150057)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(20161123562045)(20161123558120)(201708071742011)(7699051)(76991095); SRVR:BL0PR00MB0402; BCL:0; PCL:0; RULEID:; SRVR:BL0PR00MB0402;
x-forefront-prvs: 08617F610C
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(396003)(376002)(366004)(39860400002)(136003)(346002)(53754006)(189003)(199004)(40434004)(478600001)(81166006)(81156014)(6436002)(72206003)(966005)(7110500001)(86612001)(8676002)(10090500001)(66574009)(6116002)(790700001)(10290500003)(8936002)(14454004)(8990500004)(229853002)(33656002)(106356001)(2900100001)(25786009)(2906002)(10710500007)(86362001)(71200400001)(71190400001)(5024004)(14444005)(97736004)(15650500001)(110136005)(54906003)(5660300001)(53546011)(6506007)(102836004)(316002)(2420400007)(186003)(606006)(55016002)(4326008)(105586002)(7736002)(7696005)(76176011)(74316002)(99286004)(46003)(39060400002)(54896002)(236005)(9686003)(68736007)(6306002)(22452003)(256004)(476003)(6246003)(446003)(11346002)(486006)(53936002); DIR:OUT; SFP:1102; SCL:1; SRVR:BL0PR00MB0402; H:BL0PR00MB0292.namprd00.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1;
received-spf: None (protection.outlook.com: microsoft.com does not designate permitted sender hosts)
x-microsoft-antispam-message-info: DeAETJKkaliPdvqF9sO5FeQYcO9/V50jzbM2ja84PYoyhOM8zKRUTtWDgVTM0iVYcHQF+X7QUQLf2vx42Wo8VQbAb/45oXvbQosus1a29ElLM11Vv4P2YAXuAOBVCGZSpGs+eC4vzOjWy54D0ykTLPTqG/4flPOD/ghIei6aMN/obQ0ayvHUnz3Vj6aHsDEq+btGOiDBaR2OHZWEJr0c1yBB4AwY9ZBM2+wuBo6aVzeHiVFlIFTp/8ItFKQhhQuGvHQGspBMpEZL/6JbqKW2Lt++sQTCN5+H1X/0EvVOvHkEBUECNa94J9wj88SZHT8AcQQ6qQvp67OLiAivSgGp2/lQvSgIDsx8F3LZB9J2DAo=
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: multipart/alternative; boundary="_000_BL0PR00MB029244CACC634E2D2E923B77F5D80BL0PR00MB0292namp_"
MIME-Version: 1.0
X-OriginatorOrg: microsoft.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ba0a1f88-5929-4d2d-1657-08d64e6c3cba
X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Nov 2018 22:13:29.9778 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR00MB0402
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/4eCoGgO01xh3ekGegsuStc0XAjw>
Subject: Re: [OAUTH-WG] OAuth Security Topics -- Recommend authorization code instead of implicit
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.29
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: Mon, 19 Nov 2018 22:13:35 -0000

This description of the situation is an oversimplification.  OpenID Connect secures the implicit flow against token injection attacks by including the at_hash (access token hash) in the ID Token, enabling the client to validate that the access token was created by the issuer in the ID Token (which is also the OAuth Issuer, as described in RFC 8414<https://tools.ietf.org/html/rfc8414>).  (Note that this mitigation was described in draft-ietf-oauth-mix-up-mitigation<https://tools.ietf.org/html/draft-ietf-oauth-mix-up-mitigation-01>.)

Given the prevalence of this known-good solution for securing the implicit flow, I would request that the draft be updated to describe this mitigation.  At the same time, I'm fine with the draft recommending the code flow over the implicit flow when this mitigation is not used.

                                                                Thank you,
                                                                -- Mike

From: OAuth <oauth-bounces@ietf.org> On Behalf Of Hannes Tschofenig
Sent: Monday, November 19, 2018 2:34 AM
To: oauth <oauth@ietf.org>
Subject: [OAUTH-WG] OAuth Security Topics -- Recommend authorization code instead of implicit


Hi all,



The authors of the OAuth Security Topics draft came to the conclusion that it is not possible to adequately secure the implicit flow against token injection since potential solutions like token binding or JARM are in an early stage of adoption. For this reason, and since CORS allows browser-based apps to send requests to the token endpoint, Torsten suggested to use the authorization code instead of the implicit grant in call cases in his presentation (see https://datatracker.ietf.org/meeting/103/materials/slides-103-oauth-sessb-draft-ietf-oauth-security-topics-01).



A hum in the room at IETF#103 concluded strong support for his recommendations. We would like to confirm the discussion on the list.



Please provide a response by December 3rd.



Ciao

Hannes & Rifaat

IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.