SSL/TLS ハンドシェイク時に、Cloudflare がオリジンサーバーへ提示する暗号スイートは次のとおりです。
一覧の順序は ClientHello ↗ での並びです。Cloudflare の優先順位を示します。
| 暗号名 | TLS 1.0 | TLS 1.1 | TLS 1.2 | TLS 1.3 |
|---|---|---|---|---|
| AEAD-AES128-GCM-SHA256 1 | ❌ | ❌ | ❌ | ✅ |
| AEAD-AES256-GCM-SHA384 1 | ❌ | ❌ | ❌ | ✅ |
| AEAD-CHACHA20-POLY1305-SHA256 1 | ❌ | ❌ | ❌ | ✅ |
| ECDHE-ECDSA-AES128-GCM-SHA256 | ❌ | ❌ | ✅ | ❌ |
| ECDHE-RSA-AES128-GCM-SHA256 | ❌ | ❌ | ✅ | ❌ |
| ECDHE-RSA-AES128-SHA | ✅ | ✅ | ✅ | ❌ |
| AES128-GCM-SHA256 | ❌ | ❌ | ✅ | ❌ |
| AES128-SHA | ✅ | ✅ | ✅ | ❌ |
| ECDHE-ECDSA-AES256-GCM-SHA384 | ❌ | ❌ | ✅ | ❌ |
| ECDHE-RSA-AES256-GCM-SHA384 | ❌ | ❌ | ✅ | ❌ |
| ECDHE-RSA-AES256-SHA384 | ❌ | ❌ | ✅ | ❌ |
| AES256-SHA | ✅ | ✅ | ✅ | ❌ |
| DES-CBC3-SHA | ✅ | ❌ | ❌ | ❌ |
TLS 1.3 は以前のバージョンと同じ暗号スイート空間を使いますが、定義が異なります。対称暗号だけを指定し、TLS 1.2 では使えません(RFC 8446 ↗)。
同様に、TLS 1.2 以前の暗号スイートは TLS 1.3 では使えません。BoringSSL は TLS 1.3 向けに、上表の順で暗号の優先順位をハードコードしています。
Cloudflare のシステムは BoringSSL に基づき、上表の名前を返します。ただし RFC 8446 ↗ で定義されている対応名は次のとおりです。
TLS_AES_128_GCM_SHA256TLS_AES_256_GCM_SHA384TLS_CHACHA20_POLY1305_SHA256
Cloudflare はオリジンへ暗号スイートを提示し、サーバーが希望する暗号スイートを選びます。
一方、オリジンサーバーが Cloudflare のグローバルネットワークと同じ暗号スイートをサポートしていることを確認したい場合で、オリジンの TLS 終端に NGINX ↗ を使っているときは、次の設定を適用できます。
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ecdh_curve X25519:P-256:P-384;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-CHACHA20-POLY1305:ECDHE+AES128:RSA+AES128:ECDHE+AES256:RSA+AES256:ECDHE+3DES:RSA+3DES;
ssl_prefer_server_ciphers on;-
詳細は TLS 1.3 の暗号スイート を参照してください。 ↩ ↩2 ↩3