IETF NSIS Working Group
   Internet Draft                                         H. Tschofenig
                                                                 Siemens
                                                          H. Schulzrinne
                                                             Columbia U.
   Document: draft-tschofenig-rsvp-doi-00.txt
   Expires: November 2003                                      May 2003


                 RSVP Domain of Interpretation for ISAKMP



Status of this Memo


   This document is an Internet-Draft and is subject to all provisions
   of Section 10 of RFC2026.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its 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/1id-abstracts.html

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html

Abstract

   RSVP does not provide dynamic key management for the RSVP Integrity
   object. It is difficult to provide security for RSVP based on
   standard security protocols. This draft proposes the usage of the
   ISAKMP protocol with a new Domain of Interpretation (DoI) and allows
   to establish the necessary security parameters for the RSVP
   Integrity object. The Integrity object protects RSVP signaling
   messages at the application layer and uses this DoI to dynamically
   establish the necessary security associations.

   This document also addresses the NSIS NTLP work and protocol design
   implications.




Tschofenig, Schulzrinne   Expires - November 2003             [Page 1]


               RSVP Domain of Interpretation for ISAKMP       May 2003


Table of Contents

   1.   Introduction...............................................2
      1.1  RSVP DoI................................................2
      1.2  Requirements for a DOI..................................4
   2.   Terminology................................................4
   3.   Definition.................................................4
      3.1  Naming Scheme...........................................4
      3.2  Situation Definition....................................5
      3.2.1  SIT_IDENTITY_ONLY.....................................5
      3.3  Security Policy Requirements............................5
      3.3.1  Key Management Issues.................................5
      3.3.1.1 Static Keying Issues.................................6
      3.3.1.2 Policy Issues........................................6
      3.3.1.3 Certificate Management...............................7
      3.4  RSVP DOI assigned numbers...............................7
      3.4.1  RSVP DOI Security Protocol Identifier.................7
      3.4.1.1 PROTO_ISAKMP.........................................8
      3.4.1.2 PROTO_RSVP_Integrity.................................8
      3.4.2  RSVP ISAKMP Transform Identifiers.....................8
      3.4.2.1 KEY_IKE..............................................9
      3.4.3  RSVP Integrity Transform Identifiers..................9
      3.4.3.1 AUTH_MD5............................................10
      3.4.3.2 AUTH_SHA............................................10
      3.4.3.3 AUTH_DES............................................11
      3.5  RSVP Security Association Attributes...................11
      3.5.1  Required Attribute Support...........................12
      3.5.2  Attribute Parsing Requirement (Lifetime).............12
      3.5.3  Attribute Negotiation................................13
      3.5.4  Lifetime Notification................................13
      3.6  RSVP DOI Payload Content...............................14
      3.6.1  Identification Payload Content.......................14
      3.6.2  RSVP DOI Notify Message Types........................15
      3.6.2.1 RESPONDER-LIFETIME..................................16
      3.6.2.2 INITIAL-CONTACT.....................................17
   4.   Security Considerations...................................17
   5.   IANA Considerations.......................................18
   6.   Key Derivation............................................18
   7.   Open Issues...............................................18
   8.   References................................................19
   9.   Acknowledgments...........................................21
   10.  Author's Addresses........................................21

1. Introduction

1.1  RSVP DoI

   RSVP [RFC2205] offers security based on the RSVP Integrity object as
   described in [RFC2747] and based on the user identity representation


Tschofenig, Schulzrinne   Expires - November 2003             [Page 2]


               RSVP Domain of Interpretation for ISAKMP       May 2003


   document [RFC3182]. Unfortunately there is still room for
   improvement for a number of reasons. This document tries to fix some
   of them, namely providing dynamic authentication and key exchange in
   order to create the necessary security parameters for the RSVP
   Integrity object. The mechanism described in this document is
   executed independently of the RSVP message exchange to avoid
   modifications to the RSVP protocol itself.

   It is important to mention that this document is based on the
   assumption that two RSVP nodes know each other already before they
   exchange RSVP messages (and therefore knows which security parameter
   to select). Unfortunately this is not true for all scenarios. Thus
   in these cases where this assumption does not hold it is not
   possible to use this mechanisms. This assumption mainly addresses
   the nature of PATH alike signaling messages (i.e. messages which are
   addressed to the end host and carry a Router Alert Option
   [RFC2113]).

   For a more elaborated discussion of security properties of RSVP the
   reader is referred to [Tsc03]. Furthermore, this document tries to
   follow the current NSIS working group documents with regard to their
   requirements and framework thoughts (see [HF+03] and [Bru03]).
   Additionally security threats relevant for NSIS are applicable to
   this work (see [TK03]).

   At the 56th IETF the NSIS wg chair, John Loughney, gave a
   presentation on the starting points for NTLP work (see slides
   available at [IETF56]). One issue addressed the combination of
   discovery and transport as provided by the RSVP Path message. If
   this assumption is also used for a future NSIS protocol then this
   DoI is also applicable. Hence also the work in NSIS can possibly
   benefit from this document. This draft therefore illustrates
   implications to security caused by certain design considerations.

   The basic procedure could therefore described as follows:

   Whenever an RSVP signaling message has to be sent to the next RSVP
   aware node and no such security association is already available
   then a new one has to be dynamically established. RSVP therefore
   triggers the key management daemon. The RSVP daemon then constructs
   a RSVP message and interacts with the security association database
   using some sort of API (e.g. PF_KEY [RFC2367]) to retrieve the
   session key and other security parameters. Maintenance (creation,
   deletion, rekeying, possibly dead peer detection, etc.) of the RSVP
   security association is accomplished by the key management daemon.
   KINK [TV03], which uses Kerberos, can also be used as an
   authentication and key exchange protocol in addition to IKE.




