Ok, finally found time to review this document. Here is my comments to
it.

The main body of the document seems to be fine (except references),
but from section 6 forward it seems to include information that is not
needed in this draft.

The section "6. Implementation Alternatives for ML-DSA" talks about
different approaches to impleenting and refers to "Externalμ-ML-DSA
API defined in [FIPS204]." which I do not find from FIPS204.

Then in the end it says

   Both approaches are considered "pure" mode and produce the same ML-
   DSA signature and are fully interoperable.  The choice between them
   depends on implementation preferences, such as whether the External μ
   pre-hashing step is handled internally by the cryptographic module or
   performed explicitly by the IKEv2 implementation.

if it does not matter which alternative is used, then why even mention
it here. I would propose just removing whole section 6.

--

In section "7. Use of ML-DSA and SLH-DSA" the first paragraph again
goes to explaining different alternatives:

   Both ML-DSA and SLH-DSA offer deterministic and hedged signing modes.
   By default, ML-DSA uses a hedged approach, where the random value rnd
   is a 256-bit string generated by an Random Bit Generator (RBG).  The
   signature generation function utilizes this randomness along with the
   private key and the preprocessed message.  In the deterministic
   variant, rnd is instead set to a constant 256-bit zero string.
   Similarly, SLH-DSA can operate in either deterministic or hedged
   mode.  The mode is determined by the value of opt_rand, when opt_rand
   is set to a fixed value (e.g., the public seed from the public key),
   SLH-DSA generates deterministic signatures, ensuring that signing the
   same message twice produces the same signature.  In hedged mode,
   opt_rand is a fresh random value, introducing additional entropy to
   enhance security and mitigate potential side-channel risks.

and then says either one of them can be used.

What is the purpose of the first paragraph? I would just remove that
first paragraph.

--

In section "8. Security Considerations" there is text:

   ML-DSA-44, ML-DSA-65, and ML-DSA-87 are designed to offer security
   comparable with the SHA-256/SHA3-256, AES-192, and AES-256
   respectively.  Similarly, SLH-DSA-128{S,F}-{SHA2,SHAKE}, SLH-DSA-

Why is the ML-DSA-44 comparible with SHA-256/SHA3-256, but not with
any cipher like AES-128?

Was it supposed to say that ML-DSA-44 offers security comparable with
the AES-128?

--

Normative references:

I think the "IKE and IKEv2 Authentication Using the Elliptic Curve
Digital Signature Algorithm (ECDSA)", RFC 4754 is not normative
reference, it is just referenced as one of the other types of digital
signature methods for IKEv2.

Move it to informational reference.

--

Normative references:

Same for "Internet Key Exchange Protocol Version 2 (IKEv2) Message
Fragmentation", RFC 7383 and "Announcing Supported Authentication
Methods in the Internet Key Exchange Protocol Version 2 (IKEv2)", RFC
9593 which both are used when pointed out that these optional
extensions to IKEv2 might be useful when implementing this.

Either one of them is not really normative, move those to
informational references.

--

Normative references:

"Using the Edwards-Curve Digital Signature Algorithm (EdDSA) in the
Internet Key Exchange Protocol Version 2 (IKEv2)", RFC 8420 would have
been informational referece otherwise, but as we do refer the
"Identity" hash function from there, I think it needs to say
normative.

--

Informative references:

On the other hand I would say that "NIST, Secure Hash Standard (SHS),
FIPS PUB 180-4, "NIST, SHA-3 Standard: Permutation-Based Hash and
Extendable-Output Functions, FIPS PUB 202, "FIPS 204:
Module-Lattice-Based Digital Signature Standard", FIPS PUB 204, and
"FIPS 205: Stateless Hash-Based Digital Signature Standard", FIPS PUB
205 are all normative, you do need to use those to be able to
implement this draft.

Move them to normative references.

--

Why should we keep Appendix A at all at this point?

It was most likely useful while working on this document but leaving
this kind background information is actually bad idea. I have seen a
vendor who decided to implement things from the "options not selected"
appendix just "because that option was mentioned in the RFC". They did
not care that it was one the options that was NOT selected...

I would either propose removing this now, or adding a note that this
appendix will be removed before publishing this as RFC.

And if removeing Appendix A, then remove this paragraph from 3.2.1:

   For additional background on design alternatives that were considered
   and the rationale for adopting the [RFC8420] approach as the cleanest
   and most secure method, see Appendix A.

(if not, then add proper document name for RFC8420)

--

In the Appendix B the binary ASN.1 objects contains SEQUENCE which has
the OID number inside. This is because of the way algorithm
identifiers are done, i.e., there could also be parameters etc there,
but as parameters are always omitted, there is just the outer
SEQUENCE. Perhaps adding text in the beginning of Appendix B to
explain this would be good thing. It took me some time to remember why
the SEQUENCE is there...

--

And then there is my normal thing to complain when you have [RFCxxx],
you should always have some kind of useful name for the RFC number, do
not just assume everybody remembers all 10000 RFCs.

List of those changes below:

----------------------------------------------------------------------

