Семейство протоколов IPSec
Назначение семейства протоколов IPSec
Рассмотрим архитектуру семейства протоколов IPSec. Цель данного семейства протоколов состоит в том, чтобы обеспечить различные сервисы безопасности на уровне IP для протоколов IPv4 и IPv6. Рассмотрим серви-сы безопасности, предоставляемые протоколами IPSec, и использование этих протоколов в сетях ТСР/IP.
Когда данные сервисы корректно установлены, они не мешают работе пользователей, хостов и других компонентов интернета, которые не применяют данные сервисы безопасности для защиты своего трафика. Эти сервисы являются алгоритмонезависимыми. Это означает возможность добавления новых криптографических алгоритмов без изменения самих протоколов. Например, различные группы пользователей могут использовать различные наборы алгоритмов.
Определен стандартный набор алгоритмов по умолчанию для обеспечения интероперабильности во всем интернете. Использование этих алгоритмов совместно с защитой трафика, предоставляемой IPSec, и протоколами управления ключа позволит разработчика систем и приложений обеспечить высокую степень криптографической безопасности.
IPSec может быть реализован как в ОС, так и в маршрутизаторе или межсетевом экране.
IPSec обеспечивает конфиденциальность, целостность данных, управление доступом и аутентификацию источника данных для IP-дейтаграмм. Эти сервисы предоставляются с помощью поддержки состояния между источником и получателем IP-дейтаграмм. Данное состояние определяет конкретные сервисы обеспечения безопасности на уровне дейтаграммы, используемые криптографические алгоритмы для предоставляемых сервисов и ключи для этих алгоритмов.
Перечислим основные задачи протоколов IPSec:
- Обеспечение криптографической защиты на уровне IP для протоколов IPv4 и IPv6, а именно обеспечение конфиденци-альности и целостности данных и целостности некоторой по-следовательности дейтаграмм.
- Обеспечение прозрачности для IP-трафика, для которого не требуется использование протоколов IPSec.
- Обеспечение расширяемости, т.е. возможности добавлять но-вые наборы алгоритмов без изменения самого протокола.
IPSec предназначен для безопасного взаимодействия с использованием криптографии для протоколов IPv4 и IPv6. Сервисы безопасности включают управление доступом, целостность и конфиденциальность данных и защиту от replay-атак, которая обеспечивается гарантированием целостности некоторой последовательности дейтаграмм. Эти сервисы предоставляются на уровне IP, обеспечивая защиту для IP-протокола и протоколов более высокого уровня.
IPSec поддерживает две формы целостности: целостность данных и целостность определенной последовательности дейтаграмм. Целостность данных обнаруживает модификацию конкретной IP-дейтаграммы, безотносительно последовательности дейтаграмм в потоке трафика. Целостность последовательности дейтаграмм является анти-reply сервисом, с помощью которого определяется получение дубликатов IP-дейтаграмм. Это отлича-ется от обеспечения целостности соединения, для которого существуют более строгие требования к целостности трафика, а именно, возможность определения потерянных или переупорядоченных сообщений.
Рассмотрим выполнение протоколов IPSec, основные компоненты системы и их взаимодействие для обеспечения сервисов безопасности.
IPSec выполняется на хосте (Host – H) или шлюзе безопасности (Security Gateway – SG), обеспечивая защиту IP-трафика. Термин "шлюз безопасности" используется для обозначения маршрутизатора, который реализует IPsec-протоколы.
Защита основана на требованиях, определенных в базе данных политики безопасности (Security Policy Database - SPD), устанавливаемой и поддерживаемой администратором. В общем случае пакеты обрабатываются одним из трех способов, основанных на информации IP-заголовка и транспортного уровня в соответствии с записями в SPD. Каждый пакет либо отбрасывается, либо пропускается без обработки, либо обрабатывается в соответствии с записью SPD для данного пакета.
Возможные способы реализации IPSec
Существует несколько способов реализации IPSec на хосте или совместно с маршрутизатором или межсетевым экраном (для создания шлюза безопасности).
- нтеграция IPSec в конкретную реализацию протокола IP. Это требует доступа к исходному коду IP и делается как на хостах, так и на шлюзах безопасности.
- "Bump-in-the-stack" (BITS) реализации, когда IPSec реализован "внизу" существующей реализации стека IP-протоколов, встраивая свою реализацию между стандартной реализацией IP-протоколов и локальными сетевыми драйверами. Доступа к исходному коду стека IP в данном случае не требуется. Данный подход обычно реализуется на хостах, когда IPSec реализован в виде подключаемой библиотеки.
- Использование внешнего криптопроцессора. Обычно это называется "Bump-in-the-wire" (BITW) реализацией. Такие реализации могут использоваться как на хостах, так и на шлюзах. Обычно BITW-устройства являются IP-адресуемыми.
Протоколы защиты трафика и понятие безопасной ассоциации
Предоставляемые IPSec сервисы по защите трафика реализуются с помощью двух протоколов обеспечения безопасного трафика: Authentication Header (AH) и Encapsulating Security Payload (ESP).
Для защиты трафика в IPSec определены следующие протоколы:
- Протокол Encapsulating Security Payload (ESP) обеспечивает конфиденциальность и целостность протоколов, расположенных выше в стеке протоколов и дополнительно может обеспечиваться анти-replay сервис, т.е. целостность некоторой последовательности дейтаграмм.
- Протокол Authentication Header (AH) обеспечивает целостность протоколов, расположенных выше в стеке протоколов и целостность отдельных полей IP-заголовка, которые не изменяются при пересылке от отправителя к получателю, дополнительно может обеспечиваться анти-replay сервис, т.е. целостность некоторой последовательности дейтаграмм. В IPSec v2 реализация данного протокола не является обязательной.
- Параметры этих протоколов определяются в протоколе распределения ключей Internet Key Exchange (IKE).
С трафиком, безопасность которого обеспечивается IPSec, связано понятие безопасной ассоциации (Security Association – SA). SA содержит всю информацию, необходимую для выполнения различных сетевых сервисов безопасности.
SA представляет собой симплексное (однонаправленное) логическое соединение, создаваемое между двумя конечными точками, для обеспечения безопасности которых используется один из протоколов IPSec. ESP и АН передают трафик по SA. Весь трафик, передаваемый по SA, обрабатывается в соответствии с политикой безопасности, заданной на концах соединения.
Опишем различные аспекты управления SA, определим возможные способы управления политикой безопасности, способы обработки трафика и управления SA.
SA определяет параметры сервисов безопасности, которые применяются к трафику. В обычном случае при двунаправленном соединении между двумя хостами или между двумя шлюзами безопасности требуется две SA (по одной на каждое направление).
Будем рассматривать SA только для одноадресных соединений.
Определены два режима SA: режим транспорта и режим туннелирования. Транспортный режим используется для создания VPN между двумя хостами. В IPv4 заголовок протокола безопасности транспортного режима появляется сразу после IP-заголовка. В протоколе ESP транспортный ре-жим SA обеспечивает сервисы безопасности только для протоколов более высокого уровня, но не для IP-заголовка. В случае АН защита распространяется также и на отдельные части IP-заголовка.
Другим режимом SA является режим туннелирования. Если одним из концов соединения является шлюз безопасности, то по стандартам IPSec SA обязательно должна выполняться в туннельном режиме, но многие производители допускают в этом случае как туннельный, так и транспортный режимы. Заметим, что когда трафик предназначен для шлюза безопасности, например, в случае ping- или SNMP-команд, шлюз безопасности рассматривается как хост, и как правило используется транспортный режим. Два хоста могут при необходимости устанавливать туннельный режим.
В туннельном режиме добавляется внешний IP-заголовок, адресами в котором являются шлюзы безопасности. Внутренний IP-заголовок указывает на конечные хосты. Заголовок протокола безопасности расположен после внешнего IP-заголовка и перед внутренним IP-заголовком. Если АН используется в туннельном режиме, части внешнего IP-заголовка являются защищенными, как и весь туннелируемый IP-пакет, т.е. все внутренние заголовки защищены, как и все протоколы более высокого уровня. Если применяется ESP, защита обеспечивается только для туннелируемого пакета, а не для внешнего заголовка.
Кратко подытожим:
- Хост может поддерживать оба режима, как транспортный, так и туннельный.
- Шлюз безопасности как правило использует только туннель-ный режим. Если он поддерживает транспортный режим, то этот режим как правило используется только тогда, когда без-опасный шлюз является получателем трафика, например, для управления сетью.
Набор реализуемых SA сервисов безопасности зависит от выбранного протокола безопасности, режима SA, конечных точек SA и выбора дополнительных сервисов в протоколе. Например, АН обеспечивает целостность исходных данных и целостность соединения для IP-дейтаграмм. "Детализированность" сервиса определяется степенью детализованности SA, для которой используется протокол.
На каждом сетевом интерфейсе, поддерживающим IPSec, должны создаваться две базы данных: БД Политики Безопасности (SPD) и БД Безопасных Ассоциаций (Security Association Database – SAD). Первая определяет политики, которые применяются для обработки всего IP-трафика. Вторая БД содержит параметры, которые связаны с каждой активной безопасной ассоциацией. Для обработки трафика определяется понятие Селектора, который задает множества значений полей протоколов более высокого уровня, используемых для определения соответствия записи в SPD конкретному трафику.
Для широкого использования IPSec требуется стандартный, масштабируемый протокол создания и управления SA. Таким протоколом является протокол Internet Key Exchange – IKE. Протокол состоит из двух фаз – фаза I и фаза II. Каждая фаза состоит из обмена несколькими сообщениями. Каждое сообщение в свою очередь состоит из нескольких содержимых (payload). В результате выполнения фазы I создается IKE SA. В результате выполнения фазы II создается одна или несколько ESP SA или AH SA.
Для описания форматов передаваемых сообщений используется стандарт, называемый "Безопасная Ассоциация Интернет и Протокол Управления Ключом - Internet Security Association and Key Management Protocol (ISAKMP)". ISAKMP определяет форматы пакетов для ведения переговоров об установлении, изменении и удалении SA.