Tschofenig, Schulzrinne   Expires - November 2003             [Page 3]


               RSVP Domain of Interpretation for ISAKMP       May 2003


   Note that this draft is strongly aligned with [RFC2407] and reuses
   the same structure and (if appropriate) the same text.

1.2  Requirements for a DOI

   Within ISAKMP, a Domain of Interpretation is used to group related
   protocols using ISAKMP to negotiate security associations.  Security
   protocols sharing a DOI choose security protocol and cryptographic
   transforms from a common namespace and share key exchange protocol
   identifiers.  They also share a common interpretation of DOI-
   specific payload data content, including the Security Association
   and Identification payloads.

   Overall, ISAKMP places the following requirements on a DOI
   definition:

   o define the naming scheme for DOI-specific protocol identifiers
   o define the interpretation for the Situation field
   o define the set of applicable security policies
   o define the syntax for DOI-specific SA Attributes (Phase II)
   o define the syntax for DOI-specific payload contents
   o define additional Key Exchange types, if needed
   o define additional Notification Message types, if needed

   The remainder of this document describes the instantiation of these
   requirements for using the RSVP Security mechanism specified in
   [RFC2747] to provide authentication, integrity and replay
   protection.

2. Terminology

   This document does not introduce new terms.

   The keywords MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD,
   SHOULD NOT, RECOMMENDED, MAY, and OPTIONAL, when they appear in this
   document, are to be interpreted as described in [RFC2119].

3. Definition

3.1 Naming Scheme

   Within ISAKMP, all DOI's must be registered with the IANA in the
   "Assigned Numbers" RFC [RFC3232].  The IANA Assigned Number for the
   RSVP DOI is TBD (TBD).  Within the RSVP DOI, all well-known
   identifiers MUST be registered with the IANA under the RSVP DOI.
   Unless otherwise noted, all tables within this document refer to
   IANA Assigned Numbers for the RSVP DOI. See Section 5 for further
   information relating to the IANA registry for the RSVP DOI.



Tschofenig, Schulzrinne   Expires - November 2003             [Page 4]


               RSVP Domain of Interpretation for ISAKMP       May 2003


   All multi-octet binary values are stored in network byte order.

3.2 Situation Definition

   Within ISAKMP, the Situation provides information that can be used
   by the responder to make a policy determination about how to process
   the incoming Security Association request.  For the RSVP DOI, the
   Situation field is a four (4) octet bitmask with the following
   values.

          Situation                   Value
          ---------                   -----
          SIT_IDENTITY_ONLY           0x01

3.2.1 SIT_IDENTITY_ONLY

   The SIT_IDENTITY_ONLY type specifies that the security association
   will be identified by source identity information present in an
   associated Identification Payload.  See Section 4.6.2 of [RFC2407]
   for a complete description of the various Identification types. All
   RSVP DOI implementations MUST support SIT_IDENTITY_ONLY by including
   an Identification Payload in at least one of the Phase I Oakley
   exchanges ([RFC2409], Section 5) and MUST abort any association
   setup that does not include an Identification Payload.

3.3 Security Policy Requirements

   The RSVP DOI does not impose specific security policy requirements
   on any implementation. Host system policy issues are outside of the
   scope of this document.

   However, the following sections touch on some of the issues that
   must be considered when designing an RSVP DOI implementation. This
   section should be considered only informational in nature.

3.3.1 Key Management Issues

   It is expected that many systems choosing to implement ISAKMP will
   strive to provide a protected domain of execution for a combined IKE
   key management daemon. On protected-mode multi-user operating
   systems, this key management daemon will likely exist as a separate
   privileged process.

   In such an environment, a formalized API such as PF_KEY [RFC2367] to
   communicate keying material (and other security relevant parameters)
   between the RSVP Daemon, the key management daemon and the key
   engine may be desirable.




Tschofenig, Schulzrinne   Expires - November 2003             [Page 5]


               RSVP Domain of Interpretation for ISAKMP       May 2003


3.3.1.1  Static Keying Issues

   Systems that implement static keys, either for use directly by RSVP,
   or for authentication purposes (see [RFC2409] Section 5.4), should
   take steps to protect the static keying material when it is not
   residing in a protected memory domain or actively in use by the key
   engine.

   Depending on the operating system and utility software installed, it
   may not be possible to protect the static keys once they are
   available to the keying engine or to the RSVP daemon, however they
   should not be trivially recoverable on initial system startup
   without having to satisfy some additional form of authentication.

