Thank you for writing and sharing the updated version of the draft. I think it 
is in great shape. Some comments below (organized by section):

About This Document
The Datatracker link is broken: it's missing "-auth" at end of the draft name.


Section 1
"The Internet Key Exchange, or IKEv2 [RFC7296], is a key agreement and security 
negotiation protocol; it is used for key establishment in IPsec. In the initial 
set of exchanges, both parties independently select and use their preferred 
authentication method, which may even differ between the initiator and the 
responder.  In IKEv2, it occurs in the exchange called IKE_AUTH."
->
"The Internet Key Exchange, or IKEv2 [RFC7296], is a key agreement and security 
negotiation protocol; it is used for key establishment in IPsec. In the 
IKE_AUTH exchange, the initiator and responder independently select and use 
their preferred authentication method, which may differ between peers."
Edited for clarity and conciseness

"One option for the authentication method" -> "The most common authentication 
method"

"traditional digital signatures"
Consider adding a reference here to draft-ietf-pquip-pqt-hybrid-terminology. I 
see that it is referenced in Section 2, but it would be good to cite it the 
first time the term "traditional" is used as well.

"presence" -> "existence"

First paragraph hyphenates "public-key" and second does not; should be 
consistent throughout.


Section 2
Section 1 mostly uses the term "public key" while Section 2 favors 
"asymmetric." I don't think it matters which you use as long as the document is 
consistent with draft-ietf-pquip-pqt-hybrid-terminology and it is stated 
somewhere that the two terms are synonymous (for those reading who are not as 
familiar with cryptography).


Section 3
"IKEv2 authentication relies on digital signatures" -> "IKEv2 authentication 
commonly relies on digital signatures"
Shared key message integrity code, generic secure password authentication 
method, and NULL authentication are also options for authentication method, 
though they may not be commonly deployed


Section 3.2
Consider stating that the terms 'deterministic' and 'hedged' in the first 
sentence are being used in accordance with FIPS 204 and 205 (and not being 
defined in this document). If other digital signature algorithms are 
standardized in the future, it may not be the case that they can be generated 
in one of these two modes- if these future algs are supported in IKEv2 using 
this generic mechanism, it will be useful to have clarification here that these 
terms are associated specifically with ML-DSA and SLH-DSA.

"The hedged mode mitigates this risk by incorporating both fresh randomness 
generated at signing time and precomputed randomness included in the signer's 
private key." -> "The hedged mode mitigates this risk by including precomputed 
randomness in the signer's private key and incorporating fresh randomness 
generated at signing time."

"Therefore, PQC signature algorithms"
I don't follow why this sentence can be deduced from the previous one (hence 
"therefore"). Consider either making this clearer, or removing "therefore" (no 
preference for which)

"If the PQC signature algorithm uses a 'context' input parameter, it will be 
set to an empty string." Is this "will" meant to be normative? (MUST?)

Consider writing "pure" in quotes the first time it is used, since it is not 
explicitly defined in FIPS 204 and only used once in the document (in quotes 
there as well). (did not consult FIPS 205 here, just 204- ignore if FIPS 205 
uses the term differently or defines it more formally)

"In contrast," must be an artifact from a previous version of the draft. Should 
this sentence be preceded with an explanation of pure mode?

"and initial exchange messages" -> "messages preceding IKE_AUTH" Not 
imperative, but might add a little clarity and make it clearer that this would 
also include IKE_INTERMEDIATE and not just IKE_SA_INIT.

"which are typically within device memory constraints"
I think this clause is included to justify the exclusion of pre-hash mode from 
the draft, but it isn't explicitly stated. Removing the clause from this 
sentence and rephrasing the sentence that follows could fix this:
"As discussed in Section 7, while pre-hash mode was considered for integration 
into IKEv2, various practical challenges led to the adoption of pure mode." -> 
"While pre-hash modes can help mitigate complications that may arise due to 
device memory constraints, the aforementioned authentication data typically 
falls within these constraints; this, coupled with various practical challenges 
(as discussed in Section 7), led to the sole specification of "pure" modes."


Section 3.2.1
"The implementation MUST send a SIGNATURE_HASH_ALGORITHMS notify with an 
'Identity' (5) hash function."
This sentence could use more detail: specifically, that both peers send this 
notify payload, that the notify payload is specified in RFC7427, that the peers 
send the payload in IKE_SA_INIT. Consider reiterating from RFC7427 what the 
content of the notify payload looks like before saying that it has to use the 
'Identity' (5) hash function, as it might be confusing what the purpose of 
'Identity' is without that context. Also consider including a reference to 
section 2 of RFC8420 (where identity is defined). It should be clear from this 
document (without needing to visit RFC8420) what the "(5)" represents.

