Skip to main content

Keying and Authentication for Routing Protocols (KARP) Design Guidelines
draft-ietf-karp-design-guide-10

Yes

(Stewart Bryant)

No Objection

(Dan Romascanu)
(Gonzalo Camarillo)
(Pete Resnick)
(Robert Sparks)
(Ron Bonica)
(Wesley Eddy)

Note: This ballot was opened for revision 10 and is now closed.

Adrian Farrel Former IESG member
Yes
Yes (2011-09-21) Unknown
Thank you for your work on this important document. I am balloting
"Yes", but I have a small raft of comments that you should look 
through.

---

There is no need to include a reference to RFC 3036. That has been 
obsoleted and is no more.

---

Section 1

      o  More secure mechanisms and practices for operating routers. 
         This work is being addressed in the OPSEC Working Group. 

Increased security or increased number? Please clarify.

---

Section 2

      and have design 
      teams focus on the specification work within those groupings. 

I think you can leave out this piece of IETF process that may or may
not be executed as it is not really relevant to the discussion of how
the protocols are split up on the road map or in this document.

Similarly

OLD
      so that the work can be easily leveraged by the 
      various Routing Protocol teams.
NEW
      so that the work can be easily leveraged by for
      use in the various Routing Protocol groupings.

---

Section 2

      It is believed that the groupings will have like requirements 
      for their authentication mechanisms, and that reuse of 
      authentication mechanisms will be greatest within these 
      grouping. 

Yeah I know what you mean :-)

How about:

      The protocols will be grouped according to the requirements 
      for authentication mechanisms that they are believed to have,
      and it is assumed that reuse of authentication mechanisms will
      be possible and deisrable within each group. 

---

Section 2.1

s/some mechanism for some protocols/some mechanisms for some protocols/

---

Section 2.1

      The first categorization defines four types of messaging 
      transactions used on the wire by the base Routing Protocol.  

You go on to list only three mechanisms under sub-headings. It is
possible that you intend "Mixed" to be the fourth type.

---

Section 2.2

OLD
The second axis of categorization groups protocols by the 
NEW
The second axis of categorization groups protocols is by the 

---

Section 2.2

      Peer keying   
       
      One router sends the keying messages directly and only to one 
      other router, such that a one-to-one, unique keying security 
      association (SA) is established between the two routers. This 
      would be employed by protocols like BGP, BFD, LDP, etc. 

How "direct" does the sending have to be? For example, can't it be
via a trusted proxy or key server? I am not sure that "directly" is
relevant to the distinction that needs to be drawn between "peer 
keying" and "group keying".

(And, for what it is worth, "directly" means in time, and "direct" 
means in space - except in some US usage where meaning has become
confusnicatified.)

---

Section 2.2 Peer keying

      This 
      would be employed by protocols like BGP, BFD, LDP, etc. 

The "etc." is very ambiguous in this case because the last time
protocols were mentioned in groupings they included other protocols
along with BGP, BFD, and LDP. One was RSVP-TE and we know that group
keys are potentially applicable to RSVP-TE.

Maybe just strike "etc." as it is bad style to say "such as" (which 
you mean in place of "like") and "etc." in the same clause.

---

Section 3.1

      The form of the identity proof could be either raw keys, the 
      more easily administrable self-signed certificate format, or a 
      PKI issued certificate credential. 

I think you intend there to be a choice of three options here, in 
which case delete "either" to avoid confusion.

---

Section 3.2

This one is almost at the level of a Discuss...

      Additionally, key chains 
      will not help if the routing transport subsystem does not 
      support rolling over to the new keys without bouncing the 
      adjacencies. So the first step is to fix all routing protocols 
      so that they can change keys without breaking or bouncing the 
      adjacencies.
                                                                   
It is not clear that the conclusion is correct. This is certainly 
an option, but so are:

- changing usage such that the routing protocol uses a different
  routing transport subsystem that does not bounce the adjacency

- changing (fixing?) the preferred routing tansport subsystem
  such that it does not bounce the adjacensy

---

Section 5

Would it be OK to add PCEP [RFC5440] to the category "BGP, LDP and
MSDP" as it runs over TCP, is peer-based, and would simply pick up
TCP-AO in the same way as BGP?

---

Section 5