3.3.1.2  Policy Issues

   It is not realistic to assume that the transition to RSVP DOI will
   occur overnight. Incremental deployment is, however, possible
   particularly in intra-domain environments. Systems must be prepared
   to implement flexible policy lists that describe which systems they
   desire to speak securely with and which systems they require speak
   securely to them. This type of authorization behavior particularly
   addresses intra-domain environments where a strong trust
   relationship between individual RSVP nodes exists.

   A minimal approach is probably a static list of IP addresses. For
   intra-domain communication such an approach might be sufficient in
   many cases due to the nature of RSVP signaling. A more flexible
   approach based on wildcard DNS names is given below and might
   simplify and reduce configuration overhead.

   For inter-domain environments the authorization procedure must
   provide some mapping to an authorized identity for which a financial
   settlement between the interacting domains exist. For inter-domain
   environments it seems to be more appropriate not to use static lists
   of IP addresses. A more flexible implementation might consist of a
   list of wildcard DNS names (e.g. '*.foo.bar'). The wildcard DNS name
   would be used to match incoming or outgoing IP addresses.

   The communication between end systems and the attached network is
   more difficult from an authorization point of view. The reader is
   referred to a detailed discussion in [TB+03]. For this version of
   the document RSVP DOI mainly addresses intra-domain and inter-domain
   communication instead of end host to network communication due to
   the authorization nature of QoS signaling protocols. A future
   version of the document might address these issues (and for non-QoS
   signaling applications) in an appropriate manner.




Tschofenig, Schulzrinne   Expires - November 2003             [Page 6]


               RSVP Domain of Interpretation for ISAKMP       May 2003


3.3.1.3  Certificate Management

   Systems implementing a certificate-based authentication scheme will
   need a mechanism for obtaining and managing a database of
   certificates.

   Secure DNS is to be one certificate distribution mechanism, however
   the pervasive availability of secure DNS zones, in the short term,
   is doubtful for many reasons. This is primarily applicable for
   inter-domain communication. For intra-domain environments secure DNS
   might be a reasonable choice.

   The ability for RSVP nodes to import certificates that they acquire
   through secure, out-of-band mechanisms, is also a reasonable
   procedure.

   However, manual certificate management should not be done so as to
   preclude the ability to introduce dynamic certificate discovery
   mechanisms and/or protocols as they become available.

   In addition to certificate-based authentication and the distribution
   of pre-shared secrets between nodes for the purpose of
   authentication, Kerberos might be used. KINK [TV03] uses Kerberos
   and as such a trusted third party entity for authentication and key
   distribution. KINK replaces the first phase of IKE and represents a
   very efficient and fast alternative to IKE Phase I. Systems
   implementing the RSVP DOI SHOULD support this DOI using KINK.


3.4 RSVP DOI assigned numbers

   The following sections list the Assigned Numbers for the RSVP DOI:
   Situation Identifiers, Protocol Identifiers, Transform Identifiers,
   Security Association Attribute Type Values, Labeled Domain
   Identifiers, ID Payload Type Values, and Notify Message Type Values.

3.4.1 RSVP DOI Security Protocol Identifier

   The ISAKMP proposal syntax was specifically designed to allow for
   the simultaneous negotiation of multiple Phase II security protocol
   suites within a single negotiation. As a result, the protocol suites
   listed below form the set of protocols that can be negotiated at the
   same time. It is a host policy decision as to what protocol suites
   might be negotiated together.

   Protocol ID                          Value
   -----------                         -----
   RESERVED                             0
   PROTO_ISAKMP                         1


Tschofenig, Schulzrinne   Expires - November 2003             [Page 7]


               RSVP Domain of Interpretation for ISAKMP       May 2003


   PROTO_RSVP_Integrity                 2

      All other values unused.

3.4.1.1 PROTO_ISAKMP

   The PROTO_ISAKMP type specifies message protection required during
   Phase I of the ISAKMP protocol. The specific protection mechanism
   used for the RSVP DOI is described in [RFC2409]. All implementations
   within the RSVP DOI MUST support PROTO_ISAKMP.

   NB: ISAKMP reserves the value one (1) across all DOI definitions.

3.4.1.2 PROTO_RSVP_Integrity

   The PROTO_RSVP_Integrity type provides the necessary parameters for
   the security association used in RSVP (i.e. the RSVP Integrity
   Object [RFC2747]). This transform provides data origin
   authentication, integrity protection and replay detection.

   Transforms for confidentiality protection are currently not defined.
   Support for confidentiality protection is currently not provided
   although useful. Furthermore, transforms providing payload
   compression do not seem to be useful for a signaling protocol due to
   the fact that other mechanisms have been standardized which provide
   similar techniques in a more efficient way (see [RFC2961]).