"PQC signature algorithms that inherently operate on the raw message without 
preprocessing are only defined with the 'Identity' hash and MUST NOT be used 
with a receiver that has not indicated support for the 'Identity' hash."
This sentence confused me- I think the MUST NOT is redundant to the previous 
sentence's requirement for 'Identity' - is there another point this sentence 
attempts to illustrate beyond the normative requirement (i.e. that the previous 
sentence does not capture)? I do not think anything would be lost from the 
section if this sentence were removed.


Section 3.3
"types of public/private key pairs" -> "digital signature algorithms and 
parameters"

Consider including another sentence or two for motivation at the beginning of 
this section. It would be useful to identify why peers might want to signal the 
algorithms they support, and why it hasn't been an issue until now that they 
are not able to identify signature algorithms in advance of using them.
Are there scenarios where it might not be necessary to signal these algorithms? 
For example, when IPsec is used within an enterprise, it may be the case that 
only one PQ algorithm/security level is supported, so the inclusion of the 
SIGNATURE_HASH_ALGORITHMS notify payload may be enough to implicitly indicate 
that the peer supports the PQ algorithm (and not just whatever traditional 
algorithms they used prior to migrating, presuming the traditional algorithms 
did not leverage SIGNATURE_HASH_ALGORITHMS).


Section 4
"(part of the CRYSTALS suite)" suggest either removing this or adding a 
reference

"based on the hardness lattice problems over module lattices" should this maybe 
say "hardness of"? Not sure.

"Lyubashevsky, " -> "Lyubashevsky" (remove comma)

"lattice based" -> "lattice-based"

"ML-DSA uses uniform distribution" -> "ML-DSA uses a/the uniform distribution" 
(missing an article- either could work)

