IPSec — одна из важнейших технологий обеспечения безопасности, получившая широкое распространение в виртуальных частных сетях. Но в чем заключаются ее сильные и слабые стороны и как работает этот комплект протоколов?

Протокол IPSec изначально разрабатывался как часть IPv6, наследника являющегося сегодня стандартом сетевого протокола IPv4. Последний сам по себе не предлагает никаких гарантий безопасности. Так, получатель пакета IP не может быть уверен в том, что сообщение пришло с указанного в заголовке IP-адреса и что оно не было прочитано или изменено третьими лицами.

Таким образом, протокол безопасности на уровне IP должен позволить предотвратить несанкционированное чтение и изменение данных, а также проводить двустороннюю аутентификацию взаимодействующих партнеров.

IPSec дает возможность справиться с некоторыми потенциальными проблемами безопасности. Для обеспечения конфиденциальности предлагается шифрование данных. Однако при единовременной отправке большого числа пакетов криптографические методы с асимметричным ключом оказываются непригодными в силу их недостаточной производительности. А при использовании альтернативного симметричного метода (Preshared Keys) взаимодействующим партнерам требуются надежные способы обмена и управления ключами. Кроме того, в протоколе должна быть предусмотрена возможность работы с дополнительными параметрами, к примеру для задания применяемых алгоритмов шифрования и сроков годности ключей.

Достигаемая при помощи IPSec степень безопасности позволяет строить виртуальные частные сети (Virtual Private Network, VPN), представляющие большую практическую и экономическую ценность. При этом две закрытые сети соединяются через общедоступную: к примеру, доступ в Internet осуществляется через так называемый туннель IP (см. Рисунок 1).

РЕАЛИЗАЦИЯ И ПРОТОКОЛЫ IPSEC

IPSec работает на сетевом уровне модели взаимодействия открытых систем и может быть реализован тремя путями: в качестве «встроенного» решения, в виде «вставки в стек» или «вставки в провод». Отличия их друг от друга — только в способе доступа к стеку протоколов ТСР/IP.

В случае IPSec речь идет не об отдельном протоколе, а о библиотеке протоколов с различными механизмами защиты. Наиболее значительными являются:

  • инкапсулированная защищенная полезная нагрузка (Encapsulating Security Payload, ESP, номер протокола 50), она отвечает за аутентификацию сторон, а также за целостность и конфиденциальность данных; благодаря наличию опциональных порядковых номеров предлагается надежная защита от атак сброса (Replaying);
  • заголовок аутентификации (Authentication Header, AH, номер протокола 51), который аутентифицирует отправителя и отвечает за целостность данных, как и ESP, однако не предлагает шифрования;
  • обмен ключами между сетями (Internet Key Exchange, IKE, коммуникация происходит через UDP-порт 500), позволяющий согласовать применяемые алгоритмы обеспечения безопасности, а также провести обмен ключами.

РЕЖИМЫ IPSEC

Протоколы ESP и AH работают в комбинации друг с другом, в двух режимах: транспортном и туннельном.

В случае транспортного режима организуется сквозное соединение, при котором исходный заголовок сохраняется и продолжает служить для маршрутизации пакета. Заголовок IPSec располагается между заголовком IP и заголовком TCP/UDP. ESP в транспортном режиме применяет требования безопасности только на высоких уровнях, как, например, полезная нагрузка пакета IP. В комбинации с АН могут быть защищены и части заголовка IP.

В туннельном режиме заголовок IP получает новый заголовок IPSec, при этом пакет IP защищается весь целиком. В заголовке указывают адрес начала и конца туннеля, а исходный пакет считается полезной нагрузкой. После удаления защиты IPSec на противоположном конце туннеля (шлюзе) пакет доставляется получателю. В большинстве случаев туннельный режим применяется на соединениях между конечным узлом и шлюзом или двумя шлюзами. Конечно, шлюз тоже может быть конечной точкой, тогда можно строить сквозные соединения.

СТРУКТУРА ESP И АН