3.4.2 RSVP ISAKMP Transform Identifiers

   As part of an ISAKMP Phase I negotiation, the initiator's choice of
   Key Exchange offerings is made using some host system policy
   description. The actual selection of Key Exchange mechanism is made
   using the standard ISAKMP Proposal Payload. The following table
   lists the defined ISAKMP Phase I Transform Identifiers for the
   Proposal Payload for the RSVP DOI.

          Transform                           Value
          ---------                           -----
          RESERVED                            0
          KEY_IKE                             1

   Within the ISAKMP and RSVP DOI framework it is possible to define
   key establishment protocols other than IKE (Oakley). Previous
   versions of this document defined types both for manual keying and
   for schemes based on use of a generic Key Distribution Center (KDC).
   These identifiers have been removed from the current document.





Tschofenig, Schulzrinne   Expires - November 2003             [Page 8]


               RSVP Domain of Interpretation for ISAKMP       May 2003


   Extension of the RSVP DOI to include values for additional non-
   Oakley key establishment protocols (such as the Group Key Management
   Protocol (GKMP) [RFC2093]) is under consideration.

3.4.2.1  KEY_IKE

   The KEY_IKE type specifies the hybrid ISAKMP/Oakley Diffie-Hellman
   key exchange (IKE) as defined in the [RFC2409] document. All
   implementations within the RSVP DOI MUST support KEY_IKE.

3.4.3 RSVP Integrity Transform Identifiers

   The RSVP Integrity Object provides data origin authentication,
   integrity, and replay detection. It consists of the following
   fields:

   - Flags

   The Handshake Flag is the only defined flag and is used to
   synchronize sequence numbers if the communication gets out-of-sync.
   The separately defined mechanism is not required. Hence the Flags
   are set to zero.

   - Key Identifier

   The Key Identifier selects the key used for verification of the
   Keyed Message Digest field. Its length is fixed with 48-bit.
   According to [RFC2747] is the generation of this Key Identifier
   field mostly a local decision.

   The 32-bit SPI field will be used to select the security association
   for verifying the keyed message digest. Hence the first 32 bit of
   the 48-bit Key Identifier are the SPI and the last 16 bit are set to
   zero.

   - Sequence Number

   [RFC2747] defines the sequence number used by the RSVP Integrity
   object as a 64-bit value for which the starting value can be
   selected arbitrarily. To prevent the need to communicate the
   sequence number the sequence number MUST start with zero for usage
   with this protocol.

   - Keyed Message Digest

   This field contains the keyed message digest and is a variable
   length field.




Tschofenig, Schulzrinne   Expires - November 2003             [Page 9]


               RSVP Domain of Interpretation for ISAKMP       May 2003


   The following table lists the defined RSVP Integrity Transform
   Identifiers for the ISAKMP Proposal Payload for the RSVP DOI.

   Note: the Authentication Algorithm attribute MUST be specified to
   identify the appropriate protection suite. For example, AUTH_MD5 can
   best be thought of as a generic AH transform using MD5. To request
   the HMAC construction with AUTH, one specifies the AUTH_MD5
   transform ID along with the Authentication Algorithm attribute set
   to HMAC-MD5. This is shown using the "Auth(HMAC-MD5)" notation in
   the following sections.

          Transform ID                        Value
          ------------                        -----
          RESERVED                            0-1
          AUTH_MD5                              2
          AUTH_SHA                              3
          AUTH_DES                              4

   Note: all mandatory-to-implement algorithms are listed as "MUST"
   implement (e.g. AUTH_MD5) in the following sections. All other
   algorithms are optional and MAY be implemented in any particular
   implementation.

3.4.3.1  AUTH_MD5

   The AUTH_MD5 type specifies a generic AUTH transform using MD5. The
   actual protection suite is determined in concert with an associated
   SA attribute list. A generic MD5 transform is currently undefined.

   All implementations within the RSVP DOI MUST support AUTH_MD5 along
   with the Auth(HMAC-MD5) attribute. HMAC-MD5 is described in
   [RFC2104].

   Use of AUTH_MD5 with any other Authentication Algorithm attribute
   value is currently undefined.

3.4.3.2  AUTH_SHA

   The AUTH_SHA type specifies a generic AUTH transform using SHA-1.
   The actual protection suite is determined in concert with an
   associated SA attribute list. A generic SHA transform is currently
   undefined.

   All implementations within the RSVP DOI MUST support AUTH_SHA along
   with the Auth(HMAC-SHA) attribute. SHA-1 is described in [SHA1].

   Use of AH_SHA with any other Authentication Algorithm attribute
   value is currently undefined.



Tschofenig, Schulzrinne   Expires - November 2003            [Page 10]


               RSVP Domain of Interpretation for ISAKMP       May 2003


3.4.3.3  AUTH_DES

   The AUTH_DES type specifies a generic AUTH transform using DES. The
   actual protection suite is determined in concert with an associated
   SA attribute list. A generic DES transform is currently undefined.

   The RSVP DOI defines AUTH_DES along with the Auth(DES-MAC) attribute
   to be a DES-MAC transform. Implementations are not required to
   support this mode.

   Use of AUTH_DES with any other Authentication Algorithm attribute
   value is currently undefined.

