В новой лекции по компьютерным сетям рассказываю, как выполняется установка соединения в протоколе TLS. Перед тем как передавать данные по TLS, клиент и сервер должны выполнить несколько предварительных действий:
- Договориться, какой набор шифров TLS будет использоваться для защиты данных.
- Проверить подлинность сервера, к которому подключается клиент (иногда сервер дополнительно проверяет подлинность клиента).
- Обменяться ключами симметричного шифрования и MAC.
Именно эти действия и выполняются в процессе соединения.
В лекции рассказываю, как устроена установка соединения в современной версии TLS 1.3. Для этого в TLS есть специальный Handshake Protocol, который работает поверх протокола записей (Record Protocol).
Также в TLS 1.3 есть сокращенный процесс установки соединения 0-RTT, который нужен для восстановления существующей сессии TLS. Если клиент и сервер ранее уже устанавливали соединения и обменивались ключами симметричного шифрования, то с помощью 0-RTT можно переиспользовать эти ключи и сразу в первом же сообщении отправлять зашифрованные данные. Однако это негативно влияет на безопасность.
Чтобы корректно закрыть соединение, клиент и сервер должны отправить друг другу сообщения close_notify протокола оповещений (Alert Protocol). В случае ошибки соединение разрывается в одностороннем порядке, при этом нужно отправить сообщение об ошибке Error Alert.
Если плохо работает YouTube, то можно смотреть в Дзен или VK.
Поддержать создание курса можно на Boosty или CloudTips.
Post #11817
79
Forwarded from Андрей Созыкин (Andrey Sozykin)
YouTube Протокол TLS: соединение | Компьютерные сети - 45 Лекция по процессу установки и разрыва соединения TLS. Как поддержать курс: - Boosty - https://boosty.to/asozykin - Cloudtips - https://pay.cloudtips.ru/p/45a4055b Заранее спасибо за помощь! Сайт курса - https://www.asozykin.ru/courses/networks_online…