При трансформации пакета IP в защищенный пакет ESP в туннельном режиме генерируется новый заголовок IP. За ним следует заголовок ESP, после которого помещаются исходные данные и хвостовик ESP (см. Рисунок 2). Для идентификации ассоциации безопасности заголовок ESP содержит индекс параметров безопасности (Security Parameter Index, SPI) и поле порядкового номера для защиты от атак сброса.

Далее следует поле для вектора инициализации метода шифрования. Полезные данные размещаются после заголовка ESP и включают содержимое исходного пакета IP, причем эти данные надо дополнить (padding), чтобы их длина была кратна величине блока в методе шифрования. Это необходимо для адаптации различных методов шифрования, используемых в IPSec.

В IPSec используются как относительно новые методы шифрования, к примеру расширенный стандарт шифрования (Advanced Encryption Standard, AES) или Blowfish, так и старые — DES и 3DES. Однако сразу же следует предостеречь от использования DES, поскольку он расшифровывается в кратчайшее время. Длина заполнения, а также следующий заголовок относятся к хвостовику EPS, к которому добавляются еще данные аутентификации (HMAX MD5 или HMAC SHA1).

Преобразование в пакет АН происходит примерно так же, как и в пакет ESP, однако пакет АН не предусматривает шифрования (см. Рисунок 3), а отвечает за аутентификацию пакета IP. До вычисления HMAC одни поля обнуляются, а для других задаются ожидаемые значения, что возможно только при аутентификации.

Однако при использовании ESP и AH внесение изменений в пакет ведет к появлению проблем. Так, при трансляции сетевых адресов (Network Address Translation, NAT) пакеты должны изменяться на маршрутизаторе, что невозможно по причине шифрования заголовка TCP/IP (иначе пострадает целостность пакета). В таком случае помогут маршрутизаторы IPSec с поддержкой NAT Traversal.

СТРАТЕГИЯ И АССОЦИАЦИЯ БЕЗОПАСНОСТИ

Для того чтобы коммуникация между партнерами вообще состоялась, им придется договориться о ходе процессов и дальнейшем образе действий. Правила IPSec объединены в базе данных политики безопасности (Security Policy Database, SPD). Обработка происходит посредством так называемых селекторов, с помощью которых каждый отдельно взятый входящий или исходящий пакет проверяется по IP-адресу отправителя, IP-адресу получателя, используемому протоколу и порту. При нахождении соответствия правилу поиск прекращается, и система применяет правило. Поэтому специальные правила рекомендуется помещать в начале, а общие — в конце.

SPD содержит операции (применение, сброс и обход), используемый протокол IPSec, режим IPSec, методы аутентификации и шифрования, а также указатель на ассоциацию безопасности (Security Associates, SA). SPD должна быть настроена и сохранена до начала применения IPSec, поскольку содержит параметры для системы IPSec.

Ассоциация безопасности охватывает сохраненные в базе данных (SAD) массивы данных, информацию об используемых методах, ключах и значениях параметров. В ней содержатся сведения о порядковом номере, сроке годности, режиме, а при необходимости — о конечной точке туннеля и используемых ключах. Эта информация может быть разной для получателя и отправителя: если, например, применяется комбинация ESP и АН, то каждому протоколу будет нужна собственная ассоциация безопасности.

Ассоциация безопасности нужна не только для установления соединения IPSec, но и для дальнейших коммуникаций. Такие данные, как ключи соединения или порядковый номер, имеют небольшой срок годности, который ограничивается путем задания интервала времени или количества переданных пакетов. Подобным образом предотвращается циклическое повторение порядковых номеров и одновременно обеспечивается безопасность ключа. По истечении срока годности порядковые номера переводятся в исходное состояние и согласовываются новые ключи. Использование последних не является составной частью протоколов IPSec. Ключи можно задавать вручную, однако это представляет некоторый риск для безопасности. Поэтому ответственным лицам стоит отдать предпочтение автоматизированному решению на базе ISAKMP или протокола обмена ключами (Internet Key Exchange Protocol, IKE). Оба работают на более высоких уровнях модели OSI и используют правила в записях SPD.

