Hi Wang, Lun,

Thanks, Wang. That matches my reading as well.

The main value of the PR, from my perspective, is to make the responder
path deterministic, reviewable, and visible enough for interop testing. In
particular, I think the draft should preserve three separations:

   - strict RFC 9370 selection first;
   - explicitly configured extended-policy processing only when strict
   selection cannot produce an acceptable outcome;
   - a local minimum-security gate before any accepting response is sent.

I also agree that the visibility point matters. The compatibility
indication and implementation diagnostics should not be treated as
cosmetic; they are what make the extended path testable and prevent
different implementations from silently taking different security-relevant
paths for the same input.

I will keep following the PR and can help turn the decision-matrix fields
into concrete test cases if that is useful for the next revision or the
Vienna discussion.

Best,
Songbo

On Tue, 16 Jun 2026 21:40:18 +0000, Wang Xi [email protected] wrote:

Hi Songbo, Lun,

Thanks for the detailed PR and the clear description.

This direction makes sense to me, too. In particular, I think making the
responder behavior deterministic and explicitly visible, while subject to
policy-controlled disclosure, is helpful for interoperability.

The PR looks like a useful step towards clarifying the behavior without
changing the overall intent of the draft. It looks good to me.

Happy to continue the discussion and follow further updates.

Best,
Wang

-----Original Message-----
From: Songbo Bu [email protected]
Sent: Friday, June 12, 2026 3:56 AM
To: [email protected]; Wang Xi [email protected]; [email protected]
Subject: RE: [IPsec] New I-D:
draft-li-ipsecme-extensions-for-robust-negotiation// Re: Triggering
discussion on RFC 9370 ADDKE algorithm selection and potential issues

ALERT : This message originated outside of the Fortinet network. BE
CAUTIOUS before clicking any link or opening an attachment.

Hi Lun, Wang,

Thanks, that direction makes sense to me.

I opened a small PR against the repo:

https://github.com/lihjacky/draft-on-ipsecme/pull/1

I kept it narrow. The PR does not try to change the draft’s direction; it
just tries to make the responder behavior easier to review and
test:

   - strict RFC 9370 selection first;
   - if strict selection fails, enter only an explicitly configured
   extended path;
   - keep the extended path deterministic for the same proposal, responder
   capability, and policy;
   - evaluate duplicate selection before implicit NONE;
   - apply a local minimum-security policy gate before sending an accepting
   response;
   - make the selected path visible through the compatibility indication
   and implementation diagnostics;
   - make the annex profiles expose the decision-matrix fields explicitly.

This is meant to address Wang’s determinism point without losing the
interoperability motivation in the draft. If the WG prefers Consideration 1
as the primary compatibility path and treats implicit NONE as a
policy-gated fallback, I think the text will be easier to defend in Vienna.

I am happy to keep iterating on the PR, split it if smaller commits are
easier for you, or help turn the profiles into concrete interop test cases.

Best,
Songbo

On Fri, 12 Jun 2026 10:25:47 +0000, “lilun (F)” [email protected] wrote:

Hi Wang, Songbo, and all

Thank you both for the feedback. Let me briefly share my thoughts on points:

I actually share the same skepticism regarding the implicit NONE. It
does introduce potential security risks and potential downgrade vectors. My
preference towards Consideration 1 (Duplicate Selection), as it resolves
the parsing friction without weakening the cryptographic strength of the
exchange. But consideration 2 I think is also useful as well with proper
implementation like the local checks before the response. I will try to
refine this part in next version.

Regrading Interoperability, I think to ensure both sides are on the
same page and prevent “invisible” fallback behaviors, the draft has
mentioned a compatibility indication/messages sent from the responder back
to the initiator whenever the extended policies are triggered. This gives
peers full visibility into the path taken.

I would highly welcome you and anyone else to contribute to, discuss,
or refine this draft. I have set up a GitHub repository for
collaborative editing. Please feel free to raise issues, submit texts,
or open branches here: https://github.com/lihjacky/draft-on-ipsecme

Looking forward to discussing this further with you.

Best regards,

Lun Li

From: Songbo Bu [email protected]

Sent: June 12, 2026, 9:35

To: [email protected]; [email protected]

Cc: lilun (F) [email protected]

