Что такое протокол TLS?

«Что такое протокол TLS?» — вопрос из категории Сети, который задают на 24% собеседований PHP Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

TLS (Transport Layer Security) — это криптографический протокол, предназначенный для обеспечения безопасной связи по сети. Он является преемником устаревшего SSL (Secure Sockets Layer) и обеспечивает три ключевые функции:

  1. Шифрование: Защищает передаваемые данные от перехвата и прочтения третьими лицами.
  2. Аутентификация: Проверяет подлинность сервера (а при необходимости и клиента) с помощью цифровых сертификатов.
  3. Целостность данных: Гарантирует, что данные не были изменены в пути, используя коды аутентификации сообщений (MAC).

Как это работает (упрощенно):

  1. «Рукопожатие» (Handshake): Клиент и сервер договариваются о версии протокола, наборе шифров и обмениваются криптографическими ключами.
  2. Шифрование приложения: После установки безопасного канала все данные приложения шифруются симметричным шифрованием (например, AES).

Практическое значение: TLS является основой для HTTPS, защищая веб-трафик, API-вызовы, почтовые протоколы (SMTP, IMAP) и многое другое. Современные стандарты требуют использования TLS 1.2 или TLS 1.3 (который быстрее и безопаснее). Версии SSL 3.0, TLS 1.0 и 1.1 считаются уязвимыми и не должны использоваться.