3.10.1. Типы уведомлений
Уведомления могут сообщать о причинах ошибок, не позволивших организоовать SA. Они могут также содержать данные о состоянии, которые процесс, управляющий базой данных SA, желает передать процессу партнера. Приведенная ниже таблица содержит список сообщений Notification и их идентификаторов. Число различных ошибочных состояний существенно снижено по сравнению с IKEv1 в целях упрощения и сокращения объема информации для зондирования.
Типы 0 - 16383 предназначены для передачи сообщений об ошибках. Реализация, получившая элемент Notify с одним из таких типов, который она не способна распознать, при отклике должна предполагать, что соответствующий запрос не удалось обработать совсем. Нераспознанные типы ошибок в запросах и типы состояний в запросах и откликах должны игнорироваться, но при этом их следует заносить в системный журнал.
Элементы Notify с типами, относящимися к состоянию, можно добавлять в любые сообщения. Нераспознанные элементы таких типов должны игнорироваться. Они предназначены для индикации возможностей и, как часть процесса согласования SA, используются для согласования параметров, не являющихся криптографическими.
Сообщение Notify — ошибки | Значение | Описание |
Резерв | 0 | |
UNSUPPORTED_CRITICAL_PAYLOAD | 1 | Передается в тех случаях, когда не распознан элемент с флагом Critical. Поле Notification Data содержит октет типа элемента. |
INVALID_IKE_SPI | 4 | Показывает, сообщение IKE, полученное с нераспознанным SPI адресата. Это обычно говорит о перезагрузке партнера с утратой существующей IKE_SA. |
INVALID_MAJOR_VERSION | 5 | Показывает, что получатель не может обрабатывать версию IKE, указанную в заголовке. В заголовке отклика указывается ближайший номер версии, поддерживаемой получателем. |
INVALID_SYNTAX | 7 | Показывает сообщения IKE, полученные некорректно по причине вызода за допустимые пределы типа, размера или значения, а также отвергнутые на основе политики. Для предотвращения атак на службы с использованием обманных сообщений это сообщение можно возвращать только для шифрованных сообщений (в шифрованных сообщениях), если идентификатор сообщения и криптографическая контрольная сумма корректны. Во избежание утечки информации к зондирующему это сообщение должно передаваться в ответ на любую ошибку, для которой не выделено кода. Для отладки следует выводить более детальную информацию об ошибке на консоль или в системный журнал. |
INVALID_MESSAGE_ID | 9 | Передается при получении сообщения IKE, идентификатор которого не попадает в поддерживаемое окно. Такое уведомление недопустимо передавать в отклике, поскольку подтверждение некорректного запроса недопустимо. Вместо этого другую сторону можно проинформировать с помощью обмена INFORMATIONAL с поле Notification, содержащим четыре октета некорректного идентификатора сообщения. Передача этого уведомления является опциональной и должна быть ограничена по частоте. |
INVALID_SPI | 11 | Может передаваться в обмене INFORMATIONAL, когда узел получает пакет ESP или AH с некорректным SPI. Поле Notification Data содержит SPI из полученного пакета. Обычно такое сообщение говорит о перезагрузке узла с потерей SA. Если такое сообщение передается вне контекста IKE_SA, его следует использовать только в качестве «совета», поскольку подделать такое сообщение достаточно просто. |
NO_PROPOSAL_CHOSEN | 14 | Неприемлем ни один из предложенных криптографических наборов. |
INVALID_KE_PAYLOAD | 17 | Поле D-H Group # элемента KE не совпадает с номером группы, выбранным ответчиком для этого обмена. С таким уведомлением связаны два октета (в сетевом порядке) данных, указывающие номер приемлемой группы D-H. |
AUTHENTICATION_FAILED | 24 | Передается в ответ на сообщение IKE_AUTH, когда идентификация не прошла. Связанных данных нет. |
SINGLE_PAIR_REQUIRED | 34 | Это сообщение показывает, что запрос CREATE_CHILD_SA не принят потому, что отправитель согласен принимать только селекторы трафика, задающие одну пару адресов. Предполагается, что запрашивающая сторона ответит запросом SA только для конкретного трафика. |
NO_ADDITIONAL_SAS | 35 | Это сообщение показывает, что запрос CREATE_CHILD_SA не принят потому, что ответчик не хочет создавать дополнительные CHILD_SA для данной IKE_SA. Некоторые минимальные реализации могут принимать организацию только одной CHILD_SA в контексте начального обмена IKE и отвергают все последующие попытки организации связей. |
INTERNAL_ADDRESS_FAILURE | 36 | Показывает ошибку при выделении внутреннего адреса (INTERNAL_IP4_ADDRESS или INTERNAL_IP6_ADDRESS) в процессе обработки ответчиком элемента Configuration. Если это сообщение создано в контексте обмена IKE_AUTH, связи CHILD_SA не будут организованы. |
FAILED_CP_REQUIRED | 37 | Передается ответчиком в тех случаях, когда CP(CFG_REQUEST) предполагалось, но не было получено в результате конфликта с локальной политикой. Связанных данных нет. |
TS_UNACCEPTABLE | 38 | Показывает неприемлемость всех адресов/протоколов/портов в селекторе трафика. |
INVALID_SELECTORS | 39 | Может передаваться в обмене INFORMATIONAL, когда узел получает пакет ESP или AH, в котором селекторы не соответствуют использованной SA (это приводит к отбрасыванию пакета). Поле Notification Data содержит начало ошибочного пакета (как в сообщениях ICMP), а в поле SPI помещается значение SPI для IPsec SA. |
Резерв IANA — типы ошибок | 40 - 8191 | |
Для частного применения — типы ошибок | 8192 - 16383 |
Сообщения NOTIFY — состояния | Значение | Описание | |||||||||||||||||||||
INITIAL_CONTACT | 16384 | Данное уведомление заявляет, что данная IKE_SA является единственной активной IKE_SA между идентифицированными сторонами. Уведомление может передаваться при создании IKE_SA после аварии и получатель может использовать эту информацию для удаления всех прочих IKE_SA с тем же идентифицированным партнером без ожидания. Недопустима передача таких уведомлений со стороны реплицируемых объектов (например, представление мобильного пользователя, которому разрешено подключаться к корпоративному шлюзу с двух удаленных систем одновременно). | |||||||||||||||||||||
SET_WINDOW_SIZE | 16385 | Это уведомление заявляет, что передающая сторона способна сохранять состояние для множества незавершенных обменов, что позволяет получателю отправлять множество запросов без ожидания ответа на первый запрос. Данные, связанные с SET_WINDOW_SIZE, должны иметь размер 4 октета (сетевой порядок байтов) и содержать представление числа сообщений, которые могут сохраняться. До завершения начального обмена размер окна всегда равен 1. | |||||||||||||||||||||
ADDITIONAL_TS_POSSIBLE | 16386 | Это уведомление заявляет, что передающая сторона сужает предложенный набор селекторов трафика, и говорит о возможности использования других селекторов через отдельные SA (см. параграф 2.9). С этим типом уведомлений не связано данных. Уведомление может передаваться только в качестве дополнительного элемента сообщения, включающего подходящие TS. | |||||||||||||||||||||
IPCOMP_SUPPORTED | 16387 | Это уведомление можно включать только в сообщения, содержащие элемент SA для согласования CHILD_SA, где указано желание использовать IPComp в данной SA. Связанные с уведомлением данные включают двухоктетное значение IPComp CPI, за которым следует однооктетный идентификатор преобразования (возможно, с атрибутами, размер и формат которых определяются идентификатором преобразования). Сообщение, предлагающее SA, может включать множество уведомлений IPCOMP_SUPPORTED для индикации поддержки разных алгоритмов. Сообщение, принимающее SA, может содержать не более одного такого уведомления. Идентификаторы преобразований показаны ниже.
Значения 5-240 зарезервированы IANA, значения 241-255 предназначены для частно применения по согласования сторон. |
|||||||||||||||||||||
NAT_DETECTION_SOURCE_IP | 16388 | Это уведомление используется получателем для проверки нахождения его отправителя за устройством NAT. Данные, связанные с этим уведомлением, представляют собой подпись SHA-1 для значений SPI (в порядке их следования в заголовке), адреса IP и номера порта, куда пакет был послан. Возможно наличие множества уведомлений этого типа в сообщении, если отправитель не знает, какое из соединений с сетью будет использоваться для передачи пакета. Получатель уведомления может сравнить полученное значение с хэшем SPI, адреса IP и порта получателя — при несовпадении следует включить режим работы через NAT (см. параграф 2.23). Если работа через NAT не поддерживается, попытка соединения может быть отвергнута. | |||||||||||||||||||||
NAT_DETECTION_DESTINATION_IP | 16389 | Это уведомление используется его получателем для проверки своего нахождения за устройством NAT. Данные, связанные с этим уведомлением, представляют собой подпись SHA-1 для значений SPI (в порядке их следования в заголовке), адреса IP и номера порта, куда пакет был послан. Получатель уведомления может сравнить полученное значение с хэшем SPI, адреса IP и порта получателя — при несовпадении следует включить режим работы через NAT (см. параграф 2.23). Несоответствие говорит о том, что данная сторона расположена за устройством NAT и ей следует начать передачу пакетов keepalive, как определено в [Hutt05]. Если работа через NAT не поддерживается, попытка соединения может быть отвергнута. | |||||||||||||||||||||
USE_TRANSPORT_MODE | 16391 | Это уведомление может быть включено в запрос, содержащий также элемент SA для создания CHILD_SA. Уведомление запрашивает для CHILD_SA использование транспортного режима, вместо туннельного. Если запрос принимается, отклик на него должен включать уведомление USE_TRANSPORT_MODE. Если ответчик отвергает запрос, CHILD_SA будет создаваться для туннельного режима. Если это неприемлено для инициатора, он должен удалить SA. Примечание: Для всех SA с туннельным режимом, создаваемых IKEv2, должна выполняться декапсуляция, измененная в соответствии с [RFC4301]. |
|||||||||||||||||||||
HTTP_CERT_LOOKUP_SUPPORTED | 16392 | Это уведомление может включаться в любое сообщение, которое содержит элемент CERTREQ, и показывает, что отправитель может находить сертификаты по URL на основе HTTP (и, следовательно, будет предпочитать получение сертификатов в таком формате). | |||||||||||||||||||||
REKEY_SA | 16393 | Это уведомление должно включаться в обмен CREATE_CHILD_SA, если задачей обмена является замена существующей SA (ESP или AH). Поле SPI идентифицирует SA, для которой будут меняться ключи. Уведомление не включает данных. | |||||||||||||||||||||
ESP_TFC_PADDING_NOT_SUPPORTED | 16394 | Это уведомление заявляет, что передающая точка не будет принимать пакеты с заполнением TFC | |||||||||||||||||||||
NON_FIRST_FRAGMENTS_ALSO | 16395 | Служит для контроля фрагментации (см. [RFC4301]). | |||||||||||||||||||||
Резерв IANA — типы состояний | 16396 - 40959 | ||||||||||||||||||||||
Для частного применения — типы состояний | 40960 - 65535 |