Subject: RE: [IPsec] New I-D:
draft-li-ipsecme-extensions-for-robust-negotiation// Re: Triggering
discussion on RFC 9370 ADDKE algorithm selection and potential issues

Hi Wang, Lun,

I agree with this concern. I think the draft becomes much easier to review
if the extended path is described as a deterministic responder algorithm,
not as a collection of fallback heuristics.

The way I would frame it is:

   -

The responder first computes the strict RFC 9370 outcome, if one exists.

   -

If no strict outcome exists, the responder may enter an explicitly
configured extended-policy path.

   -

That extended path still needs a deterministic selection rule for the same
input, not implementation-local guesswork.

   -

The output of the extended path must be checked against a local
minimum-security policy before the responder accepts it.

   -

The implementation should be able to report which path was used: strict RFC
9370, extended-policy accepted, or rejected.

That keeps the compatibility goal, but avoids making fallback behavior
invisible. It also gives the interop matrix a useful shape: same initiator
proposal, same responder capability, strict outcome, extended outcome,
selected path, and whether the local security floor permits it.

I would be cautious about implicit NONE handling unless the draft makes the
policy gate very explicit. Otherwise it may look like a robust-negotiation
feature while actually changing the expected number or class of KEM
contributions.

Best,

Songbo

On Thu, 11 Jun 2026 21:19:31 +0000, Wang Xi [email protected] wrote:

Hi Lun,

Thanks for sharing the draft.

I wanted to raise one question regarding the security implications of
introducing an extended-policy fallback in addition to the strict RFC 9370
behavior.

My main concern is not about classical downgrade attacks in the
traditional sense, but rather whether the introduction of an additional
“extended-policy outcome” path may affect the determinism of the
negotiation outcome defined in RFC 9370.

Particularly, for a given initiator proposal and responder capability, the
draft seems to allow two semantically different classes of outcomes:

a strict RFC 9370-compliant deterministic selection, and

a policy-driven fallback selection (e.g., duplicate resolution or
implicit NONE handling)

If different implementations apply different fallback heuristics or
thresholds, this could lead to situations where the same input results in
different security-relevant outcomes across implementations.

I am wondering whether this introduces a potential selection surface
where an active attacker could influence which valid processing path is
taken, for example by shaping proposals that trigger fallback behavior in
some implementations but not others.

To be clear, I am not suggesting that this directly weakens the
cryptographic strength of RFC 9370, but rather that it may complicate the
assumption of a single deterministic security outcome per valid input,
which is a key property in many IKEv2 negotiation designs.

Happy to discuss further or help refine the interop matrix idea if useful.

Best,

Wang Xi

-----Original Message-----

From: Songbo Bu [email protected]

Sent: Wednesday, June 10, 2026 6:50 PM

To: [email protected]

Cc: [email protected]

Subject: [IPsec] New I-D:
draft-li-ipsecme-extensions-for-robust-negotiation// Re: Triggering
discussion on RFC 9370 ADDKE algorithm selection and potential issues

Hi Lun,

Thanks for posting this. I think the draft is useful because it turns a
real configuration/interoperability failure into something the WG can
reason about.

One point that might make the mechanism easier to review: I would separate
the “find a valid RFC 9370 outcome” case from the “compatibility fallback”
case.

My read is:

   -

First, the responder should try a holistic selection over the ADDKE
transform types and prefer a valid, non-duplicated set when one exists.

   -

Only if no such set exists, local compatibility policy could decide whether
to accept a weaker outcome, such as duplicate use of the same KEM or an
implicit NONE.

   -

That fallback should be gated by an explicit local minimum-security policy,
so the responder never silently turns a multi-KEM intent into something
below its configured floor.

This framing may also make Section 6 easier to turn into an interop

matrix: initiator proposal, responder capability, strict RFC 9370 outcome,
extended-policy outcome, and the security threshold that allowed or
rejected it.

If useful, I can help sketch that matrix or a short responder-processing
checklist for the Vienna discussion.

Best,

Songbo Bu

On Tue, 9 Jun 2026 07:04:15 +0000, “lilun (F)”

[email protected] wrote:

Dear all,

I’ve posted a new individual draft to address some robust negotiation
issues found during multi-KEM migration in IKEv2.

Title: Consideration of Robust Multi-KEM Negotiation within IKEv2

URL:

