This document describes an extension to the IKEv2 protocol that allows an IKE SA to be created and authenticated without generating a Child SA.
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 January 1, 2011.
Copyright (c) 2010 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.
IKEv2, as specified in [RFC4306] (Kaufman, C., “Internet Key Exchange (IKEv2) Protocol,” December 2005.), requires that the IKE_AUTH exchange try to create a Child SA along with the IKE SA. This requirement is sometimes inconvenient or superfluous, as some implementations need to use IKE for authentication only, while others would like to set up the IKE SA before there is any actual traffic to protect. The extension described in this document allows the creation of an IKE SA without also attempting to create a Child SA.
An IKE SA without any Child SA is not a fruitless endeavor. Even without Child SAs, an IKE SA allows:
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 [RFC2119] (Bradner, S., “Key words for use in RFCs to Indicate Requirement Levels,” March 1997.).
Several scenarios motivated this proposal:
In some of these cases it may be possible to create a dummy Child SA and then remove it, but this creates undesirable side effects and race conditions. Moreover, the IKE peer might see the deletion of the Child SA as a reason to delete the IKE SA.
The decision of whether or not to support an IKE_AUTH exchange without the piggy-backed Child SA negotiation is ultimately up to the responder. A supporting responder MUST include the Notify payload, described in Section 4 (CHILDLESS_IKE_SUPPORTED Notification), within the IKE_SA_INIT response.
A supporting initiator MAY send the modified IKE_AUTH request, described in Section 5 (Modified IKE_AUTH Exchange), if the Notification was included in the IKE_SA_INIT response. The initiator MUST NOT send the modified IKE_AUTH request if the Notification was not present.
A supporting responder that has advertised support by including the notification in the IKE_SA_INIT response MUST process a modified IKE_AUTH request, and MUST reply with a modified IKE_AUTH response. Such a responder MUST NOT reply with a modified IKE_AUTH response if the initiator did not send a modified IKE_AUTH request.
A supporting responder that has been configured not to support this extension to the protocol MUST behave as the same as if it didn't support this extension. It MUST NOT advertise the capability with a notification, and it SHOULD reply with an INVALID_SYNTAX Notify payload if the client sends an IKE_AUTH request that is modified as described in Section 5 (Modified IKE_AUTH Exchange).
The Notify payload is as described in [RFC4306] (Kaufman, C., “Internet Key Exchange (IKEv2) Protocol,” December 2005.)
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 ! +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ! Protocol ID ! SPI Size ! Childless Notify Message Type ! +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
For brevity, only the EAP version of an AUTH exchange will be presented here. The non-EAP version is very similar. The figures below are based on appendix A.3 of [RFC4718] (Eronen, P. and P. Hoffman, “IKEv2 Clarifications and Implementation Guidelines,” October 2006.).
first request --> IDi, [N(INITIAL_CONTACT)], [[N(HTTP_CERT_LOOKUP_SUPPORTED)], CERTREQ+], [IDr], [CP(CFG_REQUEST)], [V+] first response <-- IDr, [CERT+], AUTH, EAP, [V+] / --> EAP repeat 1..N times | \ <-- EAP last request --> AUTH last response <-- AUTH, [CP(CFG_REPLY)], [N(ADDITIONAL_TS_POSSIBLE)], [V+]
Note what is missing:
This protocol variation inherits all the security properties of regular IKEv2 as described in [RFC4306] (Kaufman, C., “Internet Key Exchange (IKEv2) Protocol,” December 2005.).
The new notification carried in the initial exchange advertises the capability, and cannot be forged or added by an adversary without being detected, because the response to the initial exchange is authenticated with the AUTH payload of the IKE_AUTH exchange. Furthermore, both peers have to be configured to use this variation of the exchange in order for the responder to accept a childless proposal from the initiator.
IANA is requested to assign a notify message type from the status types range (16418-40959) of the "IKEv2 Notify Message Types" registry with name "CHILDLESS_IKE_SUPPORTED".
|[RFC2119]||Bradner, S., “Key words for use in RFCs to Indicate Requirement Levels,” BCP 14, RFC 2119, March 1997 (TXT, HTML).|
|[RFC4306]||Kaufman, C., “Internet Key Exchange (IKEv2) Protocol,” RFC 4306, December 2005 (TXT, HTML).|
|[RFC4718]||Eronen, P. and P. Hoffman, “IKEv2 Clarifications and Implementation Guidelines,” RFC 4718, October 2006 (TXT, HTML).|
|[3GPP.33.820]||3GPP, “Security of H(e)NB,” 3GPP TR 33.820 8.0.0, March 2009.|
|[EAP-IKEv2]||Tschofenig, H., Kroeselberg, D., Pashalidis, A., Ohba, Y., and F. Bersani, “The Extensible Authentication Protocol-Internet Key Exchange Protocol version 2 (EAP-IKEv2) Method,” RFC 5106, February 2008 (TXT, HTML).|
|[SecureBeacon]||Sheffer, Y. and Y. Nir, “Secure Beacon: Securely Detecting a Trusted Network,” draft-sheffer-ipsecme-secure-beacon (work in progress), June 2009 (TXT, HTML).|
|[extractors]||Rescorla, E., “Keying Material Exporters for Transport Layer Security (TLS),” draft-ietf-tls-extractor (work in progress), March 2009 (TXT, HTML).|
|Check Point Software Technologies Ltd.|
|5 Hasolelim st.|
|Tel Aviv 67897|
|Nokia Siemens Networks|
|Phone:||+358 (50) 4871445|
|Rajeshwar Singh Jenwar|
|Cisco Systems, Inc.|
|Bangalore, Karnataka 560025|
|Phone:||+91 80 4103 3563|