Компьютерные сети
Н. ОлиферУстановление безопасной ассоциации начинается с взаимной аутентификации сторон, потому что все меры безопасности теряют смысл, если данные передаются или принимаются не тем лицом или не от того лица. Выбираемые далее параметры SA определяют, какой из двух протоколов, АН или ESP, будет применяться для защиты данных, какие функции будет выполнять протокол (например, можно выполнять только аутентификацию и проверку целостности или, кроме того, еще и обеспечивать конфиденциальность). Очень важными параметрами безопасной ассоциации являются также секретные ключи, используемые в работе протоколов АН и ESP.
Протокол IPSec допускает как автоматическое, так и ручное установление безопасной ассоциации. При ручном способе администратор конфигурирует конечные узлы так, чтобы они поддерживали согласованные параметры ассоциации, включая секретные ключи. При автоматической процедуре установления SA протоколы IKE, работающие по разные стороны канала, выбирают параметры в ходе переговорного процесса. Для каждой задачи, решаемой протоколами АН и ESP, предлагается несколько схем аутентификации и шифрования (рис. 24.30). Это делает протокол IPSec очень гибким Средством. Заметим, что выбор дайджест-функции для решения задач целостности и аутентификации никак не влияет на выбор функции шифрования, обеспечивающей конфиденциальность данных.
Для обеспечения совместимости в стандартной версии IPsec определен некоторый обязательный «инструментальный» набор, в частности для аутентификации данных всегда может быть использована одна из стандартных дайджест-функций MD5 либо SHA-1, а в число алгоритмов шифрования непременно входит DES. При этом производители продуктов, в которых используется IPSec, вольны расширять протокол путем включения других алгоритмов аутентификации и симметричного шифрования, что они с успехом и делают. Например, многие реализации IPSec поддерживают популярный алгоритм шифрования Triple DES, а также сравнительно новые алгоритмы: Blowfish, Cast, CDMF, Idea, RC5.
Рис. 24.30. Согласование параметров в протоколе ESP
Транспортный и туннельный режимы
Протоколы АН и ESP могут защищать данные а двух режимах: транспортном и туннельном.
, &*РА1^прртном^ через сеть выполняется с помощью оригинального
- исходный пакет помещается в новый IP-пакет;
и передача данных по сети выполняется на основании заголовка нового !Р-пакета.
Применение того или иного режима зависит от требований, предъявляемых к защите данных, а также от роли, которую играет в сети узел, завершающий защищенный канал. Так, узел может быть хостом (конечным узлом) или шлюзом (промежуточным узлом). Соответственно, имеются три схемы применения протокола IPSec:
□ хост-хост;
□ шлюз-шлюз;
□ хост-шлюз.
В схеме хост-хост защищенный канал, или, что в данном контексте одно и то же, безопасная ассоциация,^устанавливается между двумя конечными узлами сети (см. рис. 24.29). Тогда протокол IPSec работает на конечных узлах и защищает данные, передаваемые от хоста 1 к хосту 2. Для схемы хост-хост чаще всего используется транспортный режим защиты.
В соответствии со схемой шлюз-шлюз защищенный канал устанавливается между двумя промежуточными узлами, так называемыми шлюзами безопасности (Security Gateway, SG), на каждом из которых работает протокол IPSec (рис. 24.31). Защищенный обмен данными может происжодить между любыми двумя конечными узлами, подключенными к сетям, которые расположены позади шлюзов безопасности. От конечных узлов поддержка протокола IPSec не требуется, они передают свой трафик в незащищенном виде через заслуживающие доверие внутренние сети предприятий. Трафик, направляемый в общедоступную сеть, проходит через шлюз безопасности, который и обеспечивает его защиту с помощью протокола IPSec. Шлюзам доступен только туннельный режим работы.
Зашифрованный Заголовок Новый исходный пакет IPSec заголовок IPРис. 24.31. Работа защищенного канала по схеме шлюз-шлюз в туннельном режиме
На рис. 24.31 пользователь компьютера с адресом IP1 посылает пакет по адресу IP2, используя туннельный режим протокола IPSec. Шлюз SG1 зашифровывает пакет целиком, вместе с заголовком, и снабжает его новым заголовком IP, в котором в качестве адреса отправителя указывает свой адрес — IP3, а в качестве адреса получателя — адрес IP4 шлюза SG2. Вся передача данных по составной IP-сети выполняется на основании заголовка внешнего пакета, а внутренний пакет становится при этом полем данных для внешнего пакета. На шлюзе SG2 протокол IPSec извлекает инкапсулированный пакет и расшифровывает его, приводя к исходному виду.
Схема хост-шлюз часто .применяется при удаленном доступе. В этом случае защищенный канал прокладывается между удаленным хостом, на котором работает протокол IPSec, и шлюзом, защищающим трафик для всех хостов, входящих во внутреннюю сеть предприятия. Эту схему можно усложнить, создав параллельно еще один защищенный канал — между удаленным хостом и каким-либо хостом, принадлежащим внутренней сети, защищаемой шлюзом (рис. 24.32). Такое комбинированное использование двух безопасных ассоциаций позволяет надежно защитить трафик и во внутренней сети.
Протокол АН
Протокол АН позволяет приемной стороне убедиться, что:
□ пакет был отправлен стороной, с которой установлена безопасная ассоциация;
□ содержимое пакета не было искажено в процессе его передачи по сети;
□ пакет не является дубликатом уже полученного пакета.
Две первые функции обязательны для протокола АН, а последняя выбирается при установлении ассоциации по желанию. Для выполнения этих функций протокол АН использует специальный заголовок (рис. 24.33).
16
31
Следующий
заголовок
Длина
Индекс параметров безопасности (SPI)
Порядковый номер (SN)
Данные аутентификации
Рис. 24.33. Структура заголовка протокола АН
В полё следующего заголовка (next header) указывается код протокола более высокого уровня, то есть протокола, сообщение которого размещено в поле данных IP-пакета. Скорее всего, им будет один из протоколов транспортного уровня (TCP или UDP) или протокол ICMP, но может встретиться и протокол ESP, если он используется в комбинации с АН.
В поле длины полезной нагрузки (payload length) содержится длина заголовка АН.
Индекс параметров безопасности (Security Parameters Index, SPI) служит для связи пакета с предусмотренной для него безопасной ассоциацией. Немного позже мы обсудим его более подробно.
Поле порядкового номера (Sequence Number, SN) указывает на порядковый номер пакета и применяется для защиты от его ложного воспроизведения (когда третья сторона пытается повторно использовать перехваченные защищенные пакеты, отправленные реально аутентифицированным отправителем). Отправляющая сторона последовательно увеличивает значение этого поля в каждом новом пакете, передаваемом в рамках данной ассоциации, так что приход дубликата обнаружится принимающей стороной (если, конечно, в рамках ассоциации будет активирована функция защиты от ложного воспроизведения). Однако в любом случае в функции протокола АН не входит восстановление утерянных и упорядочивание прибывающих пакетов — он просто отбрасывает пакет, когда обнаруживает, что аналогичный пакет уже получен. Чтобы сократить требуемую для работы протокола буферную память, используется механизм скользящего окна — на предмет дублирования проверяются только те пакеты, чей номер находится в пределах окна. Окно обычно выбирается размером в 32или 64 пакета.
Поле данных аутентификации (authentication data), которое содержит так называемое значение проверки целостности (Integrity Check Value, ICV), служит для аутентификации и проверки целостности пакета. Это значение является дайджестом, вычисляемым с помощью одной из двух обязательно поддерживаемых протоколом АН односторонних функций шифрования MD5 или SAH-1, но может использоваться и любая другая функция, о которой стороны договорились в ходе установления ассоциации. При вычислении дайджеста пакета в качестве параметра ОФШ выступает симметричный секретный ключ, который был задан для данной ассоциации вручную или автоматически с помощью протокола IKE. Так как длина дайджеста зависит от выбранной ОФШ, это поле имеет в общем случае переменный размер.
Протокол АН старается охватить при вычислении дайджеста как можно большее число полей исходного IP-пакета, но некоторые из них в процессе передачи пакета по сети меняются непредсказуемым образом, поэтому не могут быть включены в аутентифицируемую часть пакета. Например, целостность значения поля времени жизни (TTL) в приемной точке канала оценить нельзя, так как оно уменьшается на единицу каждым промежуточным маршрутизатором и никак не может совпадать с исходным.
Местоположение заголовка АН в пакете зависит от того, в каком режиме — транспортном или туннельном — сконфигурирован защищенный канал. Результирующий пакет в транспортном режиме выглядит так, как показано на рис. 24.34.
ЗаголовокисходногоIP-пакета
Заголовок АН
Пакет протокола верхнего уровня
^ Аутентифицируемая информация ^
Рис. 24.34. Структура IP-пакета, обработанного протоколом АН в транспортном режиме
При использовании туннельного режима, когда шлюз IPSec принимает проходящий через него транзитом исходящий пакет и создает для него внешний IP-пакет, протокол АН защищает все поля исходного пакета, а также неизменяемые поля нового заголовка внешнего пакета (рис. 24.35).
ЗаголовоквнешнегоIP-пакета
Заголовок АН
ЗаголовокисходногоIP-пакета
Пакет протокола верхнего уровня
^ Аутентифицируемая информация
w
Рис. 24.35. Структура IP-пакета, обработанного протоколом АН в туннельном режиме
Протокол ESP
Протокол ESP решает две группы задач. К первой относятся задачи обеспечения аутентификации и целостности данных на основе дайджеста, аналогичные задачам протокола АН, ко второй — защита передаваемых данных путем их шифрования от несанкционированного просмотра.
Как видно на рис. 24.36, заголовок ESP делится на две части, разделяемые полем данных. Первая часть, называемая собственно заголовком ESP, образуется двумя полями (SPI и SN), назначение которых аналогично одноименным полям протокола АН, и размещается перед полем данных. Остальные служебные поля протокола ESP, называемые концевиком ESP, расположены в конце пакета.
Зашифрованная часть IP-пакета
<---►
ЗаголовокисходногоIP-пакета
ЗаголовокEPS(SPI, SN)
Пакетпротоколаверхнегоуровня
Концевик EPS
Заполнитель, длина заполнителя, след, заголовок
Данныеаутентификации
Аутентифицируемая часть IP-пакета
Рис. 24.36. Структура IP-пакета, обработанного протоколом ESP в транспортном режиме
Два поля концевика — следующего заголовка и данных аутентификации — также аналогичны полям заголовка АН. Поле данных аутентификации отсутствует, если при установлении безопасной ассоциации принято решение не использовать возможностей протокола ESP, касающихся обеспечения целостности. Помимо этих полей концевик содержит два дополнительных поля — заполнителя и длины заполнителя. Заполнитель может понадобиться в трех случаях. Во-первых, для нормальной работы некоторых алгоритмов шифрования необходимо, чтобы шифруемый текст содержал кратное число блоков определенного размера. Во-вторых, формат заголовка ESP требует, чтобы поле данных заканчивалось на границе четырех байтов. И наконец, заполнитель можно использовать, чтобы скрыть действительный размер пакета в целях обеспечения так называемой частичной конфиденциальности трафика. Правда, возможность маскировки ограничивается сравнительно небольшим объемом заполнителя — 255 байт, поскольку большой объем избыточных данных может снизить полезную пропускную способность канала связи.
На рис. 24.36 показано размещение полей заголовка ESP в транспортном режиме. В этом режиме ESP не шифрует заголовок IP-пакета, иначе маршрутизатор не сможет прочитать поля заголовка и корректно осуществить продвижение пакета между сетями. В число шифруемых полей не попадают также поля SPI и SN, которые должны передаваться в открытом виде для того, чтобы прибывший пакет можно было отнести к определенной ассоциации и предотвратить ложное воспроизведение пакета.
Зашифрованная часть IP-пакета
<-
-►
ЗаголовоквнешнегоIP-пакета
ЗаголовокEPS(SPI, SN)
ЗаголовокисходногоIP-пакета
Пакет
Концевик EPS
ч
протоколаверхнегоуровня
Заполнитель, длина заполнителя, след, заголовок
Данныеаутентификации
<-
Аутентифицируемая часть IP-пакета
-►
Рис. 24.37. Структура IP-пакета, обработанного протоколом ESP в туннельном режиме
В туннельном режиме заголовок исходного IP-пакета помещается после заголовка ESP и полностью попадает в число защищаемых полей, а заголовок внешнего IP-пакета протоколом ESP не защищается (рис. 24.37).
Базы данных SAD И SPD
Итак, технология IPSec предлагает различные методы защиты трафика. Каким же образом протокол IPSec, работающий на хосте или шлюзе, определяет способ защиты, который он должен применить к трафику? Решение основано на использовании в каждом узле, поддерживающем IPSec, двух типов баз данных:
□ безопасных ассоциаций (Security Associations Database, SAD); a политики безопасности (Security Policy Database, SPD).
При установлении безопасной ассоциации, как и при любом другом логическом соединении, две стороны принимают ряд соглашений, регламентирующих процесс передачи потока данных между ними. Соглашения фиксируются в виде набора параметров. Для безопасной ассоциации такими параметрами являются, в частности, тип и режим работы протокола защиты (АН или ESP), методы шифрования, секретные ключи, значение текущего номера пакета в ассоциации и другая информация. Наборы текущих параметров, определяющих все активные ассоциации, хранятся на обоих оконечных узлах защищенного канала в виде баз данных безопасных ассоциаций (SAD). Каждый узел IPSec поддерживает две базы SAD — одну для исходящих ассоциаций, другую для входящих.
Другой тип базы данных — база данных политики безопасности (SPD) — определяет соответствие между IP-пакетами и установленными для них правилами обработки. Записи SPD состоят из полей двух типов — полей селектора пакета и полей политики защиты для пакета с данным значением селектора (рис. 24.38).
Селектор в SPD включает следующий набор признаков, на основании которых можно с большой степенью детализации выделить защищаемый поток:
□ IP-адреса источника и приемника могут быть представлены как в виде отдельных адресов (индивидуальных, групповых или широковещательных), так и диапазонами адресов, заданными с помощью верхней и нижней границ либо с помощью маски;
□ порты источника и приемника (то есть TCP- или UDP-порты);
□ тип протокола транспортного уровня (TCP, UDP);
□ имя пользователя в формате DNS или Х.500;
□ имя системы (хоста, шлюза безопасности и т. п.) в формате DNS или Х.500.
Для каждого нового пакета, поступающего в защищенный канал, IPSec просматривает все записи в базе SPD и сравнивает значение селекторов этих записей с соответствующими полями IP-пакета. Если значение полей совпадает с каким-либо селектором, то над пакетом выполняются действия, определенные в поле политики безопасности данной записи. Политика предусматривает передачу пакета без изменения, отбрасывание или обработку средствами IPSec.
В последнем случае поле политики защиты должно содержать ссылку на запись в базе данных SAD, в которую помещен набор параметров безопасной ассоциации для данного пакета (на рис. 24.38 для исходящего пакета определена ассоциация SA3). На основании заданных параметрой15езопасной ассоциации к пакету применяется соответствующие протокол (на рисунке — ESP), функции шифрования и секретные ключи.
Если к исходящему пакету нужно применить некоторую политику защиты, но указатель записи SPD показывает, что в настоящее время нет активной безопасной ассоциации с требуемой политикой, то IPSec создает новую ассоциацию с помощью протокола IKE, помещая новые записи в базы данных SAD и SPD.
SPD для исходящих безопасных ассоциаций
Селектор
Политика
SA3
, IPZ| .SPI |IP3, IP4|
SPD для исходящих безопасных ассоциаций
Селектор
Политика
Параметры SA3
Параметры SA3
SPD для входящих
4
безопасных ассоциаций
Селектор
Политика
SA3
SPD для входящих безопасных ассоциаций
Селектор
Политика
Рис. 24.38. Использование баз данных SPD и SAD
Базы данных политики безопасности создаются и администрируются либо пользователем (этот вариант больше подходит для хоста), либо системным администратором (вариант для шлюза), либо автоматически (приложением).
Ранее мы выяснили, что установление связи между исходящим IP-пакетом и заданной для него безопасной ассоциацией происходит путем селекции. Однако остается другой вопрос: как принимающий узел IPSec определяет способ обработки прибывшего пакета, ведь при шифровании многие ключевые параметры пакета, отраженные в селекторе, оказываются недоступными, а значит, невозможно определить соответствующую запись в базах данных SAD и SPJD и, следовательно, тип процедуры, которую надо применить к поступившему пакету? Именно для решения этой проблемы в заголовках АН и ESP предусмотрено поле SPI. В это поле помещается указатель на ту строку базы данных SAD, в которой записаны параметры соответствующей безопасной ассоциации. Поле SPI заполняется протоколом АН или ESP во время обработки пакета в отправной точке защищенного канала. Когда пакет приходит в конечный узел защищенного канала, из его внешнего заголовка ESP или АН (на рисунке — из заголовка ESP) извлекается значение
SPI, и дальнейшая обработка пакета выполняется с учетом всех параметров заданной этим указателем ассоциации.
['Таким образом, для распознавания пакетов, относящихся к разным безопасным ассоциациям, | используются:
,.Л;£3 на узле-отправителе— селектор; ;
□ на узле-получателе — индекс параметров безопасности (SPI). j
После дешифрирования пакета приемный узел IPSec проверяет его признаки (ставшие теперь доступными) на предмет совпадения с селектором записи SPD для входящего трафика, чтобы убедиться, что ошибки не произошло и выполняемая обработка пакета соответствует политике защиты, заданной администратором.
Использование баз SPD и SAD для защиты трафика позволяет достаточно гибко сочетать механизм безопасных ассоциаций, который предусматривает установление логического соединения, с дейтаграммным характером трафика протокола IP.
Сети VPN на основе шифрования
Более масштабным средством защиты трафика по сравнению с защищенными каналами являются виртуальные частные сети (VPN). Подобная сеть представляет собой своего рода «сеть в сети», то есть сервис, создающий у пользователей иллюзию существования их частной сети внутри публичной сети. Одним из важнейших свойств такой «частной сети» является защищенность трафика от атак пользователей публичной сети. Сетям VPN доступна не только способность имитации частной сети; они дают пользователю возможность иметь собственное адресное пространство (например, частные IP-адреса, такие как адреса сети 10.0.0.0) и обеспечивать качество обслуживания, близкое к качеству выделенного канала.
В соответствии с технологиями обеспечения безопасности данных, сети VPN делятся на два класса:
□ сети VPN на основе разграничения трафика подробно обсуждались в разделе «Виртуальные частные сети» главы 19;
□ сети VPN на основе шифрования работают на основе рассмотренной нами в предыдущем разделе техники защищенных каналов.
0^|угуа^ы«|1я частная
^шищвнных каналов, соз|щнНых
^#ОИХ;ф«4ДЙаЛб^.I........ ' ’ ......
То есть в VPN техника защищенных каналов применяется уже в других масштабах, связывая не двух пользователей, а произвольное количество клиентских сетей.
Технологии VPN на основе шифрования включают шифрование, аутентификацию и туннелирование.
□ Шифрование гарантирует конфиденциальность корпоративных данных при передаче через открытую сеть.
□ Аутентификация отвечает за то, чтобы взаимодействующие системы (пользователи) на обоих концах VPN были уверены в идентичности друг друга.
□ Туннелирование предоставляет возможность передавать зашифрованные пакеты по открытой публичной сети.
Для повышения уровня защищенности виртуальных частных сетей технологии VPN на основе шифрования можно применять совместно с технологиями VPN на основе разграничения трафика. Технологии VPN на основе разделения трафика иногда критикуют за недостаточный уровень безопасности, считая, что без шифрования трафика персонал поставщика услуг может получить несанкционированный доступ к данным. Действительно, такая вероятность существует, поэтому клиент услуг VPN на основе разграничения трафика, например MPLS VPN, может самостоятельно повысить защищенность своего трафика, прибегнув, скажем, к шифрованию передаваемых данных.
Все материалы, размещенные в боте и канале, получены из открытых источников сети Интернет, либо присланы пользователями бота. Все права на тексты книг принадлежат их авторам и владельцам. Тексты книг предоставлены исключительно для ознакомления. Администрация бота не несет ответственности за материалы, расположенные здесь