Re: [karp] Gen-ART LC Review of draft-ietf-karp-ops-model-07

Ben Campbell <ben@nostrum.com> Tue, 24 September 2013 22:46 UTC

Return-Path: <ben@nostrum.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 65C4611E8183; Tue, 24 Sep 2013 15:46:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.639
X-Spam-Level:
X-Spam-Status: No, score=-102.639 tagged_above=-999 required=5 tests=[AWL=-0.039, BAYES_00=-2.599, SPF_PASS=-0.001, 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 AvpA+ZJ6VaAM; Tue, 24 Sep 2013 15:46:41 -0700 (PDT)
Received: from shaman.nostrum.com (nostrum-pt.tunnel.tserv2.fmt.ipv6.he.net [IPv6:2001:470:1f03:267::2]) by ietfa.amsl.com (Postfix) with ESMTP id 6B00D11E80F8; Tue, 24 Sep 2013 15:46:41 -0700 (PDT)
Received: from [10.0.1.9] (cpe-76-187-89-238.tx.res.rr.com [76.187.89.238]) (authenticated bits=0) by shaman.nostrum.com (8.14.3/8.14.3) with ESMTP id r8OMkcYl035647 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Tue, 24 Sep 2013 17:46:39 -0500 (CDT) (envelope-from ben@nostrum.com)
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 6.6 \(1510\))
From: Ben Campbell <ben@nostrum.com>
In-Reply-To: <tsl1u4n9ua6.fsf@mit.edu>
Date: Tue, 24 Sep 2013 17:46:40 -0500
Content-Transfer-Encoding: quoted-printable
Message-Id: <94891A49-8E45-44AF-B971-8A21DEFFB464@nostrum.com>
References: <F0728D4E-4DEA-47B4-BA75-CCDB9C562924@nostrum.com> <5224A352.6050007@cisco.com> <tsl1u4n9ua6.fsf@mit.edu>
To: Sam Hartman <hartmans-ietf@mit.edu>
X-Mailer: Apple Mail (2.1510)
Received-SPF: pass (shaman.nostrum.com: 76.187.89.238 is authenticated by a trusted mechanism)
X-Mailman-Approved-At: Tue, 24 Sep 2013 16:38:51 -0700
Cc: karp@ietf.org, ietf@ietf.org
Subject: Re: [karp] Gen-ART LC Review of draft-ietf-karp-ops-model-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: Tue, 24 Sep 2013 22:46:42 -0000

Hi, thanks for the response. Comments inline. I've removed sections that do not appear to need further comment.

On Sep 17, 2013, at 1:29 PM, Sam Hartman <hartmans-ietf@mit.edu> wrote:
> 
>    genart> -- This abstract claims that this draft is a discussion of
>    genart> issues. From that per spective, I don't think the use of
>    genart> 2119 language is appropriate. There are some specific areas
>    genart> (mentioned below) where 2119 language is used in imprecis
>    genart> ways, and may do harm to the reader's understanding. There
>    genart> are other uses that may be more reasonable. But I think the
>    genart> draft would be better off dispensing with 2119 language
>    genart> altogether.
> 
> We disagree.
> I think that the draft provides requirements that if followed will make
> management of the security aspects of routers easier to depend on.
> I believe 2119 language is useful in that.
> 

I think that would be true if the intent of this draft was to create a BCP, or something to that effect. That's not what the abstract and intro say. They characterize the draft as "discussing issues" and "begins to develop a model".

If you think 2119 language is appropriate, then it might be helpful to update the abstract and intro to make it more clear that the draft offers normative guidance, and make it clear when and to whom it applies. For example, section 3 says "Implementations of this model MUST..." It's not clear to me what "this model" means when the abstract and intro make it sound like this draft is early work towards eventually developing such a model.

Bottom line is, I think the problem is not with 2119 language in general so much as it is a matter of the draft being inconsistent on whether it is discussing issues that may eventually lead to a model, or actually describing such a model.

> I think this is well within an area where there is no IETF-wide
> consessus and the judgment of the individual WGs and to a lesser extent
> editors should control.

Certainly. All I am doing is offering an opinion.