Section 1:

                The traditional cryptographic
   primitives that need to be replaced by PQC algorithms are discussed
   in [I-D.ietf-pquip-pqc-engineers].

change to

                The traditional cryptographic
   primitives that need to be replaced by PQC algorithms are discussed
   in PQC for Engineers [I-D.ietf-pquip-pqc-engineers].

--

In section 2:

   This document uses terms defined in
   [I-D.ietf-pquip-pqt-hybrid-terminology].

change to

   This document uses terms defined in Terminology for PQ/T Hybrid
   Schemes [I-D.ietf-pquip-pqt-hybrid-terminology].

--

Section 3.1:

   *  IKEv2 can use arbitrary signature algorithms as described in
      [RFC7427], where the "Digital Signature" authentication method
      supersedes previously defined signature authentication methods.
      Any PQC digital signature algorithm can be incorporated using the
      "Signature Algorithm" field in authentication payloads, as defined
      in [RFC7427].

change to

   * IKEv2 can use arbitrary signature algorithms as described in
      Signature Authentication in IKEv2 [RFC7427], where the "Digital
      Signature" authentication method supersedes previously defined
      signature authentication methods. Any PQC digital signature
      algorithm can be incorporated using the "Signature Algorithm"
      field in authentication payloads, as defined in [RFC7427].

--

Section 3.2:

        The terms deterministic and hedged used in this document are
   in accordance with [FIPS204] and [FIPS205], which define the ML-DSA
   and SLH-DSA algorithms.

change to

        The terms deterministic and hedged used in this document are
   in accordance with ML-DSA [FIPS204] and SLH-DSA [FIPS205] algorithms.

--
Section 3.2:

   The data used for authentication in IKEv2, as described in
   Section 2.15 of [RFC7296], consists of elements such as nonces, SPIs,

change to

   The data used for authentication in IKEv2, as described in
   Section 2.15 of IKEv2 [RFC7296], consists of elements such as
   nonces, SPIs, 

--

Section 3.2.1:

   As specified in [RFC7427], both the initiator and responder MUST send
   the SIGNATURE_HASH_ALGORITHMS notify payload in the IKE_SA_INIT

change to

   As specified in Signature Authentication in IKEv2 [RFC7427], both
   the initiator and responder MUST send the SIGNATURE_HASH_ALGORITHMS
   notify payload in the IKE_SA_INIT

and

   'Identity' hash function is applicable.  The 'Identity' hash function
   (value 5) is defined in Section 2 of [RFC8420] and indicates that the

change to

   'Identity' hash function is applicable. The 'Identity' hash
   function (value 5) is defined in Section 2 of Using EdDSA in IKEv2
   [RFC8420] and indicates that the

and

   IKEv2 peers supporting the PQC authentication mechanism defined in
   this specification SHOULD implement IKEv2 message fragmentation as
   specified in [RFC7383], unless IKEv2 runs over a reliable transport
   (e.g., [RFC9329]) or the underlying network is known to support
   sufficiently large MTUs without fragmentation issues, since PQC
   public keys and signatures can be significantly larger than those
   used in traditional algorithms.  For example, ML-DSA-44 requires a
   public key of 1,312 bytes and a signature of 2,420 bytes, while even
   the smallest SLH-DSA signature is around 7,856 bytes.  As guidance,
   IKEv2 peers should assume a minimum PMTU of 1280 bytes for IPv6 (per
   [RFC8200]) and, where legacy IPv4 networks are a consideration, an
   effective MTU of 576 bytes for IPv4 (per [RFC1122]).

change to

   IKEv2 peers supporting the PQC authentication mechanism defined in
   this specification SHOULD implement IKEv2 message fragmentation
   [RFC7383], unless IKEv2 runs over a reliable transport (e.g., TCP
   Encapsulation of IKEv2 and IPsec [RFC9329]) or the underlying
   network is known to support sufficiently large MTUs without
   fragmentation issues, since PQC public keys and signatures can be
   significantly larger than those used in traditional algorithms. For
   example, ML-DSA-44 requires a public key of 1,312 bytes and a
   signature of 2,420 bytes, while even the smallest SLH-DSA signature
   is around 7,856 bytes. As guidance, IKEv2 peers should assume a
   minimum PMTU of 1280 bytes for IPv6 (per IPv6 [RFC8200]) and, where
   legacy IPv4 networks are a consideration, an effective MTU of 576
   bytes for IPv4 (per Requirements for Internet Hosts [RFC1122]).

--

Section 3.3:

      Certificate Request payload (defined in Section 3.7 of [RFC7296])

change to

      Certificate Request payload (defined in Section 3.7 of IKEv2
      [RFC7296])

and

   *  Authentication Method Announcement: Another method is to utilize
      [RFC9593],

change to

   *  Authentication Method Announcement: Using Announcing Supported
      Authentication Method in IKEv2 [RFC9593],

(why is there newline after the rfc number?)

--

Section 4:

   ML-DSA is instantiated with three parameter sets for the security
   categories 2, 3, and 5 (see Table 2 in Section 10 of
   [I-D.ietf-pquip-pqc-engineers]).  Security properties of ML-DSA are
   discussed in Section 9 of [I-D.ietf-lamps-dilithium-certificates].

