Hi Rebecca,

Thanks for the detailed review. Please see inline

On Wed, 9 Apr 2025 at 20:50, Rebecca Guthrie <rmgu...@uwe.nsa.gov> wrote:

> 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
>

Thanks, updated.


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

Fixed.


>
>
> "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.
>

I don't see a need for it as it is already referenced in Section 2.


>
>
> "presence" -> "existence"
>

Okay.


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

Fixed.


>
>
>
>
> 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).
>

Updated Section 1 to use ""asymmetric".


>
>
>
>
> 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
>

Fixed.


>
>
>
>
> 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.
>

Good point, updated draft.


>
>
> "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."
>

Updated.


>
>
> "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)
>

Fixed.


>
>
> "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?)
>

Yes, updated.


>
>
> 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)
>

Okay.


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

Good catch, fixed.


>
>
> "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.
>

Updated.


>
>
> "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."
>

Thanks, updated text for clarity.


>
>
>
>
> 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.
>

Thanks, re-worded text.


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

Fixed.


>
>
> 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).
>

Good point, updated the text to justify the need for it.


>
>
>
>
> 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)
>

Fixed all above nits.


>
>
> "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
> )
>

Updated to point to Section 10 of "PQC for Engineers" draft.


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

Please elaborate on the proposed change.


>
>
> "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."
>

Updated.


> 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).
>

Updated to point to Section 10 of "PQC for Engineers" draft.


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

Okay.


>
>
> "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.
>

Thanks, updated text.


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

Fixed.


>
>
> "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.
>

Updated text.


>
>
>
>
> 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.
>

Good point, updated text.


>
>
> "crypto library" -> "cryptographic library"
>
>
>
> "an hash" -> "a hash"
>
>
>
> "which takes the hash" -> "which uses the hash"
>

Fixed all above.


>
>
>
>
> 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"
>

Fixed.


>
>
> 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.
>

Updated draft.


>
>
> "while IKEv2 normally acts this way" what way?
>

Fixed text.


>
>
> 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)?
>

It is not different.


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

Updated text.


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

The current text looks good to me.


>
>
> "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"
>

Updated.


>
>
>
>
> 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.
>

Yes, updated draft.


>
>
> "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.
>

Done.


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

Fixed.

Please see the PR https://github.com/tireddy2/ikev2-pqc-auth/pull/19 to
address all of the above comments.

Cheers,
-Tiru


>
>
> 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>
> 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>
> Cc: <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
> To unsubscribe send an email to ipsec-le...@ietf.org
>
_______________________________________________
IPsec mailing list -- ipsec@ietf.org
To unsubscribe send an email to ipsec-le...@ietf.org

Reply via email to