Re: [Gen-art] Genart last call review of draft-ietf-lamps-cms-hash-sig-08

Alissa Cooper <alissa@cooperw.in> Wed, 18 September 2019 16:29 UTC

Return-Path: <alissa@cooperw.in>
X-Original-To: gen-art@ietfa.amsl.com
Delivered-To: gen-art@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B2A6412091D; Wed, 18 Sep 2019 09:29:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.7
X-Spam-Level:
X-Spam-Status: No, score=-2.7 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_LOW=-0.7, 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=cooperw.in header.b=jrZ7wWZV; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=P0et3j+J
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 k_CDwtAkK03g; Wed, 18 Sep 2019 09:29:07 -0700 (PDT)
Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com [66.111.4.26]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 139BB120106; Wed, 18 Sep 2019 09:29:07 -0700 (PDT)
Received: from compute7.internal (compute7.nyi.internal [10.202.2.47]) by mailout.nyi.internal (Postfix) with ESMTP id 61E4F21FAE; Wed, 18 Sep 2019 12:29:06 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162]) by compute7.internal (MEProxy); Wed, 18 Sep 2019 12:29:06 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cooperw.in; h= content-type:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; s=fm1; bh=X ZT3y2shsMEGaTtiwe8XCyZJIpMMBZ9E4g96K5YdjEU=; b=jrZ7wWZV7eLZyfbpI 9ghqq1ExXNn88YPm1i6e1HBTNaXR3ltp1fUIp67OaNMtTXSY0gsa70+ZBN8MdNsR yg6ZtEfxiyGtQeq0hJ2O/6M3VonsKTaXr6O38Iutk2Xt5lcfPEBFMBgbJIG5iLIo hsB7L9UFw+Zuk30LPkAZvoEcAEQ9sH2kmMn965qan+EanAhBxh5m9Yr+ZoibNPuE /D10eRf0fhghnHWHGWHt7Fgil12BP9rnRRio98rUfPGKcMzqyEbmaMQVJQO4qJ+R LsyivVaONV/LtN0+bGYi/8MtWGbVFkAHFkSFoxA3vbUyMkuoWYFX3z7wdjy7fDVk MHWFg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm3; bh=XZT3y2shsMEGaTtiwe8XCyZJIpMMBZ9E4g96K5Ydj EU=; b=P0et3j+J8FvL88Vq7PEpq5xsgZ3u2NiTf//y1l0Ier1ixTz1AepJveEvD i7ClARvQmx7FjAFfuW7X2Bwn7YQFp+9Tz/HDQFHRCqivsKcKQZEkVF+hDtG/iiD1 b8PdHt7nd4vWAt0S/DFGrWDsRABzlAF//SlK3EhDS2qId1R8a6oIMfCa8TC7oFfB Jjf1xiqA5JVxxKUDCSJQMeF5SRERTstumqKudPj6/hsellH7bocCHYwJyffO6bT2 1tEQFKIk/pwnG3+qbuFKecw9j8kKA2UxgSZmsZJ5coFgfOS8GM8a6+GkbNNmFgPl ViwFgNrVzvzzc1W/n7A8ilG9MQb9A==
X-ME-Sender: <xms:UVuCXbDNu0zwzSslqXqYf67jGJRiVIvBshhTFb1M75mRFLgjksHmoA>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedufedrudekgddutdduucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurheptggguffhjgffgffkfhfvofesthhqmhdthhdtvdenucfhrhhomheptehlihhs shgrucevohhophgvrhcuoegrlhhishhsrgestghoohhpvghrfidrihhnqeenucffohhmrg hinhepihgvthhfrdhorhhgnecukfhppedujeefrdefkedruddujedrleefnecurfgrrhgr mhepmhgrihhlfhhrohhmpegrlhhishhsrgestghoohhpvghrfidrihhnnecuvehluhhsth gvrhfuihiivgeptd
X-ME-Proxy: <xmx:UVuCXZPjx9KAMv4-LeTfY0pkJTJvv66aIwDhE3vj0xRFXqIqkokVsQ> <xmx:UVuCXcaNtODenYgxySvYVRbFLGETzJKbwq1njDwQXPOaY9q8DIVRhw> <xmx:UVuCXfKDmiUlD3Dzs0ZtVvwF-FF1leUOIW8gWfe44oczEZ4cjmXWfA> <xmx:UluCXc4Nszs55zzphkhu8T3uWgExQGDN1k34PpCY0766WwYD02zYQw>
Received: from rtp-alcoop-nitro2.cisco.com (unknown [173.38.117.93]) by mail.messagingengine.com (Postfix) with ESMTPA id 37FB480063; Wed, 18 Sep 2019 12:29:05 -0400 (EDT)
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\))
From: Alissa Cooper <alissa@cooperw.in>
In-Reply-To: <47826955-B512-4806-9971-211F4F4F24D0@vigilsec.com>
Date: Wed, 18 Sep 2019 12:29:05 -0400
Cc: LAMPS WG <spasm@ietf.org>, IETF Gen-ART <gen-art@ietf.org>, IETF <ietf@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <AAC280CF-C8C6-424C-AC48-B8C53D7F60C0@cooperw.in>
References: <156341753682.25805.15107717483258855258@ietfa.amsl.com> <47826955-B512-4806-9971-211F4F4F24D0@vigilsec.com>
To: Russ Housley <housley@vigilsec.com>, Dale Worley <worley@ariadne.com>
X-Mailer: Apple Mail (2.3445.9.1)
Archived-At: <https://mailarchive.ietf.org/arch/msg/gen-art/i-mO5bDxqDSZJmVCbW20DfpxQPs>
Subject: Re: [Gen-art] Genart last call review of draft-ietf-lamps-cms-hash-sig-08
X-BeenThere: gen-art@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "GEN-ART: General Area Review Team" <gen-art.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/gen-art>, <mailto:gen-art-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/gen-art/>
List-Post: <mailto:gen-art@ietf.org>
List-Help: <mailto:gen-art-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/gen-art>, <mailto:gen-art-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 18 Sep 2019 16:29:10 -0000

