Протокол инкапсулирующей защиты ESP
Протокол инкапсулирующей защиты содержимого ESP (Encapsulating Security Payload) обеспечивает конфиденциальность, аутентичность, целостность и защиту от повторов для пакетов данных. Следует отметить, что конфиденциальность данных протокол ESP обеспечивает всегда, а целостность и аутентичность являются для него опциональными требованиями. Конфиденциальность данных обеспечивается путем шифрования содержимого отдельных пакетов. Целостность и аутентичность данных обеспечиваются на основе вычисления дайджеста.
Из приведенного перечня функций по защите информационного обмена видно, что функциональность протокола ESP шире, чем у протокола АН. Протокол ESP поддерживает все функции протокола АН по защите зашифрованных потоков данных от подлога, воспроизведения и случайного искажения, а также обеспечивает конфиденциальность данных.
В протоколе ESP функции аутентификации и криптографического закрытия могут быть задействованы либо вместе, либо отдельно друг от друга. При выполнении шифрования без аутентификации появляется возможность использования механизма трансляции сетевых адресов NAT (Network Address Translation), поскольку в этом случае адреса в заголовках IP-пакетов можно модифицировать [9].
Для решения своих задач протокол ESP использует заголовок формата, приведенного на рис. 12.5.
о
31
Индекс параметров защиты SPI
Порядковый номер SN
Данные (переменная длина)
Заполнитель PAD
Заполнитель PAD
Длина заполнителя
Следующий заголовок
Аутентификационные данные (переменная длина)
Рис. 12.5. Формат заголовка ESP
Заголовок ESP содержит следующие поля:
- • индекс параметров защиты SPI (Security Parameters Index) — используется совместно с адресом получателя и протоколом защиты (АН или ESP). Указывает соответствующее соглашение SA. Получатель использует это значение для определения соглашения о защите, с которым идентифицируется этот пакет;
- • порядковый номер SN (Sequence Number)— обеспечивает защиту от повторов для SA. Представляет собой 32-битное число, первоначально равное 1 и увеличивающееся с шагом 1. Оно не повторяется циклически и указывает номер пакета, отсылаемого по данному соглашению. Получатель проверяет это поле с целью удостовериться, что пакета с таким номером принято еще не было. Если же такой пакет уже был, он не принимается;
- • данные (Payload Data);
- • заполнитель (Padding) — дописывается от 0 до 255 байт для 32-битного выравнивания с размером блока шифра;
- • длина заполнителя (Padding Length) — указывает длину поля заполнителя в байтах;
- • следующий заголовок (Next Header) — указывает природу передаваемых данных (например, TCP или UDP);
- • аутентификационные данные (.Authentication Data) — содержат код проверки целостности ICV (Integrity Check Value) и код аутентичности сообщения, используемые для проверки подлинности отправителя и целостности сообщения. Значение ICV вычисляется для заголовка ESP, передаваемых данных и концевой метки ESP. Поле Authentication Data помещается в заголовок ESP только при включенной аутентификации.
Нетрудно заметить, что некоторые поля заголовка ESP аналогичны полям заголовка АН: Next Header, SPI, SN, Authentication Data. Но есть и два дополнительных поля — заполнитель (Padding) и длина заполнителя (Pad Length). Заполнитель может понадобиться в трех случаях. Во-первых, для нормальной работы некоторых алгоритмов шифрования необходимо, чтобы шифруемый текст содержал кратное число блоков определенного размера. Во-вторых, формат заголовка ESP требует, чтобы поле данных заканчивалось на границе четырех байтов. В-третьих, заполнитель можно использовать для сокрытия действительного размера пакета в целях обеспечения так называемой частичной конфиденциальности трафика, хотя протокол ESP ограничивает возможности маскировки 255 байтами заполнителя; это сделано для того, чтобы не слишком снижалась полезная пропускная способность канала связи из-за большого объема избыточных данных.
Как видно из рис. 12.5, заголовок делится на две части, разделяемые полем данных (полезная нагрузка — Payload Data). Первая часть, которая далее будет обозначаться как заголовок ESP, образуется двумя полями — SPI и SN — и размещается перед полем данных. Остальные служебные поля протокола ESP расположены в конце пакета. Непосредственно за полем данных следует так называемый трейлер, в который входят заполнитель (Padding), длина заполнителя (Pad Length), а также указатель на протокол следующего уровня (Next Header). Завершает пакет поле контроля целостности (Authentication Data). В том случае, когда при установлении безопасной ассоциации принято решение не использовать возможности ESP по обеспечению целостности, это поле отсутствует.
ПО перечисленных протоколов (утилиты шифрования, цифровой подписи и пр.) может функционировать на серверах или компьютерах конечных пользователей. Однако чаще его устанавливают на маршрутизаторах или специальных устройствах, которые в архитектуре IPSec именуются шлюзами безопасности (security gateway).
Протокол ESP также используют в двух режимах — транспортном и туннельном. На рис. 12.6 показано расположение ESP заголовка в туннельном и транспортном режимах [62].
В транспортном режиме зашифрованные данные транспортируются непосредственно между хостами. В транспортном режиме протокола ESP заголовок исходного ІР-пакета остается внешним. Заголовок ESP помещается в передаваемый пакет между заголовками протоколов третьего (ІР) и четвертого (например, ТСР) уровней. Следует заметить, что поля протокола Е5Р следуют после стандартного 1Р-заголовка, а это означает, что такой пакет может маршрутизироваться в сети с помощью обычного оборудования, поддерживающего ІР.
IP-пакет после применения протокола ESP в транспортном режиме
Заголовок исходного ІР-пакета |
Заголовок ESP |
Заголовок TCP (или UDP) |
Данные |
Трейлер ESP |
Данные аутентификации |
?- |
Зашифровано |
||||
Аутентифицировано -? |
ІР-пакет после применения протокола ESP в туннельном режиме
Заголовок внешнего ІР-пакета |
Заголовок ESP |
Заголовок исходного ІР-пакета |
Заголовок TCP (или UDP) |
Данные |
Трейлер ESP |
Данные аутентификации |
?- |
Зашифровано |
|||||
Аутентифицировано -? |
Рис. 12.6. IP -пакет после применения протокола ESP в транспортном
и туннельном режимах
Шифрованию подвергаются только данные исходного 1Р-па-кета (пакет верхнего уровня) и заключительная часть ESP заголовка (ESP trailer). В этом режиме ESP не шифрует заголовок ІР-пакета, иначе маршрутизатор не сможет прочитать поля заголовка и корректно осуществить продвижение пакета между сетями. В число шифруемых полей не попали также поля SP1 и SN, которые должны передаваться в открытом виде, для того чтобы прибывший пакет можно было отнести к определенной ассоциации SA и защититься от ложного воспроизведения пакета.
В отличие от протокола АН, контроль целостности и аутентичности данных в протоколе ESP не распространяется на заголовок исходного пакета, и по этой причине имеет смысл применять оба протокола совместно — ESP для шифрования, а АН для контроля целостности.
Таким образом, адресная информация (ІР-адреса отсылающей и принимающей сторон) видна при пересылке пакета по сети, и несанкционированное изменение этих IP-адресов не будет замечено.
В туннельном режиме основная роль отводится шлюзам безопасности, поскольку предполагается, что клиентские станции (или серверы) могут не поддерживать IPSec и отправляют в сеть обычный IP-трафик. Перед тем как достичь каналов глобальной сети, каждый исходный IP-пакет сначала попадает в шлюз, который помещает этот пакет целиком в «оболочку» IPSec, зашифровывая его содержимое вместе с исходным IP-заголовком. Чтобы обеспечить возможность маршрутизации получившегося пакета, шлюз снабжает его новым IP-заголовком и только после этого отправляет в сеть. Шлюз, находящийся на противоположном конце соединения, расшифровывает этот пакет и передает его на оконечное устройство в первоначальном виде. Описанная процедура называется туннелированием.
Из рис. 12.6 видно, что в туннельном режиме в качестве внешнего заголовка создается новый заголовок IP. Весь исходный IP-пакет (и данные и заголовок IP) и заключительная часть заголовка ESP (трейлер ESP) шифруются. Поэтому адресная информация исходного IP-пакета не доступна для просмотра. Заголовок внешнего IP-пакета протоколом ESP не защищается.
Туннелирование позволяет распространить действие средств защиты на сетевой уровень модели OSI и, в частности, скрыть истинные адреса источника и получателя. При этом уменьшается риск атак, основанных на детальном анализе трафика.
Сравнивая протоколы ESP и АН можно заметить, что они дублируют функциональность друг друга в области обеспечения аутентификации данных. Главным отличием протокола АН от ESP в данном вопросе является то, что протокол АН обеспечивает аутентификацию всего пакета (и IP заголовка и самих данных), в то время как протокол ESP аутентифицирует только данные из пакета (см. рис. 12.6). При шифровании в протоколе ESP используется симметричный секретный ключ, т. е. передаваемые данные зашифровываются и расшифровываются с помощью одного и того же ключа. Для протокола ESP также определен перечень обязательных алгоритмов шифрования — DES, MD5 и SHA-1.
При аутентификации данных протокол ESP использует те же алгоритмы НМАС, что и протокол АН (использующие MD5 или SHA-1 в качестве функции хеширования). Однако способы применения различаются (см. рис. 12.6).
В транспортном режиме:
- • протокол ЕБР аутентифицирует только данные из пакета, не затрагивая 1Р-заголовка;
- • протокол АН защищает и данные и оба заголовка.
В туннельном режиме:
- • аутентификация в ЕБР протоколе применяется к данным пакета и исходному 1Р-заголовку, но не затрагивает новый I Р-заголовок;
- • протокол АН аутентифицирует данные, АН-заголовок и оба 1Р-заголовка.
Протокол Е5Р может применяться отдельно или совместно с протоколом АН. При совместном использовании протоколы АН и ЕБР могут комбинироваться разными способами. Если используется транспортный режим, то аналогично тому, как в рамках Е8Р аутентификация идет следом за шифрованием, протокол АН должен применяться после протокола ЕБР. В туннельном режиме протоколы АН и Е5Р применяются к разным вложенным пакетам и, кроме того, допускается многократная вложенность туннелей с различными начальными и/или конечными точками.