TLS 1.3 (RFC 8446・2018)(ティーエルエス1.3)
IETF 2018年8月標準化のTLS 最新版。1-RTT Handshake (旧2-RTT)・0-RTT 再接続・古い暗号削除で性能 / セキュリティ大幅改善した HTTPS の基盤。
概要
TLS 1.3 (Transport Layer Security 1.3) はIETF が2018年8月にRFC 8446 として標準化したTLS の最新版。Eric Rescorla (Mozilla CTO・現Cisco・WebRTC設計者) が4年28回ドラフトで主導開発、TLS 1.2 (2008年RFC 5246) の大改訂版。1-RTT Handshake (旧2-RTT)・0-RTT 再接続・古い暗号 (3DES / RC4 / MD5 / SHA-1 / CBC / RSA Key Exchange) を全削除・前方秘匿性 (Forward Secrecy) 必須化で性能 / セキュリティ大幅改善、HTTPS / HTTP/2 / HTTP/3 / SMTPS / IMAPS の暗号化基盤として2024年Web トラフィックの85%+ がTLS 1.3。
TLS 1.2 vs TLS 1.3
| 項目 | TLS 1.2 (2008) | TLS 1.3 (2018) |
|---|---|---|
| Handshake | 2-RTT | 1-RTT |
| 0-RTT 再接続 | なし | あり |
| 暗号スイート | 多数 (37+) | 5 (絞り込み) |
| RSA Key Exchange | あり (脆弱) | 削除 |
| Forward Secrecy | 任意 | 必須 |
| 古い暗号 (3DES / RC4) | あり | 削除 |
| 古いハッシュ (MD5/SHA-1) | あり | 削除 |
| CBC モード | あり (脆弱) | 削除 |
| AEAD のみ | 任意 | 必須 |
| 暗号化開始 | ServerHello 後 | Encrypted Extensions 後 |
TLS 1.3 Handshake (1-RTT)
Client Server
| |
|--- ClientHello + Key Share ------->|
| + Pre-Shared Key (Optional) |
| + Cipher Suites + Extensions |
| |
|<-- ServerHello + Key Share --------|
| + Encrypted Extensions |
| + Certificate + Cert Verify |
| + Finished |
| |
|--- Finished ---------------------->|
| + Application Data (Encrypted) |
| |
| 接続確立・データ送信開始 |
1-RTT (1往復) で接続確立・以後暗号化通信。TLS 1.2 (2-RTT) より100-200ms 高速。
0-RTT Resumption
再接続時:
- ClientHello に Pre-Shared Key + Application Data 同時送信
- 0往復で通信開始
- Replay Attack リスクあり (アプリで対応必要)
暗号スイート絞り込み
TLS 1.2 で37+ あった暗号スイートをTLS 1.3 では5 に絞り込み:
| 暗号スイート | AEAD | 用途 |
|---|---|---|
| TLS_AES_128_GCM_SHA256 | AES-GCM | 主流 |
| TLS_AES_256_GCM_SHA384 | AES-GCM | 高セキュリティ |
| TLS_CHACHA20_POLY1305_SHA256 | ChaCha20-Poly1305 | モバイル (AES HW無) |
| TLS_AES_128_CCM_SHA256 | AES-CCM | 組込み |
| TLS_AES_128_CCM_8_SHA256 | AES-CCM (8byte tag) | 組込み (低帯域) |
全AEAD (Authenticated Encryption with Associated Data) のみ、Authenticated Encryption による完全防御。
削除された機能
TLS 1.3 で削除 (セキュリティ低下源):
- RSA Key Exchange (Forward Secrecy なし)
- DH Key Exchange (静的 - Forward Secrecy なし)
- 3DES / RC4 / IDEA / Camellia 暗号
- MD5 / SHA-1 ハッシュ
- CBC モード (BEAST / Lucky 13 / POODLE 攻撃源)
- 圧縮 (CRIME 攻撃源)
- セッション再開 (Session ID) - PSK で置換
Forward Secrecy 必須化
すべてのKey Exchange でECDHE (Elliptic Curve Diffie-Hellman Ephemeral) または DHE (Diffie-Hellman Ephemeral) を使用、秘密鍵漏洩でも過去通信は復号不能の Forward Secrecy を保証。
主要対応プラットフォーム
| プラットフォーム | TLS 1.3 サポート開始 |
|---|---|
| OpenSSL | 1.1.1 (2018-09) |
| BoringSSL | 2018年Chrome 標準 |
| LibreSSL | 3.2 (2020) |
| Nginx | 1.13 + OpenSSL 1.1.1 (2018-11) |
| Apache HTTPD | 2.4 + OpenSSL 1.1.1 (2018-) |
| Chrome | 70 (2018-10) |
| Firefox | 63 (2018-10) |
| Safari | 12.1 (2019-03) |
| Java | 11 (2018-09) |
| Python | 3.7 + OpenSSL 1.1.1 |
| Go | 1.12 (2019-02) |
採用率
| 年 | TLS 1.3 採用率 |
|---|---|
| 2019 | 15% |
| 2020 | 35% |
| 2021 | 55% |
| 2022 | 70% |
| 2024 | 85%+ |
W3Techs / SSL Labs 調査・主要サイトはほぼ全てTLS 1.3 対応済。
関連用語との違い
- vs TLS 1.2: 新 / 旧・性能・セキュリティ大幅向上
- vs SSL 3.0: 古い (脆弱) / 現代
- vs QUIC: QUIC内蔵TLS 1.3 / 独立TLS
FAQ
Q1: TLS 1.0 / 1.1 廃止? A: 2020年3月主要ブラウザ全廃止・PCI-DSS 等でも禁止。古いシステム以外はTLS 1.2 以上必須。
Q2: Post-Quantum TLS? A: 2024年Cloudflare / Apple / Google でX25519+Kyber768 等のハイブリッド暗号採用開始。量子コンピュータ対策でTLS 1.4 / 2.0 議論中。
Q3: TLS 1.3 を強制?
A: nginx ssl_protocols TLSv1.3; / Apache SSLProtocol TLSv1.3 で強制可能。古いブラウザ (IE / 古いAndroid 4.x 等) 接続不可になる。