|
| 1 | +--- |
| 2 | +pcx_content_type: concept |
| 3 | +title: Post-quantum cryptography (PQC) |
| 4 | +sidebar: |
| 5 | + order: 9 |
| 6 | + label: About PQC |
| 7 | + group: |
| 8 | + label: Post-quantum |
| 9 | +head: [] |
| 10 | +description: Get an overview of how Cloudflare is deploying post-quantum cryptography to protect you against harvest now, decrypt later. |
| 11 | +--- |
| 12 | + |
| 13 | +Post-quantum cryptography (PQC) refers to cryptographic algorithms that have been designed to resist attacks from [quantum computers](https://www.cloudflare.com/learning/ssl/quantum/what-is-quantum-computing/). Cloudflare has been researching and [writing about post-quantum](https://blog.cloudflare.com/tag/post-quantum/) since 2017. |
| 14 | + |
| 15 | +To protect you against the risk of [harvest now, decrypt later](https://en.wikipedia.org/wiki/Harvest_now,_decrypt_later), and considering all the [connections](#three-connections-in-the-life-of-a-request) that take place when your website or application is on Cloudflare, we have deployed and are actively expanding the use of [post-quantum hybrid key agreement](#hybrid-key-agreement). |
| 16 | + |
| 17 | +Refer to [Cloudflare Radar](https://radar.cloudflare.com/adoption-and-usage#post-quantum-encryption-adoption) for current statistics on the adoption of PQ encryption in requests to Cloudflare. |
| 18 | + |
| 19 | +:::caution[TLS 1.3] |
| 20 | +Cloudflare post-quantum key agreements are only supported in protocols based on TLS 1.3 (including HTTP/3) and are disabled for websites in [FIPS mode](/cloudflare-one/policies/gateway/http-policies/tls-decryption/#fips-compliance). |
| 21 | +::: |
| 22 | + |
| 23 | +## Three building blocks of TLS |
| 24 | + |
| 25 | +Before TLS can protect your communications, three cryptographic algorithms have to be agreed on during the [TLS handshake](https://www.cloudflare.com/learning/ssl/what-happens-in-a-tls-handshake/): |
| 26 | + |
| 27 | +- **Symmetric ciphers:** Algorithms used to encrypt and decrypt data, ensuring confidentiality and integrity (such as `CHACHA20-POLY1305`). |
| 28 | +- **Key agreement:** A cryptographic protocol that allows client and server to safely agree on a shared key (such as `ECDH`). |
| 29 | +- **Signature algorithms:** Cryptographic algorithms used to generate the digital signatures in TLS certificates (such as `RSA` and `ECDSA`). |
| 30 | + |
| 31 | +As explained in our [blog post](https://blog.cloudflare.com/pq-2024/#two-migrations), symmetric ciphers are already post-quantum secure, which means there are two migrations left to occur. |
| 32 | + |
| 33 | +### Hybrid key agreement |
| 34 | + |
| 35 | +With TLS 1.3, [X25519](https://en.wikipedia.org/wiki/Curve25519) - an Elliptic Curve Diffie-Hellman (ECDH) protocol - is the most commonly used algorithm in key agreement. However, its security can be easily broken by quantum computers using [Shor's algorithm](https://en.wikipedia.org/wiki/Shor%27s_algorithm). |
| 36 | + |
| 37 | +It is urgent to migrate key agreement to post-quantum algorithms as soon as possible. The objective is to protect against an adversary capable of harvesting today's encrypted communications and storing it until some time in the future when they can gain access to a sufficiently powerful quantum computer to decrypt it. |
| 38 | + |
| 39 | +In response to this, Cloudflare is an early adopter of ML-KEM, the post-quantum key agreement selected by the US National Institute of Standards and Technology (NIST). For a detailed timeline and more background information refer to [The state of the post-quantum Internet](https://blog.cloudflare.com/pq-2024/). |
| 40 | + |
| 41 | +Cloudflare has deployed the following hybrid key agreements: |
| 42 | + |
| 43 | +- [X25519MLKEM768](https://datatracker.ietf.org/doc/draft-kwiatkowski-tls-ecdhe-mlkem/) (Recommended) |
| 44 | + - TLS identifier: `0x11ec` |
| 45 | +- [X25519Kyber768Draft00](https://datatracker.ietf.org/doc/draft-tls-westerbaan-xyber768d00/) (Obsolete) |
| 46 | + - TLS identifier: `0x6399` |
| 47 | + |
| 48 | +A hybrid key agreement lays the groundwork as more and more [clients](#1-visitor-to-cloudflare) adopt post-quantum cryptography, while also maintaining the current security provided by X25519. It is a safer path in case of an unexpected breakthrough that renders all variants of ML-KEM insecure. |
| 49 | + |
| 50 | +### Post-quantum signatures |
| 51 | + |
| 52 | +The migration to post-quantum signatures is less urgent and more involved. Cloudflare is closely following the developments of new standards, testing their performance, and working together with browsers to understand user impact. |
| 53 | + |
| 54 | +For details refer to [A look at the latest post-quantum signature standardization candidates](https://blog.cloudflare.com/another-look-at-pq-signatures/). |
| 55 | + |
| 56 | +## Three connections in the life of a request |
| 57 | + |
| 58 | +```mermaid |
| 59 | +flowchart LR |
| 60 | + accTitle: Three connections - from visitor to Cloudflare to origin server |
| 61 | + accDescr: Diagram showing connections for an uncached request. |
| 62 | + A[Visitor] |
| 63 | + subgraph Cloudflare |
| 64 | + X[(Cloudflare <br />service A)] |
| 65 | + B[(Cloudflare <br />service B)] |
| 66 | + end |
| 67 | + C[(Origin server)] |
| 68 | +
|
| 69 | + A --1--> X |
| 70 | + X --2--> B |
| 71 | + B --3--> C |
| 72 | +``` |
| 73 | + |
| 74 | +### 1. Visitor to Cloudflare |
| 75 | + |
| 76 | +As of [October 2022](https://blog.cloudflare.com/post-quantum-for-all/), all websites and APIs served through Cloudflare over TLS 1.3 support post-quantum hybrid key agreement. However, the connection is only post-quantum secured if the client also supports PQC. |
| 77 | + |
| 78 | +Refer to [Post-quantum cryptography support](/ssl/post-quantum-cryptography/pqc-support/) for a list of browsers and other clients that are compatible with hybrid key agreements. |
| 79 | + |
| 80 | +### 2. Internal connections |
| 81 | + |
| 82 | +As announced in [September 2023](https://blog.cloudflare.com/post-quantum-cryptography-ga/), most internal connections for Cloudflare's products and systems have been upgraded to use PQC. |
| 83 | + |
| 84 | +### 3. Cloudflare to your origin |
| 85 | + |
| 86 | +Finally, Cloudflare also supports [hybrid key agreements](#hybrid-key-agreement) when connecting to origins. In this case, post-quantum secured connections will depend on the origin servers also supporting PQC. |
| 87 | + |
| 88 | +Refer to [Post-quantum cryptography between Cloudflare and origin servers](/ssl/post-quantum-cryptography/pqc-to-origin/) for details. |
0 commit comments