3.5 RSVP Security Association Attributes

   The following SA attribute definitions are used in Phase II of an
   IKE negotiation. Attribute types can be either Basic (B) or
   Variable-Length (V). Encoding of these attributes is defined in the
   base ISAKMP specification.

   Attributes described as basic MUST NOT be encoded as variable.
   Variable length attributes MAY be encoded as basic attributes if
   their value can fit into two octets.  See [RFC2409] for further
   information on attribute encoding in the RSVP DOI. All restrictions
   listed in [RFC2409] also apply to the RSVP DOI.

   Attribute Types

         class               value           type
   -------------------------------------------------
   SA Life Type                1               B
   SA Life Duration            2               V
   Group Description           3               B
   Authentication Algorithm    4               B

   Class Values

     SA Life Type
     SA Duration

       Specifies the time-to-live for the overall security
       association. When the SA expires, all keys negotiated under
       the association must be renegotiated. The life
       type values are:

       RESERVED                0
       seconds                 1
       kilobytes               2



Tschofenig, Schulzrinne   Expires - November 2003            [Page 11]


               RSVP Domain of Interpretation for ISAKMP       May 2003


       Values 3-61439 are reserved to IANA. Values 61440-65535 are
       for private use. For a given Life Type, the value of the
       Life Duration attribute defines the actual length of the
       component lifetime -- either a number of seconds, or a number
       of Kbytes that can be protected.

       If unspecified, the default value shall be assumed to be
       28800 seconds (8 hours).

       An SA Life Duration attribute MUST always follow an SA Life
       Type which describes the units of duration.

     Group Description

       Specifies the Oakley Group to be used in a PFS QM
       negotiation. For a list of supported values, see Appendix A
       of [RFC2409].

     Authentication Algorithm
       RESERVED                0
       HMAC-MD5                1
       HMAC-SHA                2
       DES-MAC                 3
       KPDK                    4

       Values 5-61439 are reserved to IANA. Values 61440-65535 are
       for private use.

       The default value for the Auth Algorithm is HMAC-MD5.

3.5.1Required Attribute Support

   To ensure basic interoperability, all implementations MUST be
   prepared to negotiate all of the following attributes.

       SA Life Type
       SA Duration
       Auth Algorithm

3.5.2Attribute Parsing Requirement (Lifetime)

   To allow for flexible semantics, the RSVP DOI requires that a
   conforming ISAKMP implementation MUST correctly parse an attribute
   list that contains multiple instances of the same attribute class,
   so long as the different attribute entries do not conflict with one
   another.  Currently, the only attributes which requires this
   treatment are Life Type and Duration.




Tschofenig, Schulzrinne   Expires - November 2003            [Page 12]


               RSVP Domain of Interpretation for ISAKMP       May 2003


   To see why this is important, the following example shows the binary
   encoding of a four entry attribute list that specifies an SA
   Lifetime of either 100MB or 24 hours.  (See Section 3.3 of [RFC2408]
   for a complete description of the attribute encoding format.)

        Attribute #1:
          0x80010001  (AF = 1, type = SA Life Type, value = seconds)

        Attribute #2:
          0x00020004  (AF = 0, type = SA Duration, length = 4 bytes)
          0x00015180  (value = 0x15180 = 86400 seconds = 24 hours)

        Attribute #3:
          0x80010002  (AF = 1, type = SA Life Type, value = KB)

        Attribute #4:
          0x00020004  (AF = 0, type = SA Duration, length = 4 bytes)
          0x000186A0  (value = 0x186A0 = 100000KB = 100MB)

   If conflicting attributes are detected, an ATTRIBUTES-NOT-SUPPORTED
   Notification Payload SHOULD be returned and the security association
   setup MUST be aborted.

   Note that this is the same treatment as suggested in [RFC2407].

3.5.3 Attribute Negotiation

   If an implementation receives a defined RSVP DOI attribute (or
   attribute value) which it does not support, an ATTRIBUTES-NOT-
   SUPPORT SHOULD be sent and the security association setup MUST be
   aborted, unless the attribute value is in the reserved range.

   If an implementation receives an attribute value in the reserved
   range, an implementation MAY choose to continue based on local
   policy.

3.5.4 Lifetime Notification

   When an initiator offers an SA lifetime greater than what the
   responder desires based on their local policy, the responder has
   three choices:

   1) fail the negotiation entirely;

   2) complete the negotiation but use a shorter lifetime than what was
      offered;

   3) complete the negotiation and send an advisory notification to the
      initiator indicating the responder's true lifetime. The choice of


Tschofenig, Schulzrinne   Expires - November 2003            [Page 13]


               RSVP Domain of Interpretation for ISAKMP       May 2003


      what the responder actually does is implementation specific
      and/or based on local policy.

   To ensure interoperability in the latter case, the RSVP DOI requires
   the following only when the responder wishes to notify the
   initiator: if the initiator offers an SA lifetime longer than the
   responder is willing to accept, the responder SHOULD include an
   ISAKMP Notification Payload in the exchange that includes the
   responder's SA payload. Section 3.6.2.1 defines the payload layout
   for the RESPONDER-LIFETIME Notification Message type which MUST be
   used for this purpose.

3.6 RSVP DOI Payload Content

   The following sections describe those ISAKMP payloads whose data
   representations are dependent on the applicable DOI.

   RSVP DOI does not require any additional payloads. In particular it
   is not required to exchange Traffic Selector attributes within IKE
   Phase II as part of the Identification payload. The attributes used
   in the Phase I Identification payload are sufficient.

