Re: [secdir] Secdir last call review of draft-ietf-oauth-access-token-jwt-11

Vittorio Bertocci <vittorio.bertocci@auth0.com> Sat, 20 February 2021 08:42 UTC

Return-Path: <vittorio.bertocci@auth0.com>
X-Original-To: secdir@ietfa.amsl.com
Delivered-To: secdir@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id AD3313A0D5C for <secdir@ietfa.amsl.com>; Sat, 20 Feb 2021 00:42:22 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_BLOCKED=0.001, 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=auth0.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 JNiWQjAAloZ1 for <secdir@ietfa.amsl.com>; Sat, 20 Feb 2021 00:42:20 -0800 (PST)
Received: from mail-pj1-x102f.google.com (mail-pj1-x102f.google.com [IPv6:2607:f8b0:4864:20::102f]) (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 DAB333A0CED for <secdir@ietf.org>; Sat, 20 Feb 2021 00:42:19 -0800 (PST)
Received: by mail-pj1-x102f.google.com with SMTP id s23so2341299pji.1 for <secdir@ietf.org>; Sat, 20 Feb 2021 00:42:19 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=auth0.com; s=google; h=from:to:cc:subject:thread-topic:thread-index:date:message-id :references:in-reply-to:accept-language:content-language :content-transfer-encoding:mime-version; bh=EJL2y5Zm0Y/YifYvveg85JkqPKWYnv+oNaR+2Ubf1OI=; b=gdtdca1l90pe/83qrlQqOGRVy1V+Sgx0gJQ2syGeMpiIRU9eo6VbXxbNYDhWnW28gq VpjT2xAK0UBZUhaNI+U+VbCtajvqDbJ5d50OcssyVCz8aRmqpSTShJDoV2aFfkdLR1Ze WL54MYWOju1XVc4PPYddq2KC/IfefODmRstF+2sS1rYlEG3q2Lce//a0uKFGPvA3ntuJ ZIhmvD8vSXTLPgH4e5D/Xs3rQPRSj+6kGY4zpMfTHwGcQjedyOmE7fJaZCQmXzahcmep w9kZsKgqi3bNbUZiAeUAbjiKRTirKjEGu/KXhxuqgnQ3lV001J59qQTz303wJr4fhHbc LSqA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:thread-topic:thread-index :date:message-id:references:in-reply-to:accept-language :content-language:content-transfer-encoding:mime-version; bh=EJL2y5Zm0Y/YifYvveg85JkqPKWYnv+oNaR+2Ubf1OI=; b=HpWDLtAb0rXbphLblPE83NPlA1NmY5wAJgYU03MhnrAm44WZaFJ53vRB7NsS89UQYY dYa+kefmg9+kV4L8Wg2jUyudOEzVjuvthLVkEfOo+XivqHoRxAdJpn6phYFQJXQzxv95 yoLkvMhKpWRylqRtcmIuvYP4ByW4ZKpWFlMypy+HZwkgx2POyEbcJZyCUyiJXkFnVEaZ Zrdp1J7xCNnJexDLk1q35tRsYeB6TgZLxuaj6JwMuk6UpN5Sar496Z8xkfYhvGr0GGr6 /zZljBPKCCL55OQfZi1d48GKdHI6O8Xl9a4BTJKj7s8xlxjG1Htce2jqHJ6bYONmwC4Y jL8A==
X-Gm-Message-State: AOAM531psf4Q/9esg1kYOPIip9YqBtIV6wj40TBPdcM3F76pj8bVXDrL q//bsMzyUahO69j9NkMoEpvSGQ==
X-Google-Smtp-Source: ABdhPJzbG8HQdteyuhWc4QVf4ywecEGTPVgQ/gXskqQCZoYcWMBEu67eGFdKD+y/+mAABCKRFZMGKQ==
X-Received: by 2002:a17:90a:d14c:: with SMTP id t12mr9103176pjw.5.1613810539227; Sat, 20 Feb 2021 00:42:19 -0800 (PST)
Received: from CO6PR18MB4052.namprd18.prod.outlook.com ([2603:1036:301:402a::5]) by smtp.gmail.com with ESMTPSA id b10sm9752268pgm.76.2021.02.20.00.42.18 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 20 Feb 2021 00:42:18 -0800 (PST)
From: Vittorio Bertocci <vittorio.bertocci@auth0.com>
To: Joseph Salowey <joe@salowey.net>, "secdir@ietf.org" <secdir@ietf.org>
CC: "draft-ietf-oauth-access-token-jwt.all@ietf.org" <draft-ietf-oauth-access-token-jwt.all@ietf.org>, "last-call@ietf.org" <last-call@ietf.org>, "oauth@ietf.org" <oauth@ietf.org>
Thread-Topic: Secdir last call review of draft-ietf-oauth-access-token-jwt-11
Thread-Index: ATI1NjY3HTXdqRcwZ27bx4dm5mgVQsmkXCXT
X-MS-Exchange-MessageSentRepresentingType: 1
Date: Sat, 20 Feb 2021 08:42:13 +0000
Message-ID: <CO6PR18MB405292D07FA84CC94F9AB810AE839@CO6PR18MB4052.namprd18.prod.outlook.com>
References: <161272369978.20616.15063633580755015902@ietfa.amsl.com>
In-Reply-To: <161272369978.20616.15063633580755015902@ietfa.amsl.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-Exchange-Organization-SCL: -1
X-MS-TNEF-Correlator:
X-MS-Exchange-Organization-RecordReviewCfmType: 0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/secdir/3RBe1NDv0o1OfNB7UVZdREtxTUA>
Subject: Re: [secdir] Secdir last call review of draft-ietf-oauth-access-token-jwt-11
X-BeenThere: secdir@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Security Area Directorate <secdir.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/secdir>, <mailto:secdir-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/secdir/>
List-Post: <mailto:secdir@ietf.org>
List-Help: <mailto:secdir-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/secdir>, <mailto:secdir-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 20 Feb 2021 08:42:29 -0000

Thank you Joseph for your comments!

> 1.  (Editorial) What is the relationship between this document and RFC 7523. 
>   They are using JWT for different purposes, but I think it would be useful to
>    clarify this in the introduction.
Good point, I agree it would be good to preempt doubts on this. I am suggesting to append the following language to the current introduction (pardon the XML).

Please note: although both this document and <xref target="RFC7523"/> both use JSON Web Tokens in the context of the OAuth2 framework, the two specifications differ in both intent and mechanics. Whereas <xref target=" RFC7523"/> defines how a JWT Bearer Token can be used to request an access token, this documents describes how to encode access tokens in JWT format.

>    2.  (Issue) The specification does not specify any mandatory to implement for
>    the recommended asymmetric algorithms.  This will not help interop.  Perhaps
>    specify one or both of  "RS256" and "ES256".
The current text doesn’t mandate a format for two main reasons: 
- thanks to the AS metadata the negotiation between a RS and an AS is very easy to perform, hence the likelihood of interop issues at runtime is very low
- worries that as crypto advances, what we mandate at this point might no longer be suitable.
That said, if you feel strongly about this please do let me know, and I will be OK with adding RS256 as a mandatory supported alg for both AS and RS.
From a cursory check, ES256 doesn’t seem to enjoy as widespread support at the moment (see https://jwt.io/ libraries list) hence I would be hesitant to make it mandatory. 

>    3. (Question) Is it currently possible to use the JWT access token in a mode
>    other than a bearer token?  For example is there a way to bind the JWT to a
>    verifiable key or identifier.  If there is, there should be some discussion of
>    this in the security considerations.  If not, do the authors know if there is
>    any work planned in this area?
At this time, the main mechanisms that can work with non-bearer ATs are dPOP and MTLS. In both cases, the binding mechanism relies on a cnf claim (or reference to it) - which can be added to a JWT access token without changing any of the guidance in this specification. There's a quick primer for both approaches in https://auth0.com/blog/identity-unlocked-explained-episode-1/. Given that there are no changes in the AT format and verification, and MTLS/DPOP would be purely additive, any language here would likely be functionally equivalent to "You should be aware that MTLS exists, and the tokens defined here do not break it" (DPOP isn’t mentioned because it's still in progress) but my intuition is that the compatibility should be assumed, with a note being required when it's not the case and the reader should be aware of potential problems. What do you think?  


On 2/7/21, 10:48, "Joseph Salowey via Datatracker" <noreply@ietf.org> wrote:

    Reviewer: Joseph Salowey
    Review result: Has Issues
    
    I have reviewed this document as part of the security directorate's
    ongoing effort to review all IETF documents being processed by the
    IESG.  These comments were written primarily for the benefit of the
    security area directors.  Document editors and WG chairs should treat
    these comments just like any other last call comments.
    
    The summary of the review is the document has issues.
    
    1.  (Editorial) What is the relationship between this document and RFC 7523. 
    They are using JWT for different purposes, but I think it would be useful to
    clarify this in the introduction.
    
    2.  (Issue) The specification does not specify any mandatory to implement for
    the recommended asymmetric algorithms.  This will not help interop.  Perhaps
    specify one or both of  "RS256" and "ES256".
    
    3. (Question) Is it currently possible to use the JWT access token in a mode
    other than a bearer token?  For example is there a way to bind the JWT to a
    verifiable key or identifier.  If there is, there should be some discussion of
    this in the security considerations.  If not, do the authors know if there is
    any work planned in this area?
    
    4. Genart review pointed out a nit that should be fixed.