Обеспечение аутентичности IP-пакетов

Протокол аутентифицирующего заголовка (Authentication Header, AH, см. [31]) служит в IPsec для обеспечения целостности пакетов и аутентификации источника данных, а также для защиты от воспроизведения ранее посланных пакетов. AH защищает данные протоколов более высоких уровней, а также те поля IP-заголовков, которые не меняются на маршруте доставки или меняются предсказуемым образом. (Отметим, что число "непредсказуемых" полей невелико — это Prio. (Traffic Class), Flow Label и Hop Limit. Предсказуемо меняется целевой адрес при наличии дополнительного заголовка исходящей маршрутизации.)

Формат заголовка AH показан на Рис. 27. Напомним, что выше, в Разд. Порядок заголовков , было указано место AH в пакетах IPv6.

Поясним смысл полей, специфичных для AH.

  • Payload Len — длина заголовка AH в 32-битных словах минус 2. (Заметим, что здесь наблюдается некоторое рассогласование между стандартами IPv6 и IPsec. В IPv6 поле "Hdr Ext Len" дополнительного заголовка содержит длину заголовка в 64-битных словах минус 1. Подобные расхождения, не имеющие, впрочем, принципиального значения, являются следствием одновременной поддержки в IPsec как IPv4, так и IPv6).
  • SPI — 32-битное значение, выбираемое получателем пакетов с AH-заголовками в качестве идентификатора протокольного контекста (см. Разд. Контексты безопасности и управление ключами ).
  • Sequence Number — беззнаковое 32-битное целое, наращиваемое от пакета к пакету. Отправитель обязан поддерживать этот счетчик, в то время как получатель может (но не обязан) использовать его для защиты от воспроизведения. При формировании протокольного контекста обе взаимодействующие стороны делают свои счетчики нулевыми, а потом согласованным образом увеличивают их. Когда значение Sequence Number становится максимально возможным, должен быть сформирован новый контекст безопасности.
  • Authentication Data — поле переменной длины, содержащее имитовставку (криптографическую контрольную сумму, Integrity Check Value, ICV) пакета. Способ вычисления этого поля определяется алгоритмом аутентификации.

Протокол AH может применяться в транспортном и туннельном режимах (см. Разд. Архитектура средств безопасности ). На Рис. 28 изображен пакет IPv6 до и после применения AH в транспортном режиме. Здесь защищаются (аутентифицируются) все поля пакета, кроме непредсказуемо изменяющихся.

В туннельном режиме внутренний (первоначальный) заголовок содержит целевой адрес пакета, в то время как во внешнем заголовке помещается адрес конца туннеля. AH помещается во внешний заголовок по тем же правилам, что и в транспортном режиме (см. Рис. 29), однако теперь обеспечивается аутентификация всего первоначального пакета, а также всех неизменяемых или предсказуемо изменяемых полей внешнего заголовка.

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

  • HMAC-MD5 (Hashed Message Authentication Code - Message Digest version 5, см. [32]);
  • HMAC-SHA-1 (Hashed Message Authentication Code — Secure Hash Algorithm version 1, см. [33]).

Мы не будем описывать процесс вычисления хэш-функций, лишь еще раз обратим внимание на необходимость приведения национальных криптографических стандартов, нормативно-правовой базы и практических работ в соответствие со сложившейся международной практикой.


Контексты безопасности и управление ключами Содержание Обеспечение конфиденциальности сетевого трафика