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

Re: Proposed text changes to ESPbis and AHbis for multicastsupport



Thomas,

I have read the message and your ID on multicast and IPsec. Here are my comments:

---------------------------------------------------------------------
ESPbis-change#1: SPI allocation and SA lookup

Section 2.1 (Security Parameters Index) specifies exactly how the
SPI should be dealt with:

      For multicast SAs, the SPI (and optionally the protocol ID) in
      combination with the destination address is used to select an SA.
      This is because multicast SAs are defined by a multicast
      controller, not by each IPsec receiver. (See the Security
      Architecture document for more details) [ESPbis].

We propose this section to be replaced with the following wording:

      For broadcast, multicast, and anycast SAs, the SPI and protocol
      ID (ESP) in combination with the destination address is used to
      select an SA. In some cases, other parameters (such as a source
      address) MAY be used by a receiver to further identify the
      correct SA. This is because multicast SAs may be defined by more
      than one multicast group controller.

The text above does not provide a useful, testable specification. It allows (MAY) a receiver to use a source address and other, undefined parameters for SA selection, but does not require it. The result is that a complaint IPsec implementation need not do any of this, which makes for a weak standard and does nothing for interoperability. We need concrete specs for developers and this does not provide such specs. It has the feature of allowing a future implementation to able to claim compliance with the spec when someone figures out exactly what to do for multicast/broadcast/anycast, but this does nothing for interoperabilty, which is a primary goal of RFCs.


At a minimum I think you need to be able to create text of the form "An IPsec implementation that supports multicast, broadcast, or anycast MUST ..." in order for this to be useful. I get the sense, from the ID you just published, that the MSEC WG has not yet decided exactly what requirements need to be imposed and exactly how to deal with these issues, and thus it seems premature to write the sort of text I suggest is really required.

Your ID erroneously states that the revised AH and ESP IDs change the semantics of SA demuxing and make the lookups "less specific." The changes we made in the new AH & ESP drafts re what parameters define an SA and thus are used to demux incoming IPsec packets, are clarifications designed to reflect what many developers already knew and practiced in their implementations. The original text over-specified SA demuxing, imposing parameters (destination address and protocol) that were irrelevant for unicast SA demuxin. As a result, smart developers realized that they could manage the SPI space in a way that never made use of these values and they did so. The changes you suggest for multicast SA demuxing here, i.e., use of the source address, were NOT supported in the current AH and ESP RFCs not in 2401 and so the clarifications made in the revised AH and ESP specs did not adversely affect what you suggest might need to done to better support multicast SAs.

Your ID cites two issues re what parameters are used to uniquely identify (demux) an SA, but seems to confuse the implications of these two issues, and the text above seems to reflect this confusion.

Your ID says that an SSM group is defined by a single sender and a set of receivers. it may use the same multicast address as another, distinct SSM group, presumably with a different sender but perhaps an overlapping set of receivers. Hence you infer that using the destination (multicast) address and an SPI is not sufficient to uniquely identify (for receivers) an SA for this type of multicast group, because the senders do not coordinate with one another. It would seem for this case that use of the sender address plus the multicast destination address provides a natural means of identifying the SA, but the ID does not discuss any other options that have been explored and rejected. For example, what sort of interactions do the sender and receivers engage in to create this sort of group, how is the key distributed, and might there be a way to use data from those interactions to create an SPI that would allow demuxing using the parameters currently defined?

Separately, the ID discusses the notion that multiple controllers might be involved inn managing a multicast group (presumably not an SSM group) and that these controllers might not be able to coordinate to select a unique SPI (relative to a single multicast address). But if these controllers coordinate to distribute the single key used for encrypting/decrypting traffic on a multicast SA, why are they unable to coordinate on assigning a single SPI for a multicast SA? Thus this latter argument for having to use some parameter other than the destination address and SPI for SA demuxing is not persuasive.

I think a better analysis is required here before we impose new/additional constraints on SA demuxing in IPsec.

---------------------------------------------------------------------
ESPbis-change#2:  SPI allocation and SA lookup

Section 3.4.2 (Security Association Lookup) of [ESPbis] currently states:

      Upon receipt of a packet containing an ESP Header, the receiver
      determines the appropriate (unidirectional) SA, based on the SPI
      alone (unicast) or SPI combined with destination IP address
      (multicast).  (This process is described in more detail in the
      Security Architecture document) [ESPbis].

