Защита передаваемых данных с помощью протоколов АН и Е5Р
Протокол аутентифицирующего заголовка АН и протокол инкапсулирующей защиты содержимого ЕБР могут работать в туннельном или транспортном режимах. Для выполнения своих задач по обеспечению безопасной передачи данных протоколы АН и Е5Р включают в обрабатываемые ими пакеты дополнительную служебную информацию, оформляя ее в виде заголовков.
Протокол аутентифицирующего заголовка АН
Протокол аутентифицирующего заголовка АН (Authentication Header) обеспечивает проверку аутентичности и целостности IP-пакетов, а также защиту от воспроизведения ранее посланных IP-пакетов.
Протокол АН позволяет приемной стороне убедиться, что:
- • пакет был отправлен именно той стороной, с которой установлена данная ассоциация;
- • содержимое пакета не подверглось искажениям в процессе передачи его по сети;
- • пакет не является дубликатом некоторого пакета, полученного ранее.
Протокол АН полностью защищает от подлога и искажения содержимое 1Р-пакетов, включая данные протоколов более высоких уровней. Полнота защиты полей 1Р-заголовков зависит от используемого режима работы — туннельного или транспортного. Однако протокол АН не обеспечивает конфиденциальность передаваемых данных, т. е. не предназначен для их шифрования. Данные могут быть прочитаны промежуточными узлами, но не могут быть изменены. Целостность и аутентичность данных обеспечиваются добавлением аутентифицирующего заголовка (АН) перед заголовком 1Р и заголовком транспортного уровня (ТСР/ЕЮР). Формат заголовка АН показан на рис. 12.3.
о
31
Следующий заголовок
Длина
Зарезервировано
Индекс параметров защиты SPI
Порядковый номер SN
Аутентификационные данные (переменная длина)
Рис. 12.3. Формат заголовка АН
Заголовок АН включает в себя поля:
- • следующий заголовок (Next Header) — однобайтовое поле, содержащее код протокола следующего заголовка, вложенного в IPSec-пакет, например код протокола TCP или ESP, чей заголовок следует за АН;
- • длина (Payload Len) — указывает длину заголовка АН в 32-битных словах;
- • индекс параметров защиты SPI {Security Parameters Index) — представляет собой 32-разрядную метку безопасной ассоциации SA (Security Association), содержащей все параметры туннеля IPSec, включая типы криптографических алгоритмов и ключи шифрования. На основании индекса SPI пакет будет правильно отнесен к одной из существующих ассоциаций в приемном шлюзе (или хосте). Если же активной ассоциации, на которую указывает метка SPI, не существует, то пакет просто отбрасывается;
- • порядковый номер SN (Sequence Number) — беззнаковое 32-битное число, увеличиваемое на единицу после передачи каждого защищенного по протоколу АН IP-пакета. Обеспечивает защиту от ложного воспроизведения ранее посланных IP -пакетов. При формировании каждого защищенного сеанса информационного обмена в рамках туннеля IPSec взаимодействующие стороны делают свои счетчики нулевыми, а потом согласованным образом увеличивают их. Получатель проверяет это поле с целью удостовериться, что пакета с таким номером принято еще не было. Если же такой пакет уже был, он не принимается;
- • аутентификационные данные (Authentication Data) — поле переменной длины, содержащее информацию, используемую для аутентификации пакета и называемую МАС-кодом (Message Authentication Code). Это поле называют также цифровой подписью, дайджестом или кодом проверки целостности — ICV (Integrity Check Value) пакета. Содержимое поля Authentication Data вычисляется с помощью одного из двух обязательно поддерживаемых протоколом АН алгоритмов HMAC-MD5 и HMAC-SHA1, основанных на применении односторонних хэш-функций с секретными ключами. Длина дайджеста зависит от выбранного алгоритма, поэтому это поле имеет в общем случае переменный размер. Наиболее часто используемый алгоритм HMAC-MD5 порождает 16-байтный дайджест.
Протокол АН защищает весь IP-пакет за исключением некоторых полей в IP-заголовке, таких как время жизни (TTL) и тип службы (Type of Service), которые могут меняться в процессе передачи пакета в сети. Заметим, что протокол АН обеспечивает защиту от изменений IP-адресов в заголовке пакета. Протокол аутентификации АН создает своеобразный конверт, обеспечивающий аутентификацию источника данных, их целостность и защиту от навязывания повторных сообщений.
Местоположение заголовка АН в пакете зависит от того, в каком режиме — транспортном или туннельном — сконфигурирован защищенный канал. На рис. 12.4 показано расположение AH-заголовка относительно IP-заголовка в обоих режимах.
В транспортном режиме заголовок исходного IP-пакета становится внешним заголовком, за ним следует заголовок АН, а затем все данные защищаемого пакета (т. е. пакет протокола верхнего уровня). Протокол АН защищает весь полученный та-
1Р-пакет после применения протокола АН в транспортном режиме
Заголовок исходного 1Р-пакета |
Заголовок АН |
Заголовок ТСР (или ІГОР) |
Данные |
Аутентифицировано |
1Р-пакет после применения протокола АН в туннельном режиме
Заголовок внешнего 1Р-пакета |
Заголовок АН |
Заголовок исходного 1Р-пакета |
Заголовок ТСР (или ІГОР) |
Данные |
Аутентифицировано |
Рис. 12.4. ІР-пакет после применения протокола АН в транспортном
и туннельном режимах
ким образом пакет, включая заголовок ІР и собственно сам заголовок АН. Таким образом, любое изменение данных в пакете или заголовков будет обнаружено. Следует также заметить, что в этом режиме данные пакета отсылаются открытыми, т. е. данные пакета защищены от изменений, но не защищены от просмотра. В частности, не удается скрыть 1Р-адреса источника и назначения от возможного просмотра посторонними лицами, поскольку эти поля всегда присутствуют в незашифрованном виде и соответствуют действительным адресам хостов.
В туннельном режиме в качестве заголовка внешнего 1Р-па-кета создается новый заголовок ІР. 1Р-адреса посылающей и принимающей сторон могут отличаться от адресов в заголовке исходного 1Р-пакета. В защищенном 1Р-пакете внутренний (первоначальный) 1Р-заголовок содержит целевой адрес пакета, а внешний 1Р-заголовок содержит адрес конца туннеля. За новым заголовком внешнего 1Р-пакета следует заголовок АН, а затем весь исходный пакет (заголовок ІР и сами данные). Как и в случае транспортного режима, протокол АН защищает весь созданный пакет (два заголовка ІР, заголовок АН и данные), что также позволяет обнаружить любые изменения в пакете. Как и в транспортном режиме, сам пакет не защищен от просмотра.
Независимо от режима работы, протокол АН предоставляет меры защиты от атак, направленных на нарушение целостности и подлинности пакетов сообщений. С помощью этого протокола аутентифицируется каждый пакет, что делает программы, пытающиеся перехватить управление сеансом, неэффективными. Протокол АН обеспечивает аутентификацию не только содержимого, но и заголовков IP-пакетов. Однако следует иметь в виду, что аутентификация по протоколу АН не допускает манипулирования основными полями IP-заголовка во время прохождения пакета. По этой причине данный протокол нельзя применять в среде, где используется механизм трансляции сетевых адресов NAT (Network Address Translation), поскольку для его работы необходимо манипулирование IP-заголовками.
Протокол АН может применяться как отдельно, так и в комбинации с протоколом ESP или даже с пакетом, который уже содержит AH-заголовок (вложенное применение).