Re: [OAUTH-WG] New Version Notification for draft-fett-oauth-dpop-03.txt

Petteri Stenius <Petteri.Stenius@ubisecure.com> Fri, 22 November 2019 11:39 UTC

Return-Path: <Petteri.Stenius@ubisecure.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 1CEAF12083F for <oauth@ietfa.amsl.com>; Fri, 22 Nov 2019 03:39:04 -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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=ubisecure.onmicrosoft.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 eT5e-RvPnfZ5 for <oauth@ietfa.amsl.com>; Fri, 22 Nov 2019 03:39:01 -0800 (PST)
Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-eopbgr150050.outbound.protection.outlook.com [40.107.15.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 887E312082E for <oauth@ietf.org>; Fri, 22 Nov 2019 03:39:00 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MjqVReNCo3/omNzkPGIaxGCp81U05RnZwMg1WqclIb4J8j9UdnC5PiqvHdK6IY1sIAfQTWf/nHrqSj6O9HeP8nT8x9pAVCQCdGD70xpURu1FIXEpDYaBBjGKTjK3woFJQ8x+2KM3RNGkTBqQoeUlHXnoMf1ikuckUYfrM2wPNNWPcoVzT15bVom8nA+lFibolhWoZQnUnwWeUMuITzZMPYP2VtcvSDCpnQ4SdiL8ozt5vAs9aa51Ww8W4kpeP8htL+QmTIF9T0SjUB2uuXid+HAghP7zo9glo/nYjBpz1CWxnhxVcEQtAeDL54X/tb/UHAumRTQFeN36EcI3Wp3pHg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=OsIU1XiXop73GT9vXdra+yafv+Oqp70FdhGSePvwfyY=; b=WpH/MaGdHf7WOO8yiOwkVN2tP45xpj7wDlYfEf9qq3Xm1/dl64H6ZipLBCLpy3ykIi33WtJF1T4P3Rq9RFQW0WLyTj8Q42mlcypSKZ/fziZICiMk2O4lC8lR8dzu0g7sj7WnDPvc92MVBr0Xspg0wW8Cbf2oU0oJFYQkjDfQOaWrn95YU/wCuHSLxafU44kzR9FdQ84xQzjnREYh5FcMnbflSAeQRjnpt3Ir8mRAdk2IlNImUQAP4/7xd5WolYZH+BchTYsUxKxH+LRdv/9eiroaM0FsZQdsF7tldOBkt02lYbvZ9lhj7iz3sKdq3PlEeztmahuXC/1mcJX4Adejlg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=ubisecure.com; dmarc=pass action=none header.from=ubisecure.com; dkim=pass header.d=ubisecure.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ubisecure.onmicrosoft.com; s=selector2-ubisecure-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=OsIU1XiXop73GT9vXdra+yafv+Oqp70FdhGSePvwfyY=; b=X4QLHYfj7HIMZAgO4vEfiNA5j7tR6oYemsJum7UAWKG+bqC4fj3gY83Mztv+HaECohcumGcWpKPvD9vAvSh5Ii4fyAgWZ2IcInXziDDCla86UFa6YgtYG54/N+SbdF7VgVd+DQfgOtB/Wtp53fZr/b7h4CUDBV2jVPpNwN/FmG4=
Received: from HE1PR05MB4713.eurprd05.prod.outlook.com (20.176.165.141) by HE1PR05MB4537.eurprd05.prod.outlook.com (20.176.166.30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2474.17; Fri, 22 Nov 2019 11:38:57 +0000
Received: from HE1PR05MB4713.eurprd05.prod.outlook.com ([fe80::1936:22f0:1ba8:a82a]) by HE1PR05MB4713.eurprd05.prod.outlook.com ([fe80::1936:22f0:1ba8:a82a%5]) with mapi id 15.20.2451.029; Fri, 22 Nov 2019 11:38:57 +0000
From: Petteri Stenius <Petteri.Stenius@ubisecure.com>
To: Torsten Lodderstedt <torsten=40lodderstedt.net@dmarc.ietf.org>, Mike Jones <Michael.Jones=40microsoft.com@dmarc.ietf.org>
CC: oauth <oauth@ietf.org>, Rob Otto <robotto=40pingidentity.com@dmarc.ietf.org>
Thread-Topic: [OAUTH-WG] New Version Notification for draft-fett-oauth-dpop-03.txt
Thread-Index: AQHVmt2WYkCzW+83c0eZIRdcZT2QwqeSJFIAgAD4+QCAAhU5gIAA7zuAgABUwoCAAFsGAIAAAUqAgAADQ4CAAAfLgIAAAduAgAADCgCAAAMJAIAACCqAgAAA+ICAAC1lUA==
Date: Fri, 22 Nov 2019 11:38:57 +0000
Message-ID: <HE1PR05MB47138B16B12E3EEAF8B9B9CDFA490@HE1PR05MB4713.eurprd05.prod.outlook.com>
References: <2EF412B8-AF8C-4642-9BE0-1B528B0C63D5@amazon.com> <288343F2-ACF0-43E0-8577-26AF45330E5C@forgerock.com> <CAD9ie-u_SM+1hRuBWR7zBGSi4Ex59Ht0SzoVTeFuWTRc3cFJXw@mail.gmail.com> <6DECA422-AACC-4DAA-8CD2-FF57CE02DE3E@mit.edu> <CABh6VRHoBqbQAe4U8UxXodCc8oOpOb=GRb_82gT6X9H5rp0n8Q@mail.gmail.com> <1119B3F6-01A0-4885-A352-5C719A7CDE2C@lodderstedt.net> <CABh6VRG7nZ0JhX8u8OM6cxR_2m6ZebbkCDPd_OzRHvBv2EQtkA@mail.gmail.com> <7590824B-18B6-4896-AD30-1903A86F5F0A@lodderstedt.net> <BYAPR00MB05674C455BCBA825BA6C906DF5490@BYAPR00MB0567.namprd00.prod.outlook.com> <1F50E494-5AA7-4739-BC17-9DC08FC0A254@lodderstedt.net>
In-Reply-To: <1F50E494-5AA7-4739-BC17-9DC08FC0A254@lodderstedt.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: spf=none (sender IP is ) smtp.mailfrom=Petteri.Stenius@ubisecure.com;
x-originating-ip: [195.197.205.34]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 181eae9e-8d2b-49ba-1bb3-08d76f408fd3
x-ms-traffictypediagnostic: HE1PR05MB4537:
x-ms-exchange-purlcount: 2
x-microsoft-antispam-prvs: <HE1PR05MB4537E5F10AF8B9B00EDBEFBEFA490@HE1PR05MB4537.eurprd05.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:3173;
x-forefront-prvs: 02296943FF
x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(376002)(346002)(136003)(39840400004)(396003)(366004)(13464003)(51914003)(189003)(199004)(53754006)(8936002)(81166006)(8676002)(86362001)(33656002)(76116006)(66556008)(99286004)(64756008)(66476007)(66446008)(52536014)(66574012)(66066001)(66946007)(15650500001)(14444005)(5024004)(229853002)(256004)(71200400001)(81156014)(4326008)(5660300002)(71190400001)(76176011)(6116002)(3846002)(9686003)(6436002)(2906002)(55016002)(6306002)(6246003)(102836004)(6506007)(186003)(446003)(53546011)(26005)(74316002)(305945005)(11346002)(25786009)(508600001)(966005)(7736002)(45080400002)(7696005)(54906003)(316002)(14454004)(110136005); DIR:OUT; SFP:1101; SCL:1; SRVR:HE1PR05MB4537; H:HE1PR05MB4713.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1;
received-spf: None (protection.outlook.com: ubisecure.com does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: z8hKzry2/QjFjS3q0CKj//q/k/t+9BnSnQ9ZRFFhV0vOrpOELwZZ47DrsmQBb2sfqO6msEFS5cKGB3qeiAITajB24QmKTYttoOgZJaCrDuQ+hZvTjbdBosl7aIS95Wv6noNY+I0iYFBZA5mCmWWQ+GOA04U+nDioU+nc81kzDEoAg6842lALGHJG4yoXzcq/oR+PTqrfsby2IinQxrONNMgw6oB3ebgrkbXOqAHgZ+ta18DjoadF1zCd9n9b4pLlLmYHoFfMUKILhc/xoDuu5M++qjKchHpvJK1E7C+M0qTI6XiNz4DUtcvB1q4O6ipKGLt5OUyXXeNEgjqKuFZTVW9rk3JQWJHVWm+tFtszt/Xjsnf2Wy80DANyN65a4VBikuPQQeD9lPaAWi26SEWDfi/5+ITc0deA8eLpWkRWyPJscTpjbpHfK2pPTUA48VoCaqh96O3h5Nk5edZ1MaVgJtAkaJ94A5onRkpCbu1C/wI=
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: ubisecure.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 181eae9e-8d2b-49ba-1bb3-08d76f408fd3
X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Nov 2019 11:38:57.6512 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: feaa1139-6ffc-4422-9c7b-980ad003c1a7
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: /+tCROSNavjZRbLKSY8rcXAE8AJjER3+I35T+fv8xdf7h3ATNg61PrfzS1vBg0EC1Jht3dwfPDqC64xCr5C40ppHO1kmmwNOxVdg/Jk9kLA=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR05MB4537
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/V2TDPy-6wigLEuagOXcHwrLPb8c>
Subject: Re: [OAUTH-WG] New Version Notification for draft-fett-oauth-dpop-03.txt
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: Fri, 22 Nov 2019 11:39:04 -0000

Hi all,

For browser based apps it is basically limitations of Fetch API that prevent MTLS binding, as Fetch uses client certificate dialogs and stores. Does it make sense to suggest browser vendors fix the Fetch API to better support MTLS?

For example if Fetch API allowed setting up a MTLS request with a WebCrypto generated and managed key it would be sufficient for MTLS binding. 

Petteri

Fetch API - https://fetch.spec.whatwg.org/ 

-----Original Message-----
From: OAuth <oauth-bounces@ietf.org> On Behalf Of Torsten Lodderstedt
Sent: perjantai 22. marraskuuta 2019 10.54
To: Mike Jones <Michael.Jones=40microsoft.com@dmarc.ietf.org>
Cc: oauth <oauth@ietf.org>; Torsten Lodderstedt <torsten=40lodderstedt.net@dmarc.ietf.org>; Rob Otto <robotto=40pingidentity.com@dmarc.ietf.org>
Subject: Re: [OAUTH-WG] New Version Notification for draft-fett-oauth-dpop-03.txt

I couldn't agree more. I think we should, again, try to find a way to utilise TLS in the browser as well. 

> On 22. Nov 2019, at 16:50, Mike Jones <Michael.Jones=40microsoft.com@dmarc.ietf.org> wrote:
> 
> I hear you about the difference between Web apps and native apps, Torsten.  But using different mechanisms for different application types is a cost in and of itself.
> 
> It's good to understand the tradeoffs.
> 
> -- Mike
> 
> 
> From: OAuth <oauth-bounces@ietf.org> on behalf of Torsten Lodderstedt <torsten=40lodderstedt.net@dmarc.ietf.org>
> Sent: Friday, November 22, 2019 4:20:58 PM
> To: Rob Otto <robotto=40pingidentity.com@dmarc.ietf.org>
> Cc: oauth <oauth@ietf.org>
> Subject: [EXTERNAL] Re: [OAUTH-WG] New Version Notification for draft-fett-oauth-dpop-03.txt
>  
> Hi Rob,
> 
> > On 22. Nov 2019, at 16:10, Rob Otto <robotto=40pingidentity.com@dmarc.ietf.org> wrote:
> > 
> > Hi Torsten - thanks for the reply..
> > 
> > Responses in line.
> > 
> > Grüsse
> > Rob
> > 
> > On Fri, 22 Nov 2019 at 07:59, Torsten Lodderstedt <torsten=40lodderstedt.net@dmarc.ietf.org> wrote:
> > Hi Rob, 
> > 
> > > On 22. Nov 2019, at 15:52, Rob Otto <robotto=40pingidentity.com@dmarc..ietf.org> wrote:
> > > 
> > > Hi everyone
> > > 
> > > I'd agree with this. I'm looking at DPOP as an alternative and ultimately simpler way to accomplish what we can already do with MTLS-bound Access Tokens, for use cases such as the ones we address in Open Banking; these are API transactions that demand a high level of assurance and as such we absolutely must have a mechanism to constrain those tokens to the intended bearer. Requiring MTLS across the ecosystem, however, adds significant overhead in terms of infrastructural complexity and is always going to limit the extent to which such a model can scale.
> > 
> > I would like to unterstand why mTLS adds “significant overhead in terms of infrastructural complexity”. Can you please dig into details?
> > 
> > I guess it's mostly that every RS-endpoint (or what sits in front of it) has to have a mechanism for accepting/terminating mTLS, managing roots of trust, validating/OCSP, etc
> 
> You use a PKI then. We use mTLS with self-signed certs. That requires the RS to not check the X.509 trust chain, which requires a special setting (optionalNoCA). 
> 
> > and then passing the certificates downstream as headers. None of it is necessarily difficult or impossible to do in isolation, but I meet many many people every week who simply don't know how to do any of this stuff. And these are typically "network people", for want of a better word. There are quite a few SaaS API management and edge solutions out there that don't even support mTLS at all. You also have the difficulty in handling a combination of MTLS and non-MTLS traffic to the same endpoints.
> 
> yep. You better split them, especially if that’s a user facing endpoint.
> 
> > Again, it's possible to do, but far from straightforward. 
> > 
> >  
> > 
> > Our experience so far: It can be a headache to set up in a microservice architecture with TLS terminating proxies but once it runs it’s ok. On the other side, it’s easy to use for client developers and it combines client authentication and sender constraining nicely.  
> > 
> > I do think its an elegant solution, don't get me wrong. It's just that there are plenty of moving parts that you need to get right and that can be a challenge, particularly in large, complex environments. 
> 
> I agree. I also tend there is a tendency to think Client TLS authentication is bad. I understand that from historical and recent experience with PKI. 
> 
> But anybody considering to use a application level signing solution based on _raw_ public keys should directly move towards self-signed certificates. That brings you all the benefits of TLS without the (PKI) headache. 
> 
> > 
> >  
> > 
> > > 
> > > DPOP, to me, appears to be a rather more elegant way of solving the same problem, with the benefit of significantly reducing the complexity of (and dependency on) the transport layer. I would not argue, however, that it is meant to be a solution intended for ubiquitous adoption across all OAuth-protected API traffic. Clients still need to manage private keys under this model and my experience is that there is typically a steep learning curve for developers to negotiate any time you introduce a requirement to hold and use keys within  an application. 
> > 
> > My experience is most developer don’t even get the URL right (in the signature and the value used on the receiving end). So the total cost of ownership is increased by numerous support inquiries.
> > I'll not comment, at the risk of offending developers :)  
> 
> Alright. Ultimately, I just want to get in touch with those who respond :-)
> 
> best regards,
> Torsten. 
> 
> > 
> > best regards,
> > Torsten. 
> > 
> > > 
> > > I guess I'm with Justin - let's look at DPOP as an alternative to MTLS-bound tokens for high-assurance use cases, at least initially, without trying to make it solve every problem. 
> > > 
> > > Best regards
> > > Rob
> > > 
> > > 
> > > On Fri, 22 Nov 2019 at 07:24, Justin Richer <jricher@mit.edu> wrote:
> > > I’m going to +1 Dick and Annabelle’s question about the scope here. That was the one major thing that struck me during the DPoP discussions in Singapore yesterday: we don’t seem to agree on what DPoP is for. Some (including the authors, it seems) see it as a quick point-solution to a specific use case. Others see it as a general PoP mechanism. 
> > > 
> > > If it’s the former, then it should be explicitly tied to one specific set of things. If it’s the latter, then it needs to be expanded. 
> > > 
> > > I’ll repeat what I said at the mic line: My take is that we should explicitly narrow down DPoP so that it does exactly one thing and solves one narrow use case. And for a general solution? Let’s move that discussion into the next major revision of the protocol where we’ll have a bit more running room to figure things out..
> > > 
> > >  — Justin
> > > 
> > >> On Nov 22, 2019, at 3:13 PM, Dick Hardt <dick.hardt@gmail.com> wrote:
> > >> 
> > >> 
> > >> 
> > >> On Fri, Nov 22, 2019 at 3:08 PM Neil Madden <neil.madden@forgerock.com> wrote:
> > >> On 22 Nov 2019, at 01:42, Richard Backman, Annabelle <richanna@amazon.com> wrote:
> > >>> There are key distribution challenges with that if you are doing validation at the RS, but validation at the RS using either approach means you’ve lost protection against replay by the RS. This brings us back to a core question: what threats are in scope for DPoP, and in what contexts?
> > >> 
> > >> Agreed, but validation at the RS is premature optimisation in many cases. And if you do need protection against that the client can even append a confirmation key as a caveat and retrospectively upgrade a bearer token to a pop token. They can even do transfer of ownership by creating copies of the original token bound to other certificates/public keys. 
> > >> 
> > >> While validation at the RS may be an optimization in many cases, it is still a requirement for deployments.
> > >> 
> > >> I echo Annabelle's last question: what threats are in scope (and out of scope) for DPoP?
> > >> 
> > >> 
> > >> _______________________________________________
> > >> OAuth mailing list
> > >> OAuth@ietf.org
> > >> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ietf.org%2Fmailman%2Flistinfo%2Foauth&amp;data=02%7C01%7CMichael.Jones%40microsoft.com%7C2ddae7c4050348d9405a08d76f24f315%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637100076834776598&amp;sdata=6x%2Fjtuo2qkObT8bAdMUmkHbvOYr8wZX7pngViwA4e0Q%3D&amp;reserved=0
> > > 
> > > _______________________________________________
> > > OAuth mailing list
> > > OAuth@ietf.org
> > > https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ietf.org%2Fmailman%2Flistinfo%2Foauth&amp;data=02%7C01%7CMichael.Jones%40microsoft.com%7C2ddae7c4050348d9405a08d76f24f315%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637100076834776598&amp;sdata=6x%2Fjtuo2qkObT8bAdMUmkHbvOYr8wZX7pngViwA4e0Q%3D&amp;reserved=0
> > > 
> > > 
> > > -- 
> > >       
> > > Rob Otto      
> > > EMEA Field CTO/Solutions Architect    
> > > robertotto@pingidentity.com   
> > >       
> > > c: +44 (0) 777 135 6092
> > > Connect with us:                                                                                                                                                              
> > > 
> > > 
> > > CONFIDENTIALITY NOTICE: This email may contain confidential and privileged material for the sole use of the intended recipient(s). Any review, use, distribution or disclosure by others is strictly prohibited..  If you have received this communication in error, please notify the sender immediately by e-mail and delete the message and any file attachments from your computer. Thank you._______________________________________________
> > > OAuth mailing list
> > > OAuth@ietf.org
> > > https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ietf.org%2Fmailman%2Flistinfo%2Foauth&amp;data=02%7C01%7CMichael.Jones%40microsoft.com%7C2ddae7c4050348d9405a08d76f24f315%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637100076834776598&amp;sdata=6x%2Fjtuo2qkObT8bAdMUmkHbvOYr8wZX7pngViwA4e0Q%3D&amp;reserved=0
> > 
> > 
> > 
> > -- 
> >        
> > Rob Otto      
> > EMEA Field CTO/Solutions Architect    
> > robertotto@pingidentity.com   
> >        
> > c: +44 (0) 777 135 6092
> > Connect with us:                                                                                                                                                       
> > 
> > 
> > CONFIDENTIALITY NOTICE: This email may contain confidential and privileged material for the sole use of the intended recipient(s). Any review, use, distribution or disclosure by others is strictly prohibited..  If you have received this communication in error, please notify the sender immediately by e-mail and delete the message and any file attachments from your computer. Thank you.
> 
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth