Valery Smyslov writes: > I don't think option 4 is a good idea. If old responder > encounters an unknown payload with Critical bit set in IKE_AUTH, it will > return back UNSUPPORTED_CRITICAL_PAYLOAD and IKE SA won't be set up. > See section 2.21.2 of RFC7296. This would require initiator to retry from > IKE_SA_INIT, doubling the work. Or it can create childless IKE SA > and then try CREATE_CHILD_SA - not an optimal solution too.
Agree fully on that. > I also don't like option 2 since it requires changing the way TSs > are handled in IKEv2. Also agree. > Option 1 looks like the clearest from pure theoretical point of view, > however I agree that it could lead to TS types explosion in future. Yes, I think option 1 would be most proper way of doing the negotiation. I am not sure if we are going to get that many new traffic selectors in the future, so I do not think the TS types explosion is going to be that big issue. Also in most setups I would expect security labels to be either always mandatory or always omitted (and that information quite often comes directly from configuration). I do not really see that common cases where initiator would try to use security labels and responder not supporting them. I.e., if you do always require security labels, there is no TS explosion as you only propose TS with security labels. If you do not support them, you use normal TS. You would propose both only if you do not care whether other end supports security labels, but are willing to use them if it supports, but what is the meaning of security labels then? Why even propose them if you do not care what they are? > Option 3 looks like a compromise from practical point of view. Agree on that too. Either option 1 or 3 would be acceptable for me, with slight preference on option 1 because it would be proper way of doing things. > You can solve the problem of imperfect error handling by adding > a new SECLABES_SUPPORTED notification, that must be exchanged > in IKE_SA_INIT. If both peers support seclabels, then > the responder must not ignore seclabel notifications in IKE_AUTH > and CREATE_CHILD_SA. The drawback is that we need > one more notification and it must be exchanged in IKE_SA_INIT, > increasing its message size. Not a big deal. I am not sure we need that. I mean if initiator do require security labels and sends security labels notification, but responder does not reply to them, what can it do next? There isn't going to be any communications between the peers in that case, so it should simply tear down the SA anyways. If it gets same information during IKE_SA_INIT (missing SECLABELS_SUPPORTED), it cannot trust that thing yet as other end is not authenticated, so it will need to run IKE_AUTH to the end anyways to make sure that there was no attack removing that SECLABELS_SUPPORTED notification. So it will detect that error at the end of IKE_AUTH always. In that case there is no point of adding notification to the IKE_SA_INIT. -- kivi...@iki.fi _______________________________________________ IPsec mailing list IPsec@ietf.org https://www.ietf.org/mailman/listinfo/ipsec