Re: [lamps] Barry Leiba's No Objection on draft-ietf-lamps-cms-hash-sig-09: (with COMMENT)

Russ Housley <housley@vigilsec.com> Mon, 16 September 2019 21:14 UTC

Return-Path: <housley@vigilsec.com>
X-Original-To: spasm@ietfa.amsl.com
Delivered-To: spasm@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E8FA9120118 for <spasm@ietfa.amsl.com>; Mon, 16 Sep 2019 14:14:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level:
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001] autolearn=ham autolearn_force=no
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 6FF3E2oj6oC8 for <spasm@ietfa.amsl.com>; Mon, 16 Sep 2019 14:14:23 -0700 (PDT)
Received: from mail.smeinc.net (mail.smeinc.net [209.135.209.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0C4D81200DB for <spasm@ietf.org>; Mon, 16 Sep 2019 14:14:23 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by mail.smeinc.net (Postfix) with ESMTP id 603DC300ABB for <spasm@ietf.org>; Mon, 16 Sep 2019 17:14:21 -0400 (EDT)
X-Virus-Scanned: amavisd-new at mail.smeinc.net
Received: from mail.smeinc.net ([127.0.0.1]) by localhost (mail.smeinc.net [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id JhQxVQOxyNUt for <spasm@ietf.org>; Mon, 16 Sep 2019 17:14:19 -0400 (EDT)
Received: from [5.5.33.49] (unknown [204.194.23.17]) by mail.smeinc.net (Postfix) with ESMTPSA id 46CD5300577; Mon, 16 Sep 2019 17:14:19 -0400 (EDT)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\))
From: Russ Housley <housley@vigilsec.com>
In-Reply-To: <156824031769.13397.11560883765399298866.idtracker@ietfa.amsl.com>
Date: Mon, 16 Sep 2019 17:14:19 -0400
Cc: IESG <iesg@ietf.org>, Tim Hollebeek <tim.hollebeek@digicert.com>, LAMPS WG <spasm@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <0D4923CE-0775-411D-8B38-B7C0121ECC5F@vigilsec.com>
References: <156824031769.13397.11560883765399298866.idtracker@ietfa.amsl.com>
To: Barry Leiba <barryleiba@computer.org>
X-Mailer: Apple Mail (2.3445.104.11)
Archived-At: <https://mailarchive.ietf.org/arch/msg/spasm/Dzxht7SGy0WNDc8y5NEnT5Q2c8c>
Subject: Re: [lamps] Barry Leiba's No Objection on draft-ietf-lamps-cms-hash-sig-09: (with COMMENT)
X-BeenThere: spasm@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "This is a venue for discussion of doing Some Pkix And SMime \(spasm\) work." <spasm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/spasm>, <mailto:spasm-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/spasm/>
List-Post: <mailto:spasm@ietf.org>
List-Help: <mailto:spasm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/spasm>, <mailto:spasm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 16 Sep 2019 21:14:25 -0000

Barry:

> ----------------------------------------------------------------------
> COMMENT:
> ----------------------------------------------------------------------
> 
> Thanks, Russ, as always, for a clear and well-written document.

Thanks for the careful review.

> Some editorial nits:
> 
> — Section 1.3 —
> 
>   Each of these advances pose a
>   threat to widely deployed digital signature algorithms.
> 
> “poses”, to match the singular “each”.

Fixed.

>   Recent advances in cryptoanalysis [BH2013]
> 
> “cryptanalysis”, no “o”.

Indeed.  Fixed.

>   The HSS/LMS signature algorithm does not depend on the difficulty of
>   discrete logarithm or factoring, as a result these algorithms are
> 
> Comma splice.  Make it a semicolon.

How about:

   Since the HSS/LMS signature algorithm does not depend on the
   difficulty of discrete logarithm or factoring, the HSS/LMS signature
   algorithm is considered to be post-quantum secure.

> — Section 2.2 —
> 
>   The second parameter is
>   the number of bytes output by the hash function, m, which is the
>   amount of data associated with each node in the tree.
> 
> It’s a small thing, but I think the “m” is misplaced where it is, and suggest
> “…the number of bytes, m, output by the hash function….”

How about:

   The second parameter is
   the number of bytes output by the hash function, m, and it is the
   amount of data associated with each node in the tree. 

> — Section 3 —
> 
>   Each format includes a counter and type
>   codes that indirectly providing all of the information that is needed
> 
> “provide”

Fixed.

> — Section 5 —
> 
>   When signed attributes are absent, the HSS/LMS signature is computed
>   over the content.  When signed 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 to contain the resulting hash value, and then the result
>   of DER encoding the set of signed attributes (which MUST include a
>   content-type attribute and a message-digest attribute, and then the
>   HSS/LMS signature is computed over the DER-encoded output.
> 
> You’re missing a “)” there, which makes it a bit odd.  I think it should be
> “(which MUST include a content-type attribute and a message-digest attribute),
> and then….”

This text was changed to address a comment from Ben Kaduk.  It now says:

   When signed attributes are absent, the HSS/LMS signature is computed
   over the content.  When signed 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 hash of the content, and then the HSS/LMS
   signature is computed over the DER-encoded set of signed attributes
   (which MUST include a content-type attribute and a message-digest
   attribute).  In summary:

      IF (signed attributes are absent)
      THEN HSS_LMS_Sign(content)
      ELSE message-digest attribute = Hash(content);
           HSS_LMS_Sign(DER(SignedAttributes))

>         digestAlgorithm MUST contain the one-way hash function used to in
>         the HSS/LMS tree.
> 
> Remove “to”.

Fixed.

> — Section 6 —
> 
>   While the consequences of an inadequate pseudo-random
>   number generator (PRNGs) to generate these values is much less severe
>   than the generation of private keys
> 
> “than in the generation”

Sure.  Fixed.

> — Appendix —
> Just a note that I did not review the ASN.1 module.

Gee, why not?  ;-)

Russ