Dale, thanks for your review. Russ, thanks for your response. I entered a No Objection ballot.

Alissa


> On Jul 18, 2019, at 10:19 AM, Russ Housley <housley@vigilsec.com> wrote:
> 
> Dale:
> 
> Thank you for the careful review.
> 
>> Summary:
>> 
>>      This draft is in great shape and ready for publication as a
>>      proposed standard RFC, with only a few editorial nits.
> 
> Good to hear.
> 
>> Nits/editorial comments: 
>> 
>> 2.2.  Leighton-Micali Signature (LMS)
>> 
>>  The [HASHSIG] specification supports five tree sizes:
>> 
>>     LMS_SHA256_M32_H5;
>>     LMS_SHA256_M32_H10;
>>     LMS_SHA256_M32_H15;
>>     LMS_SHA256_M32_H20; and
>>     LMS_SHA256_M32_H25.
>> 
>> This text seems redundant with the description in the preceding
>> paragraph.
> 
> True.  The intent was to provide the identifiers for the five tree sizes.
> 
> Perhaps the two paragraphs should be merged, with the sentence before the list saying:
> 
>   ... As a result, the [HASHSIG] specification supports
>   five tree sizes; they are identified as:
> 
>>  The LMS public key is the string consists of four elements: the
>> 
>> Perhaps "An LMS public key consists of ...".
> 
> Yes, that reads better.
> 
>>     u32str(lms_algorithm_type) || u32str(otstype) || I || T[1]
>> 
>> The notation "T[1]" seems to be undefined (although the intended value
>> is described clearly in the preceding paragraph).
> 
> Good catch.  How about:
> 
>   ... and the m-byte string associated with the root
>   node of the tree (T[1]).
> 
>> 2.3.  Leighton-Micali One-time Signature Algorithm (LM-OTS)
>> 
>>     n -  The number of bytes associated with the hash function.
>>          [HASHSIG] supports only SHA-256 [SHS], with n=32.
>> 
>> "associated" seems to me to be vague.  Perhaps "The length in bytes of
>> the output of the hash function."
> 
> Okay.  How about:
> 
>   n -  The length in bytes of the hash function output. ...
> 
>>     ls - The number of left-shift bits used in the checksum function,
>>          which is defined in Section 4.4 of [HASHSIG].
>> 
>> "The number of left-shift bits" is not quite right.  Perhaps "The
>> number of bits of left-shifting used in ..." or "The amount/size of
>> the left-shift used in ...".
> 
> These words were taken directly from Section 4.1 of RFC 8554.  That said, I think you are right that it could be more clear.  How about:
> 
>   ls - The number of bits that are left-shifted in the final step of
>        the checksum function, which is defined in Section 4.4
>        of [HASHSIG].
> 
>> 5.  Signed-data Conventions
>> 
>> This paragraph has to be a number of minor wording issues, which I
>> have described interline:
>> 
>>  As specified in [CMS], the digital signature is produced from the
>>  message digest and the signer's private key.  The signature is
>>  computed over different value depending on whether signed attributes
>> 
>> s/value/values/
> 
> Fixed.
> 
>>  are absent or present.  When signed attributes are absent, the
>>  HSS/LMS signature is computed over the content.  When signed
>> 
>> It might help the reader to put a paragraph break before "When signed
>> attributes are present..."
> 
> Okay.  Done.
> 
>>  attributes are present, a hash is computed over the content using the
>>  same hash function that is used in the HSS/LMS tree, and then a
>>  message-digest attribute is constructed with the resulting hash
>> 
>> I would replace "with" with "containing" or "whose value is"
> 
> How about:
> 
>   ... a message-digest attribute is constructed to contain the
>   resulting hash value, and ...
> 
>>  value, and then DER encode the set of signed attributes, which MUST
>> 
>> For parallelism, this clause should start with a subject and a passive
>> verb.  Perhaps "the DER encoding is constructed of ...".
> 
> How about:
> 
>   ... and then the result of DER encoding the set of signed
>   attributes, which ...
> 
>> 
>>  include a content-type attribute and a message-digest attribute, and
>> 
>> It might be clearer if the clause "which MUST ... attribute" was put
>> in parentheses.
> 
> Okay.  There are a lot of commas in this sentence.
> 
>>  then the HSS/LMS signature is computed over the output of the DER-
>>  encode operation.  In summary:
>> 
>> You can probably change "the output of the DER-encode operation" with
>> "the DER encoding".
> 
> How about:
> 
>   ... then the HSS/LMS signature is computed over the
>   DER-encoded output.
> 
>> The paragraph contains four clauses joined by three successive "and
>> then".  You probably want to change that, perhaps breaking it out as a
>> numbered/bulleted list.  (What does the Editor recommend?)
> 
> I think the text is accurate.  I wil wait for the RFC Editor to propose a different format if they want to do so.
> 
>> And in this computation:
>> 
>>     IF (signed attributes are absent)
>>     THEN HSS_LMS_Sign(content)
>>     ELSE message-digest attribute = Hash(content);
>> 
>> I think you want to add a hyphen:
>> s/message-digest attribute/message-digest-attribute/
> 
> No.  This is the way that the attributes are talked about in RFC 5652.
> (See the indented paragraphs on Page 15 of RFC 5652 as an example.)
> 
>> 
>>          HSS_LMS_Sign(DER(SignedAttributes))
> 
> 
> Thanks again for the careful review.
> 
> Russ
> 
> _______________________________________________
> Gen-art mailing list
> Gen-art@ietf.org
> https://www.ietf.org/mailman/listinfo/gen-art