I took Yoav's proposed replacement for the last three paragraphs of 1.5 and
made some editorial changes. This is a big enough change, I want to be sure
everyone agrees to the new wording. The section now (in my temporary copy of
the draft) reads:
1.5. Informational Messages outside of an IKE SA
If an encrypted IKE request packet arrives on port 500 or 4500 with
an unrecognized SPI, it could be because the receiving node has
recently crashed and lost state or because of some other system
malfunction or attack. The receving node MAY send a notification of
the wayward packet with a Notify payload without cryptographic
protection to the source IP address. Such a message is not part of
an INFORMATIONAL exchange, and the receiving node MUST NOT respond to
it. Doing so could cause a message loop.
The INVALID_SPI notification MAY be sent in an IKE INFORMATIONAL
exchange when a node receives an ESP or AH packet with an invalid
SPI. The Notification Data contains the SPI of the invalid packet.
This usually indicates a node has rebooted and forgotten an SA. If
this Notify payload is sent outside the context of an IKE SA, it
should only be used by the recipient as a "hint" that something might
be wrong (because it could easily be forged). The recipient of this
notification cannot tell whether the SPI is for AH or ESP, but this
is not important because the SPIs are supposed to be different for
the two.
There are some cases in which a node receives a packet that it cannot
process, but it may want to notify the sender about this situation.
o If an ESP or AH request or response packet arrives with an
unrecognized SPI. This might be due to the receiving node having
recently crashed and lost state, or because of some other system
malfunction or attack.
o If an encrypted IKE request packet arrives on port 500 or 4500
with an unrecognized IKE SPI. This might be due to the receiving
node having recently crashed and lost state, or because of some
other system malfunction or attack.
o If an IKE request packet arrives with a higher major version
number than the implementation supports.
In the first case, if the receiving node has an active IKE SA to the
IP address from whence the packet came, it MAY send an INVALID_SPI
notification of the wayward packet over that IKE SA in an
Informational exchange. The Notification Data contains the SPI of
the invalid packet. The recipient of this notification cannot tell
whether the SPI is for AH or ESP, but this is not important because
the SPIs are supposed to be different for the two. If no suitable
IKE SA exists, the node MAY send an informational message without
cryptographic protection to the source IP address, using the source
UDP port as the destination port if the packet was UDP (IKE or UDP-
encapsulated ESP or AH). In this case, it should only be used by the
recipient as a hint that something might be wrong (because it could
easily be forged). This message is not part of an Informational
exchange, and the receiving node MUST NOT respond to it because doing
so could cause a message loop. The message is constructed as
follows: There are no IKE SPI values that would be meaningful to the
recipient of such a notification; using zero values or random values
are both acceptable, this being the exception to the rule in
Section 3.1 that prohibits zero IKE Initiator SPIs. The Initiator
flag is set, the Response bit is set to 0, and the version flags are
set in the normal fashion.
In the second and third cases, the message is always sent without
cryptographic protection (outside of an IKE SA), and includes either
an INVALID_IKE_SPI or an INVALID_MAJOR_VERSION notification (with no
notification data). The message is a response message, and thus it
is sent to the IP address and port from whence it came with the same
IKE SPIs and the Message ID and Exchange Type are copied from the
request. The Response bit is set to 1, and the version flags are set
in the normal fashion.
_______________________________________________
IPsec mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/ipsec