https://datatracker.ietf.org/doc/draft-li-ipsecme-extensions-for-robus

t-negotiation/

The draft discusses scenarios where initiators send redundant or
overlapping KEM algorithm lists across different ADDKE transform types (RFC
9370) based on our PoC best practice. To prevent interoperability
fragmentation and unexpected negotiation failures on the wire, this
document introduces deterministic extended selection logic for responders
(such as duplicate selection).

Please review the document and feel free to share your thoughts on the
mailing list.

I would also like to be considered having chance to request a presentation
slot at the upcoming Vienna meeting to introduce this I-D to the group.

Regards,

Lun Li

-----Original message-----

From: [email protected]
[email protected]

Sent: June 5, 2026, 16:30

To: lilun (F) [email protected]

Subject: New Version Notification for>

draft-li-ipsecme-extensions-for-robust-negotiation-00.txt

A new version of Internet-Draft

draft-li-ipsecme-extensions-for-robust-negotiation-00.txt has been

successfully submitted by Lun Li and posted to the IETF repository.

Name: draft-li-ipsecme-extensions-for-robust-negotiation

Revision: 00

Title: Consideration of Robust Multi-KEM Negotiation within IKEv2

Date: 2026-06-03

Group: Individual Submission

Pages: 11

URL:

https://www.ietf.org/archive/id/draft-li-ipsecme-extensions-for-robu

st-negot

iation-00.txt

Status:

https://datatracker.ietf.org/doc/draft-li-ipsecme-extensions-for-rob

ust-negoti

ation/

HTMLized:

https://datatracker.ietf.org/doc/html/draft-li-ipsecme-extensions-fo

r-robust-

negotiation

Abstract:

RFC 9370 specifies a framework for multiple additional key exchanges

(ADDKE) in the Internet Key Exchange Protocol Version 2 (IKEv2) to

support post-quantum cryptography migration. Under this framework,

an initiator can propose multiple ADDKE transform types. In

deployment scenarios, initiators may send proposals that contain

redundant or overlapping lists of Key Encapsulation Mechanism (KEM)

algorithms across different ADDKE transform types. This contribution

discusses the implications of these proposals and specifies extended

procedures for handling proposed transforms, which may improve

negotiation robustness and interoperability by allowing the

responder to select a valid set of algorithms without altering the

security properties defined in RFC 9370.

The IETF Secretariat

-----Original message-----

From: Lilun (F) [email protected]

Sent: April 30, 2026 15:25

To: Valery Smyslov [email protected]; [email protected]

Subject: [IPsec] Re: Triggering discussion on RFC 9370 ADDKE

algorithm selection and potential issues.> Hi Valery,

Thanks for the explain. I think generally the ADDKE algorithm

selection is an interesting topic and worth to re-visit.

I am about to prepare an individual draft to further illustrate this

topic for the reference.

Regards,

Lun

-----Original message-----

From: Valery Smyslov [email protected]

Sent: April 29, 2026 20:52

To: lilun (F) [email protected]; Wang Guilin

[email protected];
[email protected]

Subject: RE: [IPsec] Re: Triggering discussion on RFC 9370 ADDKE

algorithm

selection and potential issues>

Hi Lun,

The intended use of multiple ADDKE transforms was that each of

these transforms would contain KE methods based on different

mathematical properties. For example, the initiator can put all

lattice-based KEMs to ADDKE1, all code-based KEMs to ADDKE2 etc.

(we have plenty of spare transforms for the future).

It is a little point for the initiator to populate all ADDKE

transforms with the

same

set of algorithms - just a waste of message space in IKE_SA_INIT,

where it is often limited. It is the responder who can have a

policy allowing any supported KEM in
any ADDKE, since this

policy is not transferred on the wire and

does not

eat space.

In this case, the responder does not care the order of KEMs, but

should

make

sure that

a needed set of KEMs is proposed.

But this is just a good way of using RFC 9370, the specification

does not

prohibit

other scenarios.

The only restriction is a prohibition of multiple use of the same

KE method,

since

it makes no sense

from security PoV and is a waste of resources.

Regards,

Valery.

Hi Guilin,

I agree with your assessment of the current RFC 9370 text.

redundant

proposals don’t provide additional security.

I think the motivation for bringing this to the WG is the gap

between the

specification and best practice reflecting,

