Субпротоколы SSL

Протокол SSL состоит из четырех субпротоколов (далее - просто протоколы):

· Handshake,

· Record,

· ChangeCipherSpec (CCS),

· Alert.

Ha рис. 3 отражено их взаимодействие. Протокол Record находится непосредственно поверх транспортного слоя TCP, в то время как остальные три протокола - между слоем Record и приложением.

Рис. 3.Стек субпротоколов SSL

Протокол Handshake (рукопожатие) отвечает за аутентификацию сторон, за установление параметров алгоритмов шифрования и хеширования, а также за обмен секретным ключом PreMasterSecret. Функция протокола CCS - сигнализировать слою Record о любых изменениях в параметрах безопасности. Наконец, протокол Alert отражает ошибки, обнаруженные при проверке сообщения, так же как и любые проблемы совместимости, которые могут возникнуть при инициализации с помощью Handshake. Протокол Record применяет все установленные при инициализации параметры безопасности для защиты данных приложения, а также сообщений протоколов Handshake, CCS и Alert.

2. Обмін даними в SSL

Обмен осуществляется в два этапа.

    1. На предварительном этапе происходит идентификация сторон, согласование используемых криптографических атрибутов, генерация и разделение ключей.
    2. При обмене данными безопасность зависит от алгоритмов и параметров, установленных на предварительном этапе.

В любой момент сохраняется возможность появления сигнала о вторжении в обмен данными или об ошибке.

SSL реализует идею приведения пользовательского сеанса TCP/IP к новому уровню безопасности. Всякий раз, когда клиент подсоединяется к серверу, начинается сеанс SSL. Если клиент подсоединится к другому серверу, новый сеанс начинается без разрыва прежнего сеанса. Если клиент позже вернется к первому серверу и захочет, чтобы соединение возобновилось с использованием ранее установленных параметров, будет передан запрос о возобновлении ранее установленного сеанса вместо инициализации нового. Таким образом, сеанс SSL - это связь между двумя сущностями, имеющими определенный набор параметров и криптографических атрибутов. Для ограничения риска атаки перехвата сообщений и повтора спецификация SSL предполагает ограничение времени действия идентификатора сеанса в течение 24 часов; однако реальная длительность сеанса определяется сервером. Прерванный сеанс может быть возобновлен, только если были использованы специальные процедуры приостановки сеанса.

В первоначальной концепции соединения SSL была заложена возможность изменять некоторые атрибуты сеанса (например, ключ) без влияния на другие атрибуты, установленные в начале сеанса. Сеанс может содержать несколько соединений под управлением приложений. Концепция сеансов SSL может быть проиллюстрирована с помощью переменных состояния и связанных с ними параметров безопасности.

Переменные состояния сеанса SSL. Сеанс SSL однозначно идентифицируется с помощью шести переменных состояния.

· Session ID - идентификатор сеанса, являющийся случайной последовательностью 32 октетов, для идентификации нового или возобновляемого сеанса.

· Сертификат узла (peer certificate) - сертификат X.509.v3 корреспондента, участвующего в сеансе. Значение сертификата может быть null, если корреспондент не сертифицирован или используется алгоритм Fortezza.

· Метод сжатия. Протокол SSL позволяет устанавливать алгоритм сжатия передаваемых данных перед их шифрованием.

· Спецификация шифра (cipher spec), которая определяет алгоритмы шифрования и хеширования, используемые помимо списка заранее обговоренных алгоритмов.

· Главный ключ (MasterSecret) длиной 48 байтов, общий для клиента и сервера (разделяемый клиентом и сервером). Используется для генерации всех остальных ключей; остается действительным на все время сеанса.

· Флаг возобновления (is resumable), определяющий возможность использования сеанса для открытия новых соединений.

Пять элементов определяют набор и параметры криптоалгоритмов (Cipher Suite).

· Тип шифрования - поточный или блочный алгоритм.

· Алгоритм шифрования ‑ RC2, RC4, DES, 3DES с различными длинами ключа или Fortezza (используется в США). Отметим, что также сохраняется возможность не шифровать обмен.

· Алгоритм хеширования — MD5, SHA-1 или без хеширования.

· Размер хеш-образа (16 байт - для MD5, 20 байт - для SHA-1).

· Двоичное значение (IsExportable), определяющее возможность экспорта алгоритма за пределы США (в соответствии с законодательством США).

Эти элементы определяются при установлении сеанса. В таблице 3 перечислены алгоритмы, поддерживаемые протоколом SSL, таблица 4 содержит используемые комбинации Cipher Suite.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: