Re: [OAUTH-WG] RFC 8705 (oauth-mtls): RS error code for missing client certificate

Dmitry Telegin <dmitryt@backbase.com> Wed, 10 November 2021 18:34 UTC

Return-Path: <dmitryt@backbase.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 C2E8B3A1274 for <oauth@ietfa.amsl.com>; Wed, 10 Nov 2021 10:34:48 -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, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=backbase.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 tiWuwabnvnJK for <oauth@ietfa.amsl.com>; Wed, 10 Nov 2021 10:34:44 -0800 (PST)
Received: from mail-lf1-x134.google.com (mail-lf1-x134.google.com [IPv6:2a00:1450:4864:20::134]) (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 E63453A0DB9 for <oauth@ietf.org>; Wed, 10 Nov 2021 10:34:43 -0800 (PST)
Received: by mail-lf1-x134.google.com with SMTP id b1so2302757lfs.13 for <oauth@ietf.org>; Wed, 10 Nov 2021 10:34:43 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=backbase.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=QEpcTEuwPl5XBUC11iIYukYLDYm5RE9l6kOBWcYcfGo=; b=gBNgNaLXwA61xAQCRV4rZCKKWFsuv3g+U3znyqchwzGnsFk+4UziBAJUAEOUnZLmje +Zj8A7ABiBTll2pq5h7qKQt/TLXqjbpa0bVH3KBBAtE2MpbKBfiYLDWrYn2PFuqOeQwE 2fbWJuiJLBf6S0riLjiL+8a/iSz0ZLTLWwRV3cKoZMobZKVmiI2DBK7PXWoNFZqggecB cZ6LpWIw5AMZlBnPabxhmu0fPPlbLx1p3tKSiPfvKFOjMMZPcYgothkIFqnnRlVAl9uU YrMORgtuzW8DRRI/ZYNUoyDHf6AVtU4l5yi3HSmztWT+pBYMNc1wJrHYReKNdMkTFq78 gG+A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=QEpcTEuwPl5XBUC11iIYukYLDYm5RE9l6kOBWcYcfGo=; b=LCSB/xCF0fpsz/xuGg4e7McBNV+hWJx+35mm76wUI+MKdTHhfaslHF+SfNXCcJN5OE MwPpaw5fDzHF0TjMJqXX3sxYYgtCNdKEjqaWIuaSCZn9BnGjz7qriB5byUvs/ddHiXDz +XlblkMspuXMsMy75TaZzJh5of9MAQT7XNiXXnRbH2W9GgbaPEqec3K3IPV/YgbBD7Sp ZO0n/C+f7F13qApUsBzZoUpr3i5HCoWbeAkTkhSjJumOwP9gHCxi+E7Jrmo3fNFEMofY 0PWeuRGjE9M33H2/RL3BJcr1Rry2RxGi/6JenXWe2XjxvatnS5pNqPP0bR0WDJTeUEax m0fw==
X-Gm-Message-State: AOAM531zJ+59oAzKVC7myr9xPdDh0aQh3U3KSetBGaMNc5eQyNa64iWW rPqDYpkqQ0UA1s9hJj8FxER/j5eMvWAVBQuVBPnZzAVhLzY=
X-Google-Smtp-Source: ABdhPJx2JDmbNYomNUMYWj7OYGnh/fZrNEka9a5RBmTmgAJI05XGomS0rwW3DvbKeAQWWTcW2NhWqGlMchPkKKO+z8I=
X-Received: by 2002:ac2:4f90:: with SMTP id z16mr1057417lfs.381.1636569281524; Wed, 10 Nov 2021 10:34:41 -0800 (PST)
MIME-Version: 1.0
References: <CAOtx8Dk5f9dLT=mF4_G3ytTm4BzjYxohHVbc27R0nikiQxsdsA@mail.gmail.com> <CAOtx8D=6yEjTEVkx7LnaWk_FYrW80+KxhskGjreQs8X0dnVsnA@mail.gmail.com> <F15CE2F2-1B9A-4201-900E-7BD06AFF3E41@mit.edu>
In-Reply-To: <F15CE2F2-1B9A-4201-900E-7BD06AFF3E41@mit.edu>
From: Dmitry Telegin <dmitryt@backbase.com>
Date: Wed, 10 Nov 2021 21:34:30 +0300
Message-ID: <CAOtx8Dka=FowfTD+ApviDq2-dHaE9offkUKFQqssU7spJWLaLg@mail.gmail.com>
To: Justin Richer <jricher@mit.edu>
Cc: oauth <oauth@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000ad1bdf05d0737a34"
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/B6ewwCRUhHtRJewVz73pCZQKEyM>
Subject: Re: [OAUTH-WG] RFC 8705 (oauth-mtls): RS error code for missing client certificate
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: Wed, 10 Nov 2021 18:34:49 -0000

Thanks for the reply. That makes sense.

Given that MTLS is not a draft but rather a proposed standard (RFC 8705),
do you think there is a chance the changes you proposed could land in MTLS
one day?

On Wed, Nov 10, 2021 at 6:24 PM Justin Richer <jricher@mit.edu> wrote:

> This is just my interpretation, but this feels more like invalid token,
> because you’re not presenting all of the material required for the token
> itself. The DPoP draft has added “invalid_dpop_proof” as an error code,
> which I think is even better, but the MTLS draft is missing such an element
> and that is arguably a mistake in the document. The MTLS draft also re-uses
> “Bearer” as a token header, which is also a mistake in my opinion.
>
> But given the codes available, “invalid_token” seems to fit better because
> you aren’t messing up the request _to the resource_ itself, you’re messing
> up the token presentation.
>
>  — Justin
>
> On Nov 10, 2021, at 10:17 AM, Dmitry Telegin <
> dmitryt=40backbase.com@dmarc.ietf.org> wrote:
>
> Any updates on this one? The missing certificate case looks more like
> "invalid_request" to me:
>
> invalid_request
>>          The request is missing a required parameter, includes an
>>          unsupported parameter or parameter value, repeats the same
>>          parameter, uses more than one method for including an access
>>          token, or is otherwise malformed.  The resource server SHOULD
>>          respond with the HTTP 400 (Bad Request) status code.
>>
>>
> On Fri, Sep 24, 2021 at 2:23 AM Dmitry Telegin <dmitryt@backbase.com>
> wrote:
>
>> From the document:
>>
>>    The protected resource MUST obtain, from its TLS implementation
>>>    layer, the client certificate used for mutual TLS and MUST verify
>>>    that the certificate matches the certificate associated with the
>>>    access token.  If they do not match, the resource access attempt MUST
>>>    be rejected with an error, per [RFC6750 <https://datatracker.ietf.org/doc/html/rfc6750>], using an HTTP 401 status
>>>    code and the "invalid_token" error code.
>>>
>>>
>> Should the same error code be used in the case when the resource failed
>> to obtain a certificate from the TLS layer? This could happen, for example,
>> if the TLS stack has been misconfigured (e.g. verify-client="REQUESTED"
>> instead of "REQUIRED" for Undertow), and the user agent provided no
>> certificate.
>>
>> Thanks,
>> Dmitry
>>
>> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>
>