Re: [OAUTH-WG] draft-bertocci-oauth-access-token-jwt-00
Hans Zandbelt <hans.zandbelt@zmartzone.eu> Thu, 04 April 2019 15:39 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 EDC1D1206E8 for <oauth@ietfa.amsl.com>; Thu, 4 Apr 2019 08:39:12 -0700 (PDT)
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, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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=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 oZvl83xRmfZI for <oauth@ietfa.amsl.com>; Thu, 4 Apr 2019 08:39:10 -0700 (PDT)
Received: from mail-qt1-x831.google.com (mail-qt1-x831.google.com [IPv6:2607:f8b0:4864:20::831]) (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 2C4421206C7 for <oauth@ietf.org>; Thu, 4 Apr 2019 08:39:07 -0700 (PDT)
Received: by mail-qt1-x831.google.com with SMTP id d13so3758086qth.5 for <oauth@ietf.org>; Thu, 04 Apr 2019 08:39:07 -0700 (PDT)
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=Xw5BCH7aW7ombTcPgm3fqwSrJQRUsvdOjamFhB3dCWU=; b=YnSIZNJUP7N3JbzzBqn5A2PFPtIAlJqQycpwqDroD2brfeiIQrz9S09Ahb3zPWRVW/ h4EiN7zU7h0f3MEwEiS20W1YTzKAvZl+6x0h6Fu24esrj6crjDq/5sL4WkSeqN9V2HGX t7J3rBiY6W8iN9sZeOAgm6boqQRV9ylXNfdEx+VX0ggU+UAsW7jEHplW9p45GEHiSKlM qcWpKp+SZYd7J9L4WHoi9RGR4Xfk943iXezwgZfiXSSPqUv0VxLxf/hoe+vA7luwGuBC 6Iv7/x14nPrBAvEMn7D0g6bzA/wB0EoKjy1jpTaUVgd8n5H8+TAxJJajMx8wFMJ3rzEN z1Gg==
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=Xw5BCH7aW7ombTcPgm3fqwSrJQRUsvdOjamFhB3dCWU=; b=JxeSSGEwo+IGUYlbO/qIQDyx3h+7ip8CCAa2K5O2JOO+VpIWJYMkywsjeLTWee8ovU hp6a1y3QBBfgPLisLbpBKLktTY8cn28xvBhpwbuE+S5rJnEDPLybDJD0q+t96JleYsQN KtPwz3dR7yNrM7EI3cPSC/i3gn9+kSPjTdgPfkXPGslUCxTNeDQQfyO5v3dxyEV+qK8U SK9aUyV22h4axqx2rJZCSMtGG2tr+12it9WCLiCXaTaHKeaCOe9MxAXOf7Al/0rsimMD GjB9YI90N02mU18obAVa82iVB7yiLUdCszBXP7MAdyYzNQ8z8YUOnjuZq46+Vg6TYSoA AaIA==
X-Gm-Message-State: APjAAAWvSGKRZctYolW5ctgK+dieeQBcrnqTmSyMMWfqwJ0eHQxMyeXX /F/fJdOF0zOUhKyn5x2dbXqxMA8avuE/8cCpUpymhIal
X-Google-Smtp-Source: APXvYqynzei6JE/qfuvhCQT8czlW1U5dMftMBvRUlLhoRQp7A7azEEAZY/lmI/V8iSHG234y43AeyrS4QIw4hS7+BZE=
X-Received: by 2002:aed:2307:: with SMTP id h7mr5796322qtc.87.1554392346058; Thu, 04 Apr 2019 08:39:06 -0700 (PDT)
MIME-Version: 1.0
References: <CAO_FVe6eWy3zppQAij7qxD+ycYL8ebqGJKG0y-A7GhN+0=kb4g@mail.gmail.com> <62e62afb-891d-f7d8-8b39-793254dadf7b@aol.com> <CA+k3eCRGtvvT6YGGMZN+Krux=yTD-SSNJtj6mXQb5Fr9oQBbyQ@mail.gmail.com> <CA+k3eCR3sZ-gC96BYBTTW7kQ6EGw=z8wiNokAroNd=VTvNF3kw@mail.gmail.com>
In-Reply-To: <CA+k3eCR3sZ-gC96BYBTTW7kQ6EGw=z8wiNokAroNd=VTvNF3kw@mail.gmail.com>
From: Hans Zandbelt <hans.zandbelt@zmartzone.eu>
Date: Thu, 04 Apr 2019 17:38:54 +0200
Message-ID: <CA+iA6uiaoX_ZeTSdgrPZHUH8zCn4GEg8t9R7fYH4LsfWYwzfaw@mail.gmail.com>
To: Brian Campbell <bcampbell=40pingidentity.com@dmarc.ietf.org>
Cc: George Fletcher <gffletch=40aol.com@dmarc.ietf.org>, IETF oauth WG <oauth@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000a0f5a50585b62b10"
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/Mz0b9V16EMZaxpfivXDtTnW622M>
Subject: Re: [OAUTH-WG] draft-bertocci-oauth-access-token-jwt-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: Thu, 04 Apr 2019 15:39:16 -0000
agreed but it (i.e. "sub") also brings us back to where we started Hans. On Thu, Apr 4, 2019 at 5:27 PM Brian Campbell <bcampbell= 40pingidentity.com@dmarc.ietf.org> wrote: > The same is true for most of the other main claims too - iss, exp, aud, > sub, iat, etc.. They are defined in RFC 7519 not OIDC. > > On Thu, Apr 4, 2019 at 9:21 AM Brian Campbell <bcampbell@pingidentity.com> > wrote: > >> Yeah, OpenID.Core isn't the right reference for `aud`. >> https://tools.ietf.org/html/rfc7519#section-4.1.3 is the definition of >> `aud` which should be the reference and this document can provide >> additional specifics for the given application. >> >> On Thu, Apr 4, 2019 at 8:07 AM George Fletcher <gffletch= >> 40aol.com@dmarc.ietf.org> wrote: >> >>> Another comment... >>> >>> aud REQUIRED - as defined in section 2 of [OpenID.Core <https://tools.ietf.org/html/draft-bertocci-oauth-access-token-jwt-00#ref-OpenID.Core>]. See >>> Section 3 <https://tools.ietf.org/html/draft-bertocci-oauth-access-token-jwt-00#section-3> for indications on how an authorization server should >>> determine the value of aud depending on the request. [Note: some >>> vendors seem to rely on resource aliases. If we believe this to >>> be a valuable feature, here's some proposed language: The aud >>> claim MAY include a list of individual resource indicators if they >>> are all aliases referring to the same requested resource known by >>> the authorization server. ] >>> >>> >>> >>> I don't think OpenID.Core Section 3 is the correct reference for >>> determining the 'aud' value. The issue here is that the 'aud' of the >>> id_token is the recipient of the id_token (i.e. the client). However, for >>> access_tokens the 'aud' value should be the resource service that will >>> receive the access_token. There is no existing guidance for this and we >>> should provide such guidance as this is "kind of new" for OAuth2 (from an >>> explicit specification perspective). >>> >>> Also, there is the concept of 'azp' from the id_token which amounts to >>> "who's allowed to present this token" which might be interesting from the >>> case where one entity obtains the token, and gives it to another entity to >>> present. Not sure if we want to include this concept or not. >>> >>> Finally, I think we may need some best practice around how the concept >>> of audience and resource should be managed. For instance... >>> >>> If the request does not include a resource parameter, the >>> authorization server MUST use in the aud claim a default resource >>> indicator. If a scope parameter is present in the request, the >>> authorization server SHOULD use it to infer the value of the default >>> resource indicator to be used in the aud claim. >>> >>> >>> I think for most implementations this would amount to... define an >>> audience that covers all the resource services where the access token can >>> be returned and set that as the audience (e.g. urn:x-mydomain:apis). Which >>> is perfectly legal but maybe not in the spirit of the spec:) I am receiving >>> feedback from developers that binding access tokens narrowly to the >>> resource where they will be presented is concerning from a chattiness >>> perspective (latency issues) and general load on the deployed AS >>> infrastructure. >>> >>> On 3/24/19 7:29 PM, Vittorio Bertocci wrote: >>> >>> Dear all, >>> I just submitted a draft describing a JWT profile for OAuth 2.0 access >>> tokens. You can find it in >>> https://datatracker.ietf.org/doc/draft-bertocci-oauth-access-token-jwt/. >>> I have a slot to discuss this tomorrow at IETF 104 (I'll be presenting >>> remotely). I look forward for your comments! >>> >>> Here's just a bit of backstory, in case you are interested in how this >>> doc came to be. The trajectory it followed is somewhat unusual. >>> >>> - Despite OAuth2 not requiring any specific format for ATs, through >>> the years I have come across multiple proprietary solution using JWT for >>> their access token. The intent and scenarios addressed by those solutions >>> are mostly the same across vendors, but the syntax and interpretations in >>> the implementations are different enough to prevent developers from reusing >>> code and skills when moving from product to product. >>> - I asked several individuals from key products and services to >>> share with me concrete examples of their JWT access tokens (THANK YOU >>> Dominick Baier (IdentityServer), Brian Campbell (PingIdentity), >>> Daniel Dobalian (Microsoft), Karl Guinness (Okta) for the tokens and >>> explanations!). >>> I studied and compared all those instances, identifying >>> commonalities and differences. >>> - I put together a presentation summarizing my findings and >>> suggesting a rough interoperable profile (slides: >>> https://sec.uni-stuttgart.de/_media/events/osw2019/slides/bertocci_-_a_jwt_profile_for_ats.pptx >>> <https://sec..uni-stuttgart.de/_media/events/osw2019/slides/bertocci_-_a_jwt_profile_for_ats.pptx> >>> ) - got early feedback from Filip Skokan on it. Thx Filip! >>> - The presentation was followed up by 1.5 hours of unconference >>> discussion, which was incredibly valuable to get tight-loop feedback and >>> incorporate new ideas. John Bradley, Brian Campbell Vladimir Dzhuvinov, >>> Torsten Lodderstedt, Nat Sakimura, Hannes Tschofenig were all there >>> and contributed generously to the discussion. Thank you!!! >>> Note: if you were at OSW2019, participated in the discussion and >>> didn't get credited in the draft, my apologies: please send me a note and >>> I'll make things right at the next update. >>> - On my flight back I did my best to incorporate all the ideas and >>> feedback in a draft, which will be discussed at IETF104 tomorrow. Rifaat, >>> Hannes and above all Brian were all super helpful in negotiating the >>> mysterious syntax of the RFC format and submission process. >>> >>> I was blown away by the availability, involvement and willingness to >>> invest time to get things right that everyone demonstrated in the process. >>> This is an amazing community. >>> V. >>> >>> _______________________________________________ >>> OAuth mailing listOAuth@ietf.orghttps://www.ietf.org/mailman/listinfo/oauth >>> >>> >>> _______________________________________________ >>> OAuth mailing list >>> OAuth@ietf.org >>> https://www.ietf.org/mailman/listinfo/oauth >>> >> > *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 > -- hans.zandbelt@zmartzone.eu ZmartZone IAM - www.zmartzone.eu
- [OAUTH-WG] draft-bertocci-oauth-access-token-jwt-… Vittorio Bertocci
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Nov Matake
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Dominick Baier
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Hans Zandbelt
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Pedro Igor Silva
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Dominick Baier
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Hans Zandbelt
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… CARLIER Bertrand
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… donald.coffin
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Vittorio Bertocci
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Vittorio Bertocci
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Vittorio Bertocci
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Nov Matake
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Dominick Baier
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Schanzenbach, Martin
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Dave Tonge
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Rob Otto
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Steinar Noem
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Vittorio Bertocci
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Hans Zandbelt
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Dave Tonge
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Schanzenbach, Martin
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Vittorio Bertocci
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Vittorio Bertocci
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Binningsbø
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Benjamin Kaduk
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Vittorio Bertocci
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… George Fletcher
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… David Waite
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Brian Campbell
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Vittorio Bertocci
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… George Fletcher
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Hans Zandbelt
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Dominick Baier
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… George Fletcher
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… George Fletcher
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Brian Campbell
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Brian Campbell
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Hans Zandbelt
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… George Fletcher
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Brian Campbell
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… George Fletcher
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Schanzenbach, Martin
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Hans Zandbelt
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Brian Campbell
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Schanzenbach, Martin
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Vittorio Bertocci
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Vittorio Bertocci
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Schanzenbach, Martin
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Vittorio Bertocci
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Vittorio Bertocci
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… George Fletcher
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Mike Jones
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Hans Zandbelt
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Mike Jones
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Hans Zandbelt
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Binningsbø
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Brian Campbell
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Vittorio Bertocci
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Vladimir Dzhuvinov
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Vladimir Dzhuvinov
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Vittorio Bertocci
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Vittorio Bertocci
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Vladimir Dzhuvinov
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Vittorio Bertocci
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Vladimir Dzhuvinov
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Karl McGuinness
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… George Fletcher
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Hans Zandbelt
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Vittorio Bertocci
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Hans Zandbelt
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Vittorio Bertocci
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Hans Zandbelt
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Vittorio Bertocci
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Hans Zandbelt
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Vittorio Bertocci
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Hans Zandbelt
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Vittorio Bertocci
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Neil Madden
- [OAUTH-WG] OAuth security topics Neil Madden
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Vittorio Bertocci
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Neil Madden
- Re: [OAUTH-WG] OAuth security topics Hannes Tschofenig
- [OAUTH-WG] Off Topic: oauth-bounces Neil Madden
- Re: [OAUTH-WG] OAuth security topics Torsten Lodderstedt
- Re: [OAUTH-WG] OAuth security topics Neil Madden
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Hans Zandbelt
- Re: [OAUTH-WG] Off Topic: oauth-bounces Benjamin Kaduk
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Vladimir Dzhuvinov
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Vladimir Dzhuvinov
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Vladimir Dzhuvinov
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Neil Madden
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Torsten Lodderstedt
- Re: [OAUTH-WG] OAuth security topics Torsten Lodderstedt
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… George Fletcher
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Vladimir Dzhuvinov
- Re: [OAUTH-WG] draft-bertocci-oauth-access-token-… Vittorio Bertocci
- Re: [OAUTH-WG] OAuth security topics Neil Madden