[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Last call: draft-ietf-l3vpn-ipsec-2547-02



At 11:44 AM 9/22/2004, Ronald Bonica wrote:
Folks,

This email begins a WG Last Call on draft-ietf-l3vpn-ipsec-2547-02. The
authors have recommended that this draft be published as an Experimental
RFC. Last call will end on October 5, 2004.

It's great to see this document move forward!
I have several comments, below. (They are relative to the -03 draft, which appeared shortly after the last call was issued.)
---------------



In sect. 2.2, 2nd paragraph, it says "In an RFC2547 VPN environment, it makes most sense to place control of the policies with the egress PE router." I don't necessarily disagree with this but I believe the document should offer some arguments in support of this statement, since it is the basis for much of what follows. Just because this is convenient to implement doesn't necessarily mean it is the most desirable.


In 2.2, 3rd paragraph, I don't understand what the last sentence means:
   (However, in this sort of application
   the ingress PE and the egress PE are NOT really independent entities
   which might conceivably have different security policies.)
Perhaps it can be reworded.

The document calls (sect. 2.3) for using an Extended Community to signal the requirement to use IPsec for certain VPN routes. But it is vague on exactly what the semantics should be and there is no allocation of a community type. As such this does not do much to encourage interoperable implementations. I don't know, maybe this is par for the course for Experimental RFC status? Or should it be specified further now?

Besides using the (rather blunt, IMO) technique of not accepting labeled packets from outside the SP's network, it is difficult (impossible?) to create a mixed environment where some traffic is protected by IPsec and some is not. This is because there is no way of knowing which PE the unprotected traffic came from, and hence no way of making sure traffic that was supposed to be protected isn't slipped in with the unprotected. If the draft could address this problem in some way (perhaps a lowered expectation of supporting such a mixed environment) it would be more credible.

In sect 2.6 para 3, discussing whether IPsec SAs should be per-PE-pair or per-VPN it says "Since the SA is PE-to-PE, NOT CE-to-CE, having a different SA for each VPN does not provide any additional security." While I agree that per-PE-pair seems to be the right granularity for other reasons, I disagree with the statement about not providing additional security. Sharing an SA across multiple VPNs allows an adversary who can send traffic within one VPN and also sniff the PE-PE link to mount a known-plaintext attack against the encryption.

In sect 2.6 para 6 it says that the PE router should deliver the MPLS-in-IP (or GRE) packet to the IPsec module, along with the corresponding IPsec Extended Community value. What is reason for passing the extended community? What information does it convey that the IPsec module would need?

Re sect 2.6: Assuming a given PE device implements IPsec for other applications, how is the IKE Responder to determine the purpose of a given SA (so that it knows how to process packets received from the SA, and so it knows that it can send VPN packets on the SA)? If the negotiated traffic selectors are for protocol MPLS-in-IP, it could *perhaps* deduce this. But that's an even bigger stretch if the SA is negotiated for protocol GRE. There are other possible solutions, perhaps deducing the SA is for BGP/MPLS VPN use if the signalling is directed to the IP address that is advertised as the BGP next hop address. Another possibility might be to define an IKE payload to convey this. In any event, calling out one specific mechanism would encourage interoperable implementations.

In sect. 2.7, item b.iii, it describes case iii relative to item b.ii ("... but case ii does not apply"). I suspect that not every reader ;-) would reach the same conclusion as to what case this actually covers. Can the case be spelled out more specifically? I think replacing "but case ii does not apply" with "indicating that IPsec is to be used in all cases" would do the trick.

The last 2 paragraphs of sect. 2.7 are very implementation-oriented. I don't see that they really add much to the document; I'd consider removing them.


Nits:

Many of the references to RFC2547 VPNs have been replaced by references to BGP/MPLS IP VPNs. It would be nice to fix the rest.

In the 6th paragraph of sect. 1, where it is discussing ingress and egress PEs directly adjacent and says "... even in the case where a backbone route label would not be used" it seems to assume that PHP must always be used. "... even in the case where a backbone route label *might* not be used" would be more appropriate.

In sect 1.4 para 2,
  s/is the one way/is one way/
  s/to connecting a/to connect a/


Thanks, Mark