particularly in large-scale deployments.

In practice, IKEv2 configurations are often managed by

developers who

might

perhaps populate ADDKE slots with

the same algorithm list. Currently, this redundancy causes a

hard

negotiation

failure. I hope to raise is whether we

should allow the responder to be more resilient. If a secure

connection

can still

be established.

Furthermore, different implementations may have handled these

edge

cases in

different ways to consider

robustness. However, this could potentially lead to interoperability issues.

it is

not to encourage redundant configs

in specification level, but to explore if the protocol can be

more resilient

during

PQC migration.

Regards,

Lun

-----Original Message-----

From: Wang Guilin [email protected]

Sent: 24 Apr 2026 17:56

To: lilun (F) [email protected];
[email protected]; Tobias

Brunner

[email protected]

Cc: [email protected]; Wang Guilin

[email protected]

Subject: RE: [IPsec] Re: Triggering discussion on RFC 9370 ADDKE

algorithm

selection and potential issues

As I understand, your case “ADDKE1 [A, B], ADDKE2 [A, B], ADDKE3

[A,

B]” is

not allowed mainly because, from

the security view point, such proposal does not enhance security

while

increases the complexity for both side (to

run the same algorithm twice or more).

For such a proposal, as requiring to select select one algorithm

in each

ADDKE,

the responder has to select

something like “ADDKE1 [A], ADDKE2 [B], ADDKE3 [A]”. However,

such

an

answer is not allowed according to

2.2.1 in RFC 9370. So, a failure will happen.

2.2.1

“The responder performs the negotiation using the standard IKEv2

procedure

described in Section 3.3 of

[RFC7296]. However, for the ADDKE Transform Types, the

responder’s

choice MUST NOT contain duplicated

algorithms (those with an identical Transform ID and

attributes), except

for the

Transform ID of NONE.”

So, to prepare aproposal, the initiator may need to do as follows:

   -

If the initiator wants the responder to select either A or B,

the proposal

should

be: “ADDKE1 [A, B]”.

   -

If the initiator wants the responder to select A and B, the

proposal

should be:

"ADDKE1 [A], ADDKE2 [B] ".

   -

If the initiator wants the responder to select A OR (A and B),

the

proposal

should be: “ADDKE1 [A], ADDKE2 [B,

None]”.

   -

If the initiator wants the responder to select None OR A OR B

OR (A and

B),

the proposal should be: “ADDKE1

[A, None], ADDKE2 [B, None]”.

   -

…

Guilin

-----Original Message-----

From: lilun (F) [email protected]

Sent: Friday, 24 April 2026 4:12 pm

To: [email protected]; Tobias Brunner
[email protected]

Cc: [email protected]

Subject: [IPsec] Re: Triggering discussion on RFC 9370 ADDKE

algorithm

selection and potential issues

Hi Thanks Tobias, and all work group,

Thank you for the reply. I think strongSwan already does an

excellent job

implementing RFC 9370, and your

example illustrates the cases we are encountering.

Actually but, my main point is whether we could explore a

potential

specification draft/update/extension to handle

these redundant scenarios more gracefully. Reviewing some of our

failed

test

cases, I am wondering if we could

relax or clarify the restrictions.

In practice, many developers might configure ADDKEs by simply

filling

them

with the exact same list of supported

algorithms. For example, an initiator might send:

ADDKE1 [A, B], ADDKE2 [A, B], ADDKE3 [A, B] Currently, this

redundant

configuration leads to negotiation failure.

It would be much more robust if the responder could tolerate the

redundancy

and intelligently select algorithms—

for example, selecting A for ADDKE1, B for ADDKE2, and another A

for

ADDKE3—thus still resulting in a

successful hybrid exchange.

If there is interest in exploring this in the Work Group for

algorithm

selection

issues and more, I would be very

happy to request a presentation slot at IETF 126 to elaborate

above

content

and some deep thinking.

Best regards,

Lun Li

-----Original Message-----

From: Tobias Brunner [email protected]

Sent: April 16, 2026 18:54

To: lilun (F) [email protected];
[email protected]

Cc: [email protected]; [email protected]

Subject: Re: [IPsec] Triggering discussion on RFC 9370 ADDKE

algorithm

selection and potential issues On

16.04.26 12:18, lilun (F) wrote:

