notes

TLC

Table of content

Common

  1. TLC - криптографический протокол, обеспечивающий безопасную передачу данных между хостами в Internet
  2. Функции:
    • Аутентификация сервера и клиента. Т.е. то что мы подсоединились реально к тому серверу к которому планировали подсоединиться
    • Шифрование и сжатие передаваемой информации
    • Защита от подмены и проверка целостности сообщений. К примеру мы передали данные, злоумышленник не может их расшифровать, т.к. они зашифрованны, но при этом он мог бы дописать свои данные не будь у нас проверки целостности.

Установка TLS соединения

TLS handshake

  1. ClientHello - клиент указывает желаемые опции соединения.
  2. ServerHello - сервер подтверждает опции соединения.
  3. Certificate - сервер посылает клиенту свой сертификат.
  4. Клиент проверят сертификат. На данном этапе соединение может быть отключено.
  5. ClientKeyExchange - клиент отправляет серверу ключ симметричного шифрования (или параметры для его генерации). Один и тот же ключ генерируется как на клиенте так и на сервере, причём без передачи этого ключа по сети.
  6. Finished - сервер подтверждает завершение рукопожатия.

Минусы TLS соединения

  1. Нужно как минимум 2 round trip time + время на проверку сертификата.