I find no fault with the discussion of "RSVP and RSVP-TE", but I
note that other categories in this section describe the categroy
in a brief(ish) paragraph while for RSVP we have a lecture.

This also seems to make use of RFC2119 language in earnest. Is 
that right?

Does this text actually belong in one of the later, protocol-
specific documents?
Stewart Bryant Former IESG member
Yes
Yes () Unknown

                            
Dan Romascanu Former IESG member
No Objection
No Objection () Unknown

                            
Gonzalo Camarillo Former IESG member
No Objection
No Objection () Unknown

                            
Pete Resnick Former IESG member
No Objection
No Objection () Unknown

                            
Peter Saint-Andre Former IESG member
No Objection
No Objection (2011-09-21) Unknown
Various paragraphs mention "modern, strong security algorithms", but that term is never defined. Given that the only algorithm mentioned in the text is SHA-1, the reader is left to wonder what is meant by "modern" and "strong".

I don't see a need for the use of RFC 2119 keywords in this document.
Robert Sparks Former IESG member
No Objection
No Objection () Unknown

                            
Ron Bonica Former IESG member
No Objection
No Objection () Unknown

                            
Russ Housley Former IESG member
(was Discuss, No Objection, Discuss) No Objection
No Objection (2011-11-12) Unknown
The document tries to define "on the wire".  I do not find the
  definition helpful.  I think it is sufficient to say that "on the
  wire" protection can be achieved by the addition of authentication
  and integrity mechanisms to the routing protocol or by running the
  routing protocol over a security protocol the provides them.

  Why define the KMP acronym?  It is not used many places.

  Please remove the URL to the MSEC charter.
Sean Turner Former IESG member
(was Discuss) No Objection
No Objection (2011-10-05) Unknown
I do not mean for any of these comments to change the intent of what was there before.

#1) s1: I think you should quote the bullets from 4948 and then say where they're being done:

OLD:
       
  o  Increased security mechanisms and practices for operating  
     routers. This work is being addressed in the OPSEC Working  
     Group. 
       
  o  Cleaning up the Internet Routing Registry repository [IRR],   
     and securing both the database and the access, so that it  
     can be used for routing verifications.  This work should be  
     addressed through liaisons with those running the IRR's  
     globally. 
     
  o  Specifications for cryptographic validation of routing  
  message content.  This work is being addressed in the  
  SIDR Working Group. 
       
  o  Securing the routing protocols' packets on the wire 


NEW:
  
  o  Increased security mechanisms and practices for operating  
     routers.
       
  o  Cleaning up the Internet Routing Registry repository [IRR],   
     and securing both the database and the access, so that it  
     can be used for routing verifications.
       
  o  Specifications for cryptographic validation of routing  
     message content. 
       
  o  Securing the routing protocols' packets on the wire. 

The first bullet is being addressed in the OPSEC Working Group.
The second bullet should be addressed through liaisons with
those running the IRR's globally.  The third bullet is being
addressed in the SIDR Working Group.

This document addresses ...

#2) s1: Contains the following:

  This may overlap with, but is strongly distinct from, 
  protection designed to ensure that routing information is 
  properly authorized relative to sources of this information.

maybe "protection" is supposed to be "mechanism":

  This may overlap with, but is strongly distinct from, 
  mechanisms designed to ensure that routing information is 
  properly authorized relative to sources of this information.

#3) s1: Contains the following:

  Such assurances are provided by other mechanisms and are 
  outside the scope of this document and work that relies on it. 

maybe "assurances" is "authorizations":

  Such authorizations are provided by other mechanisms and are 
  outside the scope of this document and work that relies on it. 

#4) s1: Contains the following:

  In 
  this document, it is used to refer both to information 
  exchanged between routing protocol instances, and to underlying 
  protocols that may also need to be protected in specific 
  circumstances.

what's a routing protocol instance?  Is it just routing protocols or maybe it should be "exchanged between routers"?

#5) s1: Contains the following:

  Individual protocol analysis documents will 
  need to be more specific in their usage. 

Maybe:

  Other documents that will analyze individual protocols will
  need to indicate how they use the term "on the wire".

#6) s1: I couldn't parse this:

  The 
  term is used here to allow a referent for discussing both 
  common and disparate issues that affect or interact with this 
  dimension of the routing systems.

actually the 2nd to last paragraph confuses me.  I think you're trying to say that:

  The term "routing transport" is used to refer to the layer
  that exchanges the routing protocols.  Examples include: TCP, UDP,
  or even direct link level messaging.

