HTTP/1.1 200 OK Date: Tue, 09 Apr 2002 06:02:32 GMT Server: Apache/1.3.20 (Unix) Last-Modified: Fri, 10 Apr 1998 04:51:23 GMT ETag: "2e7b59-5a2d-352da54b" Accept-Ranges: bytes Content-Length: 23085 Connection: close Content-Type: text/plain Network Working Group R. Atkinson, Editor Internet Draft @Home Network draft-ietf-ospf-doi-00.txt 15 October 1997 OSPFv2 Domain Of Interpretation (DOI) for ISAKMP STATUS OF THIS MEMO This document is an Internet Draft. 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.'' To learn the current status of any Internet Draft, please check the ``1id-abstracts.txt'' listing contained in the Internet Drafts Shadow Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe), munnari.oz.au (Australia), ds.internic.net (US East Coast), or ftp.isi.edu (US West Coast). Distribution of this memo is unlimited. This draft will expire six months from date of issue. This draft is a work item of the Open Shortest Path First (OSPF) Routing Protocol Working Group in the IETF. Comments may be sent to the editor or to the OSPF WG as a whole at its mailing list. 1. Abstract The Internet Security Association and Key Management Protocol (ISAKMP) defines a framework for security association management and cryptographic key establishment for the Internet. This framework consists of defined exchanges and processing guidelines that occur within a given Domain of Interpretation (DOI). This document details Atkinson Expires in 6 months [Page 1] Internet Draft OSPF DOI for ISAKMP 15 October 1997 the OSPFv2 DOI, which is defined to cover the use of ISAKMP to negotiate Security Associations for the OSPFv2 routing protocol. 2. Introduction 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 mappings or Key Exchange types, if needed The remainder of this document details the instantiation of these requirements for using the OSPFv2 cryptographic authentication mechanism to provide data origin authentication for OSPFv2 routing packets sent between cooperating routers. 3. Terms and Definitions In this document, the words that are used to define the significance of each particular requirement are usually capitalised. These words are defined in RFC-xxxx, which is hereby incorporated into this document by reference. [RFC-xxxx] Within ISAKMP, all DOI's must be registered with the IANA in the ``Assigned Numbers'' RFC [STD-2]. The IANA Assigned Number for the OSPFv2 DOI is . Within the OSPFv2 DOI, all well-known identifiers MUST be registered with the IANA under the OSPFv2 DOI. Unless otherwise noted, all tables within this document refer to IANA Assigned Numbers for the OSPFv2 DOI. 4.0 Assigned Numbers The following sections list the Assigned Numbers for the OSPFv2 DOI Security Protocol Identifiers, Transform Identifiers, and Atkinson Expires in 6 months [Page 2] Internet Draft OSPF DOI for ISAKMP 15 October 1997 Security Association Attribute Types. Note that all multi-octet binary values are stored in network byte order. 4.1 OSPFv2 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 OSPFv2 DOI, the Situation field is a four (4) octet bitmask with the following values. Situation Value --------- ----- SIT_AUTHENTICATION 0x01 All other values are reserved to IANA. The SIT_AUTHENTICATION type specifies that the security association will be identified by source identity information present in an associated Identification Payload. See Section 4.8.2 for a complete description of the various Identification types. All OSPFv2 DOI implementations MUST support SIT_AUTHENTICATION by including an Identification Payload in at least one of the phase I Oakley exchanges ([IO], Section 5) and MUST abort any security association setup that does not include an Identification Payload. 4.2 OSPFv2 Security Protocol Identifiers The ISAKMP proposal syntax was specifically designed to allow for the simultaneous negotiation of multiple security protocol suites within a single negotiation. As a result, a Protocol ID must be indicated. The size of this field is one octet. The values 3-255 are reserved to IANA. Protocol ID Value ----------- ----- RESERVED 0 PROTO_ISAKMP 1 PROTO_OSPFv2 2 4.3 PROTO_ISAKMP The PROTO_ISAKMP type specifies message protection required during Phase I of the ISAKMP protocol. The specific protection mechanism used for the OSPFv2 DOI is described in [IO]. All implementations within the OSPFv2 DOI MUST support PROTO_ISAKMP. Atkinson Expires in 6 months [Page 3] Internet Draft OSPF DOI for ISAKMP 15 October 1997 NB: ISAKMP reserves the value one (1) across all DOI definitions. 4.3.1 PROTO_OSPFv2 The PROTO_OSPFv2 type specifies IP packet data origin authentication. The default OSPFv2 transform includes data origin authentication and replay prevention. 4.4 OSPFv2 ISAKMP Transform Values 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 OSPFv2 DOI. Transform Value --------- ----- RESERVED 0 KEY_OAKLEY 1 The size of this field is one octet. The values 4-255 are reserved to IANA. The KEY_OAKLEY type specifies the hybrid ISAKMP/Oakley Diffie- Hellman key exchange as defined in the [IO] document. All implementations within the OSPFv2 DOI MUST support KEY_OAKLEY. It is anticipated that in future values will be assigned for Kerberos v5, GKMP, and/or other protocols to handle multicast SA creation more effectively. 4.5 OSPFv2 Cryptographic Authentication Transform Values The OSPFv2 Cryptographic Authentication mechanism is designed to be algorithm-independent, even though only one algorithm transform was been defined as of the time this document was written. The following table lists the defined OSPFv2 Cryptographic Transform Identifiers for the ISAKMP Proposal Payload for the OSPFv2 DOI. Transform ID Value ------------ ----- RESERVED 0 OSPFv2_MD5_KPDK 1 The size of this field is one octet. The values 4-255 are reserved to IANA. Atkinson Expires in 6 months [Page 4] Internet Draft OSPF DOI for ISAKMP 15 October 1997 The AH_MD5_KPDK type specifies the AH transform (Key/Pad/Data/Key) described in RFC-2178. Implementations are required to support this mode. 4.6 OSPFv2 Security Association Attributes The following SA attribute definitions are used in phase II of an ISAKMP/Oakley negotiation. Attribute types can be either Basic (B) or Variable-Length (V). Encoding of these attributes is defined in the base ISAKMP specification. Attribute Classes class value type ------------------------------------------------- Auth Key Life Type 1 B Auth Key Life Duration 2 B/V Enc Key Life Type 3 B Enc Key Life Duration 4 B/V SA Life Type 5 B SA Life Duration 6 B/V Replay Protection 7 B Group Description 8 B CA Distinguished Name 9 B Encapsulation Mode 10 B Class Values Auth Key Life Type Auth Key Duration Specifies the time-to-live for the authentication key(s) used in the corresponding AH HMAC transform. 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 (AH or ESP) must be renegotiated regardless of the time-to-live remaining for the keys. RESERVED 0 seconds 1 kilobytes 2 Values 3-61439 are reserved to IANA. Values 61440-65535 are for experimental 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 Atkinson Expires in 6 months [Page 5] Internet Draft OSPF DOI for ISAKMP 15 October 1997 seconds, or a number of Kbytes that can be protected. If unspecified, the default value shall be assumed to be 28800 seconds (8 hours) for Auth, Enc, and SA lifetime. Replay Protection RESERVED 0 required 1 disallowed 2 Values 3-61439 are reserved to IANA. Values 61440-65535 are for private use among mutually consenting parties. There is no default value for Replay Protection, as it must be specified to correctly identify the applicable transform. Group Description RESERVED 0 default group 1 Values 2-61439 are reserved to IANA. Values 61440-65535 are for private use among mutually consenting parties. If unspecified, the default value shall be assumed to be the default Oakley group ([IO], Section 5.5.1). CA Distinguished Name RESERVED 0 DNS Security 1 Values 2-61439 are reserved to IANA. Values 61440-65535 are for private use among mutually consenting parties. If unspecified, the default value shall be assumed to be DNS Security (Section 4.8). 4.7.1 Required Attribute Support To ensure basic interoperability, all implementations MUST support all of the following attributes: Auth Key Life Type Auth Key Duration SA Life Type SA Duration Replay Protection Atkinson Expires in 6 months [Page 6] Internet Draft OSPF DOI for ISAKMP 15 October 1997 4.7.2 Attribute List Parsing Requirement To allow for flexible semantics, the OSPFv2 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. If conflicting attributes are detected, an ATTRIBUTES-NOT- SUPPORTED Notification Payload SHOULD be returned and the security association setup MUST be aborted. 4.8 OSPFv2 Payload Content The following sections describe those ISAKMP payloads whose data representations are dependent on the applicable DOI. 4.8.1 Security Association Payload The following diagram illustrates the content of the Security Association Payload for the OSPFv2 DOI. See above for a description of the Situation bitmap. 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Domain of Interpretation (OSPFv2) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Situation (bitmap) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 1: Security Association Payload Format The Security Association Payload is defined as follows: o Next Payload (2 octets) - Identifier for the payload 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 current payload, including the generic header. o Domain of Interpretation (4 octets) - Specifies the OSPFv2 DOI, which has been assigned the value . Atkinson Expires in 6 months [Page 7] Internet Draft OSPF DOI for ISAKMP 15 October 1997 o Situation (4 octets) - Bitmask used to interpret the remainder of the Security Association Payload. See Section 4.2 for a complete list of values. 4.8.2 Identification Payload Content The Identification Payload is used to identify the initiator of the Security Association. The identity of the initiator SHOULD be used by the responder to determine the correct host system security policy requirement for the association. Typically, OSPF sessions use an identity that is either an IP Address or a Fully Qualified Domain Name (FQDN). The Identification Payload provides information that can be used by the responder to make this decision. 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 | ID Type | Payload Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ Identification Data ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 2: Identification Payload Format The Identification Payload field is defined as follows: o Next Payload (2 octets) - Identifier for the payload 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 Identification Type (1 octet) - Value describing the identity information found in the Identification Data field. o Payload Length (2 octets) - Length, in octets, of the identification data, including the generic header. 4.8.2.1 Identification Type Values The following table lists the assigned values for the Identification Type field found in the Identification Payload. ID Type Value ------- ----- Atkinson Expires in 6 months [Page 8] Internet Draft OSPF DOI for ISAKMP 15 October 1997 RESERVED 0 ID_IPV4_ADDR 1 ID_IPV6_ADDR 2 ID_FQDN 3 ID_USER_FQDN 4 The size of this field is one octet. The values 5-255 are reserved to IANA. The ID_IPV4_ADDR type specifies a single four (4) octet IPv4 address. The ID_IPV4_ADDR type specifies a single sixteen (16) octet IPv6 address. The ID_FQDN type specifies a fully-qualified domain name string. An example of a ID_FQDN is, "foo.bar.com". The ID_USER_FQDN type specifies a fully-qualified username string, An example of a ID_USER_FQDN is, "john-doe@foo.bar.com". 4.9 OSPFv2 Security Parameter Index (SPI) Encoding ISAKMP defines the SPI field as eight octets in length, however the OSPFv2 Cryptographic Authentication only uses a one octet Key Identifier. All implementations MUST use the following mapping for the ISAKMP SPI field in the OSPFv2 DOI. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | KEY ID | RESERVED MUST BE ZERO | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RESERVED MUST BE ZERO | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 3: ISAKMP SPI Encoding The ISAKMP SPI field is defined as follows: o KEY ID - Key Identifier (1 octet) - contains the KEY ID value which identifies the OSPFv2 Authentication Key. o RESERVED (7 octets) - Reserved for future use, must be sent as zero (0) and ignored upon receipt. Atkinson Expires in 6 months [Page 9] Internet Draft OSPF DOI for ISAKMP 15 October 1997 4.8 OSPFv2 Certificate Authorities The ISAKMP Certificate Request Payload allows either side of an ISAKMP negotiation to request its peer to provide a certificate chain needed to authenticate itself. The Certificate Request Payload includes a list of acceptable Certificate Types and Certificate Authorities. Appropriate certificate chains are then returned in a Certificate Payload response. The OSPFv2 DOI defines the following Certificate Authorities for the processing of Certificate Request Payloads. See Section 4.5 for details on the specific data attribute type values for these CAs. Certificate Authority --------------------- DNS Security 4.8.1 DNS Security This CA type represents the combination of KEY and SIG records, as defined in RFC-2065, that can be used for authentication. The particular encoding required to formulate the Certificate Payload (response) is TBD. 4.9 OSPFv2 Key Exchange Requirements The OSPFv2 DOI introduces no additional Key Exchange types. 5. Security Considerations This entire note pertains to a hybrid protocol, combining Oakley ([OAKLEY]) with ISAKMP ([ISAKMP]), to negotiate and derive keying material for security associations 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. This document describes the additional data needed to apply the ISAKMP protocol for use in managing OSPFv2 Authentication Keys and related data. Implementers should consult the OSPFv2 specification for more information on OSPFv2 Cryptographic Authentication. ACKNOWLEDGEMENTS: This document is directly derived from the "IP Security DOI for ISAKMP" by Derrell Piper. That document is in turn derived, in part, from previous works by Douglas Maughan, Mark Schertler, Mark Atkinson Expires in 6 months [Page 10] Internet Draft OSPF DOI for ISAKMP 15 October 1997 Schneider, Jeff Turner, Dan Harkins, and Dave Carrel. REFERENCES: [RFC-2065] D. Eastlake 3rd & C. Kaufman, "Domain Name System Security Extensions (DNSSEC)", RFC-2065, January 1997. [RFC-2178] J. Moy, "OSPF Version 2", RFC-2178, July 1997. [IO] D. Carrel & D. Harkins, "The Resolution of ISAKMP with Oakley," draft-ietf-ipsec-isakmp-oakley-03.txt. [ISAKMP] D. Maughan, M. Schertler, M. Schneider, & J. Turner, "Internet Security Association and Key Management Protocol (ISAKMP)," draft-ietf-ipsec-isakmp-07.{ps,txt}. [OAKLEY] H. K. Orman, "The OAKLEY Key Determination Protocol," draft-ietf-ipsec-oakley-01.txt. [PFKEY] D.L. McDonald, C.W. Metz, B.G. Phan, "PF_KEY Key Management API, Version 2", draft-mcdonald-pf-key-v2-01.txt, work in progress. Editor's Address: Randall Atkinson @Home Network 425 Broadway Street Redwood City, CA, USA 94063 +1 (650) 569-5449 Atkinson Expires in 6 months [Page 11]