Hi Dan,

as you say below, PACE uses a notification for the initiator to indicate its support of the protocol. In fact, both sides get a chance to indicate their support.

SPSK uses the Critical (a.k.a. Mandatory) bit for the initiator to indicate this support, and relies on an error indication from the responder if the responder doesn't like the protocol.

While the SPSK mechanism sort of works in an SPSK-only world, it makes the life of implementations that want to support multiple methods much harder.

Suppose that Alice wants to talk to Bob. Alice supports PACE, SPSK and even EAP-pwd, but has no idea what Bob supports. After the IKE_SA_INIT exchange, Alice will know if Bob supports PACE, but will not know if he supports SPSK (EAP method negotiation is another can of worms, let's leave it for another day). So Alice embarks on the IKE_AUTH exchange with only partial knowledge.

If Alice now initiates SPSK (by sending COMi), but it turns out that Bob does not support it after all, Bob will reply with an UNSUPPORTED_CRITICAL_PAYLOAD. Alice will now have to restart the whole exchange with the knowledge of Bob's abilities. This is certainly more complex than doing it all within the same exchange. Moreover, since authentication never completed, Bob's response is subject to an undetected downgrade attack.

Alice would be eternally grateful if an SPSK_SUPPORTED notification were added into the IKE_SA_INIT exchange :-)

I'm not sure if there's any valid use for the Critical bit (i.e. for non-critical payloads in IKEv2), but negotiating an authentication method doesn't appear to be such use.

Thanks,
        Yaron


   It might be possible to get the authors of the competing drafts to
rely on a common method of identifying the intent of the initiator
(currently PACE uses a Notify and SPSK uses the mandatory bit) and
ensure that their protocols all look the same-- send a blob, get a blob,
send another blob, get another blob-- and to mix results from PAKE
exchange into results of the D-H exchange in a uniform manner and we might
get the equivalent of what he's proposing without Yet Another Pluggable
Architecture (which I guess we both agree would be not-so-good).

   Now the drafts are in LC. Maybe a few comments could get the authors
to align their drafts so they look architecturally identical while
implementing different exchanges.

   regards,

   Dan.


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

Reply via email to