Do you need to say anything else?

#7) s2: Contains the following:

   For the purpose of this security roadmap definition, we categorize 
   routing protocols into groups and anticipate that design teams will 
   focus on the specification of security mechanisms within each 
   group. The protocols will be grouped according to the requirements 
   for authentication mechanisms that they are believed to have, and 
   it is assumed that reuse of authentication mechanisms will be 
   possible and desirable within each group. The work items placed on 
   the roadmap will be defined and assigned based on these 
   categorizations.

How about 

  This document places the routing protocols into two categories according
  to their requirements for authentication.  We hope these categories will
  allow design teams to focus on security mechanisms for a given category.
  Further, we hope that the each protocol in the group will be able to reuse
  the authentication mechanism.

#8) s2: Contains the following:

  KMPs are useful for 
  allowing simple, automated updates of the traffic keys used in a 
  base protocol.

Maybe:

   KMPs allowing simple, automated updates of the traffic keys used in a 
   base protocol.

#9) s2.1: r/categorization/category
          r/message which is intended for consumption by multiple peers/
            message which is intended for multiple peers
          r/because of the fact that they are inherently/
            because they are inherently/  


#10) s2.1: Need to describe how multicast is different from one-to-many

#11) s2.1: Contains the following:

  As a result, some mechanisms for a few routing protocols,

I'm not sure what you mean by "some mechanisms"?  Are these message transaction types?

#12) s2.1: Contains the following:

   This may include any ...

What's the "this referring to?

#13) s2.1: contains the following:

   the techniques that are used for the message exchanges. 

Maybe:

   the techniques that are used for the message transaction type.   
 
#14) s2.2: Contains the following:

   The second axis of categorization groups protocols is by the 
   keying mechanism that will be necessary for distributing 
   session keys to the actual Routing Protocol transports.

Maybe:

   The second category is the
   keying mechanism that will be used to distribute the
   session keys to the routing transports.

#15) s2.2: Contains the following:

   routers. This would be 
   employed by protocols like BGP, BFD and LDP. 

Maybe:

   routers (e.g., BGP, BFD, and LDP).

#17) s3.1: r/2048 for/2048 bits for

#18) s3.1: When describing the symmetric key to asymmetric key size comparison please add a reference to RFC 3766.  It describes exactly this comparison (look in Section 5).

#19) s3.1:r/using SSH/using Secure SHell (SSH) Protocol
          r/employed to by SSH/employed by SSH
          r/when a user/when an administrator

#20) s3.1: Contains the following:

  Once an asymmetric key pair is generated, the KMP generating 
  security association parameters and keys for routing protocol 
  may use the machine's asymmetric keys for the identity proof.

r/asymmetric key/asymmetric key (the sentence is talking about one key pair)

Is it an "identity proof" or is it that the public key is used during an authentication token/credential?  Maybe it's use "the machine's asymmetric key pair as an authentication credential".  Then the next sentence is about the type of token/credential:

   The form of the token could be raw keys, the more 
   easily administrable self-signed certificate, or a PKI-
   issued certificate [RFC5280]. 

and then:

  Regardless of which credential is standardized, the proof of 
  this identity presentation can be as simple as a strong hash,
  which could be represented in a human readable and transferable 
  form of some pairs of ASCII characters. 

Actually I'm not sure what the "proof of this identity presentation" is all about.  Maybe it's authentication:

  Regardless of which credential is standardized, the authentication
  mechanism can be as simple as a strong hash over a string of ASCII
  characters.

later r/identity proof/authentication mechanism

#21) s3.1: I'll give you a free pass on the self-signed certificate, but it's at least one person's hot button in PKIX - that 5280 only defines self-signed certificates as a CA certificates.

#22) s3.2: Is there a reference for the key chain?  I think I know what you're talking about, but is that written down for a protocol now?

#23) s3.2: r/for doing the same./for rolling the key.  
           r/they are likely to get disclosed/they are likely to be disclosed
           r/with the send and the receive keys/with the send and the received keys ?

#24) s4.1: Contains the following:

  It is believed that improving security for any routing protocol 
  will be a two step process or could be said to involve two 
  phases.

just pick one :)

  It is believed that improving security for any routing protocol 
  will be a two phase process.