Hi Everyone,

Following our earlier research in the PQUIP WG regarding PQC

migration

in telecom systems, our team have recently been implementing

IKEv2 migration based on RFC 9370. During this process, we

encountered

some

negotiation failures related to ADDKEs that I would like to

bring to the WG’s attention for discussion.

During our PoC testing, we observed that IKE configuration

errors— specifically, configuring the same algorithm

redundantly in ADDKE payloads during IKE negotiation—frequently lead to
negotiation failures.

According to RFC 9370, Section 2.2.1 (which also references

RFC 7296, Section 2.7), the implementation shall be strictly limited:

/“the responder MUST select one of the algorithms proposed

using this type… the responder’s choice MUST NOT contain

duplicated algorithms (those with an identical Transform ID

and attributes), except for the Transform ID of NONE.”/

The important part there is “responder’s choice”. It’s perfectly

fine to

configure as well as send the same

algorithms in ADDKEs as initiator.

The responder just has to make sure its proposal selection

process does

result in a unique algorithm for each

ADDKE (except for NONE).

Based on feedback from our testing, some errors may be

occurred frequently in the configuration, and they were negotiation failed.

After troubleshooting, We found that the error was due to the

same algorithm being configured in ADDKEs during IKE in a

redundance. For example, placing ML-KEM-768 in multiple ADDKEs

I would like to start a discussion on whether these strict in

2.2.1 limitations for ADDKEs could have consideration for

future releases (for instance, in PQC-specific profiles like

ML-KEM). Considering the

real- world possibility of configuration redundancies.

Interestingly, also as part of our research verification, we

found that some open-source implementations (e.g., strongSwan)

handle

ADDKE

differently. Instead of strict responder selection, the

algorithm negotiation is often simplified to finding the

intersection of multiple ADDKEs between peers.

Yes, we have simplified the process a bit in so far that we only

check

individual

ADDKEs (sequentially) and avoid

duplicates overall. So we currently can’t handle situations like

ADDKE1[A, B],

ADDKE2[B, C] with a local config of

ADDKE1[B, A], ADDKE2[B, A]. We’d select ADDKE1[B] (preferring

the

local

config and order by default) but that

prevents selecting it for ADDKE2, so no valid proposal results.

However,

ADDKE1[A], ADDKE2[B] would

technically be acceptable by both peers (in this particular

example

disabling

prefer_configured_proposals would

make it work).

Regards,

Tobias

IPsec mailing list – [email protected] To unsubscribe send an

email to [email protected]

IPsec mailing list – [email protected] To unsubscribe send an

email to [email protected]

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

[email protected]

IPsec mailing list – [email protected]

To unsubscribe send an email to [email protected]

IPsec mailing list – [email protected]

To unsubscribe send an email to [email protected]

*** Please note that this message and any attachments may contain
confidential and proprietary material and information and are intended
only for the use of the intended recipient(s). If you are not the
intended recipient, you are hereby notified that any review, use,
disclosure, dissemination, distribution or copying of this message and
any attachments is strictly prohibited. If you have received this
email in error, please immediately notify the sender and destroy this
e-mail and any attachments and all copies, whether electronic or
printed. Please also note that any views, opinions, conclusions or
commitments expressed in this message are those of the individual
sender and do not necessarily reflect the views of Fortinet, Inc., its
affiliates, and emails are not binding on Fortinet and only a writing
manually signed by Fortinet’s General Counsel can be a binding
commitment of Fortinet to Fortinet’s customers or partners. Thank you.

*** Please note that this message and any attachments may contain
confidential and proprietary material and information and are intended only
for the use of the intended recipient(s). If you are not the intended
recipient, you are hereby notified that any review, use, disclosure,
dissemination, distribution or copying of this message and any attachments
is strictly prohibited. If you have received this email in error, please
immediately notify the sender and destroy this e-mail and any attachments
and all copies, whether electronic or printed. Please also note that any
views, opinions, conclusions or commitments expressed in this message are
those of the individual sender and do not necessarily reflect the views of
Fortinet, Inc., its affiliates, and emails are not binding on Fortinet and
only a writing manually signed by Fortinet’s General Counsel can be a
binding commitment of Fortinet to Fortinet’s customers or partners. Thank
you. ***
_______________________________________________
IPsec mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to