Re: [OAUTH-WG] draft-parecki-oauth-browser-based-apps-00
Hans Zandbelt <hans.zandbelt@zmartzone.eu> Mon, 03 December 2018 07:30 UTC
Return-Path: <hans.zandbelt@zmartzone.eu>
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 29ADA128D68 for <oauth@ietfa.amsl.com>; Sun, 2 Dec 2018 23:30:48 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.359
X-Spam-Level:
X-Spam-Status: No, score=-3.359 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-1.459, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=zmartzone-eu.20150623.gappssmtp.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 Y7ncFAKVfndO for <oauth@ietfa.amsl.com>; Sun, 2 Dec 2018 23:30:44 -0800 (PST)
Received: from mail-io1-xd2e.google.com (mail-io1-xd2e.google.com [IPv6:2607:f8b0:4864:20::d2e]) (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 A5F0B124C04 for <oauth@ietf.org>; Sun, 2 Dec 2018 23:30:44 -0800 (PST)
Received: by mail-io1-xd2e.google.com with SMTP id x6so9569432ioa.9 for <oauth@ietf.org>; Sun, 02 Dec 2018 23:30:44 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zmartzone-eu.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=pmlph3QbuR9hcKFBukKWgZ7F+J8Lp9Q0Oc/V/k+RmoA=; b=R8U3R8lsocGW/BIQAZBdDEEMSbdQ6ulix6iTc9lXCbywWmR1gb9R1sc1uvapbp/nZF 7mLA5buEjsnKS6YVHjRLzdU1D0t5JR6m57bc+ofOHTy4aPeLBT56s1TH48XlEUKYD7UK CNtNLaeH2LDdmHHJ4VQezofHB8FSVMGo9rnov4hlhY9r+veod7HntyPJs0zQSbFB0UVk 4GLFRu75Gjjb30wFYJrUhy0yLI6I3+wfRxxIcGpyF9Vv7lMwF8FGIhFoKIeSFFEDd4QK Zl4lMe+hLgJeCGdJTWHfzDM8qf+665sNmi4/7rXIDUSxD1SXOT/zx2bcrYtLZp2Be2lG zp5w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=pmlph3QbuR9hcKFBukKWgZ7F+J8Lp9Q0Oc/V/k+RmoA=; b=UIzKOLpfTNKa7mvV+oWkvfIKAC6t9m3ssfiTXGF2SiVRSMvFIhtHX1ZHMLOwhMZcOM bCsMkXX4FtflYT5EnqbyXS8lycssbetb9F6piWYDBBTGjHPoyF7qwxXHGAISG/ZCxwmy At/6jRuzqglP/UHccwqZ0phP79czN3YMB9ksCIwmH9luCBgqv1DYj7g44+tbtxMW6A60 EDsMVlEbrgBrioLIAkfzu+ReV1XIRnFqDEAoqjDn8a2JCa+Kj5gprPnl7ojEDfRzUPuK EM6xr8hDB58Ebl+YCT1PG6s2q+PDzWgs4v1kY86mNi2YXauPbFtnCxuLZLsVazOHqIFr 3TfQ==
X-Gm-Message-State: AA+aEWa6ccc5sDVb4cnJMwSbWiHbtYgVumj5OGd+TwYbvzVqIaFd9r3i XAxbJKnZ4dcQEO4ZpV58GKYZRa+FMhcMT1olbt84r3XD
X-Google-Smtp-Source: AFSGD/Uc5aCG5UeG1orsbpdSl2EqeLOF46WKHxhv8SI3Q7Mf7u37k2qejTSPNJXk24ixkMO6W0t2b8bPnD8wG7FGW3k=
X-Received: by 2002:a6b:c815:: with SMTP id y21mr12031409iof.98.1543822243776; Sun, 02 Dec 2018 23:30:43 -0800 (PST)
MIME-Version: 1.0
References: <VI1PR0801MB211299BED6B61582DC33B873FACB0@VI1PR0801MB2112.eurprd08.prod.outlook.com> <CAGBSGjqHKVveZor-oKUWzsQ0Rg5Fk_d2dns_eQFqfvXJynyQaQ@mail.gmail.com> <9347fff8-f3b9-4ee9-84d3-5eebc8dd13f4@getmailbird.com> <309DAA7D-E9B9-4A89-B30E-5BE37DC6CC85@lodderstedt.net> <27627bee-aaab-44fd-9821-b58f7b33bc13@getmailbird.com> <7A852312-B129-4A0F-9914-8DC7E63FD12C@lodderstedt.net> <64a7f649-d2d8-4983-a564-5193adb4314a@getmailbird.com> <5B60008C-C6A7-44CC-B045-9A8C1248ED30@lodderstedt.net> <CA+k3eCTjRWo-OF+Q=KotOJzfBw1uSe7w_bHWDhDKi3WRjQsH9Q@mail.gmail.com> <VI1PR0801MB21121BCD21DE8ABAF055E603FAAC0@VI1PR0801MB2112.eurprd08.prod.outlook.com> <E0F62B7E-9C58-493A-BEFD-91D7441BB5BF@lodderstedt.net> <0BD84A8F-0A71-45CC-BE20-89FBC8FF18D2@lodderstedt.net> <df7c80be-477e-bb4a-cc29-edb233571a2f@ve7jtb.com> <A6E974DC-59C2-43E2-9534-CAD2EE695941@lodderstedt.net> <CAGBSGjoVox6Ab274DbHfEBaXibk8OFeXy6g3SEXxRP1TauPBvQ@mail.gmail.com> <AD6726CE-C348-4461-867E-A53FF19DECC7@alkaline-solutions.com>
In-Reply-To: <AD6726CE-C348-4461-867E-A53FF19DECC7@alkaline-solutions.com>
From: Hans Zandbelt <hans.zandbelt@zmartzone.eu>
Date: Mon, 03 Dec 2018 08:30:32 +0100
Message-ID: <CA+iA6ui5JohvWvPczS7xwNV6hAgWQxSApuLDJzRD3a+j__Wb4g@mail.gmail.com>
To: David Waite <david@alkaline-solutions.com>
Cc: Aaron Parecki <aaron@parecki.com>, "oauth@ietf.org" <oauth@ietf.org>
Content-Type: multipart/alternative; boundary="0000000000006ff282057c1920d0"
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/DE9tw36seRAE1j6Wqs6vD3CL7KU>
Subject: Re: [OAUTH-WG] draft-parecki-oauth-browser-based-apps-00
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, 03 Dec 2018 07:30:48 -0000
On Mon, Dec 3, 2018 at 4:18 AM David Waite <david@alkaline-solutions.com> wrote: > If (as Hans proposed) there was a mechanism for javascript to get access > tokens to interact with protected resources in lieu of the client, there > could be BCP around managing that (which would likely also overlap with a > genuine javascript-in-browser client), but unfortunately there aren’t > technical specs to support that sort of architecture yet. > I agree with Aaron and David that this should be written up elsewhere and hopefully be referred to from this BCP as it is relevant; anyone willing to contribute and/or suggest where "elsewhere" is? Hans. > -DW > > On Dec 2, 2018, at 4:43 PM, Aaron Parecki <aaron@parecki.com> wrote: > > In this type of deployment, as far as OAuth is concerned, isn't the > backend web server a confidential client? Is there even anything unique to > this situation as far as OAuth security goes? > > I wouldn't have expected an Angular app that talks to its own server > backend that's managing OAuth credentials to fall under the umbrella of > this BCP. > > ---- > Aaron Parecki > aaronparecki.com > > > > On Sat, Dec 1, 2018 at 11:31 PM Torsten Lodderstedt < > torsten@lodderstedt.net> wrote: > >> the UI is rendered in the frontend, UI control flow is in the frontend. >> just a different cut through the web app’s layering >> >> All Angular apps I have seen so far work that way. And it makes a lot of >> sense to me. The backend can aggregate and optimize access to the >> underlying services without the need to fully expose them. >> >> Am 02.12.2018 um 00:44 schrieb John Bradley <ve7jtb@ve7jtb.com>: >> >> How is that different from a regular server client with a web interface >> if the backed is doing the API calls to the RS? >> >> >> On 12/1/2018 12:25 PM, Torsten Lodderstedt wrote: >> >> I forgot to mention another (architectural) option: split an application >> into frontend provided by JS in the browser and a backend, which takes care >> of the business logic and handles tokens and API access. Replay detection >> at the interface between SPA and backend can utilize standard web >> techniques (see OWASP). The backend in turn can use mTLS for sender >> constraining. >> >> Am 01.12.2018 um 15:34 schrieb Torsten Lodderstedt < >> torsten@lodderstedt.net>: >> >> IMHO the best mechanism at hand currently to cope with token >> leakage/replay in SPAs is to use refresh tokens (rotating w/ replay >> detection) and issue short living and privilege restricted access tokens. >> >> Sender constrained access tokens in SPAs need adoption of token binding >> or alternative mechanism. mtls could potentially work in deployments with >> automated cert rollout but browser UX and interplay with fetch needs some >> work. We potentially must consider to warm up application level PoP >> mechanisms in conjunction with web crypto. Another path to be evaluated >> could be web auth. >> >> Am 01.12.2018 um 10:15 schrieb Hannes Tschofenig < >> Hannes.Tschofenig@arm.com>: >> >> I share the concern Brian has, which is also the conclusion I came up >> with in my other email sent a few minutes ago. >> >> >> >> *From:* OAuth <oauth-bounces@ietf.org> *On Behalf Of *Brian Campbell >> *Sent:* Friday, November 30, 2018 11:43 PM >> *To:* Torsten Lodderstedt <torsten@lodderstedt.net> >> *Cc:* oauth <oauth@ietf.org> >> *Subject:* Re: [OAUTH-WG] draft-parecki-oauth-browser-based-apps-00 >> >> >> >> >> >> On Sat, Nov 17, 2018 at 4:07 AM Torsten Lodderstedt < >> torsten@lodderstedt.net> wrote: >> >> > Am 15.11.2018 um 23:01 schrieb Brock Allen <brockallen@gmail.com>: >> > >> > So you mean at the resource server ensuring the token was really issued >> to the client? Isn't that an inherent limitation of all bearer tokens >> (modulo HTTP token binding, which is still some time off)? >> >> Sure. That’s why the Security BCP recommends use of TLS-based methods for >> sender constraining access tokens ( >> https://tools.ietf.org/html/draft-ietf-oauth-security-topics-09#section-2..2) >> Token Binding for OAuth ( >> https://tools.ietf.org/html/draft-ietf-oauth-token-binding-08 >> <https://tools..ietf.org/html/draft-ietf-oauth-token-binding-08>) as >> well as Mutual TLS for OAuth ( >> https://tools.ietf.org/html/draft-ietf-oauth-mtls-12) are the options >> available. >> >> >> >> Unfortunately even when using the token endpoint, for SPA / in-browser >> client applications, the potential mechanisms for sender/key-constraining >> access tokens don't work very well or maybe don't work at all. So I don't >> know that the recommendation is very realistic. >> >> >> >> >> *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.* >> 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. >> >> _______________________________________________ >> OAuth mailing list >> OAuth@ietf.org >> https://www.ietf.org/mailman/listinfo/oauth >> >> >> _______________________________________________ >> OAuth mailing listOAuth@ietf.orghttps://www.ietf.org/mailman/listinfo/oauth >> >> _______________________________________________ >> 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 >> > _______________________________________________ > 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 > -- hans.zandbelt@zmartzone.eu ZmartZone IAM - www.zmartzone.eu
- [OAUTH-WG] draft-parecki-oauth-browser-based-apps… Hannes Tschofenig
- Re: [OAUTH-WG] draft-parecki-oauth-browser-based-… Aaron Parecki
- Re: [OAUTH-WG] draft-parecki-oauth-browser-based-… Joseph Heenan
- Re: [OAUTH-WG] draft-parecki-oauth-browser-based-… Simon Moffatt
- Re: [OAUTH-WG] draft-parecki-oauth-browser-based-… David Waite
- Re: [OAUTH-WG] draft-parecki-oauth-browser-based-… Tomek Stojecki
- [OAUTH-WG] draft-parecki-oauth-browser-based-apps… Daniel Fett
- [OAUTH-WG] draft-parecki-oauth-browser-based-apps… Daniel Fett
- Re: [OAUTH-WG] draft-parecki-oauth-browser-based-… David Waite
- Re: [OAUTH-WG] draft-parecki-oauth-browser-based-… Torsten Lodderstedt
- Re: [OAUTH-WG] draft-parecki-oauth-browser-based-… David Waite
- Re: [OAUTH-WG] draft-parecki-oauth-browser-based-… Brock Allen
- Re: [OAUTH-WG] draft-parecki-oauth-browser-based-… Brock Allen
- Re: [OAUTH-WG] draft-parecki-oauth-browser-based-… Torsten Lodderstedt
- Re: [OAUTH-WG] draft-parecki-oauth-browser-based-… Brock Allen
- Re: [OAUTH-WG] draft-parecki-oauth-browser-based-… Torsten Lodderstedt
- Re: [OAUTH-WG] draft-parecki-oauth-browser-based-… Brock Allen
- Re: [OAUTH-WG] draft-parecki-oauth-browser-based-… Daniel Fett
- Re: [OAUTH-WG] draft-parecki-oauth-browser-based-… n-sakimura
- Re: [OAUTH-WG] draft-parecki-oauth-browser-based-… Tomek Stojecki
- Re: [OAUTH-WG] draft-parecki-oauth-browser-based-… Brock Allen
- Re: [OAUTH-WG] draft-parecki-oauth-browser-based-… Brock Allen
- Re: [OAUTH-WG] draft-parecki-oauth-browser-based-… Torsten Lodderstedt
- Re: [OAUTH-WG] draft-parecki-oauth-browser-based-… Torsten Lodderstedt
- Re: [OAUTH-WG] draft-parecki-oauth-browser-based-… Torsten Lodderstedt
- Re: [OAUTH-WG] draft-parecki-oauth-browser-based-… Brian Campbell
- Re: [OAUTH-WG] draft-parecki-oauth-browser-based-… Vladimir Dzhuvinov
- Re: [OAUTH-WG] draft-parecki-oauth-browser-based-… Vladimir Dzhuvinov
- Re: [OAUTH-WG] draft-parecki-oauth-browser-based-… Hans Zandbelt
- Re: [OAUTH-WG] draft-parecki-oauth-browser-based-… Jim Manico
- Re: [OAUTH-WG] draft-parecki-oauth-browser-based-… Torsten Lodderstedt
- Re: [OAUTH-WG] draft-parecki-oauth-browser-based-… Aaron Parecki
- Re: [OAUTH-WG] draft-parecki-oauth-browser-based-… Torsten Lodderstedt
- Re: [OAUTH-WG] draft-parecki-oauth-browser-based-… George Fletcher
- Re: [OAUTH-WG] draft-parecki-oauth-browser-based-… Hans Zandbelt
- Re: [OAUTH-WG] draft-parecki-oauth-browser-based-… David Waite
- Re: [OAUTH-WG] draft-parecki-oauth-browser-based-… Brian Campbell
- Re: [OAUTH-WG] draft-parecki-oauth-browser-based-… Hannes Tschofenig
- Re: [OAUTH-WG] draft-parecki-oauth-browser-based-… Torsten Lodderstedt
- Re: [OAUTH-WG] draft-parecki-oauth-browser-based-… Torsten Lodderstedt
- Re: [OAUTH-WG] draft-parecki-oauth-browser-based-… John Bradley
- Re: [OAUTH-WG] draft-parecki-oauth-browser-based-… Torsten Lodderstedt
- Re: [OAUTH-WG] draft-parecki-oauth-browser-based-… Rob Otto
- Re: [OAUTH-WG] draft-parecki-oauth-browser-based-… Torsten Lodderstedt
- Re: [OAUTH-WG] draft-parecki-oauth-browser-based-… Aaron Parecki
- Re: [OAUTH-WG] draft-parecki-oauth-browser-based-… Phil Hunt
- Re: [OAUTH-WG] draft-parecki-oauth-browser-based-… David Waite
- Re: [OAUTH-WG] draft-parecki-oauth-browser-based-… Hans Zandbelt
- Re: [OAUTH-WG] draft-parecki-oauth-browser-based-… Torsten Lodderstedt
- Re: [OAUTH-WG] draft-parecki-oauth-browser-based-… David Waite
- Re: [OAUTH-WG] draft-parecki-oauth-browser-based-… John Bradley
- Re: [OAUTH-WG] draft-parecki-oauth-browser-based-… Torsten Lodderstedt
- Re: [OAUTH-WG] draft-parecki-oauth-browser-based-… Aaron Parecki
- Re: [OAUTH-WG] draft-parecki-oauth-browser-based-… Brian Campbell
- Re: [OAUTH-WG] draft-parecki-oauth-browser-based-… Aaron Parecki
- Re: [OAUTH-WG] draft-parecki-oauth-browser-based-… Vittorio Bertocci
- Re: [OAUTH-WG] draft-parecki-oauth-browser-based-… Aaron Parecki