Протокол инкапсулирующей защиты содержимого 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-пакетов.
Протокол обмена ключами IKE
Широкое использование IPsec требует масштабируемого, автоматизированного управления контекстами безопасности. Формирование контекстов безопасности по запросу и использование средств защиты от воспроизведения пакетов в протоколах AH и ESP невозможно без работы протокола обмена ключами в Интернете IKE [147]. Протокол IKE разработан на основе протокола управления ключами и контекстами безопасности Интернета - Internet Security Associations and Key Management Protocol (ISAKMP) [146] и протокола вычисления ключей - OAKLEY Key Determination Protocol (OAKLEY) [148]. Протокол ISAKMP обеспечивает независимую от криптографического механизма аутентификацию и задает структуру обмена ключами. Протокол IKE базируется на функциональности протокола ISAKMP, а для формирования симметричного ключа использует возможности протокола OAKLEY. В качестве алгоритма согласования ключей применяется алгоритм Диффи-Хэллмана.
Работа протокола IKE выполняется за два этапа. На первом этапе устанавливается аутентифицируемый и шифруемый канал связи. Это требует формирования двух контекстов безопасности - по одному для связи в одном направлении. Для аутентификации сторон используются сертификаты открытых ключей подписи (в качестве алгоритма цифровой подписи применяется DSA). На втором этапе формируются контексты безопасности для AH и ESP.
Поддержка безопасности IP-уровня на основе PKI
Сертификаты служат главными компонентами аутентификации на основе IKE. Когда идентифицируется хост или защитный шлюз, наиболее предпочтительной формой идентификационных данных являются DNS-имена или IP-адреса, которые указываются в дополнении сертификата Subject Alternative Name (параметры dNSName и iPAddress соответственно). При идентификации пользователя рекомендуется использовать адрес электронной почты или обычное имя. Адрес электронной почты содержится в дополнении сертификата Subject Alternative Name, а обычное имя входит в состав отличительного имени субъекта. Невозможность связать идентичность субъекта с его открытым ключом делает аутентификацию невозможной. Неправильная аутентификация на основе протокола IKE может привести к ложному связыванию ключа и реализации IPsec, в результате неавторизованный пользователь (или даже группа компьютеров) может получить доступ, например, к виртуальной частной сети.
Сертификаты, предназначенные для защиты трафика Интернета, должны включать дополнение Key Usage, которое отражает соответствующее назначение открытого ключа, содержащегося в сертификате (например, цифровая подпись, если необходимо выполнять верификацию подписей). Кроме того, в дополнении сертификата Extended Key Usage должны явным образом указываться те приложения, для поддержки которых предназначен данный открытый ключ, в частности приложение IPsec.
Итак, сертификаты являются базовым компонентом сервисов безопасности, предоставляемых S/MIME, TLS и IPsec.
S/MIME при помощи сертификатов идентифицирует пользователей. Сервисы аутентификации, целостности, неотказуемости и конфиденциальности защищенной электронной почты зависят от сертификатов. Сертификаты поддерживают шифрование и заверение цифровой подписью почтовых сообщений.
TLS при помощи сертификатов идентифицирует пользователей и серверы. От сертификатов зависят сервисы аутентификации, целостности и конфиденциальности. Сертификаты поддерживают шифрование потока, аутентификацию потока и целостность потока.