Кратко

  • RFC 9827 переименовывает IKEv2 Transform Type 5 и два исходных идентификатора без изменения обработки AH/ESP и битов на линии. Узкий выбор ESN становится пространством контрактов о свойствах порядковых номеров.
  • ID 0 и 1 обещают монотонно растущие, не переполняющиеся и уникальные в пределах SA номера в точке входа в сеть. Эти свойства пригодны для anti-replay, но получатель всё равно локально решает, включать ли окно повторов.
  • Действие отправителя, агрегированное свойство на входе, принятый поток, аутентификация, состояние окна, вердикт и безопасность зависимых механизмов — разные доказательства. Неявному IV нужна уникальность, а AGGFRAG требует ещё и строгой последовательности без пропусков.

Новое имя обнаружило старое допущение

RFC 9827 опубликован на Standards Track в ноябре 2025 года. Формально изменение невелико: Extended Sequence Numbers переименован в Sequence Numbers. Значение 0 теперь называется «32-bit Sequential Numbers», значение 1 — «Partially Transmitted 64-bit Sequential Numbers». Значения, кодировка IKEv2 и обработка AH/ESP не изменились.

Прежнее название сводило весь предмет к одному способу реализации. На деле Type 5 — место, где стороны описывают свойства защищённого потока. Текущий реестр IANA показывает расширение: ID 0 и 1 сохраняют знакомые контракты, а RFC 9838 добавляет ID 2, «32-bit Unspecified Numbers». Поле присутствует, но уникальность по всей SA не гарантируется. Наличие синтаксиса больше нельзя путать со способностью предотвращать повторы.

Контракт заканчивается на входе в сеть

RFC 9827 относит свойства к IPsec-пакетам конкретной SA в момент их входа в сеть. Порядковый номер может быть логическим: при ID 1 передаются только младшие 32 бита, а старшие получатель восстанавливает из аутентифицированной истории. Свойство относится ко всем пакетам SA, а не к каждому процессу отправителя отдельно. Два некоординированных отправителя могут безошибочно увеличивать локальные счётчики и всё же выдать одинаковое значение под одной SA.

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

Свойства номера не равны исполнению политики

ID 0 задаёт передаваемый 32-битный счётчик: он монотонно растёт, не оборачивается и уникален для SA. ID 1 задаёт те же свойства для 64-битного счётчика, младшая половина которого передаётся. Поэтому оба варианта пригодны для защиты от повторов. Именно «пригодны», а не «доказывают её работу».

RFC 4301, RFC 4302 и RFC 4303 определяют anti-replay как локально выбираемую услугу получателя для каждой SA. При её включении получатель ведёт скользящее окно. Слишком старые номера находятся слева, уже отмеченный номер внутри окна является дубликатом, а более новый аутентифицированный номер может сдвинуть правую границу. Размер окна локален и отправителю не сообщается.

Предварительную дешёвую проверку можно выполнить до криптографии, но закреплять новое состояние окна разрешено только после успешной проверки целостности или аутентифицированного расшифрования. Иначе злоумышленник вытеснит корректный трафик неаутентифицированным большим числом. При ESN аутентификация обязательна даже с выключенным anti-replay: история нужна для вывода старших битов. Принадлежность пакета SA и его новизна — два разных решения.

Согласование — не трасса пакетов

IKEv2 выбирает Transform при создании Child SA. Доказательная запись должна содержать предложения и выбранное значение, направление, SPI, сторону, сборку ПО и версию политики. Но она не показывает, получили ли ядра, очереди offload и ускорители непересекающиеся диапазоны, перенёс ли failover последний рубеж выдачи и произошёл ли rekey до исчерпания счётчика.

Операционный вопрос — кому принадлежит состояние. Исправные локальные счётчики не доказывают уникальность агрегированного потока. Поэтому RFC 9827 приписывает свойство пакетам на границе, а не намерению каждого отправителя.

Два потребителя требуют большего, чем зелёный anti-replay

RFC 8750 строит неявный IV для некоторых AEAD-режимов из порядкового номера. Под одним ключом IV не должен повторяться. Если два отправителя используют одно значение, выключение окна повторов не устраняет опасность: повторился криптографический nonce. Выбор Type 5, реальная схема распределения и граница rekey должны входить в один обоснованный контракт безопасности.

RFC 9347 использует порядок внешних ESP-пакетов в режиме Aggregation and Fragmentation для сборки внутренних пакетов. Монотонность не означает соседство: поток только чётных чисел может быть растущим и уникальным. AGGFRAG дополнительно требует шага ровно +1, отдельно определяет полностью заполняющие пакеты и может иметь разные окна переупорядочивания и anti-replay. Нельзя также начать внутренний фрагмент в одной SA и завершить после rekey в другой.

ID 2 из RFC 9838 показывает практический смысл расширения. В групповой SA с несколькими отправителями 32-битное поле может существовать без гарантии уникальности. На нём нельзя строить обычный anti-replay; производный от номера IV запрещён при возможном пересечении; AGGFRAG несовместим с несколькими некоординированными отправителями.

Восемь квитанций вместо одного признака

Операционное утверждение должно восстанавливаться из восьми записей: семантики реестра; фактического согласования; владельца и устойчивости счётчика отправителя; агрегированного потока во всех точках входа; политики и окна получателя; наблюдаемых пакетов и мест захвата; вердикта anti-replay после аутентификации; зависимой безопасности IV и AGGFRAG. Нельзя заполнять следующую строку пересказом предыдущей.

RFC 9827 ценен строгостью границ. «Выбран Transform последовательности» не значит «anti-replay включён». Повтор в захвате не значит «счётчик столкнулся». Отброшенный пакет без перехода состояния не доказывает replay. Стандарт даёт словарь, а эксплуатация должна создать связанную цепочку доказательств.

Источники