Протокол АН позволяет приемной стороне убедиться, что:
□ пакет был отправлен стороной, с которой установлена безопасная ассоциация;
□ содержимое пакета не было искажено в процессе его передачи по сети;
□ пакет не является дубликатом уже полученного пакета.
Две первые функции обязательны для протокола АН, а последняя выбирается при установлении ассоциации по желанию. Для выполнения этих функций протокол АН использует специальный заголовок (рис. 24.9).
О 8 16 31
Полезная нагрузка |
Следующий заголовок |
Резерв |
Индекс параметров безопасности (SPI)
Порядковый номер (SN)
Данные аутентификации
Рис. 24.9. Структура заголовка протокола АН
В поле следующего заголовка (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, но может использоваться и любая другая функция, о которой стороны договорились в ходе установления ассоциации. При вычислении дайджеста
пакета в качестве параметра функции OWF выступает симметричный секретный ключ, который был задан для данной ассоциации вручную или автоматически с помощью протокола IKE. Так как длина дайджеста зависит от выбранной функции, то это поле имеет в общем случае переменный размер.
|
|
Протокол АН старается охватить при вычислении дайджеста как можно большее число полей исходного IP-пакета, но некоторые из них в процессе передачи пакета по сети меняются непредсказуемым образом, поэтому не могут быть включены в аутентифицируемую часть пакета. Например, целостность значения поля времени жизни (TTL) в приемной точке канала оценить нельзя, так как оно уменьшается на единицу каждым промежуточным маршрутизатором и никак не может совпадать с исходным.
Местоположение заголовка АН в пакете зависит от того, в каком режиме — транспортном или туннельном — сконфигурирован защищенный канал. Результирующий пакет в транспортном режиме выглядит так, как показано на рис. 24.10.
Заголовок исходного IP-пакета | Заголовок аутентификации | Пакет протокола верхнего уровня |
Аутентифицируемая информация |
Рис. 24.10. Структура IP-пакета, обработанного протоколом АН в транспортном режиме |
При использовании туннельного режима, когда шлюз IPSec принимает проходящий через него транзитом исходящий пакет и создает для него внешний IP-пакет, протокол АН защищает все поля исходного пакета, а также неизменяемые поля нового заголовка внешнего пакета (рис. 24.11).
Заголовок внешнего IP-пакета | Заголовок аутентификации | Заголовок исходного IP-пакета | Пакет протокола верхнего уровня |
Аутентифицируемая информация ^ |
Рис. 24.11. Структура IP-пакета, обработанного протоколом АН в туннельном режиме |