АН задается при помощи значения поля Идентификатор Протокола, которое устанавливается равным 51. Все поля его заголовка включаются в значение проверки сохранности (объясняется чуть позже). Эти поля предназначены для выполнения следующих функций: Следующий Заголовок: задает тип передаваемых данных, следующих после данных идентификации. Значение берется из списка протоколов IP, который можно найти по адресу www.ietf.org (перейти по ссылке IANA). Длина передаваемых данных: задает длину АН. Резервное: зарезервировано для будущего использования. Индекс параметров защиты (SPI): значение этого поля, в комбинации с IP-адресом. получателя и протоколом безопасности (АН), однозначно задает ассоциации безопасности для данной датаграммы. SPI обычно выбирается получающим узлом в процессе определения SA.
Последовательный Номер: это поле всегда присутствует, даже если получатель не собирается воспользоваться защитой от повторения в конкретном SA. Если же такая защита применяется (по умолчанию это так), передаваемый последовательный номер не может повторяться. Следовательно, счетчики получателя и отправителя сбрасываются (путем установления новой SA и, таким образом, нового ключа) до того, как будет передано 232 пакета с применением данной SA.
Данные идентификации: содержит значение проверки сохранности (ICV)
Значение проверки сохранности (Integrity Check Value — ICV) для исходящих пакетов ICV в АН вычисляются на основе: полей IP-заголовка, которые либо неизменны, либо их значения можно предсказать по получении; заголовка АН (а также возможных заполняющих битов); О всех заголовков и данных верхнего уровня.
Если применяется фрагментация, то соответствующие значения вычисляются после АН-обработки. Таким образом, транспортный режим АН применяется только в случае целых датаграмм, а не их фрагментов. IP-пакет, к которому был применен АН, может быть фрагментирован маршрутизаторами на пути от отправителя к получателю, но такие фрагменты должны быть собраны в целое до обработки АН у получателя. В туннельном режиме АН применяется к IP-пакету, блоком данных которого может быть фрагмент другого IP-пакета. Например, шлюзы безопасности (а также IPSec в вариантах запихнуть-в-стек и запихнуть-в-железо) могут использовать туннельный режим АН для таких фрагментов.
Значение проверки сохранности (Integrity Check Value — ICV) для входящих пакетов Если пакет фрагментируется, то сборка такого пакета должна иметь место до обработки АН. Соответствующая SA определяется при помощи IP-адреса получателя, номера протокола (АН) и SPI. Если подходящая SA не найдена, то такой пакет должен быть отвергнут. Поле Номер Последовательности применяется в защите от повторений пакетов, что требуется в АН. Однако если получатель не осуществляет такую защиту, то тогда значение поля Последовательный Номер игнорируется.
Получающий узел вычисляет ICV на основе соответствующих полей пакета и сравнивает результат со значением, переданным в поле Данные Идентификации. Если они совпадают, датаграмма пропускается. Алгоритм этой операции может варьироваться, но, как вы наверняка припоминаете, любая реализация АН должна поддерживать либо НМАС с MD5, либо НМАС с SHA-1. |