Add docs for Cloudflare IPsec quantum downgrade protection (beta)#31800
Add docs for Cloudflare IPsec quantum downgrade protection (beta)#31800goldbe-cf wants to merge 5 commits into
Conversation
Add info about ipsec downgrade protection: Edit A (small tweak to line 101) and Edit B (new section inserted between lines 259 and 261).
added ipsec downgrades protection row and references to the cloudflare ipsec section
added new paragraph after line 106 on downgrade protection
Review
Code ReviewThis code review is in beta and may not always be helpful — use your judgment. No code review issues found. ConventionsChecks PR title, description, and redirect checklist. No convention issues found. Style Guide ReviewWarnings (3)
Suggestions (1)
RedirectsNo missing redirect entries found. CommandsOnly codeowners can run commands. Post a comment with the command to trigger it.
|
lukevalenta
left a comment
There was a problem hiding this comment.
I didn't carefully review the technical details of the downgrade protection (@cjpatton can you take a look?), but otherwise lgtm modulo some minor nits.
|
|
||
| Cloudflare IPsec now supports the `IKE_SA_INIT_FULL_TRANSCRIPT_AUTH` IKEv2 extension to protect against quantum downgrade attacks on IPsec tunnels. Cloudflare helped develop this extension in ([draft-ietf-ipsecme-ikev2-downgrade-prevention](https://datatracker.ietf.org/doc/draft-ietf-ipsecme-ikev2-downgrade-prevention/)) with the IETF IPSECME Working Group. | ||
|
|
||
| IKEv2's original authentication design has each endpoint sign only its own outbound messages, not the full handshake transcript. A quantum-capable man-in-the-middle attacker can exploit this to bypass post-quantum key exchange by downgrading the connection to classical cryptography. The `IKE_SA_INIT_FULL_TRANSCRIPT_AUTH` extension addresses this by having both peers sign the entire handshake transcript during the authentication exchange, preventing an attacker from manipulating the negotiation without detection. |
There was a problem hiding this comment.
| IKEv2's original authentication design has each endpoint sign only its own outbound messages, not the full handshake transcript. A quantum-capable man-in-the-middle attacker can exploit this to bypass post-quantum key exchange by downgrading the connection to classical cryptography. The `IKE_SA_INIT_FULL_TRANSCRIPT_AUTH` extension addresses this by having both peers sign the entire handshake transcript during the authentication exchange, preventing an attacker from manipulating the negotiation without detection. | |
| IKEv2's original authentication design has each endpoint sign only its own outbound messages, not the full handshake transcript. A quantum-capable [on-path attacker](https://www.cloudflare.com/learning/security/threats/on-path-attack/) can exploit this to bypass post-quantum key exchange by downgrading the connection to classical cryptography. The `IKE_SA_INIT_FULL_TRANSCRIPT_AUTH` extension addresses this by having both peers sign the entire handshake transcript during the authentication exchange, preventing an attacker from manipulating the negotiation without detection. |
| | Protection | Status | | ||
| | -------------------- | ------------------------------------------------- | | ||
| | Key agreement | ✅ ML-KEM-768/1024 + DH Group 20 (P-384) in IKEv2 | | ||
| | Downgrade protection | 🚧 [`IKE_SA_INIT_FULL_TRANSCRIPT_AUTH`](/cloudflare-wan/reference/gre-ipsec-tunnels/#downgrade-protection-beta) | |
There was a problem hiding this comment.
'Protection' is already the column header, so maybe just 'Downgrades' here?
| | Downgrade protection | 🚧 [`IKE_SA_INIT_FULL_TRANSCRIPT_AUTH`](/cloudflare-wan/reference/gre-ipsec-tunnels/#downgrade-protection-beta) | | |
| | Downgrades | 🚧 [`IKE_SA_INIT_FULL_TRANSCRIPT_AUTH`](/cloudflare-wan/reference/gre-ipsec-tunnels/#downgrade-protection-beta) | |
| - A policy must cover reply-style health checks — that is, they must match traffic selectors — otherwise, Cloudflare drops them, just like any other traffic from an IPsec tunnel that does not match a policy. | ||
| - A single IPsec tunnel can only contain around 100 Child SAs. Therefore, there is effectively a limit on the number of different policies per tunnel. | ||
|
|
||
| ### Downgrade protection (beta) |
There was a problem hiding this comment.
If we don't want to have to change all of the anchor links later when we drop the '(beta)' from the title:
| ### Downgrade protection (beta) | |
| ### Downgrade protection (beta) {#downgrade-protection} |
| This feature is in beta. Contact your account team to enable the `ipsec_downgrade_protection` flag on your account. | ||
| ::: | ||
|
|
||
| IKEv2's original authentication design has each endpoint sign only its own outbound messages, not the full handshake transcript. A quantum-capable man-in-the-middle attacker can exploit this to create a "split view" of the handshake, tricking the endpoints into downgrading a post-quantum connection back to classical cryptography even when both sides support post-quantum key exchange. |
There was a problem hiding this comment.
Inclusive language and all (https://www.cloudflare.com/learning/security/threats/man-in-the-middle-attack/ redirects to https://www.cloudflare.com/learning/security/threats/on-path-attack/)
| IKEv2's original authentication design has each endpoint sign only its own outbound messages, not the full handshake transcript. A quantum-capable man-in-the-middle attacker can exploit this to create a "split view" of the handshake, tricking the endpoints into downgrading a post-quantum connection back to classical cryptography even when both sides support post-quantum key exchange. | |
| IKEv2's original authentication design has each endpoint sign only its own outbound messages, not the full handshake transcript. A quantum-capable [on-path attacker](https://www.cloudflare.com/learning/security/threats/on-path-attack/) can exploit this to create a "split view" of the handshake, tricking the endpoints into downgrading a post-quantum connection back to classical cryptography even when both sides support post-quantum key exchange. |
|
|
||
| The hybrid key agreement is negotiated using ML-KEM as an additional Key Exchange to classical Diffie-Hellman during the IKEv2 handshake, as defined in [RFC 9370](https://datatracker.ietf.org/doc/rfc9370/) and [draft-ietf-ipsecme-ikev2-mlkem](https://datatracker.ietf.org/doc/draft-ietf-ipsecme-ikev2-mlkem/). For the list of validated third-party platforms and their supported parameters, refer to [Tested third-party vendor interoperability](/cloudflare-wan/reference/gre-ipsec-tunnels/#tested-third-party-vendor-interoperability). | ||
|
|
||
| Cloudflare also supports downgrade protection for IPsec tunnels via the [`IKE_SA_INIT_FULL_TRANSCRIPT_AUTH`](https://datatracker.ietf.org/doc/draft-ietf-ipsecme-ikev2-downgrade-prevention/) extension. Both the initiator and Cloudflare (responder) must support the extension for protection to be effective, see [Downgrade protection](/cloudflare-wan/reference/gre-ipsec-tunnels/#downgrade-protection-beta). |
There was a problem hiding this comment.
AI reviewer suggestion:
| Cloudflare also supports downgrade protection for IPsec tunnels via the [`IKE_SA_INIT_FULL_TRANSCRIPT_AUTH`](https://datatracker.ietf.org/doc/draft-ietf-ipsecme-ikev2-downgrade-prevention/) extension. Both the initiator and Cloudflare (responder) must support the extension for protection to be effective, see [Downgrade protection](/cloudflare-wan/reference/gre-ipsec-tunnels/#downgrade-protection-beta). | |
| Cloudflare also supports downgrade protection for IPsec tunnels via the [`IKE_SA_INIT_FULL_TRANSCRIPT_AUTH`](https://datatracker.ietf.org/doc/draft-ietf-ipsecme-ikev2-downgrade-prevention/) extension. Both the initiator and Cloudflare (responder) must support the extension for protection to be effective. Refer to [Downgrade protection](/cloudflare-wan/reference/gre-ipsec-tunnels/#downgrade-protection-beta). |
| - Available in beta for Cloudflare WAN and Magic Transit IPsec tunnels. | ||
| - Cloudflare sends the `IKE_SA_INIT_FULL_TRANSCRIPT_AUTH` notification unconditionally as a responder when the feature flag is enabled. | ||
| - Both the initiator (your device) and responder (Cloudflare) must support the extension for downgrade protection to be effective. | ||
| - This feature is currently gated by a per-account feature flag. Contact your account team to enable it. |
There was a problem hiding this comment.
AI review suggestion
| - This feature is currently gated by a per-account feature flag. Contact your account team to enable it. | |
| - This feature is currently gated by a per-account feature flag. Contact your account team to turn it on. |
| ### Downgrade protection (beta) | ||
|
|
||
| :::note[Beta] | ||
| This feature is in beta. Contact your account team to enable the `ipsec_downgrade_protection` flag on your account. |
There was a problem hiding this comment.
AI review suggestion
| This feature is in beta. Contact your account team to enable the `ipsec_downgrade_protection` flag on your account. | |
| This feature is in beta. Contact your account team to turn on the `ipsec_downgrade_protection` flag for your account. |
| - cloudflare-one | ||
| --- | ||
|
|
||
| Cloudflare IPsec now supports the `IKE_SA_INIT_FULL_TRANSCRIPT_AUTH` IKEv2 extension to protect against quantum downgrade attacks on IPsec tunnels. Cloudflare helped develop this extension in ([draft-ietf-ipsecme-ikev2-downgrade-prevention](https://datatracker.ietf.org/doc/draft-ietf-ipsecme-ikev2-downgrade-prevention/)) with the IETF IPSECME Working Group. |
There was a problem hiding this comment.
Opinionated nits (feel free to ignore):
- I don't think we need to take credit in dev docs.
- not just quantum attacks
| Cloudflare IPsec now supports the `IKE_SA_INIT_FULL_TRANSCRIPT_AUTH` IKEv2 extension to protect against quantum downgrade attacks on IPsec tunnels. Cloudflare helped develop this extension in ([draft-ietf-ipsecme-ikev2-downgrade-prevention](https://datatracker.ietf.org/doc/draft-ietf-ipsecme-ikev2-downgrade-prevention/)) with the IETF IPSECME Working Group. | |
| Cloudflare IPsec now supports the [`IKE_SA_INIT_FULL_TRANSCRIPT_AUTH`](https://datatracker.ietf.org/doc/draft-ietf-ipsecme-ikev2-downgrade-prevention/) IKEv2 extension to protect against downgrade attacks on IPsec tunnels. |
Adds documentation for the IKE_SA_INIT_FULL_TRANSCRIPT_AUTH extension (IPsec downgrade protection, beta). This docs update is a companion to the upcoming blog post: https://blog.cloudflare.com/ipsec-downgrade-protection