ESP был опубликован в двух «версиях». Первая была описана в RFC 1827, и в этой части главы мы обсудим эту раннюю спецификацию.
RFC 1827 На 9.9 приведен формат заголовка ESP в соответствии с RFC 1827. Он состоит из поля SPI и непрозрачных данных. Поле SPI определяет соответствующую датаграмме ассоциацию безопасности, а если установлена в ноль, то это означает, что ассоциация безопасности не использовалась.
Поле Непрозрачные Данные и конкретные алгоритмы шифрации и идентификаций называются «преобразованиями». ESP не определяет эти преобразования — они задаются в других спецификациях. Читателю можно рекомендовать одну из таких - 1.
RFC 2406 RFC 2406 — это самая последняя спецификация ESP, и в этой главе мы сконцентрируем свое внимание именно на этой версии. На 9.10 показан формат заголовка ESP. Номер протокола ESP — 50. Все поля заголовка должны присутствовать и включаются в значение проверки сохранности (описываемом чуть ниже). Эти поля выполняют следующие функции:
Индекс параметров безопасности: значение этого поля, в комбинации с IP-адресом получателя и номером протокола (ESP), однозначно определяют ассоциацию безопасности данной датаграммы. SPI обычно выбирается получающим узлом в процессе определения SA.
Последовательный Номер: это поле всегда присутствует, даже если получатель не собирается воспользоваться защитой от повторения в конкретном SA. Если же такая защита применяется (по умолчанию это так), передаваемый последовательный номер не может повторяться. Следовательно, счетчики получателя и отправителя сбрасываются (Путем установления новой SA и, таким образом, нового ключа) до того, как будет передано 232 пакетов с применением данной SA.
Передаваемые данные: содержит зашифрованные данные.
Заполнение: служит для обеспечения требования о длине открытого текста. Количество заполняющих байтов зависит от реализации.
Длина заполнения: задает количество дополняющих байтов
Следующий заголовок: определяет тип данных, находящихся в поле Передаваемые данные.
Данные идентификации: содержит значение проверки сохранности (ICV) для данного пакета ESP. IPSec требует использования DES в режиме СВС.
Обработка исходящих пакетов Отправитель при шифрации пакетов производит следующие действия:
Помещает в поле Передаваемые данные ESP исходную информацию протокола верхнего уровня, если находится в транспортном режиме, или всю исходную датаграмму IP, если находится в туннельном режиме.
Дополняет до нужной длины, если необходимо.
Шифрует результат (данные, дополняющие биты, длину дополнения и следующий заголовок) с использованием ключа, алгоритма шифрации и режима алгоритма, заданного в SA.
Если выбрана идентификация, то сначала выполняется шифрация, которая не выполняется над полем с данными идентификации.
Если идентификация задана в SA, то отправитель подсчитывает ICV для всего пакета ESP, минус данные идентификации. Таким образом, SPI, последовательный номер, передаваемые данные, дополняющие биты (если есть), длина дополнения и следующий заголовок — все они учитываются при вычислении ICV. Последние четыре пользователя будут в зашифрованном виде, поскольку шифрация выполняется перед идентификацией. |