Re: Genart last call review of draft-ietf-httpbis-client-cert-field-04

Brian Campbell <bcampbell@pingidentity.com> Fri, 24 February 2023 22:19 UTC

Return-Path: <ietf-http-wg-request+bounce-httpbisa-archive-bis2juki=lists.ie@listhub.w3.org>
X-Original-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Delivered-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 38B4EC151531 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 24 Feb 2023 14:19:35 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.747
X-Spam-Level:
X-Spam-Status: No, score=-7.747 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.25, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=pingidentity.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id bS656iEVW9fD for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 24 Feb 2023 14:19:31 -0800 (PST)
Received: from lyra.w3.org (lyra.w3.org [128.30.52.18]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 92934C14CE53 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Fri, 24 Feb 2023 14:19:31 -0800 (PST)
Received: from lists by lyra.w3.org with local (Exim 4.94.2) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1pVgNX-00BQCc-GQ for ietf-http-wg-dist@listhub.w3.org; Fri, 24 Feb 2023 22:17:23 +0000
Resent-Date: Fri, 24 Feb 2023 22:17:23 +0000
Resent-Message-Id: <E1pVgNX-00BQCc-GQ@lyra.w3.org>
Received: from titan.w3.org ([128.30.52.76]) by lyra.w3.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from <bcampbell@pingidentity.com>) id 1pVgNV-00BQBe-IJ for ietf-http-wg@listhub.w3.org; Fri, 24 Feb 2023 22:17:22 +0000
Received: from mail-pl1-x62e.google.com ([2607:f8b0:4864:20::62e]) by titan.w3.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from <bcampbell@pingidentity.com>) id 1pVgNS-002YM0-By for ietf-http-wg@w3.org; Fri, 24 Feb 2023 22:17:21 +0000
Received: by mail-pl1-x62e.google.com with SMTP id ko13so914740plb.13 for <ietf-http-wg@w3.org>; Fri, 24 Feb 2023 14:17:18 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pingidentity.com; s=google; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=ANksHu5poqmU+XZX2ThSqhfP752VzM8hcfrpkIN0ytk=; b=YzWDobV9DGNZGzcrMidevKF67QeieoyBQyq5LpWXgZWIqYy26VLWrZrbo6Dt3GHFMe aPHuXA+Oq5lcGMgjcL3mfBnoaT6sRtIoGZeNmioJtsQQGusoVnXp2O6VZogYRF+1w9Gh o4t/WQ5QzpZeq02vwQjm4hxZ8pTXkxsuLE8YxwvLgz0fIojcxQLL+UmJjblNcoPruzqC AtOH+l7GuGjSGHbAoLf0/TYQLYlHuIU0J5v9quANbhIxIzFI/Nq9plYJUnetx6jQwOjm Gk2GY8R5AsrBAXj32gexNIyAy8HxhA69mC3QV65NhmJ3QptzQIqvoe0qxgZ05uSorsJX /uIA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=ANksHu5poqmU+XZX2ThSqhfP752VzM8hcfrpkIN0ytk=; b=S+UaVMFRnhWO9opaCk6Nw36jCzxrNZiv1TOCVXliM+XWjfBlQNn+KQNxFgrcWOp7dC LAsyANYQNQbHeHM2fE1U36HEByDzt0W72mV03hbqkOnRPxYAM9kCfUDztst/akP0Ffh2 QUHTIGBre8AHqhns4ZZJjIDcDEuuSyds+mBfwtoloySDC5zS8GWZzSfQCjwOsAznbV37 6gGSZhtDWQGeOzlXzcULHIh6KnplxmcHGLt+wg88uDxbqd5QWy55SUR4O5GDtMt503/0 m4ljSRo+45ZJdFfCcJ8kIx5loyzTz8HnNJ0hp7cJrQP2FQtx9jCK8yb0cDoOC5Sd//wA 3yig==
X-Gm-Message-State: AO0yUKUCM+5ZofZysehprurRb+HYIyXwpbNZFtJc/luvPJs7Z+Plt+PH J9vU7ndxJ6j7r1XbJR2HwfM7rIiY7mjyzvReKydhciQOuMYccs2LCJFPMxx2jme3JeH4Ly6XN5U I4VxARQ5GsN8sLW6gIdMFqjVvXjkvZfo=
X-Google-Smtp-Source: AK7set/plyOZe4TrMf8mizPIBCrl3tj7/oOgXVuXAGiguog5onl2ZGbZSx/eOBFsv+euPDQ8B+y7++OjLC403D8QKOo=
X-Received: by 2002:a17:90b:374a:b0:237:3d0c:8d58 with SMTP id ne10-20020a17090b374a00b002373d0c8d58mr2195774pjb.5.1677277027627; Fri, 24 Feb 2023 14:17:07 -0800 (PST)
MIME-Version: 1.0
References: <167724601881.59677.12957566760779128172@ietfa.amsl.com>
In-Reply-To: <167724601881.59677.12957566760779128172@ietfa.amsl.com>
From: Brian Campbell <bcampbell@pingidentity.com>
Date: Fri, 24 Feb 2023 15:16:38 -0700
Message-ID: <CA+k3eCTuHWqeyd-thayPwGZY8tqP=JVgqcMu+rtd1-zPncYC5g@mail.gmail.com>
To: Peter Yee <peter@akayla.com>
Cc: gen-art@ietf.org, draft-ietf-httpbis-client-cert-field.all@ietf.org, ietf-http-wg@w3.org, last-call@ietf.org
Content-Type: multipart/alternative; boundary="0000000000006c589705f5797d97"
Received-SPF: pass client-ip=2607:f8b0:4864:20::62e; envelope-from=bcampbell@pingidentity.com; helo=mail-pl1-x62e.google.com
X-W3C-Hub-DKIM-Status: validation passed: (address=bcampbell@pingidentity.com domain=pingidentity.com), signature is good
X-W3C-Hub-Spam-Status: No, score=-5.1
X-W3C-Hub-Spam-Report: 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, W3C_AA=-1, W3C_DB=-1, W3C_WL=-1
X-W3C-Scan-Sig: titan.w3.org 1pVgNS-002YM0-By a17d9d4b55295458c0443e696697915f
X-Original-To: ietf-http-wg@w3.org
Subject: Re: Genart last call review of draft-ietf-httpbis-client-cert-field-04
Archived-At: <https://www.w3.org/mid/CA+k3eCTuHWqeyd-thayPwGZY8tqP=JVgqcMu+rtd1-zPncYC5g@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/50745
X-Loop: ietf-http-wg@w3.org
Resent-Sender: ietf-http-wg-request@w3.org
Precedence: list
List-Id: <ietf-http-wg.w3.org>
List-Help: <https://www.w3.org/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>