#25) s4.1: Contains the following:

  The first would be to fix the manual key management 
  procedures that currently exist within the routing protocols 
  today using modern cryptography algorithms and key agility. 

Isn't the first step to add modern crypto and key agility to the protocols?

  The first phase would be to modify routing protocols to support modern
  cryptography algorithms and key agility. 

#26) s4.1: this is a little wordy:

  In order to deliver that to the operators in a way 
  that we could complete these action items a little bit a time 
  and make some incremental advance over what is currently 
  deployed in the wild, we believe that it is therefore useful to 
  cleanly separate the key management protocol from the routing 
  transport subsystem mechanism.

How about:

  In order for operators to accept these phases, we believe that
  the key management protocol should be clearly separated from the
  routing transport.

and later:

  written by 
  people good in security and who will be maintaining it over the 
  time and insert those parameters in the routing exchange.

with

  written, maintained, and operated by security experts

#27) s4.1: contains the following:

  The desired end state for the KARP work contains several items.  
  First, the people desiring to deploy securely authenticated and 
  integrity validated packets between routing peers have the 
  tools specified, implemented and shipping in order to deploy.

Maybe

  The ultimate goals of KARP contain several items.  
  First, provide a mechanism to allow routing peers to exchange
  authenticated and integrity protected packages.

#28) s4.1: contains the following:

  In larger 
  deployments, this end state will be much more operationally 
  difficult to reach with only manual keys.  Thus, there will be 
  a need for key life cycle management, in the form of a key 
  management protocol, or KMP.


Maybe the following to be explicit that a KMP is the second goal:

  However, manual keying in larger deployments will be too burdensome
  for operators.  Thus, the second goal is to support key life cycle
  management with a KMP.

and maybe instead of:

  We expect that the two forms, 
  manual key usage and KMP usage, will co-exist in the real 
  world.   

this:

  We expect that both manual and automated key management will
  co-exist in the real world.

#29) s5: r/[RFC2747/[RFC2747]

#30) s6: r/be at least on set of cryptography algorithms or constructions 
          /be at least one set of cryptographic algorithms

I'd just strike "or constructions" from the rest of the draft.  I'm not sure what you mean by it.

#31) s6: contains the following:

   If such algorithms or constructions 
   are not available then some should be defined to support 
   interoperability by having a single default. 

I think you're trying to say:

   If such algorithms have not been defined, then define them and
   pick a default algorithm.

#32) s6: I think you want to say support algorithm agility:

   Care should also be taken to ensure that the routing protocol 
   authentication scheme is capable of supporting algorithms other 
   than its defaults, in order to adapt to future discoveries. 

Maybe:

   Care should also be taken to ensure that the routing protocol 
   authentication scheme has algorithm agility (i.e., it is capable
   of supporting algorithms other than its defaults).

#33)  s6:

OLD:

   Ideally, authentication MUST be performed on routing protocols 
   packets oblivious to the order in which they have arrived, so 
   that it does not get influenced by packets loss and reordering. 

NEW:

   Ideally, the authentication mechanism MUST NOT be affected by
   packets loss and reordering. 

#34) s6: r/authentication mechanism remains oblivious of how the 
          /authentication mechanism remains oblivious to how the

#35) s6: Maybe

OLD:
   
   The KARP work is but one step in 
   a necessary system of security improvements.

NEW:

   The KARP work is but one step needed to improve core routing
   infrastructure.

#36) s7: Need to add something in the first paragraph to talk about key lengths.  Maybe the pointer to RFC 3766.  Maybe:

  In addition to generating good keys, care should be taken when
  choosing the length of the key.  [RFC3766] provides some additional
  information on asymmetric and symmetric key sizes and how they related
  to system requirements for attack resistance.

#37) s7:

   This is because if 
   attackers sitting between two routers learn or guess the 
   Traffic Key for that connection, it still does not gain them 
   access to the Traffic key being used in other connections.

Maybe:

   Consider an attacker that learns or guesses the Traffic Key used
   by two peer-routers: if the Traffic key is only used between those
   two routers, then the attacker has only compromised that one connection
   not the entire network.

#38) s7: doesn't the following presuppose a solution:

   Doing so has the following advantages: the Traffic Keys 
   used in the per-message MAC operation are peer-wise unique, it 
   provides inter-connection replay protection, and, if the per-
   message MAC covers some connection counter, intra-connection 
   replay protection. 