change to

   ML-DSA is instantiated with three parameter sets for the security
   categories 2, 3, and 5 (see Table 2 in Section 10 of PQC for
   Engineers [I-D.ietf-pquip-pqc-engineers]). Security properties of
   ML-DSA are discussed in Section 9 of PKIX Algorithm Identifiers for
   the ML-DSA [I-D.ietf-lamps-dilithium-certificates].

--

Section 5:

   (see Table 2 in Section 10 of [I-D.ietf-pquip-pqc-engineers]).

change to

   (see Table 2 in Section 10 of PQC for Engineers
   [I-D.ietf-pquip-pqc-engineers]).

--

Section 6:

   (see Appendix D of [I-D.ietf-lamps-dilithium-certificates])

change to

   (see Appendix D of PKIX Algorithm Identifiers for the ML-DSA
   [I-D.ietf-lamps-dilithium-certificates])

--

Section 7:

   The three security levels of ML-DSA are identified via
   AlgorithmIdentifier ASN.1 objects, as specified in NIST [CSOR] and
   referenced in [I-D.ietf-lamps-dilithium-certificates].  [FIPS204]
   defines both a pure and a pre-hash variant of ML-DSA, but
   [I-D.ietf-lamps-dilithium-certificates] specifies only the pure
   variant.

   The different combinations of SLH-DSA are identified via
   AlgorithmIdentifier ASN.1 objects, as specified in NIST [CSOR] and
   referenced in [I-D.ietf-lamps-x509-slhdsa].  [FIPS205] defines two
   signature modes: pure mode and pre-hash mode.
   [I-D.ietf-lamps-x509-slhdsa] specifies the use of both Pure SLH-DSA
   and HashSLH-DSA in Public Key Infrastructure X.509 (PKIX)
   certificates and Certificate Revocation Lists (CRLs).

change to

   The three security levels of ML-DSA are identified via
   AlgorithmIdentifier ASN.1 objects, as specified in NIST Computer
   Security Objects Register [CSOR] and referenced in PKIX Algorithm
   Identifiers for the ML-DSA [I-D.ietf-lamps-dilithium-certificates].
   ML-DSA [FIPS204] defines both a pure and a pre-hash variant of
   ML-DSA, but PKIX Algorithm Identifiers for the ML-DSA
   [I-D.ietf-lamps-dilithium-certificates] specifies only the pure
   variant.

   The different combinations of SLH-DSA are identified via
   AlgorithmIdentifier ASN.1 objects, as specified in NIST Computer
   Security Objects Register [CSOR] and referenced in PKIX Algorithm
   Identifiers for the SLH-DSA [I-D.ietf-lamps-x509-slhdsa]. SLH-DSA
   [FIPS205] defines two signature modes: pure mode and pre-hash mode.
   PKIX Algorithm Identifiers for the SLH-DSA
   [I-D.ietf-lamps-x509-slhdsa] specifies the use of both Pure SLH-DSA
   and HashSLH-DSA in Public Key Infrastructure X.509 (PKIX)
   certificates and Certificate Revocation Lists (CRLs).

--

Section 8:

   PQC signature algorithms are generally modeled to achieve strong
   unforgeability under adaptive chosen-message attacks (SUF-CMA; see
   Section 10.1.1 of [I-D.ietf-pquip-pqc-engineers]).  For example, ML-
   DSA provides SUF-CMA security.  However, some algorithms, such as
   SLH-DSA, achieve existential unforgeability under chosen-message
   attacks (EUF-CMA; see Section 10.1.1 of
   [I-D.ietf-pquip-pqc-engineers]).  This distinction does not impact
   IKEv2,

change to

   PQC signature algorithms are generally modeled to achieve strong
   unforgeability under adaptive chosen-message attacks (SUF-CMA; see
   Section 10.1.1 of PQC for Engineers
   [I-D.ietf-pquip-pqc-engineers]). For example, ML- DSA provides
   SUF-CMA security. However, some algorithms, such as SLH-DSA,
   achieve existential unforgeability under chosen-message attacks
   (EUF-CMA; see Section 10.1.1 of PQC for Engineers
   [I-D.ietf-pquip-pqc-engineers]). This distinction does not impact
   IKEv2,


--

Section 8:

   For example, some schemes align with the NIST post-quantum security
   categories (Categories 1 through 5) as discussed in [FIPS204] and
   [FIPS205].

change to

   For example, some schemes align with the NIST post-quantum security
   categories (Categories 1 through 5) as discussed in ML-DSA
   [FIPS204] and SLH-DSA [FIPS205].

--

Section 8:

   The Security Considerations section of
   [I-D.ietf-lamps-dilithium-certificates] and
   [I-D.ietf-lamps-x509-slhdsa] apply to this specification as well.

change to

   The Security Considerations section of PKIX Algorithm Identifiers
   for the ML-DSA [I-D.ietf-lamps-dilithium-certificates] and PKIX
   Algorithm Identifiers for the SLH-DSA [I-D.ietf-lamps-x509-slhdsa]
   apply to this specification as well.

-- 
[email protected]

_______________________________________________
IPsec mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to