Thank you Peter for the thorough review!

I'll make those clarifications re: Client-Cert and Client-Cert-Chain in sec
2 and the appx. Although I think adding the root certificate to
Client-Cert-Chain is more of a 'can' than a 'should' depending on
deployment needs. Regardless, I'll add some text to clarify. And will, of
course, fix all the nits/editorial comments too.

You are absolutely right that there's potentially a lot of bytes on the
wire overhead in adding the client cert and possibly the certificate chain
to every request. However, approaches like substituting something smaller
on subsequent requests would entail different challenges and overhead -
particularly with respect to maintaining and keeping state. Also, the aim
of this draft is to document existing practice while codifying specific
details, like header names and structure, so as to hopefully facilitate
improved and lower-touch interoperability going forward (that goal/scope
could be more explicitly stated in the intro and I'll look to add something
as such). And existing practice is (largely) to stick the certs in headers
on each request.



On Fri, Feb 24, 2023 at 6:40 AM Peter Yee via Datatracker <noreply@ietf.org>
wrote:

> Reviewer: Peter Yee
> Review result: Ready with Issues
>
> I am the assigned Gen-ART reviewer for this draft. The General Area
> Review Team (Gen-ART) reviews all IETF documents being processed
> by the IESG for the IETF Chair.  Please treat these comments just
> like any other last call comments.
>
> For more information, please see the FAQ at
>
> <https://trac.ietf.org/trac/gen/wiki/GenArtfaq>.
>
> Document: draft-ietf-httpbis-client-cert-field-04
> Reviewer: Peter Yee
> Review Date: 2023-02-24
> IETF LC End Date: 2023-02-23
> IESG Telechat date: Not scheduled for a telechat
>
> Summary: This draft documents a standardized means of conveying a client
> certificate and chain between a TLS-terminating reverse proxy (TTRP) and an
> origin server so as to allow the origin server to make decisions based on
> the
> identity of the client. This draft is fairly straightforward and not
> difficult
> to follow, but there are a couple of issues that could use clarification.
> [Ready with issues.]
>
> Major issues: None
>
> Minor issues:
>
> The text defining the header fields for Client-Cert and Client-Cert-Chain
> in
> section 2 along with the example in Appendix A should make clear:
>
> 1) The client certificate placed in Client-Cert is not included in the
> optional
> Client-Cert-Chain. 2) Client-Cert-Chain should only appear when
> Client-Cert is
> also present. 3) That the root certificate of the chain should be added to
> the
> Client-Cert-Chain by the TTRP.
>
> Confusion might arise because the header definitions make no mention of
> this,
> but the example in Appendix A shows a certificate chain (Figure 1) that is
> inclusive of a client certificate, but Figure 3 shows that the client
> certificate is not included in the chain. The text in Appendix A says the
> client only presents the client and intermediate certificate, so point #3
> above
> is needed.
>
> In section 2.4, second paragraph, second sentence: this seems really
> expensive
> to add the client cert and possibly the certificate chain to every request
> the
> client sends to the TTRP. The sending of those fields to the could
> outweigh the
> size of the request by quite a bit. Would it be possible to substitute
> something smaller on subsequent requests between the TTRP and the origin
> server
> since they already require a trusted connection between them? A hash of the
> field(s) value(s)? Something else that helps combat the potential
> overhead? I
> realize that I'm asking about a non-trivial change to the draft, which is
> easy
> for me to do and difficult for the authors to implement. ;-)
>
> Nits/editorial comments:
>
> General:
>
> Change all occurrences of “mutually-authenticated” to “mutually
> authenticated”.
>
> Specific:
>
> Page 6, section 2.4, 2nd paragraph, 2nd sentence: change the “are” to “is”.
>
> Page 8, section 3.2, 3rd sentence: append a comma after “e.g.”.
>
> Page 8, section 4, 1st paragraph, 1st sentence: change “server side” to
> “server-side”.
>
> Page 8, section 4, 2nd paragraph, 2nd sentence: append a comma after
> “fields”.
>
> Page 9, 3rd paragraph, 5th sentence: append a comma after “Alternatively”.
>
> Page 15, section B.1, 3rd sentence: change the semicolon after “possible”
> to a
> comma.
>
> Page 15, section B.3, 1st sentence: delete one period after “etc”.
>
> Page 16, 1st partial paragraph: append a comma after “full”.
>
>
>
>

-- 
_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._