Re: [OAUTH-WG] [EXTERNAL] Re: Benjamin Kaduk's No Objection on draft-ietf-oauth-jwsreq-26: (with COMMENT)

Mike Jones <Michael.Jones@microsoft.com> Sat, 15 August 2020 16:41 UTC

Return-Path: <Michael.Jones@microsoft.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 F350C3A0743 for <oauth@ietfa.amsl.com>; Sat, 15 Aug 2020 09:41:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.1
X-Spam-Level:
X-Spam-Status: No, score=-2.1 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, 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=microsoft.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 wfWpU03ktip9 for <oauth@ietfa.amsl.com>; Sat, 15 Aug 2020 09:41:34 -0700 (PDT)
Received: from NAM06-DM3-obe.outbound.protection.outlook.com (mail-eopbgr640119.outbound.protection.outlook.com [40.107.64.119]) (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 4892F3A073E for <oauth@ietf.org>; Sat, 15 Aug 2020 09:41:34 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jdnTnOKpF7e1i8sCgGoOPcfZuoagVLCq9gpKx93U/AJO5bVWqvIPY7HPpI947ixht+C5DDD9Xsq3x8vipuLOFBVwg7NXgPky9anE3dOMz96XOO6PfoipRuDd/EbZ8z++o8vzCkvcPdmiaCg1s9AL8KV5NeyJozmMJtoihUpmW4y7jNdEtX8euv3f+nEsxAOKRFA5NEPbflT8/JNzUhnFyn3Wxcv4mBThNThzmEzygFWM9eNgWOTlBmap+agfAmRv6zyZVcng+7ZgAJWRpGLKMmZhnux6/Vh/lkMqSm1AW/l0hKe1FvQ3vNAf7Kr2CBj3jvS3iKydHSpEbol5LqWGEg==
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=qtfKVN43+h5QE0zxuEBfSEg71X+CdiSmcPOpKiUdPUk=; b=c+cqA/5YIbwBNpmqowAVX9NUfb7oZQPEV4EbGYdZt9qMPKaXMWlGvsFOabbWdChgb/Sud/ju0Z4O5wGKdzrPpZRioM2Y1l6ROr4vl/Sm3YfoxNyP/hGEgRi/+aqtcfIL1yUKE/SnKQdnyAk7ru7cdWtAPhMj0CjbhwHZxquGesT9svdx6/HKBniEm3PVqCcXx0mrpEpDcd3et54yvFoEXkNHNhYZiR2ENYh0tA0YVWstgnX2Pz3LUninfOvy1Qidn/5ahU3sRrjes7zIF6AzTP/42crmGxgOAt3ZZqPey42qxAVPRD9je2Bc4zqsYNJI0Wm4CDMXy213U8sb6zqgDQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microsoft.com; dmarc=pass action=none header.from=microsoft.com; dkim=pass header.d=microsoft.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=qtfKVN43+h5QE0zxuEBfSEg71X+CdiSmcPOpKiUdPUk=; b=iwDZl5cVijM5/4zfJ4cElZBWckvE7DXrVsIXFAMY2GqiA58JPuY1pVxBgjEZhm1ez0qeylou8oZNZwFtJWPtUnbfHnHUDXBUezZd+uaPCJUB5WHKMRcbY+MPUHVI6KZP6E8e+u6k6VShzjehvfUGQU/vVgyyYyyHm/BxpO7wD5M=
Received: from DM6PR00MB0684.namprd00.prod.outlook.com (2603:10b6:5:21c::8) by DM5PR00MB0424.namprd00.prod.outlook.com (2603:10b6:4:a0::36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3330.0; Sat, 15 Aug 2020 16:41:29 +0000
Received: from DM6PR00MB0684.namprd00.prod.outlook.com ([fe80::7190:18d0:8dfa:9af5]) by DM6PR00MB0684.namprd00.prod.outlook.com ([fe80::7190:18d0:8dfa:9af5%3]) with mapi id 15.20.3333.000; Sat, 15 Aug 2020 16:41:29 +0000
From: Mike Jones <Michael.Jones@microsoft.com>
To: Vladimir Dzhuvinov <vladimir@connect2id.com>, "panva.ip@gmail.com" <panva.ip@gmail.com>
CC: oauth <oauth@ietf.org>
Thread-Topic: [EXTERNAL] Re: [OAUTH-WG] Benjamin Kaduk's No Objection on draft-ietf-oauth-jwsreq-26: (with COMMENT)
Thread-Index: AdZxxVKnjSQXMUSOT4WoNI/yLDFAqgAZJM6AAC5tBQAAD1YCgAAAGHWg
Date: Sat, 15 Aug 2020 16:41:29 +0000
Message-ID: <DM6PR00MB0684908CEB778DED9943E0CDF5411@DM6PR00MB0684.namprd00.prod.outlook.com>
References: <MN2PR00MB06863A1064A05D8029C44788F5431@MN2PR00MB0686.namprd00.prod.outlook.com> <CALAqi_9M40enpWOMO2h5rVdiveOxh6hnA1ZLc9EJJ-H_Fp59+g@mail.gmail.com> <c9620f5f-55f2-9b85-61ad-bac5dc1e9877@connect2id.com> <CAJot-L3UKNjdxnDZr3JHt_YuBC5zAv=hAq3AGGgMRo8hhhopiw@mail.gmail.com>
In-Reply-To: <CAJot-L3UKNjdxnDZr3JHt_YuBC5zAv=hAq3AGGgMRo8hhhopiw@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels: MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Enabled=true; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2020-08-15T16:30:03Z; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Method=Standard; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Name=Internal; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ActionId=a902d22a-3c9c-4f88-9895-017900c2f254; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ContentBits=0
authentication-results: connect2id.com; dkim=none (message not signed) header.d=none;connect2id.com; dmarc=none action=none header.from=microsoft.com;
x-originating-ip: [50.47.88.234]
x-ms-publictraffictype: Email
x-ms-office365-filtering-ht: Tenant
x-ms-office365-filtering-correlation-id: f21703a5-5371-4132-0663-08d8413a0f5f
x-ms-traffictypediagnostic: DM5PR00MB0424:
x-microsoft-antispam-prvs: <DM5PR00MB0424C4C6FC087C89C99228B2F5411@DM5PR00MB0424.namprd00.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: t76qzp6HH1Kpw3Rst1a8RSvJxVzptVS9xt9+KEWt37Wv/qjwNi1MNlhb0GHyhWFm3Tc/xoofP3hOxzoDViNv52qWTXC8NfhX/QGNTKsOseGiUXENcuooBDcrjpAFBkvaTS6dpXSmzu+ptFYSPn5xK8KMeq4mMTGVIgBxi3MuZW9jrBspK3JpHvGxfVCNrYgyKVaBCyD1moUpS6ijw0GdAlJuTbLLx6eWCkR0bSK2GU3XPzSaKJVlqRnfNHkAHxI7R6J3oh1Pl5RYLR3RqXCEE1kmWkpVzcQldoBFB1al8zGQFJBqDhPvzYjtvX/qNXNMcL2iU0e/IAVWLUkEC10JQ89et1qfl6jyckAqYnRMLrmllvbjuWDEmI/LEmclBlCwel/hQsPtPKzIEK3C3hEDcw==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR00MB0684.namprd00.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(39860400002)(366004)(376002)(396003)(136003)(346002)(9686003)(4326008)(86362001)(2906002)(186003)(8676002)(10290500003)(53546011)(55016002)(6506007)(26005)(52536014)(8936002)(71200400001)(76116006)(110136005)(316002)(5660300002)(83380400001)(83080400001)(82950400001)(66946007)(66476007)(64756008)(66446008)(966005)(7696005)(478600001)(166002)(8990500004)(66556008)(82960400001)(33656002); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata: MSyRKbLq4eI7I5SzBmEiSMOFG71Xz/iDAUa5oBmTJyoaR2qBueVmi5iv/9VAs9Y/YiCppOpo0zk4lCMdGBPwTtW4Cj3vPckiEO7hlE8Ruo8XXsSRE9Av/sODCAjQBRDbGxu9vIR1jFzPcjdRcKY/G2SPlZf1ami0PIkDZTXsZ/HEkCpFn1iX71drShU7Z8UdNmA7juuUrbHE83PtN6MHP0oOP81xcG7/z20TUzH7esA6C08YKDdOxi47dssQitrax4GvaxIYr2sSvWWkpwVa648SrQNSRS3D3Av5x0nUC9Bz85uEXcRlttda3FVGW0/Qdn+iVi/wkbJ8ii70I9wZ3hAEeNupA86JsPG8aQe8Zw+G8meTUly78O9jft8lSn+7OAVx3tyMF6QeyE8QLfORRc7lQKNeNPzYZ9wxdikLwkTXsZte0owt5z+DI6Q4yY+hub54HZaVaMleHdchf/N2CSzAnYHAjrBTlqarO4EpSDqp04ipaYV5H4GUg9oqcM5Y631q/LI5w0ERcsuanWgYtub0iwabdwfW155A1Jq2FAmtvM0/jj/a9sE61DyTGBTMMycPpM5lnYrmI9R0gQaZOLq70quuQI9Vr1OxD2lJi8PUIKhduwK3u0Fw+ETwYweyJSzI5CnxyH4RjG8s/0MVpA==
x-ms-exchange-transport-forked: True
Content-Type: multipart/alternative; boundary="_000_DM6PR00MB0684908CEB778DED9943E0CDF5411DM6PR00MB0684namp_"
MIME-Version: 1.0
X-OriginatorOrg: microsoft.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM6PR00MB0684.namprd00.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f21703a5-5371-4132-0663-08d8413a0f5f
X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Aug 2020 16:41:29.3883 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: zp3gtR//LyutaFGjj27foO7HOK1S6CoFSdyE9JF+T9DiG3bwEhbQchdGJVa2BFPC+m6WTVAnYjXaAqV7VOtfNg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR00MB0424
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/ZzIzmDocrGZZPFRwLSsPY9uUtwY>
Subject: Re: [OAUTH-WG] [EXTERNAL] Re: Benjamin Kaduk's No Objection on draft-ietf-oauth-jwsreq-26: (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: Sat, 15 Aug 2020 16:41:37 -0000

Answering Filip and Vladirmir’s question about adding normative language around “typ” and “sub”:  Anytime you add a new required feature, you are breaking existing deployments.  Suppose we added the normative requirement “If a ‘typ’ header parameter is present, ASs MUST reject the Request object if its value is not ‘oauth.authz.req+jwt’”.  One could then write a certification test sending the AS a different “typ” value – which to pass, ASs would have to reject the JWT.  Every existing deployment would fail this test!  That’s exactly what we don’t want to have happen.

Brian asked for security considerations.  The IESG asked for security considerations.  I added them in the PR – working with Nat and John.  They point the way to the future without breaking existing deployments.  That’s as it should be.

                                                       -- Mike

From: OAuth <oauth-bounces@ietf.org> On Behalf Of Warren Parad
Sent: Saturday, August 15, 2020 9:27 AM
To: Vladimir Dzhuvinov <vladimir@connect2id.com>
Cc: oauth <oauth@ietf.org>
Subject: [EXTERNAL] Re: [OAUTH-WG] Benjamin Kaduk's No Objection on draft-ietf-oauth-jwsreq-26: (with COMMENT)

In the case of
if the Request Object includes a sub claim with the value of the client_id the AS MUST reject the request

What would the expectation be in terms of a client_credentials grant?

From experience, the sub is frequently populated with the client_id value and the client_id is not used. Which would mean breaking for that type of grant wouldn't it?


[https://lh6.googleusercontent.com/DNiDx1QGIrSqMPKDN1oKevxYuyVRXsqhXdfZOsW56Rf2A74mUKbAPtrJSNw4qynkSjoltWkPYdBhaZJg1BO45YOc1xs6r9KJ1fYsNHogY-nh6hjuIm9GCeBRRzrSc8kWcUSNtuA]

Warren Parad

Founder, CTO
Secure your user data and complete your authorization architecture. Implement Authress<https://bit.ly/37SSO1p>.


On Sat, Aug 15, 2020 at 11:08 AM Vladimir Dzhuvinov <vladimir@connect2id.com<mailto:vladimir@connect2id.com>> wrote:

+1 to make the "typ" check, as Filip suggested, normative, as existing client and RP deployments with undefined "typ" will not be affected. New deployments should be encouraged to type the JWT, and thus be made safer.



Regarding the "sub != client_id" check -- could a simple rejection of all JWTs with "sub" present suffice?

I find it difficult to imagine what else a client could end up setting the "sub" claim to, if it does end up populating it for some reason.

Rejecting JWTs with "sub=client_id" or "sub" present will break deployments where a client for some reason sets the "typical" JWT claims, and "sub" is a typical one, but if those deployments happen to accept client_secret_jwt or private_key_jwt client authentication, they could well be vulnerable to cross-JWT confusion attacks.



Vladimir
On 14/08/2020 13:58, Filip Skokan wrote:
Hi Mike, Nat,

I thought we would go as far as making these normative requirements

  *   if the Request Object includes a sub claim with the value of the client_id the AS MUST reject the request
  *   if the Request Object is explicitly typed (typ) its value MUST be ...
First rejects client assertions to be passed as Request Objects. Second rejects all future typed JWT profiles from being used as Request Objects without worrying about the claims they may or may not contain.

Or is that breaking?

S pozdravem,
Filip Skokan


On Fri, 14 Aug 2020 at 00:59, Mike Jones <Michael.Jones=40microsoft.com@dmarc.ietf.org<mailto:40microsoft.com@dmarc.ietf.org>> wrote:
At Nat's request, I've created a pull request addressing Cross-JWT Confusion security considerations.  It addresses both Brian's comment and the IESG comments about explicit typing.  See the full PR at https://bitbucket.org/Nat/oauth-jwsreq/pull-requests/10.  See the source diffs at https://bitbucket.org/Nat/oauth-jwsreq/pull-requests/10/address-iesg-and-working-group-comments/diff#chg-draft-ietf-oauth-jwsreq.xml.  Please review!

This is only the first commit, albeit, one that addresses some of the must substantive issues.  More commits will follow addressing additional IESG comments.

                                -- Mike

-----Original Message-----
From: OAuth <oauth-bounces@ietf.org<mailto:oauth-bounces@ietf.org>> On Behalf Of Benjamin Kaduk
Sent: Thursday, August 13, 2020 2:59 PM
To: Brian Campbell <bcampbell@pingidentity.com<mailto:bcampbell@pingidentity.com>>
Cc: draft-ietf-oauth-jwsreq@ietf.org<mailto:draft-ietf-oauth-jwsreq@ietf.org>; oauth-chairs@ietf.org<mailto:oauth-chairs@ietf.org>; The IESG <iesg@ietf.org<mailto:iesg@ietf.org>>; oauth <oauth@ietf.org<mailto:oauth@ietf.org>>
Subject: Re: [OAUTH-WG] Benjamin Kaduk's No Objection on draft-ietf-oauth-jwsreq-26: (with COMMENT)

Oops, that's my bad.  Thanks for the correction -- I've linked to your message in the datatracker (but didn't bother to have the datatracker send a third copy of my updated-again ballot position).

-Ben

On Thu, Aug 13, 2020 at 03:00:33PM -0600, Brian Campbell wrote:
> While some discussion of why explicit typing was not used might be
> useful to have, that thread started with a request for security
> considerations prohibiting use of the "sub" with a client ID value.
> Because such a request JWT could be repurposed for JWT client
> authentication. And explicit typing wouldn't help in that situation.
>
> On Tue, Aug 11, 2020 at 2:50 PM Benjamin Kaduk via Datatracker <
> noreply@ietf.org<mailto:noreply@ietf.org>> wrote:
>
> >
> > --------------------------------------------------------------------
> > --
> > COMMENT:
> > --------------------------------------------------------------------
> > --
> >
> > [updated to note that, per
> > https://mailarchive.ietf.org/arch/msg/oauth/Lqu15MJikyZrXZo5qsTPK2o0
> > eaE/ and the JWT BCP (RFC 8725), some discussion of why explicit
> > typing is not used would be in order]
> >
> >
>
> --
> _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<mailto:OAuth@ietf.org>
https://www.ietf.org/mailman/listinfo/oauth

_______________________________________________
OAuth mailing list
OAuth@ietf.org<mailto:OAuth@ietf.org>
https://www.ietf.org/mailman/listinfo/oauth


_______________________________________________

OAuth mailing list

OAuth@ietf.org<mailto:OAuth@ietf.org>

https://www.ietf.org/mailman/listinfo/oauth

--

Vladimir Dzhuvinov
_______________________________________________
OAuth mailing list
OAuth@ietf.org<mailto:OAuth@ietf.org>
https://www.ietf.org/mailman/listinfo/oauth