Re: Working Group Last Call: draft-ietf-httpbis-message-signatures-13

Julian Reschke <julian.reschke@gmx.de> Wed, 26 October 2022 17:42 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 15277C152579 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 26 Oct 2022 10:42:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.061
X-Spam-Level:
X-Spam-Status: No, score=-5.061 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.249, MAILING_LIST_MULTI=-1, NICE_REPLY_A=-0.001, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmx.de
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 Kb6zdu8oJYJj for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 26 Oct 2022 10:42:20 -0700 (PDT)
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 A46C7C14CE33 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Wed, 26 Oct 2022 10:42:19 -0700 (PDT)
Received: from lists by lyra.w3.org with local (Exim 4.94.2) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1onkNU-007a9y-Dw for ietf-http-wg-dist@listhub.w3.org; Wed, 26 Oct 2022 17:39:44 +0000
Resent-Date: Wed, 26 Oct 2022 17:39:44 +0000
Resent-Message-Id: <E1onkNU-007a9y-Dw@lyra.w3.org>
Received: from mimas.w3.org ([128.30.52.79]) by lyra.w3.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from <julian.reschke@gmx.de>) id 1onkNS-007a8g-Dh for ietf-http-wg@listhub.w3.org; Wed, 26 Oct 2022 17:39:42 +0000
Received: from mout.gmx.net ([212.227.15.18]) by mimas.w3.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from <julian.reschke@gmx.de>) id 1onkNQ-002Hwt-Md for ietf-http-wg@w3.org; Wed, 26 Oct 2022 17:39:42 +0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417; t=1666805968; bh=BmWLwhz0Cb21sdubOJq8WiQzGpCdp0e1lzZZM9AdnNU=; h=X-UI-Sender-Class:Date:Subject:To:References:From:In-Reply-To; b=rmtbVXQl2b0DalnxO2LtwS5xB1KcGZ5xoH5R08oixyGFjrFIV9qtmrY4oH2Dmbl3k FSWS6PkckJmKf1ptkUXpCPcxJ01VrYcmHzAuUU+COdNLcp2/waxvkTN0QGSiAOe9cm EG7HciK2ABs/lcByILpTsbOeJyRnolazzVJWxnNozlO5ZzM2dgZB3y+XGygX20+TpM nKAbNHSgQ7zLQsIlnkXiIJ8VaX2jiYix8y1+cyntjbRZTfdjR/QNhjGRSI9lq9KJXR 873vztww6Rkx1ltPWfoRmeg1gT084mnnBblxTCuzyMCzf4+4ACQAH3b/h8mRHZtmxK z4ahkmAijXGvw==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from [192.168.178.179] ([91.61.59.181]) by mail.gmx.net (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MiJV6-1pKJy21smc-00fUe5 for <ietf-http-wg@w3.org>; Wed, 26 Oct 2022 19:39:28 +0200
Message-ID: <daec9ec1-4b6d-b196-b5e7-ed7722e1fb56@gmx.de>
Date: Wed, 26 Oct 2022 19:39:27 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.4.0
Content-Language: en-US
To: ietf-http-wg@w3.org
References: <7A490A89-3B27-4278-9AFA-A5339FF11500@mnot.net>
From: Julian Reschke <julian.reschke@gmx.de>
In-Reply-To: <7A490A89-3B27-4278-9AFA-A5339FF11500@mnot.net>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: quoted-printable
X-Provags-ID: V03:K1:VSwD2nvxxvFM2Q+0HEW5SDh/hzFnE38p6nBQ/HMaQKI0mpxNV4E oltr7dC4/GeA33Dwibnc8kWOuYsMsImCsgiRAkvJHpCOlgQ5n71pRgqUDHhyfh3/jKhYdvG FGSAFspSc+EqWza54bxsdZGHpqXQFOvSwY+AHVozn0nZylZse0ATtXlMdjZJOb3L9hIu+gS +8te5IeShFZo7HhYqSkUw==
UI-OutboundReport: notjunk:1;M01:P0:azFbYIRK1Tk=;iN9fHc4fsj8fVVZ6sG/CShOcU5m cMvYQwuVhqPn2ho/SLGaWGXMzefxGI2uSVH16415PvHVeHbtLsqmJa+9NUWCpmdFRt2WcOWOp DtrxjMlwur32PbfJbJM4h5F3kyX1lFJOb3pwWzNj/lm5ICmT7KlWwzObu1YDFQ1E9m4vIw5Kk nLzikfYrCp3uG3+zddtVfyETe02MEzhTO4NzKRbIUyfRhf9F0mOFYTiMmZH4EqXYXpU3n3jIb lH7vml/1tnRK/g/ROQWtfAn7z2a9erDNDVFd2tBkfKYhc+beHjI2A4vfSq/rZFn968GZINoTX szhwmILz3aNIZwpfWwL5EzNBtM7qXZtSmhtPLx+VJQOSO4rBkUCzdxkmNxWcoLiKZVg+ehwsG qFB26q/vqTP+RYTtlKo7UyStHrqUnECO/pBEpdf4HNhWIGIJJdp7NVUac8jCC5Tq6Pk496vsq WTUpkPIGwAQauQOWUoeI3BeXFkt4YD/aQcXMH0o1zYghmZJxU8gHOSmKJagydvlV+tRaZPkyV E7niJgk5RXawICqXk+uiMn23J/BTonTYB8uE+UooT+vuQWYMugb0NlG6QLVLXKHl2eyNUIAgG qMwA9dih85oS8V+T5iN6YphRXcrPMONH4xrOGkTLEqU34OOYpKL7nBy+eenMJvuxe+XyVwHNP Hiu5pe/mkzSowTocD7rGQc6LozMHy7G2X6Cx/oEfRpz5Mlo5L8OnDqu0g76Zd8r6CTaQJXYiV 4udX61p3t4V8FNvwmLeNe/kgXVUq3UbWF3lI1ImUeEja2IPEPXEFmXo+wEfZmtJAAVSG78sVg CG60jsKKCEKfCluBzjdfjweK6quFrSEAjPiq2rVnC3nl0FYpKOKUHCoasOGGRRyVy/ahblp4f QplzvTmEo+pptmPgmVhKpP8IHxEXp+8Dy4DxqrnPZfepocOpNPvhnql5D9CZPFu4jS34rhHc9 PjX82g==
Received-SPF: pass client-ip=212.227.15.18; envelope-from=julian.reschke@gmx.de; helo=mout.gmx.net
X-W3C-Hub-DKIM-Status: validation passed: (address=julian.reschke@gmx.de domain=gmx.de), signature is good
X-W3C-Hub-Spam-Status: No, score=-5.8
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, FREEMAIL_FROM=0.001, NICE_REPLY_A=-0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, W3C_AA=-1, W3C_IRA=-1, W3C_WL=-1
X-W3C-Scan-Sig: mimas.w3.org 1onkNQ-002Hwt-Md 923d0530de7cdf51351b487ae4d5c6af
X-Original-To: ietf-http-wg@w3.org
Subject: Re: Working Group Last Call: draft-ietf-httpbis-message-signatures-13
Archived-At: <https://www.w3.org/mid/daec9ec1-4b6d-b196-b5e7-ed7722e1fb56@gmx.de>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/40496
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>

On 27.09.2022 01:01, Mark Nottingham wrote:
> ...

I started a review, and I'm finding mostly minor issues so far which
I'll summarize either later or create PRs for).

One thing that *might* be non-trivial is the handling of percent-escaping.

For instance, in
<https://www.ietf.org/archive/id/draft-ietf-httpbis-message-signatures-13.html#section-2.2.6>:

"Namely, an empty path string is normalized as a single slash /
character, and path components are represented by their values after
decoding any percent-encoded octets."

So consider:

POST /foo%2fbar HTTP/1.1
Host: www.example.com

Unescaping %2f to "/" would yield a @path component value of

/foo/bar

is that really intended? I believe we need to have a look at the
following cases:

- escaped characters that otherwise would delimit URI components (such
as "?" or "#")

- escaped characters that otherwise have a special role inside a
component (such as "/" in the path or "&" in a query)

- escaped characters that map to non-ASCII characters (do we care about
encoding schemes, and if so, which?)

- escaped characters that might otherwise be problematic (%00 for instance)

I'm not sure yet what the correct approach would be, but whatever it is,
it should be reflected in the examples.

Best regards, Julian