Roman Danyliw's Discuss on draft-ietf-httpbis-message-signatures-17: (with DISCUSS and COMMENT)
Roman Danyliw via Datatracker <noreply@ietf.org> Thu, 08 June 2023 03:03 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 E4BD3C151B17 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 7 Jun 2023 20:03:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.644
X-Spam-Level:
X-Spam-Status: No, score=-2.644 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.25, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=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=ham autolearn_force=no
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 KmI45oBUc20G for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 7 Jun 2023 20:03:23 -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 6E722C151525 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Wed, 7 Jun 2023 20:02:49 -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 1q75s7-004vIO-6z for ietf-http-wg-dist@listhub.w3.org; Thu, 08 Jun 2023 02:59:35 +0000
Resent-Date: Thu, 08 Jun 2023 02:59:35 +0000
Resent-Message-Id: <E1q75s7-004vIO-6z@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 <noreply@ietf.org>) id 1q75s5-004vHU-J1 for ietf-http-wg@listhub.w3.org; Thu, 08 Jun 2023 02:59:33 +0000
Received: from mail.ietf.org ([50.223.129.194]) by mimas.w3.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from <noreply@ietf.org>) id 1q75s3-007j5b-Rh for ietf-http-wg@w3.org; Thu, 08 Jun 2023 02:59:33 +0000
Received: from ietfa.amsl.com (localhost [IPv6:::1]) by ietfa.amsl.com (Postfix) with ESMTP id 7A100C15199F; Wed, 7 Jun 2023 19:59:26 -0700 (PDT)
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
From: Roman Danyliw via Datatracker <noreply@ietf.org>
To: The IESG <iesg@ietf.org>
Cc: draft-ietf-httpbis-message-signatures@ietf.org, httpbis-chairs@ietf.org, ietf-http-wg@w3.org, tpauly@apple.com, tpauly@apple.com
X-Test-IDTracker: no
X-IETF-IDTracker: 10.5.1
Auto-Submitted: auto-generated
Reply-To: Roman Danyliw <rdd@cert.org>
Message-ID: <168619316648.34190.17230614547684235783@ietfa.amsl.com>
Date: Wed, 07 Jun 2023 19:59:26 -0700
Received-SPF: pass client-ip=50.223.129.194; envelope-from=noreply@ietf.org; helo=mail.ietf.org
X-W3C-Hub-Spam-Status: No, score=-6.2
X-W3C-Hub-Spam-Report: BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, W3C_AA=-1, W3C_WL=-1
X-W3C-Scan-Sig: mimas.w3.org 1q75s3-007j5b-Rh cdd84cbd3eeca667b8e3cf305a9fe04b
X-Original-To: ietf-http-wg@w3.org
Subject: Roman Danyliw's Discuss on draft-ietf-httpbis-message-signatures-17: (with DISCUSS and COMMENT)
Archived-At: <https://www.w3.org/mid/168619316648.34190.17230614547684235783@ietfa.amsl.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/51140
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>
Roman Danyliw has entered the following ballot position for draft-ietf-httpbis-message-signatures-17: Discuss When responding, please keep the subject line intact and reply to all email addresses included in the To and CC lines. (Feel free to cut this introductory paragraph, however.) Please refer to https://www.ietf.org/about/groups/iesg/statements/handling-ballot-positions/ for more information about how to handle DISCUSS and COMMENT positions. The document, along with other ballot positions, can be found here: https://datatracker.ietf.org/doc/draft-ietf-httpbis-message-signatures/ ---------------------------------------------------------------------- DISCUSS: ---------------------------------------------------------------------- I am raising a similar argument as Martin Duke left in his COMMENT feedback. ** Section 6.2. HTTP Signature Algorithms Registry. -- What is the difference between how this “Expert Review” registration guidance as written (of being a DE review + spec) and one that is “Specification Required”. Both appear to require an expert review and a specification. -- What does “Active” mean? “Deprecated” is framed as the algorithm is “no longer recommended for use and might be insecure or unsafe”. Does “Active” mean “recommended and secure/safe”? Is the DE responsible for assessing the cryptographic properties of new registration? Is that a realistic expectation? Subsequent language in Section 7.3.1 suggests that the registry is the source of “trust signature algorithms”: To counter this, only vetted keys and signature algorithms should be used to sign HTTP messages. The HTTP Message Signatures Algorithm Registry is one source of trusted signature algorithms for applications to apply to their messages. Should a mechanism like the “Recommended” column in the TLS registries be used: “If an item is not marked as "Recommended", it does not necessarily mean that it is flawed; rather, it indicates that the item either has not been through the IETF consensus process, has limited applicability, or is intended only for specific use cases.” ---------------------------------------------------------------------- COMMENT: ---------------------------------------------------------------------- ** Section 1.1 The term "Unix time" is defined by [POSIX.1], Section 4.16 (http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/ V1_chap04.html#tag_04_16) That URL should be a reference. ** Section 1.4. Historical systems, such as [AWS-SIGv4], can provide inspiration and examples of how to apply similar mechanisms in a secure and trustable fashion. With due respect to AWS, is this too strong of a statement of a system not evaluated by the IETF? ** Section 2. Editorial. s/a the raw query string/a raw query string/ ** Section 2. Message component values must therefore be canonicalized Should this be “Message component values MUST ...? ** Section 2.1 Other encodings could exist in some implementations, and all non-ASCII field values MUST be encoded to ASCII before being added to the signature base. Is there a standardized way to do this canonicalization to ASCII? ** Section 2.1 Specifically, HTTP fields sent as multiple fields MUST be combined using a single comma (",") and a single space (" ") between each item. Recommend making this text clear. I initially read it as space on either side of the comma (because it said “between each item”). The intent from Section 5.2 of [HTTP] appears to be “concatenate a ‘,’ + ‘ ‘” between items. ** Section 2.1.3. Editorial. Recommend adding an explicit reference to Byte Sequences per Section 3.3.5 of RFC8941. Perhaps in step 3.4. ** Section 2.3. Provide a formal reference to “UNIX timestamp”. Perhaps: IEEE Std 1003.1-2017 (https://pubs.opengroup.org/onlinepubs/9699919799/functions/time.html) ** Section 2.3. Editorial. Consider using a date in 2023 for the example (instead of 2021). ** Section 2.3. I didn’t find any guidance in the text around setting the “expires” signature parameter. However, many of the non-normative example seem to use 300 seconds (5 minutes). What is the basis of that value? Is there a recommendation on how to reason about setting the expiration? ** Section 3.1 3. If applicable, the signer sets the signature's expiration time property to the time at which the signature is to expire. The expiration is a hint to the verifier, expressing the time at which the signer is no longer willing to vouch for the safety of the signature. What is “safety of the signature”? Is this safety window measured in 5 minutes, like in the various examples? ** Section 3.3. An HTTP Message signature MUST use a cryptographic digital signature or MAC method that is appropriate for the key material, environment, and needs of the signer and verifier. This specification does not strictly limit the available signature algorithms, and any signature algorithm that meets these basic requirements MAY be used by an application of HTTP message signatures. It is unclear what the normative MUST and MAY are prescribing. Recommend not using the RFC2119 language here. -- Per sentence 1, Lacking any context, “appropriate for the …” seems entirely subjective. My judgement on what’s appropriate may not be yours. -- Per sentence 2, what are the “basic requirements”? ** Section 3.3.7. If the signing algorithm is a JOSE signing algorithm from the JSON Web Signature and Encryption Algorithms Registry established by [RFC7518], the JWS algorithm definition determines the signature and hashing algorithms to apply for both signing and verification. I don’t understand this guidance. Don’t the signing algorithms have to be pulled from the (new) “HTTP Signature Algorithm” registry? ** Section 5.1. Editorial. Should a reminder be added to the alg field that the values come from the HTTP Signature Algorithms registry
- Roman Danyliw's Discuss on draft-ietf-httpbis-mes… Roman Danyliw via Datatracker
- Re: Roman Danyliw's Discuss on draft-ietf-httpbis… Justin Richer