Re: [karp] Gen-ART review of draft-ietf-karp-crypto-key-table-07

"Black, David" <david.black@emc.com> Thu, 25 April 2013 18:50 UTC

Return-Path: <david.black@emc.com>
X-Original-To: karp@ietfa.amsl.com
Delivered-To: karp@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A70AE21F9647; Thu, 25 Apr 2013 11:50:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -100.24
X-Spam-Level:
X-Spam-Status: No, score=-100.24 tagged_above=-999 required=5 tests=[AWL=2.359, BAYES_00=-2.599, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Wqiw+LVwUHSc; Thu, 25 Apr 2013 11:50:00 -0700 (PDT)
Received: from mexforward.lss.emc.com (hop-nat-141.emc.com [168.159.213.141]) by ietfa.amsl.com (Postfix) with ESMTP id 460C221F9644; Thu, 25 Apr 2013 11:49:59 -0700 (PDT)
Received: from hop04-l1d11-si02.isus.emc.com (HOP04-L1D11-SI02.isus.emc.com [10.254.111.55]) by mexforward.lss.emc.com (Switch-3.4.3/Switch-3.4.3) with ESMTP id r3PInX2v020434 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 25 Apr 2013 14:49:33 -0400
Received: from mailhub.lss.emc.com (mailhubhoprd03.lss.emc.com [10.254.221.145]) by hop04-l1d11-si02.isus.emc.com (RSA Interceptor); Thu, 25 Apr 2013 14:49:21 -0400
Received: from mxhub05.corp.emc.com (mxhub05.corp.emc.com [128.222.70.202]) by mailhub.lss.emc.com (Switch-3.4.3/Switch-3.4.3) with ESMTP id r3PInKnE019433; Thu, 25 Apr 2013 14:49:20 -0400
Received: from mx15a.corp.emc.com ([169.254.1.81]) by mxhub05.corp.emc.com ([128.222.70.202]) with mapi; Thu, 25 Apr 2013 14:49:19 -0400
From: "Black, David" <david.black@emc.com>
To: Sam Hartman <hartmans-ietf@mit.edu>
Date: Thu, 25 Apr 2013 14:49:17 -0400
Thread-Topic: Gen-ART review of draft-ietf-karp-crypto-key-table-07
Thread-Index: Ac5B1KJBGTDzkf65QPacxtWgnCr6KgADLoOg
Message-ID: <8D3D17ACE214DC429325B2B98F3AE71293F3BDB0@MX15A.corp.emc.com>
References: <8D3D17ACE214DC429325B2B98F3AE71293F3BD27@MX15A.corp.emc.com> <tsla9omh811.fsf@mit.edu>
In-Reply-To: <tsla9omh811.fsf@mit.edu>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-EMM-MHVC: 1
Cc: "ietf@ietf.org" <ietf@ietf.org>, "tim.polk@nist.gov" <tim.polk@nist.gov>, "gen-art@ietf.org" <gen-art@ietf.org>, "Black, David" <david.black@emc.com>, "karp@ietf.org" <karp@ietf.org>
Subject: Re: [karp] Gen-ART review of draft-ietf-karp-crypto-key-table-07
X-BeenThere: karp@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Discussion list for key management for routing and transport protocols <karp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/karp>, <mailto:karp-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/karp>
List-Post: <mailto:karp@ietf.org>
List-Help: <mailto:karp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/karp>, <mailto:karp-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 25 Apr 2013 18:50:01 -0000

Thanks for the quick response - most of your message looks reasonable to me.

I have a few additional comments.

[1] Character set for key names, etc.

> They are strings that can be compared using binary comparison.
> I agree we need to state that in the draft.

That's certainly a reasonable goal, and there are plenty of examples of
protocols that do that.  OTOH, when the character set is Unicode, generating
strings for which that binary comparison for equality works as expected has
a number of subtleties when the strings are input by humans.  Pete Resnick
and yours truly are among the people familiar with the "dragons" that lurk
here (and the precis WG is grappling with).

> We needed to add the entire complexity of making these fields be strings
>     not integers because of some non-IETF protocols that use key names.
> 
> I'm reasonably confident I can sell Pete on the concept of a binary
>     identifier for this field from an i18n standpoint.

I have no problem with the field being a binary identifier, but I think
implementers should be put on notice that binary comparison of human input
Unicode strings doesn't work as expected unless some things are done to
make it work (this used to be known as string preparation).  A warning
to that effect, perhaps citing a reference for details on what can go awry,
accompanied by making the protocol spec responsible for getting this right
ought to suffice.

[3] Protocol responsibility to specify interface format

> We
> mandate that you must be able to tie things to interface. However the
> format of an interface is quite specific to the routing platform in
> question.

Ok, I suggest explaining that as part of a statement that a protocol cannot
in general be expected to specify interface formats that apply across all
implementations due to implementation diversity.

[7] Additional format information in registry

>     Black,> [7] Should some sort of formats for Peers and Interfaces be
>     Black,> included in registering a Protocol?  If not, the lookups in
>     Black,> section 3 may be implementation-dependent (strings that work
>     Black,> w/one implementation may not work w/other implementations of
>     Black,> the same protocol).  The specification reference may suffice
>     Black,> based on the requirements in section 4 for what has to be in
>     Black,> each referenced specification.
> 
> When you register a protocol you need to point to a specification that
>     gives details on this sort of thing.

That makes sense, and section 4's requirements on the specifications 
cover this area, but I thought I'd ask.

[9] Registry policy

> As an individual, I support FCFS, because I think getting expert
>     approval for some of the uses that have been proposed for these
>     registries will be challenging.

The two registries involved are for KDFs and cryptographic algorithm identifiers.

This feels like something that the security area ought to weigh in on, as it
looks like it includes the "vanity crypto" discussion tarpit ;-).  At a minimum,
I would think that there ought to be some means of prohibiting registration
of a crypto algorithm like ROT13 (http://en.wikipedia.org/wiki/ROT13).

Thanks,
--David

> -----Original Message-----
> From: Sam Hartman [mailto:hartmans-ietf@mit.edu]
> Sent: Thursday, April 25, 2013 12:47 PM
> To: Black, David
> Cc: Russ Housley; tim.polk@nist.gov; zhangdacheng@huawei.com; gen-
> art@ietf.org; karp@ietf.org; ietf@ietf.org; <stbryant@cisco.com>
> Subject: Re: Gen-ART review of draft-ietf-karp-crypto-key-table-07
> 
> Here are some quick initial responses to your comments.
> 
> Thanks much for the review and I'll follow up with more detail in a
> while.
> 
> >>>>> "Black," == Black, David <david.black@emc.com> writes:
> 
> 
>     Black,> Major issues:
> 
>     Black,> (Section 2)
> 
>     Black,> [1] LocalKeyName and PeerKeyName are strings.  What
>     Black,> character set?  If Unicode (e.g., UTF-8?), add text on
>     Black,> Unicode considerations (e.g., normalization).  Finding a
>     Black,> Unicode expert will help in getting this done quickly.  I
>     Black,> have similar concerns for other strings, and in particular,
>     Black,> IANA should be told what a "string" is for any registry
>     Black,> field that contains one.
> 
> They are strings that can be compared using binary comparison.
> I agree we need to state that in the draft.
> Character set, to the extent it is specified will be specified by the
> individual protocol.
> In practice the protocol will say  that it's an integer represented as
> an ASCII string.
> 
> We needed to add the entire complexity of making these fields be strings
>     not integers because of some non-IETF protocols that use key names.
> 
> I'm reasonably confident I can sell Pete on the concept of a binary
>     identifier for this field from an i18n standpoint.
> 
> But issues, of length, format, etc are all specified by the protocol
> spec.
> 
>     Black,> [2] I'm not sure that I understand what a KDF really is from
>     Black,> its high level description in this draft.  At the least, I'm
>     Black,> surprised that the importance of non-invertibility of a KDF
>     Black,> is not mentioned - beyond that, a functional description of
>     Black,> inputs and outputs would help, including a strong
>     Black,> recommendation to inject unpredictable nonce material.  This
>     Black,> could be handled by referencing material on what a KDF is
>     Black,> that exists elsewhere.
> 
> I'm open to text either proposed on the IETF list from one of the other
> authors.
> Some protocols have a KDF input some do not.
> If they do, it will be drawn from a set of allowable valuable for that
> protocol.
> 
>     Black,> (Section 4)
> 
>     Black,> [3] It's important that this section cover all the fields
>     Black,> involved in the database lookups in Section 3 whose format
>     Black,> may be protocol-specific (the Direction and various time
>     Black,> fields aren't).  Protocol should be covered by the IANA
>     Black,> registry, peers and key names are covered here, but
>     Black,> interface appears to be missing - item (9) covers presence
>     Black,> vs.  absence of interface information, but not its format.
> 
> The interface is implementation-specific not protocol specific.  We
> mandate that you must be able to tie things to interface. However the
> format of an interface is quite specific to the routing platform in
> questino.  I don't think there's a way that an IETF document can go into
> useful detail on that.  SNMP and Netconf have models of how interfaces
> are represented.  If we ever put together a Netconf schema for this
> database, we'd specify the interface there.
> 
>     Black,> --- Lots of issues with the IANA Considerations (Section 8)
> 
>     Black,> (Section 8.1.1)
> 
>     Black,> [5] No field format information for the fields in a registry
>     Black,> entry.  IANA should be told what formats to expect/use.
> 
> Thanks, agreed.
> 
> 
>     Black,> [6] "Protocol Specific Values" is not the same as
>     Black,> "ProtocolSpecificInfo" in section 2; the same name should be
>     Black,> used, but whitespace differences are ok.
> Good catch.
> 
>     Black,> [7] Should some sort of formats for Peers and Interfaces be
>     Black,> included in registering a Protocol?  If not, the lookups in
>     Black,> section 3 may be implementation-dependent (strings that work
>     Black,> w/one implementation may not work w/other implementations of
>     Black,> the same protocol).  The specification reference may suffice
>     Black,> based on the requirements in section 4 for what has to be in
>     Black,> each referenced specification.
> 
> When you register a protocol you need to point to a specification that
>     gives details on this sort of thing.
> 
>     Black,> (Sections 8.2 and 8.3)
> 
>     Black,> [8] No registry entry content descriptions.  Need to supply
>     Black,> information on what to register and the formats of the
>     Black,> elements of a registry entry.
> 
> Thanks.
> 
>     Black,> [9] I suggest Expert Review for these registries, not just
>     Black,> First Come First Served, so that someone with a security
>     Black,> "clue" can check that the proposed registrations are
>     Black,> reasonable.
> 
> As an individual, I support FCFS, because I think getting expert
>     approval for some of the uses that have been proposed for these
>     registries will be challenging.
> 
>