147
правок
Изменения
SSL/TLS
,→Устройство протокола SSL
== Устройство протокола SSL ==
[[Файл:SSL on top of TCP.png|right|Фаза рукопожатия]]
Протокол SSL размещается между двумя протоколами: протоколом, который использует программа-клиент ([https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol HTTP], [https://en.wikipedia.org/wiki/File_Transfer_Protocol FTP], [https://en.wikipedia.org/wiki/Lightweight_Directory_Access_Protocol LDAP], [https://en.wikipedia.org/wiki/Telnet TELNET etc] и т.д.) и транспортным протоколом [https://en.wikipedia.org/wiki/Internet_protocol_suite TCP/IP]. SSL защищает данные, выступая в роли фильтра для обеих сторон и передает их далее на транспортный уровень.
Работу протокола можно разделить на два уровня:
* Протокол изменения параметров шифра (Cipher Spec Protocol)
* Предупредительный протокол (Alert Protocol)
Протокол подтверждения подключения производит цепочку обмена данными, что в свою очередь начинает аутентификацию сторон и согласовывает шифрование, хэширование и сжатие. Следующий этап — аутентификация участников, которая осуществляется также протоколом подтверждения подключения.
Протокол изменения параметров шифра используется для изменения данных ключа (keyingmaterialkeying material) — информации, которая используется для создания ключей шифрования. Протокол состоит всего из одного сообщения, в котором сервер говорит, что отправитель хочет изменить набор ключей.
Предупредительный протокол содержит сообщение, которое показывает сторонам изменение статуса или сообщает о возможной ошибке. Обычно предупреждение отсылается тогда, когда подключение закрыто и получено неправильное сообщение, сообщение невозможно расшифровать или пользователь отменяет операцию.
=== Протокол записи ===
Протокол записи (Record Layer) — это уровневый протокол. На каждом уровне сообщения включают поля для длины, описания и проверки. Протокол записи принимает сообщения, которые нужно передать, фрагментирует данные в управляемые блоки, разумно сжимает данные, применяя MAC (message authentication code), шифрует и передаёт результат. Полученные данные он расшифровывает, проверяет, распаковывает, собирает и доставляет к более верхним уровням клиента.
Существует четыре протокола записи:
* Протокол рукопожатия (handshake protocol);