[kitten] shepherd review of draft-aes-cts-hmac-sha2-09

Benjamin Kaduk <kaduk@MIT.EDU> Mon, 27 June 2016 03:04 UTC

Return-Path: <kaduk@mit.edu>
X-Original-To: kitten@ietfa.amsl.com
Delivered-To: kitten@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 15A7012D5B9 for <kitten@ietfa.amsl.com>; Sun, 26 Jun 2016 20:04:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.647
X-Spam-Level:
X-Spam-Status: No, score=-5.647 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-1.426, SPF_PASS=-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 0d-RatYbOd_W for <kitten@ietfa.amsl.com>; Sun, 26 Jun 2016 20:04:03 -0700 (PDT)
Received: from dmz-mailsec-scanner-5.mit.edu (dmz-mailsec-scanner-5.mit.edu [18.7.68.34]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7692012D5B8 for <kitten@ietf.org>; Sun, 26 Jun 2016 20:04:02 -0700 (PDT)
X-AuditID: 12074422-e33ff700000005ec-98-5770979f3985
Received: from mailhub-auth-4.mit.edu ( [18.7.62.39]) (using TLS with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by (Symantec Messaging Gateway) with SMTP id 00.A3.01516.0A790775; Sun, 26 Jun 2016 23:04:01 -0400 (EDT)
Received: from outgoing.mit.edu (outgoing-auth-1.mit.edu [18.9.28.11]) by mailhub-auth-4.mit.edu (8.13.8/8.9.2) with ESMTP id u5R33xLH011705; Sun, 26 Jun 2016 23:03:59 -0400
Received: from multics.mit.edu (system-low-sipb.mit.edu [18.187.2.37]) (authenticated bits=56) (User authenticated as kaduk@ATHENA.MIT.EDU) by outgoing.mit.edu (8.13.8/8.12.4) with ESMTP id u5R33t1L014662 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Sun, 26 Jun 2016 23:03:58 -0400
Received: (from kaduk@localhost) by multics.mit.edu (8.12.9.20060308) id u5R33t1o007935; Sun, 26 Jun 2016 23:03:55 -0400 (EDT)
Date: Sun, 26 Jun 2016 23:03:54 -0400
From: Benjamin Kaduk <kaduk@MIT.EDU>
To: Michael Jenkins <m.jenkins.364706@gmail.com>
Message-ID: <alpine.GSO.1.10.1606261730110.18480@multics.mit.edu>
User-Agent: Alpine 1.10 (GSO 962 2008-03-14)
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset="US-ASCII"
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrEIsWRmVeSWpSXmKPExsUixG6nrrtwekG4wYZmHYutN78zWhzdvIrF Ytm3q2wOzB47Z91l91iy5CeTx5fLn9kCmKO4bFJSczLLUov07RK4MhoeNDIXLJCrmHJrMmMD 42GJLkYODgkBE4kde4q7GLk4hATamCTW/L7JDOFsZJR49aeNHcI5xCSx8vYHJgingVHi06Nd QA4nB4uAtsTppvWMIDabgIrEzDcb2UBsEQEDiUWT1oHZzALuEtv+72MFsYUFzCTedd1lA1nN K+AoMetgIUhYVEBHYvX+KSwgNq+AoMTJmU9YIFq1JJZP38YygZFvFpLULCSpBYxMqxhlU3Kr dHMTM3OKU5N1i5MT8/JSi3RN9XIzS/RSU0o3MYKDzkVpB+PEf16HGAU4GJV4eDXkC8KFWBPL iitzDzFKcjApifJue5QbLsSXlJ9SmZFYnBFfVJqTWnyIUYKDWUmEd+oUoHLelMTKqtSifJiU NAeLkjhvUOSxMCGB9MSS1OzU1ILUIpisDAeHkgTv36lAjYJFqempFWmZOSUIaSYOTpDhPEDD 7aeBDC8uSMwtzkyHyJ9iVJQS570HslUAJJFRmgfXC04Ku5lUXzGKA70izKsD0s4DTChw3a+A BjMBDWatzgcZXJKIkJJqYFz0f5qYzulsCYtu3UW3N3us2xj3w71d2e/T2k/5XtXidcui+3R2 iF5X9jj4X9mJvUvtsO9Ft9y1ZdOkzSv6A/Zt0tc/rpXmaGs6XWFNdEuvi6+Bd1908Ls/R11e n1Qxdw8xT/561lXg180HCi3+znn2+3TvvJg1NZVZQUupwSxJ9PnMvld3lFiKMxINtZiLihMB 25yL8OUCAAA=
Archived-At: <https://mailarchive.ietf.org/arch/msg/kitten/hhAgNauzDzlnrd_-BLLuvs-HuAY>
Cc: kitten@ietf.org, draft-ietf-kitten-aes-cts-hmac-sha2@tools.ietf.org
Subject: [kitten] shepherd review of draft-aes-cts-hmac-sha2-09
X-BeenThere: kitten@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Common Authentication Technologies - Next Generation <kitten.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/kitten>, <mailto:kitten-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/kitten/>
List-Post: <mailto:kitten@ietf.org>
List-Help: <mailto:kitten-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/kitten>, <mailto:kitten-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 27 Jun 2016 03:04:05 -0000

Hi Michael et al,

As I was preparing the shepherd writeup for this document, I noticed some
things that do not block the progression of the document but do require
changes, and one item that may require further WG input.  Can you prepare
a new version with the changes mentioned below?

The one item which would potentially affect the actual protocol: at the
end of Section 5, the pseudo-random function seems to be using a SP800-108
KDF but omits the zero byte between label and context.  I think it would
be better to have the zero byte -- do you remember whether there was a
reason to omit it?  (Adding the zero byte would require re-rolling some
test vectors, to be clear.)

Additionally, all document authors will need to confirm compliance with
BCPs 78 and 79 for this document, namely that there are no intellectual
property concerns with the document that are not already disclosed.

Please add a normative reference to RFC 2104 for HMAC, first mentioned at
the end of Section 1.

In Section 3, it might aid clarity to mention that the 0x00000001 input to
HMAC() is the 'i' parameter from SP800-108 [indicating that this is the
first block of output, even though it is the only block of output as
well].

In Section 4, it might be worth re-mentioning "where PBKDF2 is the
function of that name from RFC 2898" after the algorithm block, since most
everything else used there also gets clarified.  (It is already cited at
the beginning of the section, in the overview paragraph.)

The document should be consistent about using "cipher state" as one word
or two (RFC 3961 prefers the two-word form).  It also makes a rather
sudden appearance at the beginning of Section 5 with no explanatory
introduction; it might help the reader to instead start with "The RFC 3961
cipher state that maintains cryptographic state across different
encryption operations using the same key is used as the formal
initialization vector [...]" On the next page, "cipherstate" is defined as
"a 128-bit initialization vector derived from the ciphertext", which is
potentially misleading, since it can't be both used as the IV for and
derived from the same ciphertext!  Probably it's better to say "derived
from a previous (if any) ciphertext using the same encryption key, as
specified below".

Still in Section 5, in the definition of the encryption function (well,
computing the cipherstate, really), I'm of two minds whether it's worth
mentioning that the case of L < 128 is impossible because of the 128-bit
confounder.

In the decryption function, can you add a note to the right of "(C, H) =
ciphertext" that "[H is the last h bits of the ciphertext]"?

In the pseudo-random function, please replace "base-key" with "input-key",
since the key input to the PRF is not expected to be a kerberos protocol
long-term base key.

In Section 6, the "associated cryptosystem"s are supposed to be
"AES-128-CTS" or "AES-256-CTS", but those strings do not appear elsewhere
in the document.  While the meaning is pretty clear, it's probably better
to just say "aes128-cts-hmac-sha256-128 or aes256-cts-hmac-sha384-192 as
appropriate".  This does duplicate the preceding text, but we do want to
explicitly list the "associated encryption algorithm" as listed in the
Checksum Algorithm Profile of Section 4 of RFC 3961.

In Section 8.1, the acronym "TGT" is used, the only instance in the
document.  It's also potentially misleading, since ticket-granting tickets
are generally objects that are issued to client principals by the AS.
I'd go with "Cross-realm krbtgt keys" instead.

The test vectors for key derivation have a parenthetical "constant =
0x...", but the term "constant" does not appear elsewhere in the document.
The hex values are the label input for the HMAC, so we should call them
that.


Thanks,

Ben