TLS 1.2 уходит
RFC 5246 · 2008 · главная рабочая лошадка 15 лет
Что это
Долгая и успешная версия. С 2008 по 2020 — фактический стандарт всего HTTPS-веба. RFC 5246, потом уточнения в 5288/5289/6367 и куча других.
Что нового по сравнению с 1.1
- AEAD-ciphers — AES-GCM, ChaCha20-Poly1305. Шифрование + аутентификация одним махом, без CBC-костылей.
- SHA-256 в MAC и в подписи сертификатов (вместо MD5/SHA-1).
- Signature algorithms extension — клиент может сказать «поддерживаю ECDSA_secp256r1_sha256».
- ECDHE cipher suites — forward secrecy на эллиптических кривых, быстро.
- Убраны слабые defaults (IDEA, DES).
Как работает handshake
Client → ClientHello (версии, ciphers, random) Server → ServerHello + Certificate + ServerKeyExchange + ServerHelloDone Client → ClientKeyExchange + ChangeCipherSpec + Finished Server → ChangeCipherSpec + Finished ─── 2 RTT до первого байта данных ───
Почему уходит
TLS 1.2 никто не удаляет — просто перестают рекомендовать.
- Атаки на CBC-suites: BEAST, Lucky13, POODLE-варианты, TIME. Приходится отрубать все CBC → остаются только GCM/ChaCha20.
- Downgrade-атаки: FREAK (export RSA), Logjam (export DH), DROWN (через SSLv2).
- Renegotiation — исторически было ломано (CVE-2009-3555). Приходится отрубать.
- Слишком много cipher suites — 300+ в реестре IANA. Многие слабые, легко ошибиться.
- Forward secrecy не обязательна — RSA key exchange сохранил ключ на десятилетия: если приватник утёк — весь исторический трафик читается.
- Handshake 2 RTT — заметно медленнее 1.3 на дальних соединениях.
- Метаданные handshake открытым текстом — цепочка сертификатов видна ТСПУ.
Кто уже требует TLS 1.3
- PCI DSS 4.0 (2024) — TLS 1.3 обязателен для новых деплоев.
- NIST SP 800-52 Rev 2 — рекомендует TLS 1.3.
- US Federal Government — с 2024 только TLS 1.3.
- Cloudflare, Google, Meta — по умолчанию 1.3, 1.2 как fallback.
TLS 1.2 умрёт не сегодня и не завтра — но лет через 5-10 будет выпилен как сейчас 1.0.