3.6.1 Identification Payload Content

   The initiator of the negotiation is identified using the
   Identification Payload. The responder SHOULD use the initiator's
   identity to determine the correct security policy for creating SAs.

   During Phase 1, the ID port and protocol fields MUST be set to zero
   or to the UDP port that the RSVP DOI is running on. If an
   implementation receives any other values, this MUST be treated as an
   error and the negotiation MUST be aborted.

   The following diagram illustrates the content of the Identification
   Payload.

       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      !  Next Payload !   RESERVED    !        Payload Length         !
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      !   ID Type     !  Protocol ID  !             Port              !
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      ~                     Identification Data                       ~
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                     Figure 2: Identification Payload Format

   The Identification Payload fields are defined as follows:



Tschofenig, Schulzrinne   Expires - November 2003            [Page 14]


               RSVP Domain of Interpretation for ISAKMP       May 2003


   o  Next Payload (1 octet) - Identifier for the type of the next
      payload in the message. If the current payload is the last in
      the message, this field will be zero (0).

   o  RESERVED (1 octet) - Unused, must be zero (0).

   o  Payload  Length  (2 octets) -  Length, in octets, of the
      identification data, including the generic header.

   o  Identification Type (1 octet) - Value describing the identity
      information found in the Identification Data field.

   o  Protocol ID (1 octet) - Value specifying an associated
      Transport Layer Protocol ID (e.g. UDP/TCP). Value zero means
      that the Protocol ID field should be ignored. If raw IP is used
      then this value is set to zero. RSVP also allows UDP to be used.

   o  Port (2 octets) - Value specifying an associated port. A value
      of zero means that the Port field should be ignored. If raw IP is
      used with RSVP then the concept of a port is not used.

   o  Identification Data (variable length) - Value, as indicated by
      the Identification Type.

      The legal Identification Type field values in Phase 1 are as
      defined in [IPSDOI]. The table lists the assigned values for the
      Identification Type field found in the Identification
      Payload.

          ID Type                   Value
          -------                   -----
          RESERVED                            0
          ID_IPV4_ADDR                        1
          ID_FQDN                             2
          ID_USER_FQDN                        3
          ID_IPV4_ADDR_SUBNET                 4
          ID_IPV6_ADDR                        5
          ID_IPV6_ADDR_SUBNET                 6
          ID_IPV4_ADDR_RANGE                  7
          ID_IPV6_ADDR_RANGE                  8
          ID_DER_ASN1_DN                      9
          ID_DER_ASN1_GN                      10
          ID_KEY_ID                           11

   The values of the individual Identification Types are described in
   Section 5.6.2.1 of [RFC2407].

3.6.2 RSVP DOI Notify Message Types



Tschofenig, Schulzrinne   Expires - November 2003            [Page 15]


               RSVP Domain of Interpretation for ISAKMP       May 2003


   ISAKMP defines two blocks of Notify Message codes, one for errors
   and one for status messages. ISAKMP also allocates a portion of each
   block for private use within a DOI. The RSVP DOI defines the
   following private message types for its own use.

          Notify Messages - Error Types       Value
          -----------------------------       -----
          RESERVED                            8192

          Notify Messages - Status Types      Value
          ------------------------------      -----
          RESPONDER-LIFETIME                  24576
          INITIAL-CONTACT                     24578

   Notification Status Messages MUST be sent under the protection of an
   ISAKMP SA: either as a payload in the last Main Mode exchange; in a
   separate Informational Exchange after Main Mode or Aggressive Mode
   processing is complete; or as a payload in any Quick Mode exchange.
   These messages MUST NOT be sent in Aggressive Mode exchange, since
   Aggressive Mode does not provide the necessary protection to bind
   the Notify Status Message to the exchange.

   Note that a Notify payload is fully protected only in Quick Mode,
   where the entire payload is included in the HASH(n) digest. In Main
   Mode, while the notify payload is encrypted, it is not currently
   included in the HASH(n) digests. As a result, an active substitution
   attack on the Main Mode ciphertext could cause the notify status
   message type to be corrupted. (This is true, in general, for the
   last message of any Main Mode exchange.) While the risk is small, a
   corrupt notify message might cause the receiver to abort the entire
   negotiation thinking that the sender encountered a fatal error.
   Implementation Note: the ISAKMP protocol does not guarantee delivery
   of Notification Status messages when sent in an ISAKMP Informational
   Exchange. To ensure receipt of any particular message, the sender
   SHOULD include a Notification Payload in a defined Main Mode or
   Quick Mode exchange which is protected by a retransmission timer.