"security categories 2, 3 and 5" -> "security categories 2, 3, and 5"
Also consider ether explaining what is meant by each category or adding a 
reference to the NIST document that defines security levels (I believe this is 
the correct document- pages 16-18: 
https://csrc.nist.gov/CSRC/media/Projects/Post-Quantum-Cryptography/documents/call-for-proposals-final-dec-2016.pdf)


Section 5
"to sign up to 2^64 messages" -> "to sign up to 2^64 messages per 
instantiation" or something along those lines?

"The parameters for each of the security levels were chosen to provide 128 bits 
of security, 192 bits of security, and 256 bits of security." -> "The 
parameters for security levels 1, 3, and 5 were chosen to provide 128, 192, and 
256 bits of security respectively."
The link is never made between security level and bits of security. It could 
make the list of 12 combinations confusing to interpret (i.e., make it hard for 
a reader to determine which options correspond to which security level).

"at three security levels" -> "at each level"

"It includes the small (S) or fast (F) versions of the algorithm.  For security 
level 1, SHA-256 ([FIPS180]) is used.  For security levels 3 and 5, SHA-512 
([FIPS180]) is used.  SHAKE256 ([FIPS202]) is applicable for all security 
levels."
This excerpt confused me. I think it could be more clearly stated that for each 
security level, a small version and a fast version are specified, resulting in 
6 different options. And then for each of these options, there are two 
different variants (one instantiated with either SHA-256 or SHA-512 depending 
on the security level, and the other instantiated with SHAKE256 for all 
security levels), resulting in 12 options total.

"for a post-quantum world" -> "in the face of a CRQC" (a bit more specific)

"While attacks on lattice-based schemes like ML-DSA can compromise their 
security"
Perhaps rephrase to make clear that the attacks being referred to here are 
hypothetical.


Section 6
Earlier, the document states that only "pure" signature modes are specified. 
Consider making it clearer why the document does not consider the ExternalMu 
variant to be a pre-hash variant or make sure to otherwise align the rest of 
the document with the inclusion of ExternalMu.

"crypto library" -> "cryptographic library"

"an hash" -> "a hash"

"which takes the hash" -> "which uses the hash"


Section 7
"into IKEv2, not just the method proposed above" -> "into IKEv2 other than 
those proposed above"

"first apply one of a number of hash functions" -> "first apply a hash function"

In reason number 2, it might also be worth mentioning that the fact that 
prehashed and "pure" variants use different OIDs could also create issues 
within the IKEv2 protocol if a peer feels the need to support both variants.

"while IKEv2 normally acts this way" what way?

There is brief discussion of how RFC8420 provides an alternative method for 
EdDSA- how is the solution there different from what is proposed here (since 
both use Identity in SIGNATURE_HASH_ALGORITHMS)?

"as current" -> "as specified by the pre-hash modes in [FIPS204] and [FIPS205]"

"but instead of running ML-DSA or SLH-DSA in prehash mode" -> "but instead of 
proceeding with each pre-hash mode as specified"

"we have it sign it in pure mode as if it was the message" -> "the hash is 
signed as if it were the unhashed message, as is done in "pure" mode"


Section 8
"Both ML-DSA and SLH-DSA can utilize their hedged versions when used within 
IKEv2."
Does this document support only hedged signatures, or both hedged and 
deterministic? Suggest rephrasing as follows:
"IKEv2 peers can use either the hedged or deterministic variants of ML-DSA and 
SLH-DSA for authentication in IKEv2."
Hedged and deterministic variants are discussed in other parts of the document 
as well. Consider including pointers between related/repeated content that 
spans sections.

"In both cases, the 'context' input parameter for the signature generation 
algorithm is set to an empty string."
This is already stated once in Section 3.2 and twice in Section 3.2.1 - 
consider removing here.


9
"The Security Considerations section" -> "The Security Considerations sections"

"applies" -> "apply"

Rebecca

Rebecca Guthrie
she/her
Center for Cybersecurity Standards (CCSS)
Cybersecurity Collaboration Center (CCC)
National Security Agency (NSA)

From: tirumal reddy <kond...@gmail.com>
Sent: Monday, April 7, 2025 1:31 AM
To: ipsec@ietf.org
Subject: [IPsec] Fwd: I-D Action: draft-ietf-ipsecme-ikev2-pqc-auth-01.txt


The revised draft 
https://www.ietf.org/archive/id/draft-ietf-ipsecme-ikev2-pqc-auth-01.html 
addresses the comments received during the WG adoption call. It proposes a 
generic mechanism for integrating PQC digital signature algorithms into IKEv2.

Comments and suggestions are welcome.

-Tiru

---------- Forwarded message ---------
From: <internet-dra...@ietf.org<mailto:internet-dra...@ietf.org>>
Date: Mon, 7 Apr 2025 at 10:55
Subject: [IPsec] I-D Action: draft-ietf-ipsecme-ikev2-pqc-auth-01.txt
To: <i-d-annou...@ietf.org<mailto:i-d-annou...@ietf.org>>
Cc: <ipsec@ietf.org<mailto:ipsec@ietf.org>>


Internet-Draft draft-ietf-ipsecme-ikev2-pqc-auth-01.txt is now available. It
is a work item of the IP Security Maintenance and Extensions (IPSECME) WG of
the IETF.

   Title:   Signature Authentication in the Internet Key Exchange Version 2 
(IKEv2) using PQC
   Authors: Tirumaleswar Reddy
            Valery Smyslov
            Scott Fluhrer
   Name:    draft-ietf-ipsecme-ikev2-pqc-auth-01.txt
   Pages:   13
   Dates:   2025-04-06

Abstract:

   Signature-based authentication methods are utilized in IKEv2
   [RFC7296].  The current version of the Internet Key Exchange Version
   2 (IKEv2) protocol supports traditional digital signatures.

   This document specifies a generic mechanism for integrating post-
   quantum cryptographic (PQC) digital signature algorithms into the
   IKEv2 protocol.  The approach allows for seamless inclusion of any
   PQC signature scheme within the existing authentication framework of
   IKEv2.  Additionally, it outlines how Module-Lattice-Based Digital
   Signatures (ML-DSA) and Stateless Hash-Based Digital Signatures (SLH-
   DSA), can be employed as authentication methods within the IKEv2
   protocol, as they have been standardized by NIST.

The IETF datatracker status page for this Internet-Draft is:
https://datatracker.ietf.org/doc/draft-ietf-ipsecme-ikev2-pqc-auth/

There is also an HTML version available at:
https://www.ietf.org/archive/id/draft-ietf-ipsecme-ikev2-pqc-auth-01.html

A diff from the previous version is available at:
https://author-tools.ietf.org/iddiff?url2=draft-ietf-ipsecme-ikev2-pqc-auth-01

Internet-Drafts are also available by rsync at:
rsync.ietf.org::internet-drafts


_______________________________________________
IPsec mailing list -- ipsec@ietf.org<mailto:ipsec@ietf.org>
To unsubscribe send an email to 
ipsec-le...@ietf.org<mailto:ipsec-le...@ietf.org>
_______________________________________________
IPsec mailing list -- ipsec@ietf.org
To unsubscribe send an email to ipsec-le...@ietf.org

Reply via email to