Приложение A: Расширенные порядковые номера (64 бита)
A1. Обзор
В этом приложении описана схема расширенной порядковой нумерации (ESN) для IPsec (ESP и AH), где используются 64-битовые порядковые номера, но в каждом пакете передаются только младшие 32 бита номера. Описана схема окна, используемого для обнаружения повтрно используемых пакетов, а также механизм определения старших битов порядкового номера, используемых для отбрасывания пакетов и расчета ICV. Описан также механизм обработки случаев потери синхронизации для старших (не передаваемых в пакетах) битов порядкового номера.
A2. Окно Anti-Replay
Получатель будет поддерживать окно предотвращения повторного использования пакетов размером W. Это окно будет ограничивать степень разупорядочивания пакетов при доставке без потери идентификации. Все 2^32 порядковых номера, связанных с любым фиксированным значением старших 32 битов (Seqh) будем называть подпространством порядковых номеров. В приведенной ниже таблице перечислены используемые переменные и даны их определения.
Имя | Размер в битах | Значение |
W | 32 | Размер окна |
T | 64 | Наибольший порядковый номер, идентифицированный до настоящего времени — верхняя граница окна |
Tl | 32 | 32 младших бита T |
Th | 32 | 32 старших бита T |
B | 64 | Нижняя граница окна |
Bl | 32 | 32 младших бита B |
Bh | 32 | 32 старших бита B |
Seq | 64 | Порядковый номер полученного пакета |
Seql | 32 | 32 младших бита Seq |
Seqh | 32 | 32 старших бита Seq |
При выполнении проверки на предмет повторного использования пакетов или определении старших битов номера для идентификации входящего пакета возможны два случая:
- Случай A: Tl >= (W - 1) все окно находится в одном подпространстве порядковых номеров (Рисунок 1)
- Случай B: Tl < (W - 1) окно захватывает части двух смежных подпространств порядковых номеров (Рисунок 2)
Th+1 ********* Th =======***** --0--------+-----+-----0--------+-----------0-- Bl Tl Bl (Bl+2^32) mod 2^32 Рисунок 1: Случай A
Th ====************** Th-1 === --0-----------------+--0--+--------------+--0-- Bl Tl Bl (Bl+2^32) mod 2^32 Рисунок 2: Случай B
На рисунках нижняя линия ---- показывает смежные подпространства порядковых номеров, а 0 указывает начало каждого подпространства. Короткая двойная линия === показывает применимые старшие биты, а ==== представляет окно. Звездочки **** обозначают грядущие номера, т. е., номера номера, превышающие максимальный идентифицируемый в данный момент номер (ThTl).