3.6.2.1  RESPONDER-LIFETIME

   The RESPONDER-LIFETIME status message may be used to communicate the
   SA lifetime chosen by the responder.

   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 RSVP DOI (TBD)
    o  Protocol ID - set to selected Protocol ID from chosen SA
    o  SPI Size - set to either sixteen (16) (two eight-octet ISAKMP


Tschofenig, Schulzrinne   Expires - November 2003            [Page 16]


               RSVP Domain of Interpretation for ISAKMP       May 2003


       cookies) or four (4) (one SPI)
    o  Notify Message Type - set to RESPONDER-LIFETIME (Section 4.6.3)
    o  SPI - set to the two ISAKMP cookies or to the sender's inbound
       SPI
    o  Notification Data - contains an ISAKMP attribute list with the
       responder's actual SA lifetime(s)

   Implementation Note: saying that the Notification Data field
   contains an attribute list is equivalent to saying that the
   Notification Data field has zero length and the Notification Payload
   has an associated attribute list.

3.6.2.2  INITIAL-CONTACT

   The INITIAL-CONTACT status message may be used when one side wishes
   to inform the other that this is the first SA being established with
   the remote system.  The receiver of this Notification Message might
   then elect to delete any existing SA's it has for the sending system
   under the assumption that the sending system has rebooted and no
   longer has access to the original SA's and their associated keying
   material. When used, the content of the Notification Data field
   SHOULD be null (i.e. the Payload Length should be set to the fixed
   length of Notification Payload).

   When present, the Notification Payload MUST have the following
   format:

    o  Payload Length - set to length of payload + size of data (0)
    o  DOI - set to RSVP DOI (TBD)
    o  Protocol ID - set to selected Protocol ID from chosen SA
    o  SPI Size - set to sixteen (16) (two eight-octet ISAKMP cookies)
    o  Notify Message Type - set to INITIAL-CONTACT
    o  SPI - set to the two ISAKMP cookies
    o  Notification Data - <not included>

4. Security Considerations

   This entire memo pertains to the Internet Key Exchange protocol
   ([RFC2409]), which combines ISAKMP ([RFC2408]) and Oakley
   ([RFC2412]) to provide for the derivation of cryptographic keying
   material in a secure and authenticated manner. Specific discussion
   of the various security protocols and transforms identified in this
   document can be found in the associated base documents and in the
   cipher references.

   Additional security requirements, threats, framework issues and
   discussion regarding authorizations cannot be discussed within this
   document.



Tschofenig, Schulzrinne   Expires - November 2003            [Page 17]


               RSVP Domain of Interpretation for ISAKMP       May 2003


5. IANA Considerations

   This document contains many "magic" numbers to be maintained by the
   IANA.

   A future version of the document will contain a list of the required
   numbers.

6. Key Derivation

   The RSVP Integrity object requires keying material with can either
   be procedure by IKE or KINK or other authentication and key exchange
   protocols supporting the Domain of Interpretation framework. For IKE
   the key derivation procedure defined in Section 5.5 of [RFC2409] is
   used. For KINK the key derivation procedure described in Section 8
   of [TV03] is applicable.

7. Open Issues

   A number of open issues have been identified. Some of these issues
   result from the fact that reusing of RSVP within NSIS is under
   investigation.

   - This document tries to reuse the security of RSVP (namely the RSVP
   Integrity object) without modifications. Currently RSVP only
   supports data origin authentication, integrity protection and replay
   detection based on the RSVP Integrity object. Steve Bellovin
   expressed interest in adding support for confidentiality protection
   at the 55th IETF. Confidentiality protection is not included in this
   document since it would require a new RSVP security object. For this
   version of the document no parameter negotiation for confidentiality
   protection is therefore provided.

   - The Keyed Message Digest field is variable in length but must be a
   multiple of four octets. The truncated HMAC-SHA-1-96 or the HMAC-
   MD5-96 does not work with this restriction. Furthermore, it might be
   desirable specify other integrity algorithms such as RIPEMD-160.

   - Currently no compression profiles are defined for usage with RSVP.
   It seems that no such profile is required.

   - The REPLAY-STATUS notification is not required since replay
   protection is mandatory. However, in cases of multicast and in case
   of selective object protection between non-neighboring RSVP nodes it
   might need to be introduced. This version of the document does not
   address the security of multicast RSVP signaling messages.





Tschofenig, Schulzrinne   Expires - November 2003            [Page 18]


               RSVP Domain of Interpretation for ISAKMP       May 2003


   - The Identification payload contains the same values as [RFC2407].
   It remains for further study whether it might be possible to limit
   the list.

