IPSEC Working Group Scott Kelly,
INTERNET-DRAFT RedCreek Communications
draft-ietf-ipsec-notifymsg-00.txt June, 1999
Content Requirements for ISAKMP Notify Messages
Status of This Memo
This document is an Internet Draft and is in full conformance with
all provisions of Section 10 of [RFC2026]. Internet Drafts are
working documents of the Internet Engineering Task Force (IETF), its
areas, and working groups. Note that other groups may also distribute
working documents as Internet Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as ``work in progress.''
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
Comments on this document should be sent to the IETF IPsec WG
discussion list (ipsec@lists.tislabs.com).
Abstract
The ISAKMP and DOI RFCs [RFC2408, RFC2407] specify error and status
message types for use in ISAKMP NOTIFY messages, but in some cases do
not specify that any additional clarifying data be carried in the
messages. In these cases, it is difficult to determine which SA
corresponds to the received NOTIFY message. While the DOI RFC
specifies content and formats for additional data in the currently
defined IPSEC status messages, no such requirements are currently
specified for ISAKMP NOTIFY messages. This document provides content
and format recommendations for those messages.
Kelly Expires December, 1999 [Page 1]
Internet Draft draft-ietf-ipsec-notifymsg-00.txt June, 1999
Table of Contents
1. Overview ............................................. 3
1.1 Requirements Terminology ......................... 3
1.2 Reader Prerequisites ............................. 4
1.3 Document Organization ............................ 4
2. ISAKMP NOTIFY Error Messages ......................... 4
2.1 INVALID-PAYLOAD-TYPE ............................. 4
2.2 DOI-NOT-SUPPORTED ................................ 5
2.3 SITUATION-NOT-SUPPORTED .......................... 5
2.4 INVALID-COOKIE ................................... 6
2.5 INVALID-MAJOR-VERSION ............................ 6
2.6 INVALID-MINOR-VERSION ............................ 6
2.7 INVALID-EXCHANGE-TYPE ............................ 7
2.8 INVALID-FLAGS .................................... 7
2.9 INVALID-MESSAGE-ID ............................... 8
2.10 INVALID-PROTOCOL-ID .............................. 8
2.11 INVALID-SPI ...................................... 9
2.12 INVALID-TRANSFORM-ID ............................. 9
2.13 ATTRIBUTES-NOT-SUPPORTED ......................... 10
2.14 NO-PROPOSAL-CHOSEN ............................... 10
2.15 BAD-PROPOSAL-SYNTAX .............................. 11
2.16 PAYLOAD-MALFORMED ................................ 11
2.17 INVALID-KEY-INFORMATION .......................... 12
2.18 INVALID-ID-INFORMATION ........................... 12
2.19 INVALID-CERT-ENCODING ............................ 13
2.20 INVALID-CERTIFICATE .............................. 13
2.21 CERT-TYPE-UNSUPPORTED ............................ 14
2.22 INVALID-CERT-AUTHORITY ........................... 14
2.23 INVALID-HASH-INFORMATION ......................... 14
2.24 AUTHENTICATION-FAILED ............................ 15
2.25 INVALID-SIGNATURE ................................ 15
2.26 ADDRESS-NOTIFICATION ............................. 16
2.27 NOTIFY-SA-LIFETIME ............................... 16
2.28 CERTIFICATE-UNAVAILABLE .......................... 17
2.29 UNSUPPORTED-EXCHANGE-TYPE ........................ 17
2.30 UNEQUAL-PAYLOAD-LENGTHS .......................... 17
3. ISAKMP Notify Status messages ......................... 18
3.1 CONNECTED ........................................ 18
4. Security Considerations .............................. 18
5. Editors' Addresses ................................... 19
References .............................................. 19
Full Copyright Statement ................................ 19
Kelly Expires December, 1999 [Page 2]
Internet Draft draft-ietf-ipsec-notifymsg-00.txt June, 1999
1. Overview
The ISAKMP and DOI RFCs [RFC2408, RFC2407] specify error and status
message types for use in ISAKMP NOTIFY messages, but in some cases do
not specify that any additional clarifying data be carried in the
messages. In some cases, it is difficult to determine which SA
corresponds the received NOTIFY message. Such determination requires
specific NOTIFY payload contents. While the DOI RFC specifies content
and formats for additional data in the currently defined IPSEC status
messages, no content or formatting requirements are currently
specified for ISAKMP NOTIFY messages.
Many of the ISAKMP NOTIFY messages may apply to either phase 1 or
phase 2 negotiations. In some cases, the context of the message
makes clear what transaction it refers to, e.g. if the NOTIFY message
pertains to the ISAKMP (phase 1) SA upon which it is received.
However, there are cases in which ambiguities may arise. For example,
there may be multiple phase 2 SAs negotiated using a single phase 1
SA, and these may be simultaneously under negotiation. A NOTIFY
message received via the parent phase 1 SA may apply to any of the
phase 2 SAs, but the receiver may not be able to determine which.
In order to be truly useful, NOTIFY messages must, at minimum, allow
the receiver to determine which transaction the message corresponds
to. As indicated above, in some cases this information may be
entirely derived from information contained in the ISAKMP header
(cookies and message ID). However, in many cases, and in particular
with respect to phase 2 negotiations, the correct context cannot be
ascertained without additional information. In some of those cases,
the relevant information may be carried in the predefined notify
payload fields. In others, this is not enough, and in such cases
additional information may be carried in the notify payload data
field.
In addition to the need to determine which SA a NOTIFY message
corresponds to, it would also be useful to know more precisely what
problem was encountered. For example, an INVALID-PAYLOAD message
would be far more useful if one could determine exactly which payload
was at issue. Such additional data would be very useful when
diagnosing error conditions, and also would provide useful
information for auditing purposes. This document provides content and
format recommendations for ISAKMP NOTIFY messages which are aimed at
providing the additional granularity required to make these messages
truly useful.
1.1 Requirements Terminology
The keywords MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD,
Kelly Expires December, 1999 [Page 3]
Internet Draft draft-ietf-ipsec-notifymsg-00.txt June, 1999
SHOULD NOT, RECOMMENDED, MAY, and OPTIONAL, when they appear in this
document, are to be interpreted as described in [RFC2119].
1.2 Reader Prerequisites
[RFC2407], [RFC2408], and [RFC2409] are prerequisites to
understanding the material presented here. While not strictly
necessary, reader familiarity with [RFC2401], [RFC2402], [RFC2406],
and with general IP security concepts will further facilitate
understanding.
1.3 Document Organization
At present, the NOTIFY messages are presented in 2 sections: ISAKMP
error messages, and ISAKMP status messages. It is possible that a
later revision of this document will address IPSEC error/status
messages, but some of those NOTIFY message types are currently
addressed in [RFC2407].
Within each section, messages are detailed in individual subsections.
Following the example of [RFC2407], each message payload is detailed
field-by-field. Where appropriate, additional information regarding
the circumstances under which each message arises, along with
relative payload variations under those circumstances, is included.
2. ISAKMP NOTIFY Error Messages
This section contains NOTIFY error messages which are usually
specific to ISAKMP (phase 1) Security Associations (SAs). Some of
these messages may also apply to the negotiation of IPSec (phase 2)
SAs. In such cases, provision is made for use of the appropriate SPI
(and other) values. These NOTIFY message types are defined in
[RFC2408].
2.1 INVALID-PAYLOAD-TYPE
The INVALID-PAYLOAD-TYPE error message may be used to communicate
that an unrecognized or invalid payload type was received.
Phase: 1 or 2
Differentiators: Cookies vs SPI,
subject payload in notify data
When present, the Notification Payload MUST have the following
format:
Kelly Expires December, 1999 [Page 4]
Internet Draft draft-ietf-ipsec-notifymsg-00.txt June, 1999
o Payload Length - set to length of payload + size of data (var)
o DOI - set to the current DOI for this negotiation
o Protocol ID - set to selected Protocol ID from chosen SA
o SPI Size - set to either zero (0) or four (4)(one IPSEC SPI)
o Notify Message Type - set to INVALID-PAYLOAD-TYPE
o SPI - set to empty or to the sender's inbound
IPSEC SPI
o Notification Data - contains the subject payload
2.2 DOI-NOT-SUPPORTED
The DOI-NOT-SUPPORTED error message may be used to communicate that
an unrecognized or unsupported DOI value was received.
Phase: 1 or 2
Differentiators: Cookies vs SPI, Protocol ID,
subject DOI in notify payload DOI field
When present, the Notification Payload MUST have the following
format:
o Payload Length - set to length of payload
o DOI - set to the subject (unsupported) DOI
o Protocol ID - set to selected Protocol ID from chosen SA
o SPI Size - set to either zero (0) or four (4) (one IPSEC SPI)
o Notify Message Type - set to DOI-NOT-SUPPORTED
o SPI - set to empty or to the sender's inbound IPSEC SPI
o Notification Data - empty
2.3 SITUATION-NOT-SUPPORTED
The SITUATION-NOT-SUPPORTED error message may be used to communicate
that an unrecognized or unsupported situation value was received.
Phase: 1 or 2
Differentiator: Cookies vs SPI, Protocol ID,
situation in notify data
When present, the Notification Payload MUST have the following
format:
o Payload Length - set to length of payload + size of data (4)
o DOI - set to DOI included in SA payload with situation
o Protocol ID - set to selected Protocol ID from chosen SA
o SPI Size - set to either zero (0) or four (4)(one IPSEC SPI)
o Notify Message Type - set to SITUATION-NOT-SUPPORTED
o SPI - set to empty or to the sender's inbound IPSEC SPI
Kelly Expires December, 1999 [Page 5]
Internet Draft draft-ietf-ipsec-notifymsg-00.txt June, 1999
o Notification Data - contains unsupported situation value
2.4 INVALID-COOKIE
The INVALID-COOKIE error message may be used to communicate that an
invalid ISAKMP cookie was received.
Phase: 1 or 2
Differentiator: Cookies, message ID
invalid cookie in notify data
When present, the Notification Payload MUST have the following
format:
o Payload Length - set to length of payload + size of data (var)
o DOI - set to IPSEC DOI (1)
o Protocol ID - set to PROTO_ISAKMP
o SPI Size - set to zero (0)
o Notify Message Type - set to INVALID-COOKIE
o SPI - empty
o Notification Data - contains the invalid cookie (size may be
derived from payload length
2.5 INVALID-MAJOR-VERSION
The INVALID-MAJOR-VERSION error message may be used to communicate
that this portion of the ISAKMP version is invalid or unsupported.
Phase: 1 or 2
Differentiator: Cookies, message ID
invalid version in notify data
When present, the Notification Payload MUST have the following
format:
o Payload Length - set to length of payload + size of data (5)
o DOI - set to DOI under which message was received
o Protocol ID - set to PROTO_ISAKMP
o SPI Size - set to zero (0)
o Notify Message Type - set to INVALID-MAJOR-VERSION
o SPI - empty
o Notification Data - contains the message ID, followed by the
invalid version octet
2.6 INVALID-MINOR-VERSION
Kelly Expires December, 1999 [Page 6]
Internet Draft draft-ietf-ipsec-notifymsg-00.txt June, 1999
The INVALID-MINOR-VERSION error message may be used to communicate
that this portion of the ISAKMP version is invalid or unsupported.
Phase: 1 or 2
Differentiator: Cookies, message ID in notify data,
invalid version in notify data
When present, the Notification Payload MUST have the following
format:
o Payload Length - set to length of payload + size of data (1)
o DOI - set to DOI under which message was received
o Protocol ID - set to PROTO_ISAKMP
o SPI Size - set to zero (0)
o Notify Message Type - set to INVALID-MINOR-VERSION
o SPI - empty
o Notification Data - contains the invalid version octet
2.7 INVALID-EXCHANGE-TYPE
The INVALID-EXCHANGE-TYPE error message may be used to communicate
that that an unrecognized or invalid ISAKMP exchange type was
received.
Phase: 1 or 2
Differentiator: Cookies, message ID
invalid exchange type in notify data
When present, the Notification Payload MUST have the following
format:
o Payload Length - set to length of payload + size of data (1)
o DOI - set to DOI under which message was received
o Protocol ID - set to PROTO_ISAKMP
o SPI Size - set to zero (0)
o Notify Message Type - set to INVALID-EXCHANGE-TYPE
o SPI - empty
o Notification Data - contains the invalid exchange type octet
2.8 INVALID-FLAGS
The INVALID-FLAGS error message may be used to communicate that one
or more of the received ISAKMP header flags were unrecognized or
invalid.
Phase: 1 or 2
Kelly Expires December, 1999 [Page 7]
Internet Draft draft-ietf-ipsec-notifymsg-00.txt June, 1999
Differentiator: Cookies, message ID
invalid flags in notify data
When present, the Notification Payload MUST have the following
format:
o Payload Length - set to length of payload + size of data (1)
o DOI - set to DOI under which message was received
o Protocol ID - set to PROTO_ISAKMP
o SPI Size - set to zero (0)
o Notify Message Type - set to INVALID-FLAGS
o SPI - empty
o Notification Data - contains the flags octet with only
the unknown/invalid flags bits set (valid bits masked off)
2.9 INVALID-MESSAGE-ID
The INVALID-MESSAGE-ID error message may be used to communicate that
the message ID in the received message is unrecognized or invalid.
Phase: 1 or 2
Differentiator: Cookies, message ID
When present, the Notification Payload MUST have the following
format:
o Payload Length - set to length of payload
o DOI - set to DOI under which message was received
o Protocol ID - set to PROTO_ISAKMP
o SPI Size - set to zero (0)
o Notify Message Type - set to INVALID-MESSAGE-ID
o SPI - empty
o Notification Data - empty
In this case, the invalid message ID is contained in the ISAKMP
header of the notify message.
2.10 INVALID-PROTOCOL-ID
The INVALID-PROTOCOL-ID error message may be used to communicate that
an invalid or unrecognized protocol ID was received as part of a
proposal payload.
Phase: 1 or 2
Differentiator: Cookies, message ID, proposal payload
When present, the Notification Payload MUST have the following
Kelly Expires December, 1999 [Page 8]
Internet Draft draft-ietf-ipsec-notifymsg-00.txt June, 1999
format:
o Payload Length - set to length of payload + size of data (var)
o DOI - set to DOI of received packet
o Protocol ID - set to invalid protocol ID value
o SPI Size - set to zero (0)
o Notify Message Type - set to INVALID-PROTOCOL-ID
o SPI - empty
o Notification Data - contains the proposal payload in which the
unrecognized protocol ID was found.
2.11 INVALID-SPI
The INVALID-SPI error message may be used to communicate that an
invalid SPI was received as part of a proposal payload.
Phase: 1 or 2
Differentiator: Cookies, message ID, SPI
When present, the Notification Payload MUST have the following
format:
o Payload Length - set to length of payload + size of data (var)
o DOI - set to DOI of received packet
o Protocol ID - set to selected Protocol ID from offending SA
proposal
o SPI Size - set to zero (0)
o Notify Message Type - set to INVALID-SPI
o SPI - empty
o Notification Data - contains the proposal payload in which the
invalid SPI was found.
2.12 INVALID-TRANSFORM-ID
The INVALID-TRANSFORM-ID error message may be used to communicate
that an invalid or unrecognized (unimplemented?) transform was
received as part of a proposal.
Phase: 1 or 2
Differentiator: Cookies, message ID, SPI
When present, the Notification Payload MUST have the following
format:
o Payload Length - set to length of payload + size of data (2)
o DOI - set to DOI of received packet
o Protocol ID - set to Protocol ID from proposal containing
Kelly Expires December, 1999 [Page 9]
Internet Draft draft-ietf-ipsec-notifymsg-00.txt June, 1999
subject
transform ID
o SPI Size - set to either zero (0) or four (4)(one IPSEC SPI)
o Notify Message Type - set to INVALID-TRANSFORM-ID
o SPI - set to empty or to the sender's inbound IPSEC SPI
o Notification Data - contains the transform number, followed by
the invalid transform ID.
[note: could include whole transform payload, but this would
include
SA attrs]
2.13 ATTRIBUTES-NOT-SUPPORTED
The ATTRIBUTES-NOT-SUPPORTED error message may be used to communicate
that unrecognized or unsupported attributes were received as part of
a proposal. Currently, this message may result from one of the
following events:
o unacceptable group in IKE new-group-mode negotiation o
conflicting lifetime attributes are detected o invalid or
unsupported SA attributes are received
Phase: 1 or 2
Differentiator: Cookies, message ID, SPI, attributes
When present, the Notification Payload MUST have the following
format:
o Payload Length - set to length of payload + size of data (var)
o DOI - set to DOI of received packet
o Protocol ID - set to selected Protocol ID from subject SA
o SPI Size - set to either zero (0) or four (4)(one IPSEC SPI)
o Notify Message Type - set to ATTRIBUTES-NOT-SUPPORTED
o SPI - set to empty or to the sender's inbound IPSEC SPI
o Notification Data - contains an ISAKMP attribute list consisting
of the unsupported attributes
2.14 NO-PROPOSAL-CHOSEN
The NO-PROPOSAL-CHOSEN error message may be used to communicate that
none of the received proposals are acceptable to the responder.
Phase: 1 or 2
Differentiator: Cookies, message ID
When present, the Notification Payload MUST have the following
Kelly Expires December, 1999 [Page 10]
Internet Draft draft-ietf-ipsec-notifymsg-00.txt June, 1999
format:
o Payload Length - set to length of payload
o DOI - set to DOI of received packet
o Protocol ID - set to PROTO_ISAKMP
o SPI Size - set to zero (0)
o Notify Message Type - set to NO-PROPOSAL-CHOSEN
o SPI - set to the two ISAKMP cookies
o Notification Data - empty
2.15 BAD-PROPOSAL-SYNTAX
The BAD-PROPOSAL-SYNTAX error message may be used to communicate that
a received proposal is improperly formed. This message may be
precipitated by the following events:
o a reserved field in a proposal payload does not
contain zero (0)
o a reserved field in a transform payload does not
contain zero (0)
Phase: 1 or 2
Differentiator: Cookies, message ID, proposal/transform payload
When present, the Notification Payload MUST have the following
format:
o Payload Length - set to length of payload + size of data (var)
o DOI - set to DOI of received packet
o Protocol ID - set to selected Protocol ID from chosen SA
o SPI Size - set to zero (0) (SPI is in proposal)
o Notify Message Type - set to BAD-PROPOSAL-SYNTAX
o SPI - empty
o Notification Data - contains the improperly-formed proposal or
transform payload
[Note: There's an ambiguity here due to overloading this error
type. It would be resolved by adding a BAD-TRANSFORM-SYNTAX error,
and only using this one for proposals. Alternatively, we could
add
an identifier to this message to distinguish between the two
cases]
2.16 PAYLOAD-MALFORMED
The PAYLOAD-MALFORMED error message may be used to communicate that a
malformed payload was received.
Kelly Expires December, 1999 [Page 11]
Internet Draft draft-ietf-ipsec-notifymsg-00.txt June, 1999
Phase: 1 or 2
Differentiator: Cookies, message ID, malformed payload
When present, the Notification Payload MUST have the following
format:
o Payload Length - set to length of payload + size of data (var)
o DOI - set to DOI of received packet
o Protocol ID - set to PROTO_ISAKMP
o SPI Size - set to either zero (0) or four (4)(one IPSEC SPI)
o Notify Message Type - set to PAYLOAD-MALFORMED
o SPI - set to empty or to the sender's inbound IPSEC SPI
o Notification Data - contains the offending payload
[Note: This overlaps with BAD-PROPOSAL-SYNTAX...]
2.17 INVALID-KEY-INFORMATION
The INVALID-KEY-INFORMATION error message may be used to communicate
that the key exchange type specified by the key exchange payload is
not supported.
Phase: 1 or 2
Differentiator: Cookies, message ID, KE payload
When present, the Notification Payload MUST have the following
format:
o Payload Length - set to length of payload + size of data (var)
o DOI - set to DOI of received packet
o Protocol ID - set to selected Protocol ID from chosen SA
o SPI Size - set to either zero (0) or four (4)(one IPSEC SPI)
o Notify Message Type - set to INVALID-KEY-INFORMATION
o SPI - set to empty or to the sender's inbound IPSEC SPI
o Notification Data - contains the subject key exchange payload
2.18 INVALID-ID-INFORMATION
The INVALID-ID-INFORMATION error message may be used to communicate
that the identification type of the ID payload is not supported.
Phase: 1 or 2
Differentiator: Cookies, message ID, SPI, ID payload
When present, the Notification Payload MUST have the following
Kelly Expires December, 1999 [Page 12]
Internet Draft draft-ietf-ipsec-notifymsg-00.txt June, 1999
format:
o Payload Length - set to length of payload + size of data (var)
o DOI - set to DOI of received packet
o Protocol ID - set to PROTO_ISAKMP
o SPI Size - set to either zero (0) or four (4)(one IPSEC SPI)
o Notify Message Type - set to INVALID-ID-INFORMATION
o SPI - set to empty or to the sender's inbound IPSEC SPI
o Notification Data - contains subject ID payload
2.19 INVALID-CERT-ENCODING
The INVALID-CERT-ENCODING error message may be used to communicate
that the encoding of a received certificate payload is not valid.
Phase: 1 or 2
Differentiator: Cookies, message ID, SPI, CERT payload
When present, the Notification Payload MUST have the following
format:
o Payload Length - set to length of payload + size of data (var)
o DOI - set to DOI of received packet
o Protocol ID - set to selected Protocol ID from chosen SA
o SPI Size - set to either zero (0) or four (4) (one IPSEC SPI)
o Notify Message Type - set to INVALID-CERT-ENCODING
o SPI - set to empty or to the sender's inbound IPSEC SPI
o Notification Data - contains the certificate payload
2.20 INVALID-CERTIFICATE
The INVALID-CERTIFICATE error message may be used to communicate that
the data in a certificate payload is invalid or improperly formatted.
Phase: 1 or 2
Differentiator: Cookies, message ID, SPI, CERT payload
When present, the Notification Payload MUST have the following
format:
o Payload Length - set to length of payload + size of data (var)
o DOI - set to DOI of received packet
o Protocol ID - set to selected Protocol ID from chosen SA
o SPI Size - set to either zero (0) or four (4) (one IPSEC SPI)
o Notify Message Type - set to INVALID-CERTIFICATE
o SPI - set to empty or to the sender's inbound IPSEC SPI
Kelly Expires December, 1999 [Page 13]
Internet Draft draft-ietf-ipsec-notifymsg-00.txt June, 1999
o Notification Data - contains subject certificate payload
2.21 CERT-TYPE-UNSUPPORTED
The CERT-TYPE-UNSUPPORTED error message may be used to communicate
that the encoding of a received certificate payload is not supported.
Phase: 1 or 2
Differentiator: Cookies, message ID, SPI, CERT payload
When present, the Notification Payload MUST have the following
format:
o Payload Length - set to length of payload + size of data (var)
o DOI - set to DOI of received packet
o Protocol ID - set to selected Protocol ID from chosen SA
o SPI Size - set to either zero (0) or four (4) (one IPSEC SPI)
o Notify Message Type - set to CERT-TYPE-UNSUPPORTED
o SPI - set to empty or to the sender's inbound IPSEC SPI
o Notification Data - contains the subject certificate payload
2.22 INVALID-CERT-AUTHORITY
The INVALID-CERT-AUTHORITY error message may be used to communicate
that the Certificate Authority in a certificate payload is invalid or
improperly formatted.
Phase: 1 or 2
Differentiator: Cookies, message ID, SPI, CERT payload
When present, the Notification Payload MUST have the following
format:
o Payload Length - set to length of payload + size of data (var)
o DOI - set to DOI of received packet
o Protocol ID - set to selected Protocol ID from chosen SA
o SPI Size - set to either zero (0) or four (4) (one IPSEC SPI)
o Notify Message Type - set to INVALID-CERT-AUTHORITY
o SPI - set to empty or to the sender's inbound IPSEC SPI
o Notification Data - contains the subject certificate payload
2.23 INVALID-HASH-INFORMATION
The INVALID-HASH-INFORMATION error message may be used to communicate
that the required hash type is not supported.
Kelly Expires December, 1999 [Page 14]
Internet Draft draft-ietf-ipsec-notifymsg-00.txt June, 1999
Phase: 1 or 2
Differentiator: Cookies, message ID, SPI, hash payload
When present, the Notification Payload MUST have the following
format:
o Payload Length - set to length of payload + size of data (1)
o DOI - set to DOI of received packet
o Protocol ID - set to selected Protocol ID from chosen SA
o SPI Size - set to either zero (0) or four (4) (one IPSEC SPI)
o Notify Message Type - set to INVALID-HASH-INFORMATION
o SPI - set to empty or to the sender's inbound IPSEC SPI
o Notification Data - contains the subject hash payload
2.24 AUTHENTICATION-FAILED
The AUTHENTICATION-FAILED error message may be used to communicate
that that the authentication operation (hash) produced an incorrect
result.
Phase: 1 or 2
Differentiator: Cookies, message ID, SPI
When present, the Notification Payload MUST have the following
format:
o Payload Length - set to length of payload
o DOI - set to DOI of received packet
o Protocol ID - set to selected Protocol ID from chosen SA
o SPI Size - set to zero (0)or four (4) (one IPSEC SPI)
o Notify Message Type - set to AUTHENTICATION-FAILED
o SPI - set to empty or to the sender's inbound
IPSEC SPI
o Notification Data - empty
2.25 INVALID-SIGNATURE
The INVALID-SIGNATURE error message may be used to communicate that
the required signature type is not supported.
Phase: 1 or 2
Differentiator: Cookies, message ID, SPI
When present, the Notification Payload MUST have the following
format:
o Payload Length - set to length of payload + size of data (var)
Kelly Expires December, 1999 [Page 15]
Internet Draft draft-ietf-ipsec-notifymsg-00.txt June, 1999
o DOI - set to DOI of received packet
o Protocol ID - set to selected Protocol ID from chosen SA
o SPI Size - set to either zero (0) or four (4)(one IPSEC SPI)
o Notify Message Type - set to INVALID-SIGNATURE
o SPI - set to empty or to the sender's inbound IPSEC SPI
o Notification Data - contains the subject signature payload
2.26 ADDRESS-NOTIFICATION
The ADDRESS-NOTIFICATION error message may be used to communicate ???
[what is this used for?]
Phase: 1 or 2
Differentiator: Cookies, message ID, SPI, address info?
When present, the Notification Payload MUST have the following
format:
o Payload Length - set to length of payload + size of data (var)
o DOI - set to DOI of received packet
o Protocol ID - set to selected Protocol ID from chosen SA
o SPI Size - set to zero (0) or four (4) (one IPSEC SPI)
o Notify Message Type - set to ADDRESS-NOTIFICATION
o SPI - set to empty or to the sender's inbound IPSEC SPI
o Notification Data - contains ???
2.27 NOTIFY-SA-LIFETIME
The NOTIFY-SA-LIFETIME message may be used to communicate that a
lifetime which is shorter than the one requested will be enforced.
Phase: 1
Differentiator: Cookies, message ID,
When present, the Notification Payload MUST have the following
format:
o Payload Length - set to length of payload + size of data (var)
o DOI - set to DOI of received packet
o Protocol ID - set to selected Protocol ID from chosen SA
o SPI Size - set to zero(0) o Notify Message Type - set to
NOTIFY-SA-LIFETIME
o SPI - empty
o Notification Data - contains an ISAKMP attribute list with the
responder's actual SA lifetime
Kelly Expires December, 1999 [Page 16]
Internet Draft draft-ietf-ipsec-notifymsg-00.txt June, 1999
2.28 CERTIFICATE-UNAVAILABLE
The CERTIFICATE-UNAVAILABLE error message may be used to communicate
that the requested certificate is unavailable.
Phase: 1 or 2
Differentiator: Cookies, message ID, SPI, CERT-REQ payload
When present, the Notification Payload MUST have the following
format:
o Payload Length - set to length of payload + size of data (var)
o DOI - set to DOI of received packet
o Protocol ID - set to selected Protocol ID from chosen SA
o SPI Size - set to zero (0) or four (4) (one IPSEC SPI)
o Notify Message Type - set to CERTIFICATE-UNAVAILABLE
o SPI - set to empty or to the sender's inbound IPSEC SPI
o Notification Data - contains the subject certificate request
2.29 UNSUPPORTED-EXCHANGE-TYPE
The UNSUPPORTED-EXCHANGE-TYPE error message may be used to
communicate that the requested exchange type is not supported.
Phase: 1 or 2
Differentiator: Cookies, message ID, SPI, exchange type
When present, the Notification Payload MUST have the following
format:
o Payload Length - set to length of payload + size of data (5)
o DOI - set to DOI of received packet
o Protocol ID - set to selected Protocol ID from chosen SA
o SPI Size - set to zero (0) or four (4)(one IPSEC SPI)
o Notify Message Type - set to UNSUPPORTED-EXCHANGE-TYPE
o SPI - set to empty or to the sender's inbound IPSEC SPI
o Notification Data - contains the message ID, followed by the
invalid exchange type octet
2.30 UNEQUAL-PAYLOAD-LENGTHS
The UNEQUAL-PAYLOAD-LENGTHS error message may be used to communicate
that message length in the ISAKMP header does not match the sum of
the actual payload lengths.
Phase: 1 or 2
Kelly Expires December, 1999 [Page 17]
Internet Draft draft-ietf-ipsec-notifymsg-00.txt June, 1999
Differentiator: Cookies, message ID, SPI
When present, the Notification Payload MUST have the following
format:
o Payload Length - set to length of payload + size of data (4)
o DOI - set to DOI of received packet
o Protocol ID - set to selected Protocol ID from chosen SA
o SPI Size - set to zero (0) or four (4)(one IPSEC SPI)
o Notify Message Type - set to UNEQUAL-PAYLOAD-LENGTHS
o SPI - set to empty or to the sender's inbound IPSEC SPI
o Notification Data - contains the actual payload length as a
32-bit unsigned value.
3. ISAKMP Notify Status messages
This section contains NOTIFY status messages which are specific to
ISAKMP, or phase 1 Security Associations (SAs). These NOTIFY message
types are defined in [RFC2408].
3.1 CONNECTED
The CONNECTED status message may be used to communicate that the
IPSEC protocol (phase 2) SA has been established.
When present, the Notification Payload MUST have the following
format:
o Payload Length - set to length of payload + size of data (var)
o DOI - set to DOI of received packet
o Protocol ID - set to selected Protocol ID from chosen SA
o SPI Size - set to 4 (size of the IPSEC SPI) o Notify Message
Type - set to CONNECTED
o SPI - set to the the sender's inbound IPSEC SPI
o Notification Data - empty
4. Security Considerations
[This needs substantial filling out with a disclaimer regarding
unencrypted and unauthenticated notify messages, a discussion of
which notify messages are protected and which aren't, etc.]
5. Editors' Addresses
Kelly Expires December, 1999 [Page 18]
Internet Draft draft-ietf-ipsec-notifymsg-00.txt June, 1999
Scott Kelly
RedCreek Communications
3900 Newpark Mall Road
Newark, CA 94560
USA
email: skelly@redcreek.com
Telephone: +1 (510) 745-3969
The IPSec working group can be contacted via the IPSec working
group's mailing list (ipsec@lists.tislabs.com) or through its chairs:
Robert Moskowitz
rgm@icsa.net
International Computer Security Association
Theodore Y. Ts'o
tytso@MIT.EDU
Massachusetts Institute of Technology
References
[RFC2401] Kent, S., and R. Atkinson, "Security Architecture for the
Internet Protocol", RFC 2401, November 1998.
[RFC2402] Kent, S., and R. Atkinson, "IP Authentication Header", RFC
2402, November 1998.
[RFC2406] Kent, S., and R. Atkinson, "IP Encapsulating Security
Payload (ESP)", RFC 2406, November 1998.
[RFC2407] Piper, D., "The Internet IP Security Domain of
Interpretation for ISAKMP", RFC 2407, November 1998.
[RFC2408] Maughhan, D., Schertler, M., Schneider, M., and J. Turner,
"Internet Security Association and Key Management Protocol
(ISAKMP)", RFC 2408, November 1998.
[RFC2409] Harkins, D., and D. Carrel, "The Internet Key Exchange
(IKE)", RFC 2409, November 1998.
[RFC-2119] Bradner, S., "Key Words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
Full Copyright Statement
Copyright (C) The Internet Society (1998). All Rights Reserved.
Kelly Expires December, 1999 [Page 19]
Internet Draft draft-ietf-ipsec-notifymsg-00.txt June, 1999
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph
are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Kelly Expires December, 1999 [Page 20]