Книга: Инфраструктуры открытых ключей
Средства безопасности 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.
Рис. 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-пакетов.
Протокол инкапсулирующей защиты содержимого 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 при помощи сертификатов идентифицирует пользователей и серверы. От сертификатов зависят сервисы аутентификации, целостности и конфиденциальности. Сертификаты поддерживают шифрование потока, аутентификацию потока и целостность потока.
IPsec при помощи сертификатов идентифицирует пользователей, хосты и шлюзы безопасности. От сертификатов зависят сервисы аутентификации. На базе сертификатов выполняется взаимная аутентификация взаимодействующих сторон при обмене открытыми ключами Диффи-Хэллмана, которые, в свою очередь, используются для безопасного распределения симметричных секретных ключей. Секретные ключи обеспечивают поддержку аутентификации, целостности и конфиденциальности IP-пакетов.
- Параметры безопасности Internet Explorer
- Изменение минимального уровня зон Интернета
- Поддержка безопасности IP-уровня на основе PKI
- Средства безопасности транспортного уровня
- Поддержка безопасности транспортного уровня на основе PKI
- 3.3 Технологии CIFS и SMB
- 4.10. Сетевой экран
- 15.3. Процесс
- 4.15 Другие технологии локальных сетей
- 1.3. Информационная безопасность в условиях функционирования в России глобальных сетей
- 4.21 Frame Relay
- Уровни политики: машина, пользователь и предприятие