Hi all,

I'm reviewing draft-ietf-ipsecme-ikev2-mlkem-00 [1] and had a few questions
about its hybrid security. Forgive me if this concern has already been
raised and addressed, as I'm new to this mailing list. I briefly searched
the archive and didn't find a related thread.

Suppose we do ECDH for the initial key exchange and ML-KEM for the first
intermediate key exchange. I understand the key exchange to work roughly as
follows.

The key exchange involves the following values:
- Ni // Initiator's nonce
- Nr // Responder's nonce
- SPIi // Initiator's SPI
- SPIr // Responder's SPI
- KEi(0) // Initiator's ECDH key share
- KEr(0) // Responder's ECH key share
- KEi(1) // ML-KEM public key
- KEr(1) // ML-KEM ciphertext

The key schedule is as follows:
1. KEi(0) and KEr(0) are combined to form shared secret SK(0)
2. SKEYSEED(0) is derived from prf(Ni | Nr, SK(0))
3. SK_d(0) is derived from prf+ (SKEYSEED(0), Ni | Nr | SPIi | SPIr )
4. KEi(1) and KEr(1) are combined to form shared secret SK(1)
5. SKEYSEED(1) is derived from prf(SK_d(0), SK(1) | Ni | Nr)

Finally, SKEYSEED(1) is used to derive session keys or to carry out another
intermediate key exchange. Do I understand this right?

This is similar to what TLS 1.3 does [2]: session keys are derived by
mixing the shared secrets SK(0), SK(1) and binding them to some protocol
context Ni, Nr, SPIi, SPIr. However, there is an important difference: in
TLS 1.3, the protocol context includes the ECDH key shares and the ML-KEM
public key and ciphertext; in IKEv2, the protocol context does not include
these values.

This difference is interesting when we think of the key schedule as a "KEM
combiner" [3]. In TLS 1.3, the combiner binds the key to the ECDH key
shares and ML-KEM public key and ciphertext; in IKEv2, the combiner does
not. This means the combiner is not robust [4], meaning a weakness in ECDH
or ML-KEM could imply a weakness in the hybrid KEM.

Of course, whether this is a problem for IKEv2 depends on what properties
of the combiner are needed for the security of the protocol. The draft
cites a proof of IND-CPA security for the combiner, thus we'd need to be
able to prove IKEv2 secure based on the assumption that one of ECDH or
ML-KEM is IND-CPA. Do I understand that right?

Assuming I've got this all correct, I'd be curious to know if this working
group considered whether or not to bind the key to the key exchange
messages. On the one hand, it seems like doing so would require changing
the IKEv2 key schedule, which is probably undesirable. On the other hand,
it might be useful for proving stronger-than-usual security properties of
IKEv2, even if it's not strictly necessary for authenticated key exchange.

On an unrelated note, I'm curious about the language around input
validation in
https://www.ietf.org/archive/id/draft-ietf-ipsecme-ikev2-mlkem-00.html#section-2.3.
Namely, why use SHOULD instead of MUST for validating inputs?

Thanks,
Chris P.


[1] https://datatracker.ietf.org/doc/draft-ietf-ipsecme-ikev2-mlkem/
[2] https://datatracker.ietf.org/doc/draft-ietf-tls-ecdhe-mlkem/
[3] https://datatracker.ietf.org/doc/draft-irtf-cfrg-hybrid-kems/
[4] https://datatracker.ietf.org/doc/html/draft-ietf-tls-hybrid-design/
_______________________________________________
IPsec mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to