Network Working Group M. Jethanandani Internet-Draft B. Weis Intended status: Standards Track K. Patel Expires: April 21, 2012 Cisco Systems D. Zhang Huawei S. Hartman Painless Security October 19, 2011 Key Management for Pairwise Routing Protocol draft-mahesh-karp-rkmp-00 Abstract When running routing protocols such as BGP or RSVP-TE, two routers need to exchange routing messages in a unicast (one-to-one) fashion. In order to authenticate these messages using symmetric cryptography, a secret key needs to be established. This document defines a Router Key Management Protocol for establishing and managing such keys for routing protocols. Requirements Language The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119]. Status of this Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. 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." This Internet-Draft will expire on April 21, 2012. Copyright Notice Jethanandani, et al. Expires April 21, 2012 [Page 1] Internet-Draft rkmp October 2011 Copyright (c) 2011 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 1.2. Acronyms and Abbreviations . . . . . . . . . . . . . . . . 3 1.3. Relationship to IKEv2 . . . . . . . . . . . . . . . . . . 3 2. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.1. Types of Keys . . . . . . . . . . . . . . . . . . . . . . 4 3. Protocol Exchanges . . . . . . . . . . . . . . . . . . . . . . 4 3.1. RP_INIT . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.2. RP_AUTH . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.3. RP_ADD . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.4. INFORMATIONAL . . . . . . . . . . . . . . . . . . . . . . 7 4. Header and Payload Formats . . . . . . . . . . . . . . . . . . 7 4.1. Security Association Payload . . . . . . . . . . . . . . . 8 4.1.1. Proposal Substructure . . . . . . . . . . . . . . . . 8 4.1.1.1. Transforms Substructures . . . . . . . . . . . . . 10 4.1.1.1.1. RKMP . . . . . . . . . . . . . . . . . . . . . 10 4.1.1.1.2. TCP-AO Transforms . . . . . . . . . . . . . . 10 4.2. Traffic Selector Payload . . . . . . . . . . . . . . . . . 12 5. Operation Details . . . . . . . . . . . . . . . . . . . . . . 12 5.1. General . . . . . . . . . . . . . . . . . . . . . . . . . 12 5.2. Initial Key Specific Data Exchange . . . . . . . . . . . . 13 5.3. Key Specific Data Rollover Exchange . . . . . . . . . . . 13 6. Key Management Database (KMDB) . . . . . . . . . . . . . . . . 14 7. Protocol Interaction . . . . . . . . . . . . . . . . . . . . . 14 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 9. Security Considerations . . . . . . . . . . . . . . . . . . . 14 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 14 11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 15 11.1. Normative References . . . . . . . . . . . . . . . . . . . 15 11.2. Informative References . . . . . . . . . . . . . . . . . . 15 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 16 Jethanandani, et al. Expires April 21, 2012 [Page 2] Internet-Draft rkmp October 2011 1. Introduction Existing routing protocols using unicast communication model (e.g., BGP, LDP, RSVP-TE) have cryptographic authentication mechanisms that use a key shared between the routers on the both sides of the model to protect routing message exchanges between the routers. Unicast key management today is limited to statically configuring master keys in individual routers. This document extends currently defined IKEv2 [RFC5996] protocol to define a Router Key Management Protocol (RKMP) that allows network devices to automatically exchange key material related information between the network devices. RKMP assumes that routers need to be provisioned with some credentials for a one-to-one authentication protocol. Preshared keys or asymmetric keys and an authorization list are expected to be common deployments. If two routers running a routing protocol have not authenticated each other yet, and before sending out any routing protocol packets the two routers need to perform mutual authentication using their provisioned credentials. If successful, two routers negotiate the key material to secure the routing protocol execution. 1.1. Terminology 1.2. Acronyms and Abbreviations The following acronyms and abbreviations are used throughout this document. IKE Internet Key Exchange Protocol IKEv2 Internet Key Exchange Protocol Version 2 SA Security Association 1.3. Relationship to IKEv2 IKEv2 provides a protocol for authenticating IPsec security associations between two peers. It currently provides no group keying. IKEv2 is attractive as a basis for this protocol because while it is much simpler than IKE [RFC2409], it provides all the needed flexibility in one-to-one authentication. Unlike IKE, IKEv2 is explicitly designed for IPsec. The document does not separate handling aspects of the protocol that would be needed for IPsec from those that apply to general key management. IPsec specific rules are combined with more general requirements. Jethanandani, et al. Expires April 21, 2012 [Page 3] Internet-Draft rkmp October 2011 While concepts and protocol payloads can be used in a different key management protocol, the current structure of IKEv2 does not provide a mechanism for applying IKEv2 to a domain of interpretation other than IPsec. In addition, the complexity required in the IKE specification when compared to IKEv2 suggests that the generality of IKE may not be worth the complexity cost. This protocol borrows concepts and payloads from IKEv2 but does not normatively depend on the IKEv2 specification. 2. Overview [Need an overview of how RKMP works, maybe a protocol flow picture and/or state machine picture. This would be a preface to the actual protocol descriptions in Section 3.] 2.1. Types of Keys The keys adopted in RKMP are listed as follows: o PSK (Pre-Shared Key) : PSKs are pair-wise unique keys used for authenticating one router to the other one during the initial exchange. These keys are configured by some mechanism such as manual configuration or a management application outside of the scope of RKMP. o Seed key: Refers to value derived from SKEYSEED that is used to derive new keys (e.g., for TCP-AO). o Protocol master key: A protocol master key is the key exported by RKMP for use by a routing protocol such as BGP. This is the key that is shared in the key table between the routing protocol and RKMP. o Transport key: A transport key is the key used to integrity protect routing messages in a protocol such as BGP. In today's routing protocol cryptographic authentication mechanisms the transport key can be the same as the protocol master key. 3. Protocol Exchanges The exchange of private keying material between two network devices using a dedicated key management protocol is a requirement as articulated in [I-D.ietf-karp-routing-tcp-analysis]. There is no need to define an entirely new protocol for this purpose, when existing mature protocol exchanges and methods have been vetted. Jethanandani, et al. Expires April 21, 2012 [Page 4] Internet-Draft rkmp October 2011 This draft makes use of the IKEv2 protocol exchanges, state machine, and policy definitions to define a dedicated key management protocol. However, as IKEv2 was developed exclusively for the use of IPsec, these protocol exchanges are incorporated by reference into the present key protocol definitions, and are exchanged using a dedicated UDP port number (TDB - IANA). The use of a dedicated UDP port will clearly differentiate this protocol from IKEv2. In the following figures, the notations contained in the message are defined as follows. +----------+------------------------------+ | Notation | Payload | +----------+------------------------------+ | AUTH | Authentication | | CERT | Certificate | | CERTREQ | Certificate Request | | D | Delete | | HDR | KMPRP Header (not a payload) | | IDi | Identification - Initiator | | IDr | Identification - Responder | | KE | Key Exchange | | Ni, Nr | Nonce | | N | Notify | | SA | Security Association | | SK | Encrypted and Authenticated | | TSi | Traffic Selector - Initiator | | TSr | Traffic Selector - Responder | +----------+------------------------------+ Acronyms Used in Protocol Exchange 3.1. RP_INIT The RP Initial Exchange (RP_INIT) is identical to the IKE_SA_INIT exchange defined in Internet Key Exchange Protocol Version 2 [RFC5996]. The RP_INIT exchange is a two-message exchange that allows the network devices to negotiate cryptographic algorithms, exchange nonces, and do a Diffe-Hellman (DH) [DH] exchange, for their routing protocols, after which protocols on these network devices can communicate privately. Note that at this point the network devices have not identified their peer. For the details of this exchange, refer to IKE_SA_INIT in Internet Key Exchange Protocol Version 2 [RFC5996]. Jethanandani, et al. Expires April 21, 2012 [Page 5] Internet-Draft rkmp October 2011 Peer (Initiator) Peer (Responder) -------------------- ------------------ HDR, SAi1, KEi, Ni --> <-- HDR, SAr1, KEr, Nr, [CERTREQ,] RP_INIT 3.2. RP_AUTH Next, the network devices perform a RP Authentication exchange (RP_AUTH), which is substantially the same as the IKE_AUTH exchange defined in RFC 5996, except that the SA payload contains policy specific to the routing protocol security policy (labeled SArpi and SArpr) rather than IPsec policy (SAi2, SAr2 defined in RFC 5996). The SArpi and SArpr payloads are described in Section 3; for the details of the rest of the exchange please refer to IKE_AUTH in RFC 5996. Peer (Initiator) Peer (Responder) -------------------- ------------------ HDR, SK {IDi, [CERT,] [CERTREQ,] [IDr,] AUTH, SArpi} --> <-- HDR, SK {IDr, [CERT,] AUTH, SArpr} RP_AUTH In the RP_AUTH exchange, the Initiator proposes one or more sets of policies for one routing protocol in the SArpi. The Responder returns the one policy contained in SArpi that it accepts. Based on this policy, appropriate keying material is derived from the existing shared keying material. At the successful conclusion of the RP_AUTH exchange, the initiator and responder have agreed upon a single set of policy and keying material for a particular routing protocol. 3.3. RP_ADD The network devices may then destroy the state associated with the RP SA, continuing to use the RP policy and keying material, or they may choose to retain them for the further use. If both the network devices choose to retain them, they may use the RP SA to subsequently agree upon replacement policy for the same RP, or agree upon policy and keying material for another routing protocol. Either case will require the use of the RP Additional Exchange (RP_ADD), similar to the IKEv2 CREATE_CHILD_SA exchange as defined in RFC 5996. A RP_ADD exchange therefore can be triggered in order to Jethanandani, et al. Expires April 21, 2012 [Page 6] Internet-Draft rkmp October 2011 1. Rekey an antique protocol master key and establish a new equivalent one 2. Generate needed key material for a newly executed routing protocol based on an existing SA 3. Rekey an RMKP_SA and establish a new equivalent RMKP_SA Peer (Initiator) Peer (Responder) -------------------- ------------------ HDR, SK {SArpi, Ni, [KEi ], TS} --> <-- HDR, SK {SArpr, Nr, [KEr ], TS} RP_ADD A RP_ADD exchange MAY be initiated by either end of the SA after the initial exchanges are completed. All messages in a RP_ADD exchange are cryptographically protected using the cryptographic algorithms and keys negotiated in the the initial exchange. In the RP_ADD exchange, the SA payloads in the RP_ADD exchange are used identically as in the RP_AUTH exchange. For details on the rest of the exchange, refer to the CREATE_CHILD_SA exchange as defined in RFC 5996. 3.4. INFORMATIONAL The IKEv2 INFORMATIONAL exchange is also useful for deleting specific RP SAs or sending status information. The Notify (N) and Delete (D) payloads are as those defined by IKEv2 [IKEV2-PARAMS]. For example, if the Responder refused to accept one of Proposals sent by the Initiator, it would return an INFORMATIONAL exchange of type NO_PROPOSAL_CHOSEN instead of the response to RP_ADD. Peer (Initiator) Peer (Responder) ------------------- ------------------ HDR, SK {[N,] [D,] ... } --> <-- HDR, SK {[N,] [D,] ... } INFORMATIONAL 4. Header and Payload Formats The protocol defined in this memo uses a HDR identical to the Generic Payload Header defined in section 3.2 of RFC 5996. The new exchanges defined in this memo are not used with IKEv2. A new IANA registry is Jethanandani, et al. Expires April 21, 2012 [Page 7] Internet-Draft rkmp October 2011 to be created to identify the RP exchange types and payloads described in this section. 4.1. Security Association Payload The Security Association (SA) payload contains a list of Proposals, which describe one or more sets of policy that a router is willing to use to protect a routing protocol. It is identical to the SA payload described in RFC 5996, and the details of the fields are described there. In the Initiator's message, the SArpi payload contains a list of Proposal payloads (as defined in the next section), each of which contains a single set of policy that can be applied to the packets described in the Traffic Selector (TS) payloads in the same exchange. For example, the TS payloads may describe a set of IP addresses and ports which are a BGP connection, and the SA payload contains a list of proposals describing what policy the router is willing to use to protect that BGP traffic. Each set of policy is given a particular "Proposal Number" uniquely identifying this set of policy. The responder includes a single Proposal payload in it's SA policy, which denotes the choice it has made amongst the initiator's list of Proposals. Any attributes of a selected transform MUST be returned unmodified as explained in IKEv2 [RFC5996] section 3.3.6. The initiator of an exchange MUST check that the accepted offer is consistent with one of its proposals, and if not MUST terminate the exchange. 1 2 3 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 |C| RESERVED | Payload Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | ~ ~ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Security Association Payload The Security Association Payload fields are defined as in RFC 5996. 4.1.1. Proposal Substructure The Proposal (P) substructure of the Security Association Payload contains an identification for the set of policy choices, the security protocol offered in the proposal, and details of the Jethanandani, et al. Expires April 21, 2012 [Page 8] Internet-Draft rkmp October 2011 cryptographic choices offered. 1 2 3 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 0 (last) or 2 | Reserved | Proposal Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Proposal Num | Protocol ID | Num Transforms | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | ~ ~ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Proposal Payload o 0 (last) or 2 (more) (1 octet) - Specifies whether this is the last Proposal Substructure in the SA. o RESERVED (1 octet) - MUST be sent as zero; MUST be ignored on receipt. o Proposal Length (2 octets, unsigned integer) - Length of this proposal, including all transforms and attributes that follow. o Proposal Num (1 octet) - When a proposal is made, the first proposal in an SA payload MUST be 1, and subsequent proposals MUST be one more than the previous proposal (indicating an OR of the two proposals). When a proposal is accepted, the proposal number in the SA payload MUST match the number on the proposal sent that was accepted. o Protocol ID (1 octet) - Specifies the protocol identifier for the current negotiation. Protocol Protocol ID Reference ---------------------------------------------- RKMP 1 TCP-AO 2 RFC 5925 LDP Discovery Key 3 TBD Standards Action 4-128 Private Use 129-255 Protocol ID o Num Transforms (1 octet) - Specifies the number of transforms in this proposal. Jethanandani, et al. Expires April 21, 2012 [Page 9] Internet-Draft rkmp October 2011 o Transforms (variable) - One or more transform substructures. 4.1.1.1. Transforms Substructures Each Proposal has a list of Transform (T) substructures, each of which describe a particular set of cryptographic policy choices. This is useful for an initiator to propose multiple cryptographic choices for the same policy described in its associated Proposal payload. 4.1.1.1.1. RKMP This transform payload is used negotiate policy to protect the RKMP exchanges. The Transforms are identical to the Transforms specified to negotiate IKE policy in Section 3.3.2 of IKEv2 [RFC5996]. 4.1.1.1.2. TCP-AO Transforms The TCP-AO [RFC5925] transform payload contains the following fields. 1 2 3 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 0 (last) or 3 | RESERVED | Transform Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SendID |Auth Alg | KDF | Flags | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ TCP-AO Transforms o 0 (last) or 3 (more) (1 octet) - Specifies whether this is the last Transform Substructure in the Proposal. o RESERVED (1 octet) - MUST be sent as zero; MUST be ignored on receipt. o Transform Length (2 octets) - The length (in octets) of the Transform Substructure including Header and Attributes. o SendID (1 octet) - The TCP-AO KeyID that the sender will use to represent this Transform. The KeyID will be used to generate the keys independently on each network device at the end of the exchange. o Auth Alg (1 octet) - The Authentication algorithm defined as a part of this Transform. Values are defined in Cryptographic Algorithms for the TCP Authentication Option [RFC5926]. Jethanandani, et al. Expires April 21, 2012 [Page 10] Internet-Draft rkmp October 2011 Auth Alg ID ------------------------------ HMAC-SHA-1-96 1 AES-128-CMAC-96 2 Standards Action 3-128 Private Use 129-255 Authentication Algorithm o KDF (1 octet) - The KDF defined as a part of this Transform. Values are defined in Cryptographic Algorithms for the TCP Authentication Option [RFC5926]. KDF ID ------------------------------ KDF_HMAC_SHA1 1 KDF_AES_128_CMAC 2 Standards Action 3-128 Private Use 129-255 Key Derivation Functions o Flags (1 octet) - Indicates specific options for TCP-AO. The bits are as follows: +-+-+-+-+-+-+-+-+ |O|X|X|X|X|X|X|X| +-+-+-+-+-+-+-+-+ In the description below, a bit being 'set' means its value is '1', while 'cleared' means its value is '0'. 'X' bits MUST be cleared when sending and MUST be ignored on receipt. o O (Options) - This bit indicates whether or not TCP Options are to be included in the bytes protected by the authentication calculation. This bit is set to indicate that TCP Options are to be ignored and cleared to indicate that TCP Options are protected. When a TCP-AO transform is chosen, keying material for the TCP-AO master key is generated as follows, where Ni and Nr are unique to this exchange. The value SK_D is defined in RFC 5996, and refers to the value derived from SKEYSEED that is used to derive new keys (e.g., for TCP-AO). = prf+(SK_d, Ni | Nr) Jethanandani, et al. Expires April 21, 2012 [Page 11] Internet-Draft rkmp October 2011 4.2. Traffic Selector Payload The Traffic Selector (TS) payload definition is the same as defined in Section 3.13 of IKEv2 [RFC5996]. The TS types for routing protocols would be defined as follows. 1 2 3 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TS Type |Rtg. Prot. ID | RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ o TS Type (1 octet) - 1 for all routing protocols o Rtg. Prot. ID (1 octet) - Specifies the routing protocol identifier for the current negotiation. Routing (RT) Protocol Protocol ID Reference --------------------------------------------- BGP 1 RFC 4271 LDP 2 RFC 5036 MSDP 3 RFC 3618 PIM PORT 4 PCEP 5 RFC 5440 Routing Protocol 5. Operation Details 5.1. General KMPRP is used to dynamically derive key material information between the two network devices trying to establish or maintain a routing protocol neighbor adjacency. Typically network devices running the routing protocols establish neighbor adjacencies at the routing protocol level. These routing protocols may run different security algorithms that provide transport level security for the protocol neighbor adjacencies. Depending on the security algorithm used, the routing protocols are configured with security algorithm specific keys that are either long term keys or short term session keys. These keys are specific to the security algorithms used to enforce transport level security for the routing protocols. A routing protocol causes KMPRP to execute when it needs key material to establish neighbor adjacency. This can be as a result of the routing protocol neighbor being configured, neighbor changed or updated, a local rekey policy decision, or some other event dictated Jethanandani, et al. Expires April 21, 2012 [Page 12] Internet-Draft rkmp October 2011 by the implementation. The key material would allow the network devices to then independently generate the same key and establish a KMPRP neighbor adjacency between them. This is typically done by the Initiator (KMPRP speaker) initiating a KMPRP RP_INIT exchange mentioned in the section 2.1 towards its KMPRP peer. As part of RP_INIT exchange, KMPRP will send a message to the KMPRP peer's well known KMPRP UDP port [TBD] by IANA. The format of the message is explained in section 3. The procedure to exchange key information is explained in section 3. Once the key material information is successfully exchanged by both the KMPRP speaker, the KMPRP neighbor adjacency may be torn down. The master key data received from KMPRP peers are stored in the separate Key Management Database known as KMDB. KMDB follows the guidelines in[I-D.ietf-karp-crypto-key-table], and each entry consists of Key specific information, Security algorithm to which the Key is applicable to, Routing Protocol Clients of interest, and the announcing KMPRP Peer. KMDB is also used to notify the routing protocols about the key updates. Typically key material information is exchanged whenever a routing protocol is about to create a new neighbor adjacency. This is considered as an Initial Key exchange mode. Key material information is also exchanged to refresh existing key data on an already existing neighbor adjacency. This is considered as Key rollover exchange mode. The following sections describes their detail behavior. 5.2. Initial Key Specific Data Exchange Routing protocols informs KMPRP of its new neighbor adjacency. It does so by creating a local entry in KMDB which consists of a Security algorithm, Key specific information, routing protocol client and the routing protocol neighbor. Upon a successful creation of such an entry KMPRP initiates KMPRP peering with the neighbor and starts initial KMPRP RP_INIT exchange explained in section 2.1 followed by the RP_AUTH exchanged explained in section 2.2. Once the key related information is successfully exchanged, KMDB may invoke the routing protocol client to provide key specific information updates if any. 5.3. Key Specific Data Rollover Exchange Key rollover exchange may be initiated at a pre-configured time interval or as part of a manual configuration and is outside the scope of this document. The procedure of Key Rollover exchange is exactly same as the Initial Key specific data exchange described above. Jethanandani, et al. Expires April 21, 2012 [Page 13] Internet-Draft rkmp October 2011 6. Key Management Database (KMDB) Protocol interaction between KMPRP and its client routing protocols is typically done using KMDB. Routing protocols update KMDB by installing a new Key related information or purging an existing Key specific information. As part of the KMDB update, KMPRP initiates peering connections with its appropriate KMPRP peers to announce the updated key related information. KMPRP may also receive an updated key related information from its peers which gets installed in KMDB. Whenever KMPRP updates KMDB with updated key information from its peers, it notifies client routing protocols of its updates. 7. Protocol Interaction Routing protocols could end up with multiple keys when updated by KMDB. Typically, routing protocols should use the keys till the point its peers have transitioned to a new key. Once the peers have transitioned to a new key, routing protocols could put the old keys on timers and eventually free them. The reason to put them on timer and not free them right away is to ensure that all out of order packets in TCP are handled correctly. 8. IANA Considerations A new UDP port number will need to be assigned for systems that want to implement this protocol. A new IANA registry is to be created to identify the RP exchange types and payloads. Note to RFC Editor: this section may be removed on publication as an RFC. 9. Security Considerations TBD 10. Acknowledgements During the development of TCP-AO, Gregory Lebovitz noted that a protocol based on an IKEv2 exchange would be a good automated key management method for deriving a TCP-AO master key. Many protocol definitions and protocol formats come from RFC 5996, Jethanandani, et al. Expires April 21, 2012 [Page 14] Internet-Draft rkmp October 2011 either by reference or inclusion. 11. References 11.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC5925] Touch, J., Mankin, A., and R. Bonica, "The TCP Authentication Option", RFC 5925, June 2010. [RFC5926] Lebovitz, G. and E. Rescorla, "Cryptographic Algorithms for the TCP Authentication Option (TCP-AO)", RFC 5926, June 2010. [RFC5996] Kaufman, C., Hoffman, P., Nir, Y., and P. Eronen, "Internet Key Exchange Protocol Version 2 (IKEv2)", RFC 5996, September 2010. 11.2. Informative References [DH] Diffie, W. and M. Hellman, "New Directions in Cryptography", IEEE Transactions on Information Theory, V.IT-22 n. 6, June 1977. [I-D.ietf-karp-crypto-key-table] Housley, R. and T. Polk, "Database of Long-Lived Symmetric Cryptographic Keys", draft-ietf-karp-crypto-key-table-01 (work in progress), May 2011. [I-D.ietf-karp-routing-tcp-analysis] Jethanandani, M., Patel, K., and L. Zheng, "Analysis of BGP, LDP, PCEP, and MSDP Security According to KARP Design Guide", draft-ietf-karp-routing-tcp-analysis-00 (work in progress), June 2011. [IKEV2-PARAMS] "Internet Key Exchange Version 2 (IKEv2) Parameters", . [RFC2409] Harkins, D. and D. Carrel, "The Internet Key Exchange (IKE)", RFC 2409, November 1998. Jethanandani, et al. Expires April 21, 2012 [Page 15] Internet-Draft rkmp October 2011 Authors' Addresses Mahesh Jethanandani Cisco Systems 170 Tasman Drive San Jose, California CA USA Phone: +1 (408) 527-8230 Fax: Email: mjethanandani@gmail.com URI: Brian Weis Cisco Systems 170 W. Tasman Drive San Jose, California 95134 USA Phone: +1 (408) 526-4796 Fax: Email: bew@cisco.com URI: Keyur Patel Cisco Systems 170 Tasman Drive San Jose, California 95134 USA Phone: _1 (408) 526-7183 Fax: Email: keyupate@cisco.com URI: Dacheng Zhang Huawei Beijing, China Phone: Fax: Email: zhangdacheng@huawei.com URI: Jethanandani, et al. Expires April 21, 2012 [Page 16] Internet-Draft rkmp October 2011 Sam Hartman Painless Security Phone: Fax: Email: hartmans@painless-security.com URI: Jethanandani, et al. Expires April 21, 2012 [Page 17]