> 
>    genart> -- Section 3, paragraph 4:
> 
>    genart> This seems like a place where descriptive language would be
>    genart> better than 2119 lan guage. In particular, "and so on"
>    genart> leaves things too open ended and imprecise. Al so, the use
>    genart> of 2119 language in an example seems a bit off.
> 
> So, the requirement is stated in the first clause using 2119 language:
> 
>   Operational Requirements: implementations of this model MUST support
>   configuration of keys at the most general scope for the underlying
>   protocol; 
> 
> The sentence goes on to apply that requirement to some common cases:
>   protocols supporting per-peer keys MUST permit
>   configuration of per-peer keys, protocols supporting per-interface
>   keys MUST support configuration of per-interface keys, and so on.
> 
> You might prefer different style rules; you might prefer  that the
> restatements of the general requirement to specific situations not use
> 2119 language.
> I think the right approach for that is to try and build community
> consensus on those style rules and not to apply those rules until such a
> consensus is achieved.
> I do agree that care should be used when using 2119 in a restatement,
> but in this instance believe it is OK.
> 
> I've removed the 2119 language from the example, although I think it was
> harmless.

Ok. 

My concern was that it is open ended. The words  "and so on" tells me that there may be more normative requirements that the reader is left to infer. That could make it hard to know if an implementation fully complies.

[snip]


> 
>    genart> -- section 3.2, paragraph 2:
> 
>    genart> What distinguishes SHOULD from "desirable" in this context?
>    genart> That is, why use 211 9 language for one and not the other?
> 
> The sentences including desirable are giving motivation for the
> sentences including SHOULD.
> That is the SHOULDS are the take-aways, the desirables are
> expansions/explanations of why the SHOULDS make sense.

On re-reading that paragraph, I see your point and retract the comment.

> 
>    genart> -- section 3.2, last paragraph: "Implementations SHOULD
>    genart> permit a configuration i n which if no unexpired key is
>    genart> available, existing security associations continu e using
>    genart> the expired key with which they were established."
> 
>    genart> This may need further guidance. For example, it seems risky
>    genart> to do this silently.
> 
> I think this was explicitly discussed in the WG and is where we got in
> our discussions.
> There's discussion of alerts for security events elsewhere.
> However I think the current text represents a fairly informed WG
> consensus.

You are correct that there is separate text on notification of security events (section 6.2), and that even mentions certificate expiration. But it doesn't explicitly mention continuing to use an expired key. I think that's important enough that it should be explicitly considered.

If it was explicitly discussed in the working group, it would be helpful to document the trade-offs that were discussed.

[snip]

>    genart> -- section 4, 2nd to last paragraph:
> 
>    genart> Seems like other disadvantages are worth mentioning. For
>    genart> example, the potential impact of a compromised CA.
> 
> I spent a few minutes trying to come up with an argument whether CA
> compromise was better or worse than other systems compromise profile,
> particularly focusing on central management system compromise in the
> preshared key case.
> I think it's difficult to come up with an argument about whether that's
> actually a disadvantage of CAs in this case and I think getting
> consensus would be non-trivial.
> I also think that managing CA compromise can either be handled on the
> cost axis (secure offline CA) or the complexity axis (push out new CA
> certs and end-entity certs on compromise).
> So, I think the current text is accurate.
> If there are specific disadvantages that can easily be verified, I'm
> open to revisions.
> 

The previous paragraph listed an advantage that the fact that a server only has it's on key material  limits the scope. The idea of a compromised CA having a potentially very large scope of damage is pretty well known, and it's a very real concern given the news of late. How that compares to the compromise of a central management system depends on whether the CA is a "third party" (or as in the web browser case, many third parties) vs the operator itself. (I guess the central management system could also be a third party, but that may be less typical.)

OTOH, the idea that a PKI is more costly is hard to verify without a cost-benefit analysis about the CA costs compare to the operational savings.


>    genart> -- 4.1:
> 
>    genart> I understand why one might choose not to include a
>    genart> real-world example here, but is there something that can be
>    genart> referenced?
> 
> Real wmorld example of what?

Sorry, that was for section 4.1.2: "This hypothetical example is overly simplistic; real-world attacks exploiting key separation weaknesses tend to be complicated..."

> 
>    genart> Nits/editorial comments:
> 
>    genart> Abstract: Might be worth mentioning KARP and how this draft
>    genart> fits with others.
> 
> I think this doesn't belong in the abstract.
> I think we do cover this in the body of the document.
> 

It's pretty common that when a draft is part of a larger body of work, that it be mentioned in the abstract. People look at abstracts to determine if they need to read the draft in the first place.

[snip]