On Thu, 12 Dec 2019, Valery Smyslov wrote:

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.

I don't think that matters. Security labels are never optional but
always mandatory. And it seems very unlikely to have a mix of child sa's
with and without label. So they will all have a label, and then failing
the  IKE SA is fine, since no single child sa will be able to be setup
anyway. It's better than the responder setting up an SA that needs to be
torn down by the initiator sending a delete.

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.

Option 3 looks like a compromise from practical point of view.
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

But you really mean SECLABEL_REQUIRED? The "supported"
keyword here is misleading. The problem of doing this in IKE_SA_INIT
is that it could result in a spoofed answers omiting the payload?

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.

So I'm not sure I trust this design.

Paul

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

Reply via email to