TLC
Table of content
Common
TLC
- криптографический протокол, обеспечивающий безопасную передачу данных между хостами в Internet
- Функции:
- Аутентификация сервера и клиента. Т.е. то что мы подсоединились реально к тому серверу к которому планировали подсоединиться
- Шифрование и сжатие передаваемой информации
- Защита от подмены и проверка целостности сообщений. К примеру мы передали данные, злоумышленник не может их расшифровать, т.к. они зашифрованны, но при этом он мог бы дописать свои данные не будь у нас проверки целостности.
Установка TLS соединения
- Устанавливается после устновки
TCP
соединения и передаёт свои сообщения по нему.
ClientHello
- клиент указывает желаемые опции соединения.
ServerHello
- сервер подтверждает опции соединения.
Certificate
- сервер посылает клиенту свой сертификат.
- Клиент проверят сертификат. На данном этапе соединение может быть отключено.
ClientKeyExchange
- клиент отправляет серверу ключ симметричного шифрования (или параметры для его генерации). Один и тот же ключ генерируется как на клиенте так и на сервере, причём без передачи этого ключа по сети.
Finished
- сервер подтверждает завершение рукопожатия.
Минусы TLS соединения
- Нужно как минимум 2 round trip time + время на проверку сертификата.