Maybe replace MAC with authentication mechanism?  Or are we all really just fooling ourselves?

#39) s7.1: contains the following:

  Administrators are encouraged to follow [RFC4086.

Add the "]" and maybe we should also be pointing to the NIST spec on password (Special Publication 800-118)

r/, in as/as

It might be worth mixing in that the reason you need the key prep is that administrators are NEVER EVER going to put in a password that is 16 bytes in length ;)

And, maybe saying operators do stupid things isn't such a good idea ;)

#40) s7.3: r/The goal for designers/ One goal for designers    - s4.1 says there's more than one goal.

#41) s7.4: r/Out-of-and/Out-of-band
Stephen Farrell Former IESG member
(was Discuss) No Objection
No Objection (2011-09-25) Unknown
I don't know what "very strong keys" might be. Keys are either good
or bad, not very good or very bad.

I still don't see a reference for a two time pad. You really need that.

---- original comments on -03 below

- Abstract: "This document is one of a series concerned with
defining a roadmap of protocol specification work for the use of
modern cryptographic mechanisms and algorithms for message
authentication in routing protocols. " What does that mean? What
series? Why is the document "concerned with defining a roadmap" and
not just setting out a roadmap or guidelines or something
understandable?

- Abstract: presumably the KMP "framework" is for managing keys for
routing protocol security and not more generally?

- Section 1: "Thus, it is concerned with guidelines for describing
issues and techniques for protecting the messages and their contents
between directly communicating peers." That is incredibly vague -
the guidelines are really about "describing issues"?

- Section 1: What are "individual protocol analysis" documents?
RFCs tend to specify, but not analyse, protocols.  (This became
clear later but was not at this point.)

- Section 2: what is "Phase 2"? Does it assume a "Phase 1"? If so,
what is/was phase 1? (You explain that in section 4.2 but refer to
it much earlier).

- Section 3.1: "will be very secret" seems optimistic (and is 
presumably referring only to the private component of the key 
pair). "will not be subject to change" seems to make a lot of
assumptions. I've never heard tell of a dictionary attack on
an asymmetric key pair - why even mention it?

- Section 3.1: asymmetric algorithm key lengths are discussed
in rfc 3766 and in the literature, some references would be
good here (and maybe better than the current text) in particular
to the "NIST guidlines" cited but not referenced.

- 3.1: s/Once asymmetric key pair/Once an asymmetric key pair/

- 3.1 is missing references to rfcs related to PKI (5280 etc.)

- 3.2 says "using the key chains" - what are those? There is at
least a missing reference. And use "key chain" or "keychain" but not
both. 

- 4.1: The first paragraph here is confusing. I don't get what "KARP
parameters" might mean.

- 4.1: References for "inter-connection replay" and "two time pads"
would be good.

- Section 6 says: "Design teams while defining the new
authentication and security mechanisms MUST design in such a manner
that the routing protocol authentication mechanism remains oblivious
of how the keying material is derived." What does that mean? How
does one validate the MUST there? Does it really mean that a
'pluggable' KDF must be used to generate keying material? If so, why
not say so?

- There are many typos. Too many to identify.

- Section 7.1 says "...use of a KMP network-wide increases peer-wise
security so greatly." I don't think that can be justified in the
absence of a specific KMP. 

- Section 7.3 says: "In this context, the attack target size
represents the number of unique routing exchanges across a network
that an attacker may be able to observe in order to gain security
association credentials, i.e. crack the keys." I disagree with that.
I don't know how "attack size" is defined, but it sounds like you
should be discussing the impact of a successful attack. Also,
"cracking" keys by observing routing exchanges should really not be
possible and doesn't distinguish between key management schemes - if
that's possible, the routing protocol's security mechanism is just
broken at least for any sensible number of (pairs of) nodes, or else
a weak key has been chosen.

- Section 7.4: I've no idea what "one routing peer-to-peer key
management protocol exchanges" means.

- Section 7.4: I think peer-to-peer isn't a great term here. Maybe
router-to-router would be better?

- Section 7.4: " The desired end goal for KARP WG is develop a
strong peer-to- peer KMP as an Out-of-and external Key Management
protocol is out of scope." Huh?
Wesley Eddy Former IESG member
No Objection
No Objection () Unknown