Hi Shubham,

 

Hi Valery,

 

I had 2 quick questions, I am hoping you could help clarify them too:

 

1)

 In Section 7.2 of the draft,

 

   The information of whether an implementation used the new
   authentication logic for old SA MUST be stored in the ticket and the
   implementation MUST act the same way when doing resumption.  This
   means that in the IKE_SESSION_RESUME exchange peers do not send the
   IKE_SA_INIT_AUTH notification and do not expect it in the received
   messages.

 

 the notification is referred to as IKE_SA_INIT_AUTH, but earlier in the 
document it is introduced as IKE_SA_INIT_FULL_TRANSCRIPT_AUTH. I assume both 
actually refer to the same notification and this might be a minor typo, but I 
wanted to confirm this, just to be sure.

 

         This is a typo. Thanks for catching it up.

 

2)

Since an official IANA value hasn't been assigned for this notification yet, 
could you suggest what temporary value (from the Unassigned or Private Use 
ranges, ref: 
https://www.iana.org/assignments/ikev2-parameters/ikev2-parameters.xhtml#ikev2-parameters-16),
 one can currently use for testing? I'd like to use the exact same temporary 
value in LibreSwan so I can easily perform cross-vendor interoperability 
testing.

 

         Our implementation (ELVIS-PLUS) uses temporary value 50500. I believe 
the same uses strongswan.

 

         Regards,

         Valery.

 

Thanks,

Shubham

 

 

On Mon, Mar 23, 2026 at 7:51 PM Shubham Kumar <[email protected] 
<mailto:[email protected]> > wrote:

Hi Valery,

Got it. Thanks for clarification.

Best,
Shubham

 

On Mon, Mar 23, 2026 at 6:04 PM Valery Smyslov <[email protected] 
<mailto:[email protected]> > wrote:

Hi Shubham,

 

please see inline.

 

Hi,

 

Can anyone clarify this RFC draft 
(https://datatracker.ietf.org/doc/draft-ietf-ipsecme-ikev2-downgrade-prevention/)
 section 7.2, para 2 and 3:

 

   The information of whether an implementation used the new
   authentication logic for old SA MUST be stored in the ticket and the
   implementation MUST act the same way when doing resumption.  This
   means that in the IKE_SESSION_RESUME exchange peers do not send the
   IKE_SA_INIT_AUTH notification and do not expect it in the received
   messages.
 
   If there is a chance that the state of this feature can be changed
   during SA inactivity (e.g., a host is upgraded or its configuration
   was changed), it is RECOMMENDED that the host do not use IKE SA
   resumption and does a full handshake instead.

 

As per this draft, 2 peers establish an IKE SA with full transcript auth and 
the auth payloads will be computed as:

 

   InitiatorSignedOctets = ZeroPrefix | RealMessage2
                           | RealMessage1 | NonceRData | MACedIDForI
 
   ResponderSignedOctets = ZeroPrefix | RealMessage1
                           | RealMessage2 | NonceIData | MACedIDForR

 

This will authenticate both IKE_SA_INIT messages, which is the whole point, 
proving nobody tampered with the algorithm negotiation.

 

However, in case of session resumption, the IKE_AUTH code will see that the 
initial IKE_SA_INIT uses the modified construction (auth over complete 
transcript, from session ticket), reads the first packet which will now hold 
the IKE_SESSION_RESUME messages, not the original IKE_SA_INIT messages and end 
up authenticating the IKE_SESSION_RESUME messages instead of original 
IKE_SA_INIT messages. So now, the auth payloads will be computed as:

 

InitiatorSignedOctets = ZeroPrefix | IKE_SESSION_RESUME_response
                      | IKE_SESSION_RESUME_request | NonceRData | MACedIDForI

ResponderSignedOctets = ZeroPrefix | IKE_SESSION_RESUME_request
                      | IKE_SESSION_RESUME_response | NonceIData | MACedIDForR

 

         Correct.

 

But the IKE_SESSION_RESUME messages doesn't contain any algorithm negotiation, 
only ticket, nonce and cookie. There is nothing to "downgrade" in the 
IKE_SESSION_RESUME exchange.

 

         Yes, no algorithm negotiation is performed during IKE session 
resumption.

         However, negotiation of some features may still take place (e.g. using 
separate transports

         for IKE and ESP or Child SA policy information). Perhaps this is not a 
“downgrade”,

         but still it is possibility to change the behavior of the resumed IKE 
SA.

 

So, I wonder if is there a point in computing the auth over the complete 
transcript in this case. And, I guess the author also sees this problem and 
suggest to not use IKE SA resumption and does a full handshake instead.

 

         I agree that downgrade prevention has less value in session 
resumption, but it costs nothing to add it there

         and it can still provide some additional defense.

 

         Regards,

         Valery.

 

So, can anyone suggest what should be the exact behavior in session resumption 
case with regard to this draft?

 

Thanks in advance.

 

With regards,

Shubham

 

 

 

 

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

Reply via email to