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

Torsten Lodderstedt <torsten@lodderstedt.net> Fri, 22 November 2019 08:21 UTC

Return-Path: <torsten@lodderstedt.net>
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 D8766120143 for <oauth@ietfa.amsl.com>; Fri, 22 Nov 2019 00:21:10 -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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=lodderstedt.net
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 60fQpg6YxRAQ for <oauth@ietfa.amsl.com>; Fri, 22 Nov 2019 00:21:07 -0800 (PST)
Received: from mail-pg1-x530.google.com (mail-pg1-x530.google.com [IPv6:2607:f8b0:4864:20::530]) (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 2871D120967 for <oauth@ietf.org>; Fri, 22 Nov 2019 00:21:06 -0800 (PST)
Received: by mail-pg1-x530.google.com with SMTP id k13so3020891pgh.3 for <oauth@ietf.org>; Fri, 22 Nov 2019 00:21:06 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lodderstedt.net; s=google; h=from:message-id:mime-version:subject:date:in-reply-to:cc:to :references; bh=HKiY2JdnRPDKPzD2Kz/QiQN0WCW0Sh+chfT/lACzF2Y=; b=J+N0mI/E59ajCjcWXLO+no4T+AopbnBEDUBlHV+dSfRwEPIVICQ8sqI8666e9++py9 yuSuWMgM1gJ69DAVA5FEAiOjGTE2Yc28U4P6g6HhAgI7nHZgRy1/CldAk8+qNyJeYRT9 zCqQYgvv2qyHL4FSvWTtdOq3sj7YTMoZxhAPivdnpX1VYh+lMIMQ70sdGZU/TGasI8E2 3IAUZXwiEGqOStyJJcAlF3vUvZbDE7joEdHvJxJkewTXY+oNd8xWMm9+o7NZkQ8uP89X KaVSCxZGCoYsu46Mo3JrZNXQJh17KZjhH+ZlNX8cNiAAucu9dK0PrQV7DJ8VxVfVAXX2 fP+g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:message-id:mime-version:subject:date :in-reply-to:cc:to:references; bh=HKiY2JdnRPDKPzD2Kz/QiQN0WCW0Sh+chfT/lACzF2Y=; b=eKvKqZhmsQdX4QC2n0ZiGIbZQPjogH+8toAvtqiLAhLSt9GPjdpdBxpdIi0rrZe5Y3 FwUaKsLO3FCTfm8kLQZH71QwbzQG5cQ8rxcLDCeUJJR/kAGXbhzb46hEK/ZbWhy64H+v Kz8n18pr4oFCcpnjCY7jrAVSIyIuMt/Cyohegt5chTzasaXzF9+rj4r3WHLjUQsM6nOp SOz1vROVCA/MQ/7qIxjFbPEgbDDPePuuvFfIsGPiI0YpJEfnIWQqtJVH6i8L1NfHsibd gNesP/LGIV3ksEm7zFQk3HIGnOTAWPawdA9BgXfgxwmi6pASDKoqFrl15I1YKREnmHC2 Il0Q==
X-Gm-Message-State: APjAAAV/b3nnSn/Fr6ZGasNTDdFnC8rVVoRnuQYVqVXNPyeJ33v6aAQR su+WDozp9OBiqcZlsjr3j24MXgjkg3YAUKPp
X-Google-Smtp-Source: APXvYqzpYANXgbgy1COZQDSLpFAUNL3JHWHo4OEyFi4DMaYY4vG9sEnKW8upkBplxpYG2r7YN8Xm8Q==
X-Received: by 2002:a62:ac06:: with SMTP id v6mr15871980pfe.210.1574410865425; Fri, 22 Nov 2019 00:21:05 -0800 (PST)
Received: from [10.80.110.155] ([103.137.210.130]) by smtp.gmail.com with ESMTPSA id w6sm5491439pge.92.2019.11.22.00.21.03 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 22 Nov 2019 00:21:04 -0800 (PST)
From: Torsten Lodderstedt <torsten@lodderstedt.net>
Message-Id: <7590824B-18B6-4896-AD30-1903A86F5F0A@lodderstedt.net>
Content-Type: multipart/signed; boundary="Apple-Mail=_677579D4-A21E-471B-9A87-A8333BF4C16E"; protocol="application/pkcs7-signature"; micalg=sha-256
Mime-Version: 1.0 (Mac OS X Mail 13.0 \(3601.0.10\))
Date: Fri, 22 Nov 2019 16:20:58 +0800
In-Reply-To: <CABh6VRG7nZ0JhX8u8OM6cxR_2m6ZebbkCDPd_OzRHvBv2EQtkA@mail.gmail.com>
Cc: Justin Richer <jricher@mit.edu>, oauth <oauth@ietf.org>
To: Rob Otto <robotto=40pingidentity.com@dmarc.ietf.org>
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>
X-Mailer: Apple Mail (2.3601.0.10)
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/heXLPrk0RA2o3EPa30O-8SKxNfE>
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 08:21:11 -0000

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://www.ietf.org/mailman/listinfo/oauth
> > 
> > _______________________________________________
> > OAuth mailing list
> > OAuth@ietf.org
> > https://www.ietf.org/mailman/listinfo/oauth
> > 
> > 
> > -- 
> >       
> > 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
> 
> 
> 
> -- 
> 	
> 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.