We propose this text be replaced as follows.

      Upon receipt of a unicast packet containing an ESP Header, the
      receiver determines the appropriate (unidirectional) SA, based on
      the SPI alone. (This process is described in more detail in the
      Security Architecture document.)

      If the packet is a broadcast, multicast, or anycast packet, there
      may be more than one SA pointed to by the combination of SPI,
      security protocol and destination address. This can happen if
      multiple non-cooperating multicast controllers are present in the
      network. In this case the receiver MAY use other parameters (such
      as a source address) to identify the correct SA. Key management
      MAY indicate (e.g., with an SA attribute) that such processing is
      necessary in order for a receiver to properly process the ESP
      packets for a group if that is known a priori.

The second paragraph begins by redefining what an SA is, and that's not a great start considering how long we have had a stable definition for an SA.


Here too, the the lack of specific, testable requirements here makes for a poor spec. We want to ensure interoperability and MAYs don't cut it. This is essentially a placeholder that allows a later design to say it is compliant, but which does not contribute to interoperability. I don't think this is a good path for IPsec RFCs. If we cannot specify exactly what values are used by a receiver to identify traffic as belonging to a specific SA, then a developer cannot produce code or hardware that will perform the selection. Deferring this to the key management protocol is not a solution, it is just a level of indirection.

---------------------------------------------------------------------
ESPbis-change#3: Multiple sender SAs and replay protection


Section 2.2 (Sequence Number) states:


      Sharing an SA among multiple senders is deprecated, since there
      is no general means of synchronizing packet counters among the
      senders or meaningfully managing a receiver packet counter and
      window in the context of multiple senders [ESPbis].


We propose the following replacement for the above text in [ESPbis].


      For a multi-sender multicast SA, the anti-replay service MUST NOT
      be used unless key management signals its use. If the anti-replay
      service is used in this case, each receiver must keep a replay
      window per sender.

I agree in principle with the intent of this notion, but the sticking point is that we have not yet agreed on a way to accommodate this requirement. Your ID states that requiring an SA per sender is unacceptable, and alludes to some scenario that motivates this statement, but provide no details to support the assertion. The text above has the flavor of a placeholder, rather than a useful spec to guide developers in producing interoperable implementations. The text imposes a vague requirement without any supporting analysis of the problems imposed by the requirement.



---------------------------------------------------------------------
ESPbis-change#4: Integrity vs. Authentication

The name associated with the authentication portion of ESP is
"Authentication Data". However, [ESPbis] changed the name to
"Integrity Check Value".

Section 1 says:

      Data origin authentication and connectionless integrity are joint
      services, hereafter referred to jointly as "integrity." (This
      term is employed because, on a per-packet basis, the computation
      being performed provides connectionless integrity directly; data
      origin authentication is provided indirectly as a result of
      binding the key used to verify the integrity to the identity of
      the IPsec peer [ESPbis].

We propose the following wording changes to [ESPbis].

1. The text quoted above from Section 1 should be replaced with:

      Data origin authentication and connectionless integrity are joint
      services, hereafter referred to jointly as "authentication."

   2. All occurrences of "Integrity-only ESP" should be
      "Authentication-only ESP".

   3. The "Integrity Check Value" field in AH should be named
      "Authentication Data", and all references to that section should
      be updated.

We changed the term for good reasons. First, the ICV acronym expands to "Integrity Check Value" and it has been there since before the previous set of RFCs. Second, the function really does provide integrity. Authentication is a side effect that results from knowing the identity of the holder of the key used to generate the ICV, as noted above.


Overall, I found that the ID did not provide adequate motivation for most of the proposed changes, and I recommend that none of the proposed changes be made at this time. The text needs to be changed so that is sufficiently detailed to promote the development of interoperable implementations, something that it does not do as it stands. If such text is provided, then the IPsec WG needs to review any new requirements for multicast/broadcast/anycast support, to ensure that they do not impose unacceptable burdens, e.g., re support of anti-replay for multi-sender SAs. The IPsec WG chairs need to determine if they wish to delay the revisions to AH and ESP until both of these criteria are satisfied.

Steve