Выбрать главу

Средства безопасности IP-уровня

Совокупность механизмов IPsec обеспечивает основу для защиты сетевого трафика на IP-уровне, безопасности IP-пакетов, защищенного взаимодействия мобильных систем с корпоративной сетью, реализации виртуальных частных сетей (Virtual Private Networks - VPN) и т.п. Семейство спецификаций IPsec представлено серией из 10 документов, разработанных рабочей группой IP Security Protocol организации IETF и содержащих сведения об архитектуре IPsec [143], формировании контекстов безопасности, управлении ключами и базовых протоколах. Ядро IPsec составляют три протокола: протокол аутентифицирующего заголовка (Authentication Header, AH) [144], протокол инкапсулирующей защиты содержимого (Encapsulating Security Payload, ESP) [145] и протокол обмена ключами в Интернете (Internet Key Exchange, IKE) [147]. Функции по поддержанию защищенного канала передачи данных по сетям IP распределяются между этими протоколами следующим образом:

* протокол AH обеспечивает целостность IP-пакетов, аутентификацию источника данных, а также защиту от воспроизведения ранее переданных IP-пакетов;

* протокол ESP поддерживает конфиденциальность, аутентификацию и целостность IP-пакетов, а также частичную защиту от анализа трафика;

* протокол IKE позволяет взаимодействующим сторонам автоматически генерировать и безопасно распределять симметричные секретные ключи.

Контексты безопасности

Контексты безопасности (Security Associations) образуют основу криптографических сервисов безопасности на базе протоколов IPsec. Для защиты двусторонней связи между узлами сети необходимы два контекста безопасности: один - для входящих потоков, другой - для исходящих. Контексты безопасности содержат информацию об IP-адресах, типе защитного протокола ( AH или ESP ), криптографических алгоритмах, ключах для аутентификации и шифрования и периоде их действия.

Контекст безопасности уникально идентифицируется тремя элементами:

* индексом параметров безопасности ( Security Parameters Index - SPI );

* целевым IP-адресом;

* идентификатором защитного протокола.

Итак, индекс SPI - это идентификатор контекста безопасности, который указывается в протоколе AH или ESP. Целевой IP-адрес идентифицирует соединение IPsec, он может быть индивидуальным или групповым адресом либо диапазоном адресов. В настоящее время обмен ключами IKE реализован только для индивидуальных адресов, а для групповых адресов или диапазонов распределение ключей выполняется вручную.

| | Хост | Маршрутизатор или межсетевой экран |

|Хост | Транспортный режим или туннельный режим | Туннельный режим |

|Маршрутизатор или межсетевой экран | Туннельный режим | Туннельный режим |

Таблица 17.1.Режимы, используемые для разных типов соединений

Протоколы обеспечения аутентичности и конфиденциальности могут применяться в двух режимах: транспортном и туннельном. Обычно транспортный режим используется хостами, при этом защищается только содержимое IP-пакетов и опционально - некоторые поля заголовков. В туннельном режиме защищается весь пакет: он инкапсулируется в другой IP-пакет, при этом происходит как бы "обертывание", или заключение в конверт, передаваемой порции данных [6]. Туннельный режим обычно реализуют на специально выделенных защитных шлюзах, в роли которых могут выступать маршрутизаторы или межсетевые экраны (см. рис. 17.1).

Стеки протоколов в разных режимах

Рис. 17.1.  Стеки протоколов в разных режимах

В транспортном режиме заголовок протокола ( AH или ESP ) располагается в стеке протоколов после заголовка исходного IP-пакета и перед заголовками протоколов более высокого уровня [70]. В туннельном режиме заголовок протокола ( AH или ESP ) располагается в стеке протоколов между двумя заголовками: после заголовка внешнего IP-пакета и перед заголовком внутреннего исходного IP-пакета (см. рис. 17.1).

Протокол аутентифицирующего заголовка AH

протокол аутентифицирующего заголовка AH обеспечивает:

* целостность IP-пакетов, данных протоколов более высокого уровня и определенных полей IP-заголовков;

* аутентификацию источника данных (на основе IP-адреса узла сети или имени конечного пользователя);

* защиту от ложного воспроизведения ранее переданных IP-пакетов.

Контроль целостности базируется на проверке кода аутентификации хэшированного сообщения Hashed Message Authentication Code (HMAC), вычисляемого при помощи хэш-функции MD5 или SHA-1 с секретным симметричным ключом, который известен обеим взаимодействующим сторонам.

Рис. 17.2 иллюстрирует типичные поля данных протокола AH. Протокол содержит пять полей: Next Header, Length, SPI, Sequence Number и Authentication Data.

Поля данных протокола AH

Рис. 17.2.  Поля данных протокола AH

Поле Next Header (следующий заголовок) указывает, какой протокол более высокого уровня инкапсулируется при помощи AH. В туннельном режиме это поле обычно содержит IP v4 или IP v6, а в транспортном режиме - TCP, UDP или ICMP.

Поле Length (длина) задает размер заголовка протокола AH. Размер зависит от типа используемой хэш-функции, значение HMAC содержится в единственном поле переменной длины.

Поле SPI (индекс параметров безопасности) содержит 32-разрядное произвольное значение, которое идентифицирует контекст безопасности.

Поле Sequence Number (порядковый номер) используется для задания значения счетчика IP-пакетов (32-разрядного монотонно возрастающего) и защиты от воспроизведения пакетов. Отправитель пакета должен задавать это значение, а получатель пакета может либо обрабатывать его, либо игнорировать.

Поле Authentication Data (аутентификационные данные) содержит значение HMAC для данного IP-пакета. Это поле имеет переменную длину, которая должна быть кратна 32 разрядам.

При передаче пакета его порядковый номер, указываемый в поле Sequence Number, увеличивается, а затем поля IP-заголовка и протокола более высокого уровня хэшируются для создания HMAC на основе общего секретного симметричного ключа. После получения IP-пакета получателем выполняется та же самая последовательность операций. Если вычисленное им значение HMAC не соответствует значению, полученному по протоколу AH, то пакет не принимается. Кроме того, если контекст безопасности содержит информацию о применении средства защиты от воспроизведения пакетов, то значение поля Sequence Number уменьшается на единицу, то есть восстанавливается прежнее значение счетчика IP-пакетов.