Протокол TLS состоит из двух уровней: нижнего и верхнего. На нижнем уровне находится протокол Record, работающий поверх некоторого транспортного протокола (например, TCP) с гарантированной доставкой пакетов данных, который обеспечивает доставку сообщений с сохранением их очередности, отсутствием потерь и дублирований. Поверх протокола Record, в свою очередь, работают следующие протоколы: протокол Handshake, протокол Alert, протокол Change Cipher Spec и протокол Application Data.
Схема обмена данными в протоколе TLS изображена на рисунке 1.
Рисунок 1 - Схема обмена данными в протоколе TLS
Основное назначение протокола TLS - создание защищенного канала связи между двумя взаимодействующими сторонами, то есть обеспечение следующих свойств:
- аутентификация сторон: криптонаборы, описанные в настоящих рекомендациях, предоставляют возможность односторонней или двусторонней аутентификации сторон. Аутентификация клиента осуществляется за счет проверки подписи клиента; аутентификация сервера осуществляется за счет подтверждения обладания общим секретом с помощью закрытого ключа, соответствующего сертификату сервера;
- конфиденциальность: обеспечивается за счет шифрования передаваемой информации;
- целостность: обеспечивается за счет использования кодов аутентификации передаваемых сообщений.
Иерархия информационного обмена протокола TLS включает в себя сессии, соединения, поток сообщений различных типов, который разбивается на записи. В одной сессии может быть реализовано несколько соединений, произвольно разнесенных по времени.
Каждая сессия характеризуется следующими параметрами безопасности, которые согласовываются в ходе работы протокола Handshake (см. раздел 6) и остаются неизменными для каждого соединения в рамках данной сессии:
- идентификатор сессии;
- сертификат сервера;
- сертификат клиента (в случае двусторонней аутентификации);