Yoav Nir writes:

> Issue #139 - Keying material taken in the order for RoHC
> ========================================================
> One of the differences between RFC 4306 and the IKEv2bis draft is in
Section 2.17, Generating Key Material for Child SAs. Appendix E.2 of the
IKEv2bis draft indicates the following:
> In Section 2.17, removed "If multiple IPsec protocols are negotiated,
keying material is taken in the order in which the protocol headers will
appear in the encapsulated packet" because multiple IPsec protocols cannot
be negotiated at one time.
> Is it possible to leave the quoted text in the spec? I agree that multiple
IPsec protocols cannot be negotiated at one time; however, the text is
useful for ROHCoIPsec implementers, where multiple keys may need to be
generated for a ROHC-enabled Child SA.
> For example, if a ROHC-enabled Child-SA with ROHC_INTEG
[draft-ietf-rohc-ikev2-extensions-hcoipsec-09] is instantiated, first the
IPsec encryption/authentication keying material will be taken, then an
additional key will be taken for the algorithm used to verify the proper
decompression of packet headers.
>
> I said I preferred to leave the text as it is, and let RoHC specify their
modifications (which they did). Valery, Tero, and David chimed in, correctly
pointing out that if multiple extensions are negotiated (RoHC + GCM + some
future extension) it is up to the base document to specify the order between
them. I'm convinced. Paul also suggested some text (below) for a bulleted
list of two points. Tero suggested a third (encryption before
authentication), but Valery pointed out that this is already in 4301.
>
>    If the Child SA negotiation includes some future IPsec protocol(s)
>    in addition to (or instead of) ESP or AH (e.g., ROHC_INTEG), then
>    (1) all keys for SAs carrying data from the initiator to the
>    responder are taken before SAs going in the reverse direction, and
>    (2) keying material for the IPsec protocols are taken in the order
>    in which the protocol headers will appear in the encapsulated
>    packet.
>
> If anyone else has comments about this issue, please raise them NOW,
because we are going to close this in a few days.

Sorry for being tedious, but I don't understand whether proposed text is in
addition
to current one, or replaces it. Current text from draft-07 overlaps with
RFC4301,
which already prescribes the order for deriving encryption and
authentication keys
for single SA. I see no point to repeat this rule (at least in RFC2119
terms).

I would suugest replacing current text from draft-07:
========================================================
   For ESP and AH, a single Child SA negotiation results in two security
   associations (one in each direction).  Keying material MUST be taken
   from the expanded KEYMAT in the following order:

   o  The encryption key (if any) for the SA carrying data from the
      initiator to the responder.

   o  The authentication key (if any) for the SA carrying data from the
      initiator to the responder.

   o  The encryption key (if any) for the SA carrying data from the
      responder to the initiator.

   o  The authentication key (if any) for the SA carrying data from the
      responder to the initiator.
========================================================

with the following:
========================================================
   A single CHILD_SA negotiation may result in multiple security
   associations.  ESP and AH SAs exist in pairs (one in each direction),
   so two SAs are created in a single Child SA negotiation for them.
   Furthermore, Child SA negotiation may include some future IPsec
protocol(s)
   in addition to (or instead of) ESP or AH (e.g., ROHC_INTEG).
   In any case, keying material for each child SA MUST be taken from the
   expanded KEYMAT in the following order:

   o  All keys for SAs carrying data from the initiator to the responder
      are taken before SAs going in the reverse direction.

   o  If multiple IPsec protocols are negotiated, keying material is
      taken in the order in which the protocol headers will appear in
      the encapsulated packet.

   If IPsec protocol requires multiple keys, the order in which they are
derived
   from SA's keyng material MUST be described in protocol specification. For
ESP
   and AH [IPSECARCH] defines the order, namely: the encryption key (if any)
   MUST be taken from the first bits and the integrity key (if any) MUST be
taken
   from the remaining bits.
========================================================

Regards,
Valery Smyslov.


_______________________________________________
IPsec mailing list
IPsec@ietf.org
https://www.ietf.org/mailman/listinfo/ipsec

Reply via email to