8. References

   [TK03]   H. Tschofenig and D. Kroeselberg: "Security Threats for
   NSIS", Internet Draft, Internet Engineering Task Force, March 2003.
   Work in progress.

   [Tsc03]  H. Tschofenig: "RSVP Security Properties", Internet Draft,
   Internet Engineering Task Force, March 2003. Work in progress.

   [RFC2408]   D. Maughan, M. Schertler, M. Schneider and J. Turner:
   "Internet Security Association and Key Managment Protocol (ISAKMP)",
   RFC 2408, November 1998.

   [RFC2407]   D. Piper: "The Internet IP Security Domain of
   Interpretation for ISAKMP", RFC 2407, November 1998.

   [RFC2367]   D. McDonald, C. Metz, and B. Phan: "PF_KEY key
   management API, version 2", RFC 2367, Internet Engineering Task
   Force, July 1998.

   [RFC2205]   R. Braden, L. Zhang, S. Berson, S. Herzog, and S. Jamin,
   "Resource ReSerVation protocol (RSVP) -- version 1 functional
   specification", RFC 2205, Internet Engineering Task Force, Sept.
   1997.

   [TV03]   M. Thomas and J. Vilhuber: "Kerberized Internet Negotiation
   of Keys (KINK)", Internet Draft, Internet Engineering Task Force,
   Jan. 2003.

   [Bru03]  M. Brunner: "Requirements for QoS signaling protocols",
   Internet Draft, Internet Engineering Task Force, March 2003. Work in
   progress.

   [HF+03]  R. Hancock, I. Freytsis, G. Karagiannis, J. Loughney and S.
   Van den Bosch: "Next Steps in Signaling: Framework", Internet Draft,
   Internet Engineering Task Force, March 2003.  Work in progress.

   [RFC2113]   D. Katz: "IP router alert option", RFC 2113, Internet
   Engineering Task Force, Feb. 1997.

   [RFC2409]   D. Harkins and D. Carrel: "The Internet Key Exchange
   (IKE)", RFC 2409, Internet Engineering Task Force, Nov. 1998. IKE





Tschofenig, Schulzrinne   Expires - November 2003            [Page 19]


               RSVP Domain of Interpretation for ISAKMP       May 2003


   [RFC2961]   L. Berger, D. Gan, G. Swallow, P. Pan, F. Tommasi, and
   S. Molendini: "RSVP refresh overhead reduction extensions," RFC
   2961, Internet Engineering Task Force, Apr. 2001.

   [RFC2104] H. Krawczyk, M. Bellare, and R. Canetti: "HMAC: Keyed-
   Hashing        for Message Authentication", RFC 2104, March 1996.

   [SHA1]   NIST, FIPS PUB 180-1: Secure Hash Standard,
         April 1995.
         http://csrc.nist.gov/fips/fip180-1.txt (ascii)
         http://csrc.nist.gov/fips/fip180-1.ps  (postscript)

   [RFC2408]   D. Maughan, M. Schertler, M. Schneider and J. Turner:
   "Internet Security Association and Key Management Protocol
   (ISAKMP)", RFC 2408, Internet Engineering Task Force,  November
   1998.

   [RFC2412]   H. Orman: "The OAKLEY Key Determination Protocol", RFC
   2412, Internet Engineering Task Force, November 1998.

   [RFC3232]   J. Reynolds: "Assigned Numbers: RFC 1700 is Replaced by
   an On-line Database", RFC 3232, Internet Engineering Task Force,
   Jan. 2002.

   [RFC2747]   F. Baker, B. Lindell and M. Talwar: "RSVP Cryptographic
   Authentication", RC 2747, Internet Engineering Task Force, January,
   2000.

   [RFC3182]   S. Yadav, R. Yavatkar, R. Pabbati, P. Ford, T. Moore, S.
   Herzog and R., Hess: "Identity Representation for RSVP", RFC 3182,
   Internet Engineering Task Force, October, 2001.

   [RFC2119]   S. Bradner: "Key words for use in RFCs to Indicate
   Requirement Levels", RFC 2119, Internet Engineering Task Force,
   March 1997.

   [TB+03]      H. Tschofenig, M. Buechli, S. Van den Bosch and H.
   Schulzrinne: "NSIS Authentication, Authorization and Accounting
   Issues", <draft-tschofenig-nsis-aaa-issues-01.txt>, (work in
   progress), March, 2003.

   [RFC2093]   H. Harney and C. Muckenhirn: "Group Key Management
   Protocol (GKMP) Specification", RFC 2093, Internet Engineering Task
   Force, July 1997.

   [IETF56] J. Loughney: "NSIS IETF 56 Agenda / Starting NTLP Work", in
   "Proceedings of the Fifty-sixth IETF Meeting"; San Francisco, CA,
   March 16-21, 2003 ", available at:
   http://www.ietf.org/proceedings/03mar/slides/nsis-0/sld6.htm


Tschofenig, Schulzrinne   Expires - November 2003            [Page 20]


               RSVP Domain of Interpretation for ISAKMP       May 2003



9.  Acknowledgments

   This document is largely based on [RFC2407] and hence we would like
   to thank the author Derrell Piper and the IETF members, which
   provided input to RFC 2407, for their work.

   Additionally we would like to thank Jorge Cuellar for his comments
   to this version of the draft.

10. Author's Addresses

   Hannes Tschofenig
   Siemens AG
   Otto-Hahn-Ring 6
   81739 Munich
   Germany
   EMail: Hannes.Tschofenig@siemens.com

   Henning Schulzrinne
   Dept. of Computer Science
   Columbia University
   1214 Amsterdam Avenue
   New York, NY 10027
   USA
   EMail: schulzrinne@cs.columbia.edu

   Full Copyright Statement

   Copyright (C) The Internet Society (2001).  All Rights Reserved.
   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


Tschofenig, Schulzrinne   Expires - November 2003            [Page 21]


               RSVP Domain of Interpretation for ISAKMP       May 2003


   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.















































Tschofenig, Schulzrinne   Expires - November 2003            [Page 22]