Mastodon Mastodon Mastodon Mastodon

Протокол TLS [TLS, SSL]

Обновлено: · CyberSecureFox Editorial Team

TLS (Transport Layer Security) — криптографический протокол, который шифрует и аутентифицирует данные, передаваемые между приложениями по сети, прежде всего между браузерами и сайтами по HTTPS.

Как работает TLS

TLS пришёл на смену протоколу SSL компании Netscape: TLS 1.0 вышел в 1999 году, TLS 1.2 — в 2008 году (RFC 5246), TLS 1.3 — в 2018 году (RFC 8446). Все версии SSL и TLS 1.0/1.1 признаны устаревшими (RFC 8996). Соединение начинается с рукопожатия:

  • клиент и сервер согласуют версию протокола и набор шифров;
  • сервер подтверждает свою подлинность цифровым сертификатом, который проверяет клиент;
  • стороны вырабатывают сеансовые ключи — в TLS 1.3 всегда через эфемерный протокол Диффи — Хеллмана, обеспечивающий прямую секретность;
  • затем данные приложения шифруются и защищаются от подмены аутентифицированными шифрами, например AES-GCM или ChaCha20-Poly1305.

TLS 1.3 избавился от устаревших алгоритмов и сократил рукопожатие до одного круга обмена.

Почему TLS важен

TLS защищает HTTPS, передачу почты (SMTP, IMAP), VPN, API и бесчисленные приложения от прослушивания и подмены данных. Его история показывает основные риски:

  • Ошибки реализации — Heartbleed (CVE-2014-0160) в OpenSSL в 2014 году приводил к утечке памяти сервера, включая закрытые ключи.
  • Слабости протокола — BEAST (2011) и POODLE (2014) атаковали старые версии; FREAK и Logjam (2015) были атаками понижения версии до слабой «экспортной» криптографии.
  • Использование злоумышленниками — большинство вредоносов и фишинговых сайтов тоже используют TLS, поэтому защитники полагаются на инспекцию TLS и отпечатки вроде JA3/JA4 для выявления вредоносных соединений.

Рекомендации

  • Разрешать только TLS 1.2 и 1.3 и отключить устаревшие наборы шифров.
  • Автоматизировать продление сертификатов и защищать закрытые ключи.
  • Правильно проверять сертификаты в приложениях и никогда не отключать проверку в коде.
  • Регулярно тестировать конфигурацию инструментами вроде SSL Labs или testssl.sh.
Синонимы:
transport layer security, протокол защиты транспортного уровня, ssl/tls