Re: [OAUTH-WG] Benjamin Kaduk's No Objection on draft-ietf-oauth-resource-indicators-05: (with COMMENT)
Benjamin Kaduk <kaduk@mit.edu> Thu, 05 September 2019 17:53 UTC
Return-Path: <kaduk@mit.edu>
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 DD2BA1200D6; Thu, 5 Sep 2019 10:53:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.199
X-Spam-Level:
X-Spam-Status: No, score=-4.199 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 MncAWKjN5kPO; Thu, 5 Sep 2019 10:53:27 -0700 (PDT)
Received: from outgoing.mit.edu (outgoing-auth-1.mit.edu [18.9.28.11]) (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 6FC35120048; Thu, 5 Sep 2019 10:53:27 -0700 (PDT)
Received: from kduck.mit.edu ([24.16.140.251]) (authenticated bits=56) (User authenticated as kaduk@ATHENA.MIT.EDU) by outgoing.mit.edu (8.14.7/8.12.4) with ESMTP id x85HrLEi019517 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 5 Sep 2019 13:53:23 -0400
Date: Thu, 05 Sep 2019 12:53:20 -0500
From: Benjamin Kaduk <kaduk@mit.edu>
To: Brian Campbell <bcampbell@pingidentity.com>
Cc: The IESG <iesg@ietf.org>, draft-ietf-oauth-resource-indicators@ietf.org, oauth <oauth@ietf.org>, oauth-chairs@ietf.org
Message-ID: <20190905175320.GL78802@kduck.mit.edu>
References: <156763159047.22689.9306520600745069059.idtracker@ietfa.amsl.com> <CA+k3eCTu91h3X7BjJgjQ6QQU1oWXnRPM3X0EjRbi6ri=a5tSew@mail.gmail.com> <20190904235531.GE78802@kduck.mit.edu> <CA+k3eCQ0bShTn4cbzeP7hs-g+wbfP6JzUsA=xmtjyhaehmAL0Q@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <CA+k3eCQ0bShTn4cbzeP7hs-g+wbfP6JzUsA=xmtjyhaehmAL0Q@mail.gmail.com>
User-Agent: Mutt/1.10.1 (2018-07-13)
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/eSgv2VA-0rBEkHIy_8fM1A_qnhw>
Subject: Re: [OAUTH-WG] Benjamin Kaduk's No Objection on draft-ietf-oauth-resource-indicators-05: (with COMMENT)
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, 05 Sep 2019 17:53:30 -0000
On Wed, Sep 04, 2019 at 06:17:32PM -0600, Brian Campbell wrote: > On Wed, Sep 4, 2019 at 5:55 PM Benjamin Kaduk <kaduk@mit.edu> wrote: > > > On Wed, Sep 04, 2019 at 05:19:27PM -0600, Brian Campbell wrote: > > > Thanks Ben, for the review and non-objectional ballot. > > > > > > On Wed, Sep 4, 2019 at 3:13 PM Benjamin Kaduk via Datatracker < > > > noreply@ietf.org> wrote: > > > > > > > Benjamin Kaduk has entered the following ballot position for > > > > draft-ietf-oauth-resource-indicators-05: No Objection > > > > > > > > Section 3 > > > > > > > > An access token that is audience restricted to a protected resource > > > > that obtains that token legitimately cannot be used to access > > > > resources on behalf of the resource owner at other protected > > > > resources. The "resource" parameter enables a client to indicate > > the > > > > > > > > nit: This sentence has a pretty strange construction. I think the > > > > intent is to say that that a token, legitimately presented to a > > > > resource, cannot then be taken by that resource server and > > > > illegitimately present it somewhere else for access to other resources. > > > > But with the current wording we seem to be missing part of the part > > > > where some entity obtains the token with intent for illegitimate > > access. > > > > > > > > > > Yes, despite the pretty strange construction, you have the correct > > intent. > > > I'll work on improving that sentence (borrowing heavily from your words > > > there). > > > > > > > > > > > > > Some servers may host user content or be multi-tenant. In order to > > > > avoid attacks that might confuse a client into sending an access > > > > token to a resource that is user controlled or is owned by a > > > > different tenant, it is important to use a specific resource URI > > > > including a path component. This will cause any access token issued > > > > for accessing the user controlled resource to have an invalid > > > > audience if replayed against the legitimate resource API. > > > > > > > > I'm not entirely sure what this is trying to say. What is the > > > > "legitimate resource API"? Why would a token be issued for accessing a > > > > user-controlled resource if that's something we're trying to avoid > > > > having confused clients access? > > > > > > > > > > Um... so on rereading that I might say that it's also "pretty strange". > > > > > > What it was trying to somehow say is similar to the previous nit about > > > audience-restricted not being usable at the resource for whom the weren't > > > intended. But saying so in the context of a multi-tenant environment. > > > Basically it's trying to say that, in a multi-tenant environment, the > > > resource URI and subsequent token audience need to have something that > > > identifies the tenant so as to prevent the token from being used by one > > > tenant to illegitimately access resources at a different tenant. I'll > > work > > > on trying to improve that text to better explain all that. > > > > Ah, yes, that's a very good point to make. I'm happy to look at some draft > > text if you want. > > > > Thanks, here's what I've got now for this and the previous item in sec 3. > Suggestions welcome. > > 3. Security Considerations > > An audience-restricted access token, legitimately presented to a > resource, cannot then be taken by that resource to present it > elsewhere for illegitimate access to other resources. The "resource" I think "by that resource and presented elsewhere" probbaly has a more parallel flow. > parameter enables a client to indicate the protected resources where > the requested access token will be used, which in turn enables the > authorization server to apply the appropriate audience restrictions > to the token. > > Some servers may host user content or be multi-tenant. In order to > avoid attacks where one tenant uses an access token to illegitimately > access resources owned by a different tenant, it is important to use > a specific resource URI including any portion of the URI that > identifies the tenant, such as a path component. This will allow > access tokens to be audience-restricted in a way that identifies the > tenant and prevent their use, due to an invalid audience, at > resources owned by a different tenant. But other than the above nit, this all looks really good; thank you! -Ben
- [OAUTH-WG] Benjamin Kaduk's No Objection on draft… Benjamin Kaduk via Datatracker
- Re: [OAUTH-WG] Benjamin Kaduk's No Objection on d… Brian Campbell
- Re: [OAUTH-WG] Benjamin Kaduk's No Objection on d… Benjamin Kaduk
- Re: [OAUTH-WG] Benjamin Kaduk's No Objection on d… Brian Campbell
- Re: [OAUTH-WG] Benjamin Kaduk's No Objection on d… Benjamin Kaduk
- Re: [OAUTH-WG] Benjamin Kaduk's No Objection on d… Brian Campbell