Junior
72
questionbank

Что такое TLS?

Получайте ответы на вопросы в реальном времени с Sobes Copilot
Ответ от нейросети sobes.tech

TLS (Transport Layer Security) — это криптографический протокол, обеспечивающий безопасное общение в сети, например, между веб-браузером и сервером.

Ключевые функции:

  • Аутентификация: Проверка подлинности сторон (обычно с использованием X.509 сертификатов).
  • Конфиденциальность: Шифрование передаваемых данных для исключения несанкционированного доступа.
  • Целостность: Проверка того, что данные не были изменены в процессе передачи.

Протокол TLS работает на транспортном уровне модели OSI (или выше, в зависимости от конкретной реализации и контекста). Он пришел на смену SSL (Secure Sockets Layer). Текущие актуальные версии: TLS 1.2 и TLS 1.3.

В контексте Go, TLS используется в стандартной библиотеке net/http для поддержки HTTPS.

go

Взаимодействие происходит в несколько этапов (Handshake):

  1. ClientHello: Клиент отправляет список поддерживаемых версий TLS, наборов шифров и другие параметры.
  2. ServerHello: Сервер выбирает оптимальные параметры из предложенных клиентом.
  3. Certificate: Сервер отправляет свой сертификат.
  4. ServerKeyExchange (опционально): Обмен ключами шифрования.
  5. CertificateRequest (опционально): Сервер может запросить сертификат клиента для двусторонней аутентификации.
  6. ServerHelloDone: Сервер сообщает о завершении своей части Handshake.
  7. Certificate (опционально): Клиент отправляет свой сертификат.
  8. ClientKeyExchange: Клиент отправляет зашифрованный с использованием публичного ключа сервера pre-master секрет, который используется для генерации сессионных ключей.
  9. CertificateVerify (опционально): Клиент проверяет подпись сервера.
  10. ChangeCipherSpec: Клиент и сервер сообщают о переходе на использование согласованных сессионных ключей.
  11. Finished: Финализация Handshake с обменом сообщений, зашифрованных новыми ключами, для проверки успешности процедуры.

TLS обеспечивает надежный уровень безопасности для сетевых коммуникаций, являясь стандартом для HTTPS и других протоколов, требующих защиты данных.