In general, the draft is in good shape. But IMO, we have one major security issue left: the dependence on SPI values which potentially come from a small space, i.e. may be repeated in normal operation, or may be coerced into repeating.

Detailed comments:

- 3. I would have preferred the token to be resistant to stealing (and duplication), in which case it can be sent in the *first* AUTH message. If we ensure that the token maker's SPI is long/random (see below), this might be possible.


- 5. Two method -> methods.

- 5.1: this method is indeed problemmatic if SPIi/SPIr pairs are repeated with high probability. If SPI pairs only repeat across reboots (somewhat unlikely), then an "epoch" (time of last reboot) value can be included to mitigate this problem. This is still close enough to stateless.

A possible solution, providing freshness and mitigating some of these issues, is to use the entire message sent by the client (typically, a protected IKE liveness test) as a nonce. So the token maker sends: HASH(HASH(SPIi | SPIr | SECRET) | client-message). This doesn't add state, because the client needs to keep the message around for retransmissions. But it doesn't work with the technique described in Sec. 9.2.

Alternatively it would simplify things immensely if we mandate that SPIs be random for implementations that support QCD (possibly only on the gateway side). Can we do it without having to "update RFC 4306"?

- 6. Consideration -> considerations.

- 9.1: this is not really a MUST, let's use some non-RFC 2119 wording.

- 9.3: this entire discussion is probably redundant, because when a node fails in the LS cluster, you switch to another node. Implementing QCD on top of this is probably an overkill. If we remove this section, we can get rid of sec. 5.2 as well, and we can focus on a single recommended way to generate the token, which would make analysis that much easier.

- The security considerations are focused on details of the QCD solution, rather then on the threats we are dealing with. These threats are non-trivial to describe, since an active MITM attacker can easily cause an IKE SA to be reset. OTOH, we don't want an active non-MITM attacker to be able to do so. We need to analyze the threats in order to select a secure, but not overlay complex solution.

- 10.2 load sharing sharing.

- 10.2 seems to propose a different (and better?) solution for the issue raised in 9.3. These sections need to be consistent, and also with Sec. 5.2.

- 10.3: of course, it is possible that *both* implementations generate predictable/short SPI values.

- Please drop Dave from the Acknowledgements.


Thanks,

    Yaron

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

Reply via email to