I have been selected as the General Area Review Team (Gen-ART) reviewer for
this draft (for background on Gen-ART, please see
http://www.alvestrand.no/ietf/gen/art/gen-art-FAQ.html).

Please resolve these comments along with any other Last Call comments you
may receive.

Document: draft-ietf-mpls-over-l2tpv3-01.txt
Reviewer: Spencer Dawkins
Review Date:  2006-09-22
IETF LC Date: 2006-10-04
IESG Telechat date:
Summary: This draft is almost ready for publication as a Proposed Standard.

Comments: The gaps I saw are mostly in the area of readability, so I don't
expect any of my comments to be show-stoppers, but there are some items
noted below where the specification is just not clear enough to be published
in its current state. These are tagged as "Spencer:". If I was sure enough
of the meaning to suggest replacement text, I tagged these as "Spencer
(editorial):", and items tagged this way are not part of the Gen-ART review
for Brian.

Thanks,

Spencer

2. MPLS over L2TPv3 Encoding

  MPLS over L2TPv3 allows tunneling of an MPLS stack [RFC3032] and its
  payload over an IP network utilizing the L2TPv3 encapsulation defined
  in [RFC3931].  The MPLS Label Stack and payload are carried in their
  entirety after IP (either IPv4 or IPv6) and L2TPv3.

Spencer (editorial): "after IP" is really "following IP header", isn't it?

...

  The optional L2-Specific-Sublayer defined in [RFC3931] is generally

Spencer (editorial): I know this term is used in RFC 3931, but wish it was
something like "-Sublayer header" or "-Sublayer bits", just for readability.

  not present for MPLS over L2TPv3.

3. Assigning the L2TPv3 Session ID and Cookie

  Much like an MPLS label, the L2TPv3 Session ID and Cookie must be
  selected and exchanged between participating nodes before L2TPv3 can
  operate. These values may be configured manually, or distributed via
  a signaling protocol. This document concerns itself only with the
  encapsulation of MPLS over L2TPv3, thus the particular method of
  assigning the Session ID and Cookie is out of scope.

Spencer (editorial): this text seems slightly loose, since previous text
said that the Cookie was optional, but this text seems to say that it's
mandatory. Isn't it really "and Cookie (if present)"?

4. Applicability

  The methods defined [RFC4023], [MPLS-IPSEC] and this document all
  describe methods for carrying MPLS over an IP network. Cases where
  MPLS over L2TPv3 may be applicable compared to other alternatives are
  discussed in this section.

Spencer: I'm not sure what "applicable compared to" is saying. Is this just
"are comparable to", or am I missing something?

  It is generally simpler to have one's border routers refuse to accept
  an MPLS packet than to configure a router to refuse to accept certain
  MPLS packets carried in IP or GRE to or from certain IP sources or
  destinations. Thus, the use of IP or GRE to carry MPLS packets
  increases the opportunity for MPLS label spoofing attacks. L2TPv3

Spencer (editorial): is this "increases the likelihood that an MPLS label
spoofing attack will succeed"?

  provides an additional level of protection against packet spoofing
  before allowing a packet to enter a VPN (much like IPsec provides an
  additional level of protection at a PE rather than relying on ACL
  filters). Checking the value of the L2TPv3 Cookie is similar to any
  sort of ACL which inspects the contents of a packet header, except
  that we give ourselves the luxury of "seeding" the L2TPv3 header with
  a very difficult to spoof value.

Spencer (editorial): "a value that is very difficult to spoof"?

  MPLS over L2TPv3 may be favorable compared to [RFC4023], if:

Spencer: I'm not sure what "may be favorable compared to" is saying. Is this
"may have advantages compared to"?

     Two routers are "adjacent" over an L2TPv3 tunnel that exists for
     some reason outside the scope of this document, and those two
     routers need to send MPLS packets over that adjacency.

Spencer: I'm not sure what this sentence is saying, and can't parse it well
enough to rephrase - sorry!

     Packet spoofing and insertion, service integrity and resource
     protection are of concern, especially given the fact that an IP
     tunnel potentially exposes the router to rogue or inappropriate IP
     packets from unknown or untrusted sources.  IP ACLs and numbering
     methods may be used to protect the PEs from rogue IP sources, but

Spencer (editorial): ACLs and PEs should both be spelled out on first use.

     may be subject to error and cumbersome to maintain at all edge
     points at all times.  The L2TPv3 Cookie provides a simple means of
     validating the source of an L2TPv3 packet before allowing
     processing to continue. This validation offers an additional level
     of protection over and above IP ACLs, and a validation that the
     Session ID was not corrupted in transit or suffered an internal
     lookup error upon receipt and processing. If the Cookie value is
     assigned and distributed automatically, it is less subject to
     operator error, and if selected in a cryptographically random
     nature, less subject to blind guesses than source IP addresses (in
     the event that a hacker can insert packets within a VPN core
     network).

  In summary, L2TPv3 can provide a balance between the limited security
  against IP spoofing attacks offered by [RFC4023] vs. the greater
  security and associated operational and processing overhead offered
  by [MPLS-IPSEC].  Further, MPLS over L2TPv3 may be faster in some
  hardware, particularly if it is already optimized to classify

Spencer (editorial): slightly confusing here - "particularly if that
hardware is already optimized"

  incoming L2TPv3 packets carrying IP framed in a variety of ways. For
  example, IP encapsulated by HDLC or Frame Relay over L2TPv3 may be
  considered not that far removed from IP encapsulated by MPLS over
  L2TPv3.

Spencer: I'm confused here. Is this "may be equivalent in complexity to IP
encapsulated by MPLS over L2TPv3"?

5. Security Considerations

  There are three main concerns when transporting MPLS labeled traffic
  between PEs using IP tunnels. The first is the possibility that a
  third party may insert packets into a packet stream between two PEs.
  The second is that a third party might view the packet stream between
  two PEs. The third is that a third party may alter packets in a
  stream between two PEs.  The security requirements of the
  applications whose traffic is being sent through the tunnel
  characterizes how significant these issues are.  Operators may use
  multiple methods to mitigate the risk including access lists,
  authentication, encryption, and context validation. Operators needs

Spencer (editorial): /Operators needs to/Operators should/

  to consider the cost to mitigate the risk.

5.1 In the Absence of IPsec

  However, when the tunnel head and the tunnel tail are not in the same
  administrative domain, this may become difficult, and filtering based
  on the destination address can even become impossible if the packets
  must traverse the public Internet.

Spencer: I'm not sure I understand the point being made here. Why does
traversing the public internet make this impossible, if crossing
administrative domain boundaries makes it difficult?

  Sometimes only source address filtering (but not destination address
  filtering) is done at the boundaries of an administrative domain.  If
  this is the case, the filtering does not provide effective protection
  at all unless the decapsulator of MPLS over L2TPv3 validates the IP
  source address of the packet.

5.2 Context Validation

  The L2TPv3 Cookie does not provide protection via encryption.
  However, when used with a sufficiently random 64-bit value which is
  kept secret from a hacker, the L2TPv3 Cookie may be used as a simple

Spencer: is this "kept secret from an off-path attacker"?

  yet effective packet source authentication check which is quite
  resistant to brute force packet spoofing attacks. It also alleviates
  the need to rely solely on filter lists based on a list of valid
  source IP addresses, and thwarts attacks which could benefit by
  spoofing a permitted source IP address.  The L2TPv3 Cookie provides a
  means of validating the currently assigned Session ID on the packet
  flow, providing context protection, and may be deemed complimentary
  to securing the tunnel utilizing IPsec.  In the absence of
  cryptographic security on the data plane (such as that provided by
  IPsec), the L2TPv3 Cookie provides a simple method of validating the
  Session ID lookup performed on each L2TPv3 packet. If the Cookie is
  sufficiently random and remains unknown to an attacker (that is, the
  attacker has no way to predict Cookie values or monitor traffic
  between PEs) then the Cookie provides an additional measure of
  protection against malicious spoofed packets inserted at the PE over
  and above that of typical IP address and port ACLs.

5.3 Securing the Tunnel with IPsec

  Key distribution may be done either manually or automatically by
  means of IKE [RFC2409].  Manual keying MUST be supported.  If

Spencer: Is the limitation to IKEv1 intentional? This text seems to preclude
use of IKEv2 (RFC 4306).

  automatic keying is implemented, IKE in main mode with preshared keys
  MUST be supported.  A particular application may escalate this
  requirement and request implementation of automatic keying.  Manual
  key distribution is much simpler, but also less scalable, than
  automatic key distribution. If replay protection is regarded as
  necessary for a particular tunnel, automatic key distribution should
  be configured.


_______________________________________________
Gen-art mailing list
[email protected]
https://www1.ietf.org/mailman/listinfo/gen-art

Reply via email to