ПРОТОКОЛ ОБМЕНА КЛЮЧАМИ

Ассоциации безопасности представляют только концепцию реализации, а записи SPD определяют, какой метод необходимо применить для построения надежного соединения. Однако они не оговаривают, как на самом деле будет реализовано соединение с указанными свойствами безопасности. Это задача IKE. Если в соответствии с записью SPD к отправляемому пакету требуется применение IPSec, а ассоциации безопасности не существует, то стартовая система инициирует IKE с желаемыми правилами. IKE описывает процесс обмена ключами. До согласования ассоциации безопасности между сторонами диалога надо прежде всего построить защищенное соединение, что и осуществляется на первом этапе IKE.

Концепция ассоциаций безопасности служит в качестве метода для установления соединения (IKE SA). Отдельные записи называют также «защитные комплекты». Построение безопасного соединения происходит в соответствии с записями об алгоритмах шифрования, методах хэширования и аутентификации. Применение алгоритма Диффи-Хельмана обязательно, следовательно, открытым остается только вопрос о выборе параметров. После организации соединения на первой фазе во второй осуществляется соединение между сторонами для согласования ассоциаций безопасности и собственно ключей.

ПЕРВЫЙ ЭТАП

На первом этапе возможны два способа обмена ключами: «основной» и «агрессивный». В «основном» режиме участвующие системы обмениваются шестью сообщениями. Первые два определяют, какие IKE SA подразумеваются. Следующие два сообщения содержат некоторые вспомогательные числа, а также открытые значения для алгоритма Диффи-Хельмана. При получении третьего сообщения отвечающая сторона уже может вычислить ключ, а после четвертого ответа это сумеет сделать и инициатор. Последние два сообщения служат для аутентификации обмена ключами по алгоритму Диффи-Хельмана, причем формирование значения хэша обеспечиваются посредством секретного ключа, известного обеим сторонам.

В «агрессивном» режиме пересылается лишь половина перечисленных сообщений, поэтому процесс протекает быстрее. Параметры ключей уже находятся в первом и втором сообщениях, а аутентификация производится при третьем сообщении. Агрессивный режим лучше всего подходит для взаимодействия станций с динамическими IP-адресами (у инициатора динамический IP, у получателя — фиксированный), поскольку эти адреса не влияют на обработку.

ВТОРОЙ ЭТАП

На втором этапе — быстрый режим протокола IKE — системы формируют ассоциации безопасности IKE и соответствующие ключи на основе первой фазы. После первого этапа все сообщения второго шифруются. Вычисляемый ключ частично определяется материалом ключей из первой фазы. Участники коммуникации пропускают ключ первого этапа вместе со случайным числом через функцию хэширования и используют результат для ассоциаций безопасности IPSec. Так можно составить несколько ассоциаций безопасности IPSec с разными ключами, а при очередном обновлении второй фазы получается новый независимый ключ.

Благодаря этому методу достигается полная секретность передачи: даже если атакующему удастся разузнать используемый ключ, он не сможет вычислить последующие. В первых двух сообщениях, независимо от вычисления ключа, станции договариваются о лежащих в основе правил IPSec требованиях к безопасности. Соединение IPSec устанавливается лишь при согласовании правил. В результате успешного проведения второго этапа стороны определяют образ действий и общие ключи, после чего может быть построено безопасное соединение. Дальнейшее очевидно: поскольку срок жизни ассоциации безопасности IPSec ограничен, системы для обновления просто воспроизводят вторую фазу, сохраняя первую.

ПЕРСПЕКТИВЫ IPSEC

IPSec, будучи библиотекой протоколов, весьма обширен. Тем не менее защита коммуникаций при помощи виртуальных частных сетей IPSec сегодня представляется наилучшим выбором. Над удовлетворением таких потребностей мобильного мира, как динамическая адаптация пакетов ESP, работают не только отдельные специалисты, но и целые комитеты. Их усилия должны привести к повышению производительности и степени безопасности сетей.

Юксель Каракан — сотрудник компании Lancom Systems. С ним можно связаться по адресу: gg@lanline.awi.de.


? AWi Verlag