Информация. ИНФОРМАЦИОННАЯ БЕЗОПАСНОСТЬ. В. Ф. Шаньгининформационная безопасность компьютерных систем
![]()
|
Глава 12 ЗАЩИТА НА СЕТЕВОМ УРОВНЕ — ПРОТОКОЛ IPSEC Радикальное устранение уязвимостей компьютерных сетей возможно при создании системы защиты не для отдельных клас сов приложений, а для сети в целом. Применительно к ІР-сетям это означает, что системы защиты должны действовать на сетевом уровне модели OSI. Преимущество такого выбора заключается в том очевидном факте, что в IP-сетях именно сетевой уровень от личается наибольшей гомогенностью: независимо от вышележа щих протоколов, физической среды передачи и технологии ка нального уровня транспортировка данных по сети не может быть произведена в обход протокола IP. Поэтому реализация защиты сети на третьем уровне автоматически гарантирует как минимум такую же степень защиты всех сетевых приложений, причем без какой-либо модификации последних. При формировании защищенных виртуальных каналов на сетевом уровне модели OSI достигается оптимальное соотноше ние между прозрачностью и качеством защиты. Размещение средств защиты на сетевом уровне делает их прозрачными для приложений, так как между сетевым уровнем и приложением функционирует реализация протокола транспортного уровня. Для пользователей процедуры защиты оказываются столь же прозрачными, как и сам протокол IP. На сетевом уровне сущест вует возможность достаточно полной реализации функций за щиты трафика и управления ключами, поскольку именно на се тевом уровне выполняется маршрутизация пакетов сообщений. Стек протоколов IPSec используется для аутентификации участников обмена, туннелирования трафика и шифрования IP-пакетов. Основное назначение протокола IPSec (Internet Pro tocol Security) — обеспечение безопасной передачи данных по се тям IP. Поскольку архитектура IPSec совместима с протоколом IPv4, ее поддержку достаточно обеспечить на обоих концах со единения; промежуточные сетевые узлы могут вообще ничего «не знать» об IPSec. Протокол IPSec может защищать трафик как те кущей версии протокола IPv4, применяемой сегодня в Internet, так и трафик новой версии IPv6, которая постепенно внедряется в Internet. 12.1. Архитектура средств безопасности IPSec Основное назначение протоколов IPSec — обеспечение безо пасной передачи данных по сетям IP. Применение IPSec гаран тирует: • целостность передаваемых данных (т. е. данные при пере даче не искажены, не потеряны и не продублированы); • аутентичность отправителя (т. е. данные переданы именно тем отправителем, который доказал, что он тот, за кого себя выдает); • конфиденциальность передаваемых данных (т. е. данные передаются в форме, предотвращающей их несанкциони рованный просмотр). Следует отметить, что обычно в понятие безопасности дан ных включают еще одно требование — доступность данных, что в рассматриваемом контексте можно интерпретировать как га рантию их доставки. Протоколы IPSec не решают данную зада чу, оставляя ее протоколу транспортного уровня TCP. Стек про токолов IPSec обеспечивает защиту информации на сетевом уровне, что делает эту защиту невидимой для работающих при ложений. Фундаментальной единицей коммуникации в IP-сетях явля ется ІР-пакет. IP-пакет содержит S-адрес источника и D-адрес получателя сообщения, транспортный заголовок, информацию о типе данных, переносимых в этом пакете, и сами данные (рис. 12.1). ІР-заголовок Транспортный I TCP- или UDP- Данны S-адрес D-адрес заголовок Рис. 12.1. Структура ІР-пакета Пользователь воспринимает сеть как надежно защищенную среду только в том случае, если он уверен, что его партнер по обмену — именно тот, за кого он себя выдает (аутентификация сторон), что передаваемые пакеты не просматриваются посто ронними лицами (конфиденциальность связи) и что получаемые данные не подверглись изменению в процессе передачи (целост ность данных). Для того чтобы обеспечить аутентификацию, конфиденци альность и целостность передаваемых данных стек протоколов IPSec построен на базе стандартизованных криптографических технологий: • обмена ключами согласно алгоритму Диффи — Хеллмана для распределения секретных ключей между пользователя ми в открытой сети; • криптографии открытых ключей для подписывания обме нов Диффи — Хеллмана, чтобы гарантировать подлинность двух сторон и избежать атак типа «man-in-the-middle»; • цифровых сертификатов для подтверждения подлинности открытых ключей; • блочных симметричных алгоритмов шифрования данных; • алгоритмов аутентификации сообщений на базе функций хэширования. Протокол IPSec определяет стандартные способы защиты информационного обмена на сетевом уровне модели OSI для IP-сети, являющейся основным видом окрытых сетей. Данный протокол входит в состав новой версии протокола IP (IPv6) и применим также к его текущей версии (IPv4). Для протокола IPv4 поддержка IPSec является желательной, а для IPv6 — обяза тельной. Протокол IPSec представляет собой систему открытых стандартов, которая имеет четко очерченное ядро, и в то же вре мя позволяет дополнять ее новыми протоколами, алгоритмами и функциями. Стандартизованными функциями IPSec-защиты мо гут пользоваться протоколы более высоких уровней, в частности, управляющие протоколы, протоколы конфигурирования, а так же протоколы маршрутизации. Основными задачами установления и поддержания защи щенного канала являются следующие: • аутентификация пользователей или компьютеров при ини циации защищенного канала; • шифрование и аутентификация передаваемых данных меж ду конечными точками защищенного канала; • обеспечение конечных точек канала секретными ключами, необходимыми для работы протоколов аутентификации и шифрования данных. Для решения перечисленных задач система IPSec использует комплекс средств безопасности информационного обмена. Большинство реализаций протокола IPSec имеют следующие компоненты. Основной протокол IPSec. Этот компонент реализует прото колы ESP и АН. Он обрабатывает заголовки, взаимодействует с БД SPD и SAD для определения политики безопасности, приме няемой к пакету. Протокол управления обменом ключевой информации ІКЕ (Internet Key Exchange). IKE обычно представляется как процесс пользовательского уровня, за исключением реализаций, встроен ных в ОС. База данных политик безопасности SPD (Security Policy Database). Это один из важнейших компонентов, поскольку он определяет политику безопасности, применяемую к пакету. SPD используется основным протоколом IPSec при обработке входя щих и исходящих пакетов. База данных безопасных ассоциаций SAD (Security Association Database). БД SAD хранит список безопасных ассоциаций SA (Security Association) для обработки входящей и исходящей ин формации. Исходящие SA используются для защиты исходящих пакетов, а входящие SA используются для обработки пакетов с заголовками IPSec. БД SAD заполняется SA вручную или с по мощью протокола управления ключами ІКЕ. Управление политикой безопасности и безопасными ассоциа циями SA. Это — приложения, которые управляют политикой безопасности и SA [9]. Основной протокол IPSec (реализующий ESP и АН) тесно взаимодействует с транспортным и сетевым уровнем стека прото колов TCP/IP. Фактически протокол IPSec является частью сете вого уровня. Основной модуль протокола IPSec обеспечивает два интерфейса: входной и выходной. Входной интерфейс использу ется входящими пакетами, а выходной — исходящими. Реализа ция IPSec не должна зависеть от интерфейса между транспорт ным и сетевым уровнем стека протоколов TCP/IP. БД SPD и SAD существенно влияют на эффективность рабо ты IPSec. Выбор структуры данных для хранения SPD и SAD яв ляется критическим моментом, от которого зависит производи тельность IPSec. Особенности реализации SPD и SAD зависят от требований производительности и совместимости системы. Все протоколы, входящие в IPSec, можно разделить на две группы: 1) протоколы, непосредственно производящие обработку пе редаваемых данных (для обеспечения их защиты); 2) протоколы, позволяющие автоматически согласовать па раметры защищенных соединений, необходимые для протоколов 1-й группы. Архитектура средств безопасности IPSec представлена на рис. 12.2. Рис. 12.2. Архитектура стека протоколов IPSec На верхнем уровне расположены 3 протокола, составляющих ядро IPSec: • протокол согласования параметров виртуального канала и управления ключами IKE (Internet Key Exchange), опре деляющий способ инициализации защищенного канала, включая согласование используемых алгоритмов криптоза щиты, а также процедуры обмена и управления секретны ми ключами в рамках защищенного соединения; • протокол аутентифицирующего заголовка АН (Authenti cation header), обеспечивающий аутентификацию источни ка данных, проверку их целостности и подлинности после приема, а также защиту от навязывания повторных сооб щений; • протокол инкапсулирующей защиты содержимого ESP (Encapsulating Security Payload), обеспечивающий крипто графическое закрытие, аутентификацию и целостность пе редаваемых данных, а также защиту от навязывания по вторных сообщений. Разделение функций защиты между двумя протоколами АН и ESP обусловлено применяемой во многих странах практикой ограничения экспорта и/или импорта средств, обеспечивающих конфиденциальность данных путем шифрования. Каждый из протоколов АН и ESP может использоваться как самостоятель но, так и совместно с другим. Из краткого перечисления функ ций протоколов АН и ESP видно, что возможности этих прото колов частично перекрываются. Протокол АН отвечает только за обеспечение целостности и аутентификации данных, в то время как протокол ESP является более мощным, поскольку может шифровать данные, а кроме того, выполнять функции протокола АН (хотя, как увидим позд нее, аутентификация и целостность обеспечиваются им в не сколько урезанном виде). Протокол ESP может поддерживать функции шифрования и аутентификации/целостности в любых комбинациях, т. е. либо и ту и другую группу функций, либо только аутентификацию/це лостность, либо только шифрование. Средний уровень архитектуры IPSec образуют алгоритмы со гласования параметров и управления ключами, применяемые в протоколе ІКЕ, а также алгоритмы аутентификации и шифрова ния, используемые в протоколах аутентифицирующего заголовка АН и инкапсулирующей защиты содержимого ESP. Следует отметить, что протоколы защиты виртуального кана ла верхнего уровня архитектуры IPSec (АН и ESP) не зависят от конкретных криптографических алгоритмов. За счет возможно сти использования большого числа разнообразных алгоритмов аутентификации и шифрования IPSec обеспечивает высокую сте пень гибкости организации защиты сети. Гибкость IPSec состоит в том, что для каждой задачи предлагается несколько способов ее решения. Выбранные методы для одной задачи обычно не зави сят от методов реализации других задач. Например, выбор для шифрования алгоритма AES не влияет на выбор функции вычис ления дайджеста, используемого для аутентификации данных. Нижний уровень архитектуры IPSec образует так называемый домен интерпретации DOI (Domain of Interpretation). Необходи мость применения домена интерпретации DOI обусловлена сле дующими причинами. Протоколы АН и ESP имеют модульную структуру, допуская применение пользователями по их согласо ванному выбору различных криптографических алгоритмов шифрования и аутентификации. Поэтому необходим модуль, ко торый мог бы обеспечить совместную работу всех применяемых и вновь включаемых протоколов и алгоритмов. Именно такие функции возложены на домен интерпретации DOI. Домен интер претации DOI в качестве БД хранит сведения об используемых в IPSec протоколах и алгоритмах, их параметрах, протокольных идентификаторах и т. п. По существу, он выполняет роль фунда мента в архитектуре IPSec. Для того чтобы использовать алгорит мы, соответствующие национальным стандартам в качестве алго ритмов аутентификации и шифрования в протоколах АН и ESP, необходимо зарегистрировать эти алгоритмы в домене интерпре тации DOI [9]. 12.2. Защита передаваемых данных с помощью протоколов АН и ESP Протокол аутентифицирующего заголовка АН и протокол инкапсулирующей зашиты содержимого ESP могут работать в туннельном или транспортном режимах. Для выполнения своих задач по обеспечению безопасной передачи данных протоколы АН и ESP включают в обрабатываемые ими пакеты дополнитель ную служебную информацию, оформляя ее в виде заголовков. 1 2 .2 .1 . Прот окол аутентифицирующего заголовка А Н Протокол аутентифицирующего заголовка АН (Authentication Header) обеспечивает проверку аутентичности и целостности IP-пакетов, а также защиту от воспроизведения ранее посланных ІР-пакетов. Протокол АН позволяет приемной стороне убедиться, что: • пакет был отправлен именно той стороной, с которой уста новлена данная ассоциация; • содержимое пакета не подверглось искажениям в процессе передачи его по сети; • пакет не является дубликатом некоторого пакета, получен ного ранее. Протокол АН полностью защищает от подлога и искажения содержимое IP-пакетов, включая данные протоколов более вы соких уровней. Полнота защиты полей IP-заголовков зависит от используемого режима работы — туннельного или транспортно го. Однако протокол АН не обеспечивает конфиденциальность передаваемых данных, т. е. не предназначен для их шифрования. Данные могут быть прочитаны промежуточными узлами, но не могут быть изменены. Целостность и аутентичность данных обеспечиваются добавлением аутентифицирующего заголовка (АН) перед заголовком IP и заголовком транспортного уровня (TCP/UDP). Формат заголовка АН показан на рис. 12.3. О 16 31 Следующий заголовок Длина Зарезервировано Индекс параметров защиты SPI Порядковый номер SN Аутентификационные данные (переменная длина) Рис. 12.3. Формат заголовка АН Заголовок АН включает в себя поля: • следующий заголовок (Next Header) — однобайтовое поле, содержащее код протокола следующего заголовка, вложен ного в IPSec-пакет, например код протокола TCP или ESP, чей заголовок следует за АН; • длина (Payload Leri) — указывает длину заголовка АН в 32-битных словах; • индекс параметров защиты SPI (Security Parameters Index) — представляет собой 32-разрядную метку безопасной ассо циации SA (Security Association), содержащей все парамет ры туннеля IPSec, включая типы криптографических алго ритмов и ключи шифрования. На основании индекса SPI пакет будет правильно отнесен к одной из существующих ассоциаций в приемном шлюзе (или хосте). Если же актив ной ассоциации, на которую указывает метка SPI, не суще ствует, то пакет просто отбрасывается; • порядковый номер SN (Sequence Number) — беззнаковое 32-битное число, увеличиваемое на единицу после передачи каждого защищенного по протоколу АН IP-пакета. Обеспе чивает защиту от ложного воспроизведения ранее послан ных IP-пакетов. При формировании каждого защищенного сеанса информационного обмена в рамках туннеля IPSec взаимодействующие стороны делают свои счетчики нуле выми, а потом согласованным образом увеличивают их. Получатель проверяет это поле с целью удостовериться, что пакета с таким номером принято еще не было. Если же та кой пакет уже был, он не принимается; • аутентификационные данные (Authentication Data) — поле переменной длины, содержащее информацию, используе мую для аутентификации пакета и называемую МАС-кодом (Message Authentication Code). Это поле называют также цифровой подписью, дайджестом или кодом проверки целост ности — ІСѴ (Integrity Check Value) пакета. Содержимое поля Authentication Data вычисляется с помощью одного из двух обязательно поддерживаемых протоколом АН алго ритмов HMAC-MD5 и HMAC-SHA1, основанных на при менении односторонних хэш-функций с секретными клю чами. Длина дайджеста зависит от выбранного алгоритма, поэтому это поле имеет в общем случае переменный раз мер. Наиболее часто используемый алгоритм HMAC-MD5 порождает 16-байтный дайджест. Протокол АН защищает весь IP-пакет за исключением неко торых полей в IP-заголовке, таких как время жизни (TTL) и тип службы (Type of Service), которые могут меняться в процессе пе редачи пакета в сети. Заметим, что протокол АН обеспечивает защиту от изменений IP-адресов в заголовке пакета. Протокол аутентификации АН создает своеобразный конверт, обеспечи вающий аутентификацию источника данных, их целостность и защиту от навязывания повторных сообщений. Местоположение заголовка АН в пакете зависит от того, в каком режиме — транспортном или туннельном — сконфигури рован защищенный канал. На рис. 12.4 показано расположение AH-заголовка относительно IP-заголовка в обоих режимах. В транспортном режиме заголовок исходного IP-пакета ста новится внешним заголовком, за ним следует заголовок АН, а затем все данные защищаемого пакета (т. е. пакет протокола верхнего уровня). Протокол АН защищает весь полученный та- IP-пакет после применения протокола АН в транспортном режиме Заголовок_исходного_!Р-пакета_Заголовок_АН_Заголовок_TCP_(или_UDP)_Данны_Аутентифицировано'>Заголовок исходного !Р-пакета Заголовок АН Заголовок TCP (или UDP) Данны Аутентифицировано IP-пакет после применения протокола АН в туннельном режиме Заголовок внешнего ІР-пакета Заголовок АН Заголовок исходного ІР-пакета Заголовок TCP (или UDP) Данные Аутентифицировано Рис. 12.4. IP-пакет после применения протокола АН в транспортном |