Протокол инкапсулирующей защиты содержимого ESP
Протокол инкапсулирующей защиты содержимого ESP
Протокол инкапсулирующей защиты содержимого ESP поддерживает конфиденциальность, аутентификацию и целостность IP-пакетов. Конфиденциальность обеспечивается путем шифрования содержимого IP-пакетов, а также части заголовка и трейлера (хвостовой части) протокола ESP ; надежность шифрования зависит, прежде всего, от используемого алгоритма шифрования. Аутентификация источника данных и защита целостности осуществляется на основе HMAC (как и в протоколе AH ). Хотя сервисы конфиденциальности и аутентификации (который включает целостность) являются опциональными, в каждом контексте безопасности должен быть задан, по крайней мере, один сервис безопасности.
В качестве алгоритмов шифрования в протоколе ESP используются алгоритмы DES и Triple-DES, для вычисления HMAC применяется хэш-функция типа MD5 или SHA-1. Рис. 17.3 иллюстрирует типичные поля данных протокола ESP. Заголовок ESP содержит два поля: SPI и Sequence Number, их синтаксис и семантика совпадает с одноименными полями протокола AH. Трейлер ESP состоит из четырех полей: Padding, Pad Length, Next Header и Authentication Data.
Поле Padding (заполнитель) используется для того, чтобы размер шифруемых данных был кратен размеру криптографического блока.
Рис. 17.3. Поля данных протокола ESP
Поле Pad Length (длина заполнителя) характеризует размер заполнителя и зависит от используемого алгоритма шифрования и заданного уровня конфиденциальности IP-трафика.
Поле Next Header (следующий заголовок) содержит информацию о том, какой протокол более высокого уровня инкапсулируется при помощи ESP. В туннельном режиме это поле обычно содержит IP v4 или IP v6, а в транспортном режиме - TCP, UDP или ICMP.
Поле Authentication Data (аутентификационные данные) содержит значение HMAC для данного IP-пакета. Это поле имеет переменную длину, которая должна быть кратна 32 разрядам. Если аутентификация источника данных или защита целостности не требуется, то это поле отсутствует или имеет нулевую длину.
При передаче пакета его порядковый номер, указываемый в поле Sequence Number, увеличивается, а затем поля заголовка ESP, протокола более высокого уровня и трейлера ESP хэшируются для создания HMAC на основе общего секретного симметричного ключа. Затем поля протокола более высокого уровня и трейлер ESP (за исключением аутентификационных данных) шифруются; если необходим начальный вектор, то он предваряет шифртекст. После получения IP-пакета получателем выполняется расшифрование и расчет того же самого значения HMAC. Если вычисленное им значение HMAC не соответствует значению, полученному в трейлере ESP, то пакет не принимается. Кроме того, если контекст безопасности содержит информацию об использовании средства защиты от воспроизведения пакетов, то значение поля Sequence Number уменьшается на единицу, то есть восстанавливается прежнее значение счетчика IP-пакетов.