|
|
|
@ -0,0 +1,899 @@ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Internet Engineering Task Force (IETF) P. Eronen |
|
|
|
|
Request for Comments: 5998 Independent |
|
|
|
|
Updates: 5996 H. Tschofenig |
|
|
|
|
Category: Standards Track Nokia Siemens Networks |
|
|
|
|
ISSN: 2070-1721 Y. Sheffer |
|
|
|
|
Independent |
|
|
|
|
September 2010 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
An Extension for EAP-Only Authentication in IKEv2 |
|
|
|
|
|
|
|
|
|
Abstract |
|
|
|
|
|
|
|
|
|
IKEv2 specifies that Extensible Authentication Protocol (EAP) |
|
|
|
|
authentication must be used together with responder authentication |
|
|
|
|
based on public key signatures. This is necessary with old EAP |
|
|
|
|
methods that provide only unilateral authentication using, e.g., one- |
|
|
|
|
time passwords or token cards. |
|
|
|
|
|
|
|
|
|
This document specifies how EAP methods that provide mutual |
|
|
|
|
authentication and key agreement can be used to provide extensible |
|
|
|
|
responder authentication for IKEv2 based on methods other than public |
|
|
|
|
key signatures. |
|
|
|
|
|
|
|
|
|
Status of This Memo |
|
|
|
|
|
|
|
|
|
This is an Internet Standards Track document. |
|
|
|
|
|
|
|
|
|
This document is a product of the Internet Engineering Task Force |
|
|
|
|
(IETF). It represents the consensus of the IETF community. It has |
|
|
|
|
received public review and has been approved for publication by the |
|
|
|
|
Internet Engineering Steering Group (IESG). Further information on |
|
|
|
|
Internet Standards is available in Section 2 of RFC 5741. |
|
|
|
|
|
|
|
|
|
Information about the current status of this document, any errata, |
|
|
|
|
and how to provide feedback on it may be obtained at |
|
|
|
|
http://www.rfc-editor.org/info/rfc5998. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Eronen, et al. Standards Track [Page 1] |
|
|
|
|
|
|
|
|
|
RFC 5998 Extension for EAP in IKEv2 September 2010 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Copyright Notice |
|
|
|
|
|
|
|
|
|
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. |
|
|
|
|
|
|
|
|
|
This document may contain material from IETF Documents or IETF |
|
|
|
|
Contributions published or made publicly available before November |
|
|
|
|
10, 2008. The person(s) controlling the copyright in some of this |
|
|
|
|
material may not have granted the IETF Trust the right to allow |
|
|
|
|
modifications of such material outside the IETF Standards Process. |
|
|
|
|
Without obtaining an adequate license from the person(s) controlling |
|
|
|
|
the copyright in such materials, this document may not be modified |
|
|
|
|
outside the IETF Standards Process, and derivative works of it may |
|
|
|
|
not be created outside the IETF Standards Process, except to format |
|
|
|
|
it for publication as an RFC or to translate it into languages other |
|
|
|
|
than English. |
|
|
|
|
|
|
|
|
|
1. Introduction |
|
|
|
|
|
|
|
|
|
The Extensible Authentication Protocol (EAP), defined in [RFC3748], |
|
|
|
|
is an authentication framework that supports multiple authentication |
|
|
|
|
mechanisms. Today, EAP has been implemented at end hosts and routers |
|
|
|
|
that connect via switched circuits or dial-up lines using PPP |
|
|
|
|
[RFC1661], IEEE 802 wired switches [IEEE8021X], and IEEE 802.11 |
|
|
|
|
wireless access points [IEEE80211i]. |
|
|
|
|
|
|
|
|
|
One of the advantages of the EAP architecture is its flexibility. |
|
|
|
|
EAP is used to select a specific authentication mechanism, typically |
|
|
|
|
after the authenticator requests more information in order to |
|
|
|
|
determine the specific authentication method to be used. Rather than |
|
|
|
|
requiring the authenticator (e.g., wireless LAN access point) to be |
|
|
|
|
updated to support each new authentication method, EAP permits the |
|
|
|
|
use of a backend authentication server that may implement some or all |
|
|
|
|
authentication methods. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Eronen, et al. Standards Track [Page 2] |
|
|
|
|
|
|
|
|
|
RFC 5998 Extension for EAP in IKEv2 September 2010 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
IKEv2 ([RFC4306] and [RFC5996]) is a component of IPsec used for |
|
|
|
|
performing mutual authentication and establishing and maintaining |
|
|
|
|
Security Associations (SAs) for IPsec ESP and Authentication Header |
|
|
|
|
(AH). In addition to supporting authentication using public key |
|
|
|
|
signatures and shared secrets, IKEv2 also supports EAP |
|
|
|
|
authentication. |
|
|
|
|
|
|
|
|
|
IKEv2 provides EAP authentication since it was recognized that public |
|
|
|
|
key signatures and shared secrets are not flexible enough to meet the |
|
|
|
|
requirements of many deployment scenarios. By using EAP, IKEv2 can |
|
|
|
|
leverage existing authentication infrastructure and credential |
|
|
|
|
databases, since EAP allows users to choose a method suitable for |
|
|
|
|
existing credentials, and also makes separation of the IKEv2 |
|
|
|
|
responder (VPN gateway) from the EAP authentication endpoint (backend |
|
|
|
|
Authentication, Authorization, and Accounting (AAA) server) easier. |
|
|
|
|
|
|
|
|
|
Some older EAP methods are designed for unilateral authentication |
|
|
|
|
only (that is, EAP peer to EAP server). These methods are used in |
|
|
|
|
conjunction with IKEv2 public-key-based authentication of the |
|
|
|
|
responder to the initiator. It is expected that this approach is |
|
|
|
|
especially useful for "road warrior" VPN gateways that use, for |
|
|
|
|
instance, one-time passwords or token cards to authenticate the |
|
|
|
|
clients. |
|
|
|
|
|
|
|
|
|
However, most newer EAP methods, such as those typically used with |
|
|
|
|
IEEE 802.11i wireless LANs, provide mutual authentication and key |
|
|
|
|
agreement. Currently, IKEv2 specifies that these EAP methods must |
|
|
|
|
also be used together with responder authentication based on public |
|
|
|
|
key signatures. |
|
|
|
|
|
|
|
|
|
In order for the public key signature authentication of the gateway |
|
|
|
|
to be effective, a deployment of Public Key Infrastructure (PKI) is |
|
|
|
|
required, which has to include management of trust anchors on all |
|
|
|
|
supplicants. In many environments, this is not realistic, and the |
|
|
|
|
security of the gateway public key is the same as the security of a |
|
|
|
|
self-signed certificate. Mutually authenticating EAP methods alone |
|
|
|
|
can provide a sufficient level of security in many circumstances, and |
|
|
|
|
in fact, in some deployments, IEEE 802.11i uses EAP without any PKI |
|
|
|
|
for authenticating the Wireless Local Area Network (WLAN) access |
|
|
|
|
points. |
|
|
|
|
|
|
|
|
|
This document specifies how EAP methods that offer mutual |
|
|
|
|
authentication and key agreement can be used to provide responder |
|
|
|
|
authentication in IKEv2 completely based on EAP. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Eronen, et al. Standards Track [Page 3] |
|
|
|
|
|
|
|
|
|
RFC 5998 Extension for EAP in IKEv2 September 2010 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1.1. Terminology |
|
|
|
|
|
|
|
|
|
All notation in this protocol extension is taken from [RFC4306]. |
|
|
|
|
|
|
|
|
|
Numbered messages refer to the IKEv2 message sequence when using EAP. |
|
|
|
|
|
|
|
|
|
Thus: |
|
|
|
|
|
|
|
|
|
o Message 1 is the request message of IKE_SA_INIT. |
|
|
|
|
|
|
|
|
|
o Message 2 is the response message of IKE_SA_INIT. |
|
|
|
|
|
|
|
|
|
o Message 3 is the first request of IKE_AUTH. |
|
|
|
|
|
|
|
|
|
o Message 4 is the first response of IKE_AUTH. |
|
|
|
|
|
|
|
|
|
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]. |
|
|
|
|
|
|
|
|
|
2. Scenarios |
|
|
|
|
|
|
|
|
|
In this section, we describe two scenarios for extensible |
|
|
|
|
authentication within IKEv2. These scenarios are intended to be |
|
|
|
|
illustrative examples rather than specifying how things should be |
|
|
|
|
done. |
|
|
|
|
|
|
|
|
|
Figure 1 shows a configuration where the EAP and the IKEv2 endpoints |
|
|
|
|
are co-located. Authenticating the IKEv2 responder using both EAP |
|
|
|
|
and public key signatures is redundant. Offering EAP-based |
|
|
|
|
authentication has the advantage that multiple different |
|
|
|
|
authentication and key exchange protocols are available with EAP with |
|
|
|
|
different security properties (such as strong password-based |
|
|
|
|
protocols, protocols offering user identity confidentiality, and many |
|
|
|
|
more). |
|
|
|
|
|
|
|
|
|
+------+-----+ +------------+ |
|
|
|
|
O | IKEv2 | | IKEv2 | |
|
|
|
|
/|\ | Initiator |<---////////////////////--->| Responder | |
|
|
|
|
/ \ +------------+ IKEv2 +------------+ |
|
|
|
|
User | EAP Peer | Exchange | EAP Server | |
|
|
|
|
+------------+ +------------+ |
|
|
|
|
|
|
|
|
|
Figure 1: EAP and IKEv2 Endpoints Are Co-Located |
|
|
|
|
|
|
|
|
|
Figure 2 shows a typical corporate network access scenario. The |
|
|
|
|
initiator (client) interacts with the responder (VPN gateway) in the |
|
|
|
|
corporate network. The EAP exchange within IKE runs between the |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Eronen, et al. Standards Track [Page 4] |
|
|
|
|
|
|
|
|
|
RFC 5998 Extension for EAP in IKEv2 September 2010 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
client and the home AAA server. As a result of a successful EAP |
|
|
|
|
authentication protocol run, session keys are established and sent |
|
|
|
|
from the AAA server to the VPN gateway, and then used to authenticate |
|
|
|
|
the IKEv2 SA with AUTH payloads. |
|
|
|
|
|
|
|
|
|
The protocol used between the VPN gateway and AAA server could be, |
|
|
|
|
for instance, Diameter [RFC4072] or RADIUS [RFC3579]. See Section 6 |
|
|
|
|
for related security considerations. |
|
|
|
|
|
|
|
|
|
+-------------------------------+ |
|
|
|
|
| Corporate network | |
|
|
|
|
| | |
|
|
|
|
+-----------+ +--------+ | |
|
|
|
|
| IKEv2 | AAA | Home | | |
|
|
|
|
IKEv2 +////----->+ Responder +<---------->+ AAA | | |
|
|
|
|
Exchange / | (VPN GW) | (RADIUS/ | Server | | |
|
|
|
|
/ +-----------+ Diameter) +--------+ | |
|
|
|
|
/ | carrying EAP | |
|
|
|
|
| | | |
|
|
|
|
| +-------------------------------+ |
|
|
|
|
v |
|
|
|
|
+------+-----+ |
|
|
|
|
o | IKEv2 | |
|
|
|
|
/|\ | Initiator | |
|
|
|
|
/ \ | VPN client | |
|
|
|
|
User +------------+ |
|
|
|
|
|
|
|
|
|
Figure 2: Corporate Network Access |
|
|
|
|
|
|
|
|
|
3. Solution |
|
|
|
|
|
|
|
|
|
IKEv2 specifies that when the EAP method establishes a shared secret |
|
|
|
|
key, that key is used by both the initiator and responder to generate |
|
|
|
|
an AUTH payload (thus authenticating the IKEv2 SA set up by messages |
|
|
|
|
1 and 2). |
|
|
|
|
|
|
|
|
|
When used together with public key responder authentication, the |
|
|
|
|
responder is, in effect, authenticated using two different methods: |
|
|
|
|
the public key signature AUTH payload in message 4, and the EAP-based |
|
|
|
|
AUTH payload later. |
|
|
|
|
|
|
|
|
|
If the initiator does not wish to use public-key-based responder |
|
|
|
|
authentication, it includes an EAP_ONLY_AUTHENTICATION notification |
|
|
|
|
payload (16417) in message 3. The Protocol ID and Security Parameter |
|
|
|
|
Index (SPI) size fields are set to zero, and there is no additional |
|
|
|
|
data associated with this notification. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Eronen, et al. Standards Track [Page 5] |
|
|
|
|
|
|
|
|
|
RFC 5998 Extension for EAP in IKEv2 September 2010 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If the responder supports this notification and chooses to use it, it |
|
|
|
|
omits the public-key-based AUTH payload and CERT payloads from |
|
|
|
|
message 4. |
|
|
|
|
|
|
|
|
|
If the responder does not support the EAP_ONLY_AUTHENTICATION |
|
|
|
|
notification or does not wish to use it, it ignores the notification |
|
|
|
|
payload, and includes the AUTH payload in message 4. In this case, |
|
|
|
|
the initiator MUST verify that payload and any associated |
|
|
|
|
certificates, as per [RFC4306]. |
|
|
|
|
|
|
|
|
|
When receiving message 4, the initiator MUST verify that the proposed |
|
|
|
|
EAP method is allowed by this specification, and MUST abort the |
|
|
|
|
protocol immediately otherwise. |
|
|
|
|
|
|
|
|
|
Both the initiator and responder MUST verify that the EAP method |
|
|
|
|
actually used provided mutual authentication and established a shared |
|
|
|
|
secret key. The AUTH payloads sent after EAP Success MUST use the |
|
|
|
|
EAP-generated key, and MUST NOT use SK_pi or SK_pr (see Section 2.15 |
|
|
|
|
of [RFC5996]). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Eronen, et al. Standards Track [Page 6] |
|
|
|
|
|
|
|
|
|
RFC 5998 Extension for EAP in IKEv2 September 2010 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
An IKEv2 message exchange with this modification is shown below: |
|
|
|
|
|
|
|
|
|
Initiator Responder |
|
|
|
|
----------- ----------- |
|
|
|
|
HDR, SAi1, KEi, Ni, |
|
|
|
|
[N(NAT_DETECTION_SOURCE_IP), |
|
|
|
|
N(NAT_DETECTION_DESTINATION_IP)] --> |
|
|
|
|
|
|
|
|
|
<-- HDR, SAr1, KEr, Nr, [CERTREQ], |
|
|
|
|
[N(NAT_DETECTION_SOURCE_IP), |
|
|
|
|
N(NAT_DETECTION_DESTINATION_IP)] |
|
|
|
|
|
|
|
|
|
HDR, SK { IDi, [IDr], SAi2, TSi, TSr, |
|
|
|
|
N(EAP_ONLY_AUTHENTICATION), |
|
|
|
|
[CP(CFG_REQUEST)] } --> |
|
|
|
|
|
|
|
|
|
<-- HDR, SK { IDr, EAP(Request) } |
|
|
|
|
|
|
|
|
|
HDR, SK { EAP(Response) } --> |
|
|
|
|
|
|
|
|
|
<-- HDR, SK { EAP(Request) } |
|
|
|
|
|
|
|
|
|
HDR, SK { EAP(Response) } --> |
|
|
|
|
|
|
|
|
|
<-- HDR, SK { EAP(Success) } |
|
|
|
|
|
|
|
|
|
HDR, SK { AUTH } --> |
|
|
|
|
|
|
|
|
|
<-- HDR, SK { AUTH, SAr2, TSi, TSr, |
|
|
|
|
[CP(CFG_REPLY] } |
|
|
|
|
|
|
|
|
|
Note: all notation in the above protocol sequence and elsewhere in |
|
|
|
|
this specification is as defined in [RFC4306], and see in particular |
|
|
|
|
Sec. 1.2 of [RFC4306] for payload types. |
|
|
|
|
|
|
|
|
|
The NAT detection and Configuration payloads are shown for |
|
|
|
|
informative purposes only; they do not change how EAP authentication |
|
|
|
|
works. |
|
|
|
|
|
|
|
|
|
An IKE SA that was set up with this extension can be resumed using |
|
|
|
|
the mechanism described in [RFC5723]. However, session resumption |
|
|
|
|
does not change the authentication method. Therefore, during the |
|
|
|
|
IKE_AUTH exchange of the resumed session, this extension MUST NOT be |
|
|
|
|
sent by the initiator. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Eronen, et al. Standards Track [Page 7] |
|
|
|
|
|
|
|
|
|
RFC 5998 Extension for EAP in IKEv2 September 2010 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4. Safe EAP Methods |
|
|
|
|
|
|
|
|
|
EAP methods to be used with this extension MUST have the following |
|
|
|
|
properties: |
|
|
|
|
|
|
|
|
|
1. The method provides mutual authentication of the peers. |
|
|
|
|
|
|
|
|
|
2. The method is key-generating. |
|
|
|
|
|
|
|
|
|
3. The method is resistant to dictionary attacks. |
|
|
|
|
|
|
|
|
|
The authors believe that the following EAP methods are secure when |
|
|
|
|
used with the current extension. The list is not inclusive, and |
|
|
|
|
there are likely other safe methods that have not been listed here. |
|
|
|
|
|
|
|
|
|
+-------------------------------+-------------------+---------------+ |
|
|
|
|
| Method Name | Allows Channel | Reference | |
|
|
|
|
| | Binding? | | |
|
|
|
|
+-------------------------------+-------------------+---------------+ |
|
|
|
|
| EAP-SIM | No | [RFC4186] | |
|
|
|
|
| EAP-AKA | Yes | [RFC4187] | |
|
|
|
|
| EAP-AKA' | Yes | [RFC5448] | |
|
|
|
|
| EAP-GPSK | Yes | [RFC5433] | |
|
|
|
|
| EAP-pwd | No | [RFC5931] | |
|
|
|
|
| EAP-EKE | Yes | [EMU-EAP-EKE] | |
|
|
|
|
| EAP-PAX | Yes | [RFC4746] | |
|
|
|
|
| EAP-SAKE | No | [RFC4763] | |
|
|
|
|
| EAP-SRP | No | [EAP-SRP] | |
|
|
|
|
| EAP-POTP (mutual | Yes | [RFC4793] | |
|
|
|
|
| authentication variant) | | | |
|
|
|
|
| EAP-TLS | No | [RFC5216] | |
|
|
|
|
| EAP-FAST | No | [RFC4851] | |
|
|
|
|
| EAP-TTLS | No | [RFC5281] | |
|
|
|
|
+-------------------------------+-------------------+---------------+ |
|
|
|
|
|
|
|
|
|
The "Allows channel binding?" column denotes protocols where |
|
|
|
|
protected identity information may be sent between the EAP endpoints. |
|
|
|
|
This third, optional property of the method provides protection |
|
|
|
|
against certain types of attacks (see Section 6.2 for an |
|
|
|
|
explanation), and therefore in some scenarios, methods that allow for |
|
|
|
|
channel binding are to be preferred. It is noted that at the time of |
|
|
|
|
writing, even when such capabilities are provided, they are not fully |
|
|
|
|
specified in an interoperable manner. In particular, no RFC |
|
|
|
|
specifies what identities should be sent under the protection of the |
|
|
|
|
channel binding mechanism, or what policy is to be used to correlate |
|
|
|
|
identities at the different layers. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Eronen, et al. Standards Track [Page 8] |
|
|
|
|
|
|
|
|
|
RFC 5998 Extension for EAP in IKEv2 September 2010 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5. IANA Considerations |
|
|
|
|
|
|
|
|
|
This document defines a new IKEv2 Notification Payload type, |
|
|
|
|
EAP_ONLY_AUTHENTICATION, described in Section 3. This payload has |
|
|
|
|
been assigned the type number 16417 from the "Status Types" range. |
|
|
|
|
|
|
|
|
|
6. Security Considerations |
|
|
|
|
|
|
|
|
|
Security considerations applicable to all EAP methods are discussed |
|
|
|
|
in [RFC3748]. The EAP Key Management Framework [RFC5247] deals with |
|
|
|
|
issues that arise when EAP is used as a part of a larger system. |
|
|
|
|
|
|
|
|
|
6.1. Authentication of IKEv2 SA |
|
|
|
|
|
|
|
|
|
It is important to note that the IKEv2 SA is not authenticated by |
|
|
|
|
just running an EAP conversation: the crucial step is the AUTH |
|
|
|
|
payload based on the EAP-generated key. Thus, EAP methods that do |
|
|
|
|
not provide mutual authentication or establish a shared secret key |
|
|
|
|
MUST NOT be used with the modifications presented in this document. |
|
|
|
|
|
|
|
|
|
6.2. Authentication with Separated IKEv2 Responder / EAP Server |
|
|
|
|
|
|
|
|
|
As described in Section 2, the EAP conversation can terminate either |
|
|
|
|
at the IKEv2 responder or at a backend AAA server. |
|
|
|
|
|
|
|
|
|
If the EAP method is terminated at the IKEv2 responder, then no key |
|
|
|
|
transport via the AAA infrastructure is required. Pre-shared secret |
|
|
|
|
and public-key-based authentication offered by IKEv2 is then replaced |
|
|
|
|
by a wider range of authentication and key exchange methods. |
|
|
|
|
|
|
|
|
|
However, typically EAP will be used with a backend AAA server. See |
|
|
|
|
[RFC5247] for a more complete discussion of the related security |
|
|
|
|
issues; here we provide only a short summary. |
|
|
|
|
|
|
|
|
|
When a backend server is used, there are actually two authentication |
|
|
|
|
exchanges: the EAP method between the client and the AAA server, and |
|
|
|
|
another authentication between the AAA server and IKEv2 gateway. The |
|
|
|
|
AAA server authenticates the client using the selected EAP method, |
|
|
|
|
and they establish a session key. The AAA server then sends this key |
|
|
|
|
to the IKEv2 gateway over a connection authenticated using, e.g., |
|
|
|
|
IPsec or Transport Layer Security (TLS). |
|
|
|
|
|
|
|
|
|
Some EAP methods do not have any concept of pass-through |
|
|
|
|
authenticator (e.g., Network Access Server (NAS) or IKEv2 gateway) |
|
|
|
|
identity, and these two authentications remain quite independent of |
|
|
|
|
each other. That is, after the client has verified the AUTH payload |
|
|
|
|
sent by the IKEv2 gateway, it knows that it is talking to SOME |
|
|
|
|
gateway trusted by the home AAA server, but not which one. The |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Eronen, et al. Standards Track [Page 9] |
|
|
|
|
|
|
|
|
|
RFC 5998 Extension for EAP in IKEv2 September 2010 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
situation is somewhat similar if a single cryptographic hardware |
|
|
|
|
accelerator, containing a single private key, would be shared between |
|
|
|
|
multiple IKEv2 gateways (perhaps in some kind of cluster |
|
|
|
|
configuration). In particular, if one of the gateways is |
|
|
|
|
compromised, it can impersonate any of the other gateways towards the |
|
|
|
|
user (until the compromise is discovered and access rights revoked). |
|
|
|
|
|
|
|
|
|
In some environments it is not desirable to trust the IKEv2 gateways |
|
|
|
|
this much (also known as the "Lying NAS Problem"). EAP methods that |
|
|
|
|
provide what is called "connection binding" or "channel binding" |
|
|
|
|
transport some identity or identities of the gateway (or WLAN access |
|
|
|
|
point / NAS) inside the EAP method. Then the AAA server can check |
|
|
|
|
that it is indeed sending the key to the gateway expected by the |
|
|
|
|
client. A potential solution is described in [EAP-SERVICE], see also |
|
|
|
|
[EMU-AAAPAY]. |
|
|
|
|
|
|
|
|
|
In some deployment configurations, AAA proxies may be present between |
|
|
|
|
the IKEv2 gateway and the backend AAA server. These AAA proxies MUST |
|
|
|
|
be trusted for secure operation, and therefore SHOULD be avoided when |
|
|
|
|
possible; see Section 2.3.4 of [RFC4072] and Section 4.3.7 of |
|
|
|
|
[RFC3579] for more discussion. |
|
|
|
|
|
|
|
|
|
6.3. Protection of EAP Payloads |
|
|
|
|
|
|
|
|
|
Although the EAP payloads are encrypted and integrity protected with |
|
|
|
|
SK_e/SK_a, this does not provide any protection against active |
|
|
|
|
attackers. Until the AUTH payload has been received and verified, a |
|
|
|
|
man-in-the-middle can change the KEi/KEr payloads and eavesdrop or |
|
|
|
|
modify the EAP payloads. |
|
|
|
|
|
|
|
|
|
In IEEE 802.11i wireless LANs, the EAP payloads are neither encrypted |
|
|
|
|
nor integrity protected (by the link layer), so EAP methods are |
|
|
|
|
typically designed to take that into account. |
|
|
|
|
|
|
|
|
|
In particular, EAP methods that are vulnerable to dictionary attacks |
|
|
|
|
when used in WLANs are still vulnerable (to active attackers) when |
|
|
|
|
run inside IKEv2. |
|
|
|
|
|
|
|
|
|
The rules in Section 4 are designed to avoid this potential |
|
|
|
|
vulnerability. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Eronen, et al. Standards Track [Page 10] |
|
|
|
|
|
|
|
|
|
RFC 5998 Extension for EAP in IKEv2 September 2010 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6.4. Identities and Authenticated Identities |
|
|
|
|
|
|
|
|
|
When using this protocol, each of the peers sends two identity |
|
|
|
|
values: |
|
|
|
|
|
|
|
|
|
1. An identity contained in the IKE ID payload. |
|
|
|
|
|
|
|
|
|
2. An identity transferred within the specific EAP method's |
|
|
|
|
messages. |
|
|
|
|
|
|
|
|
|
(IKEv2 omits the EAP Identity request/response pair, see Section 3.16 |
|
|
|
|
of [RFC5996].) The first identity value can be used by the recipient |
|
|
|
|
to route AAA messages and/or to select authentication and EAP types. |
|
|
|
|
But it is only the second identity that is directly authenticated by |
|
|
|
|
the EAP method. The reader is referred to Section 2.16 of [RFC5996] |
|
|
|
|
regarding the need to base IPsec policy decisions on the |
|
|
|
|
authenticated identity. In the context of the extension described |
|
|
|
|
here, this guidance on IPsec policy applies both to the |
|
|
|
|
authentication of the client by the gateway and vice versa. |
|
|
|
|
|
|
|
|
|
6.5. User Identity Confidentiality |
|
|
|
|
|
|
|
|
|
IKEv2 provides confidentiality for the initiator identity against |
|
|
|
|
passive eavesdroppers, but not against active attackers. The |
|
|
|
|
initiator announces its identity first (in message 3), before the |
|
|
|
|
responder has been authenticated. The usage of EAP in IKEv2 does not |
|
|
|
|
change this situation, since the ID payload in message 3 is used |
|
|
|
|
instead of the EAP Identity Request/Response exchange. This is |
|
|
|
|
somewhat unfortunate since when EAP is used with public key |
|
|
|
|
authentication of the responder, it would be possible to provide |
|
|
|
|
active user identity confidentiality for the initiator. |
|
|
|
|
|
|
|
|
|
IKEv2 protects the responder's identity even against active attacks. |
|
|
|
|
This property cannot be provided when using EAP. If public key |
|
|
|
|
responder authentication is used in addition to EAP, the responder |
|
|
|
|
reveals its identity before authenticating the initiator. If only |
|
|
|
|
EAP is used (as proposed in this document), the situation depends on |
|
|
|
|
the EAP method used (in some EAP methods, the server reveals its |
|
|
|
|
identity first). |
|
|
|
|
|
|
|
|
|
Hence, if active user identity confidentiality for the responder is |
|
|
|
|
required then EAP methods that offer this functionality have to be |
|
|
|
|
used (see [RFC3748], Section 7.3). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Eronen, et al. Standards Track [Page 11] |
|
|
|
|
|
|
|
|
|
RFC 5998 Extension for EAP in IKEv2 September 2010 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7. Acknowledgments |
|
|
|
|
|
|
|
|
|
This document borrows some text from [RFC3748], [RFC4306], and |
|
|
|
|
[RFC4072]. We would also like to thank Hugo Krawczyk for interesting |
|
|
|
|
discussions about this topic, Dan Harkins, and David Harrington for |
|
|
|
|
their comments. |
|
|
|
|
|
|
|
|
|
8. References |
|
|
|
|
|
|
|
|
|
8.1. Normative References |
|
|
|
|
|
|
|
|
|
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate |
|
|
|
|
Requirement Levels", BCP 14, RFC 2119, March 1997. |
|
|
|
|
|
|
|
|
|
[RFC3748] Aboba, B., Blunk, L., Vollbrecht, J., Carlson, J., and |
|
|
|
|
H. Levkowetz, "Extensible Authentication Protocol |
|
|
|
|
(EAP)", RFC 3748, June 2004. |
|
|
|
|
|
|
|
|
|
[RFC4306] Kaufman, C., "Internet Key Exchange (IKEv2) Protocol", |
|
|
|
|
RFC 4306, December 2005. |
|
|
|
|
|
|
|
|
|
[RFC5723] Sheffer, Y. and H. Tschofenig, "Internet Key Exchange |
|
|
|
|
Protocol Version 2 (IKEv2) Session Resumption", |
|
|
|
|
RFC 5723, January 2010. |
|
|
|
|
|
|
|
|
|
[RFC5996] Kaufman, C., Hoffman, P., Nir, Y., and P. Eronen, |
|
|
|
|
"Internet Key Exchange Protocol Version 2 (IKEv2)", |
|
|
|
|
RFC 5996, September 2010. |
|
|
|
|
|
|
|
|
|
8.2. Informative References |
|
|
|
|
|
|
|
|
|
[EAP-SERVICE] Arkko, J. and P. Eronen, "Authenticated Service |
|
|
|
|
Information for the Extensible Authentication Protocol |
|
|
|
|
(EAP)", Work in Progress, October 2005. |
|
|
|
|
|
|
|
|
|
[EAP-SRP] Carlson, J., Aboba, B., and H. Haverinen, "EAP SRP- |
|
|
|
|
SHA1 Authentication Protocol", Work in Progress, |
|
|
|
|
July 2001. |
|
|
|
|
|
|
|
|
|
[EMU-AAAPAY] Clancy, C., Lior, A., Zorn, G., and K. Hoeper, "EAP |
|
|
|
|
Method Support for Transporting AAA Payloads", Work |
|
|
|
|
in Progress, May 2010. |
|
|
|
|
|
|
|
|
|
[EMU-EAP-EKE] Sheffer, Y., Zorn, G., Tschofenig, H., and S. Fluhrer, |
|
|
|
|
"An EAP Authentication Method Based on the EKE |
|
|
|
|
Protocol", Work in Progress, August 2010. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Eronen, et al. Standards Track [Page 12] |
|
|
|
|
|
|
|
|
|
RFC 5998 Extension for EAP in IKEv2 September 2010 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[IEEE80211i] Institute of Electrical and Electronics Engineers, |
|
|
|
|
"IEEE Standard for Information technology - |
|
|
|
|
Telecommunications and information exchange between |
|
|
|
|
systems - Local and metropolitan area networks - |
|
|
|
|
Specific requirements - Part 11: Wireless Medium |
|
|
|
|
Access Control (MAC) and Physical Layer (PHY) |
|
|
|
|
specifications: Amendment 6: Medium Access Control |
|
|
|
|
(MAC) Security Enhancements", IEEE Standard 802.11i- |
|
|
|
|
2004, July 2004. |
|
|
|
|
|
|
|
|
|
[IEEE8021X] Institute of Electrical and Electronics Engineers, |
|
|
|
|
"Local and Metropolitan Area Networks: Port-Based |
|
|
|
|
Network Access Control", IEEE Standard 802.1X-2001, |
|
|
|
|
2001. |
|
|
|
|
|
|
|
|
|
[RFC1661] Simpson, W., "The Point-to-Point Protocol (PPP)", |
|
|
|
|
STD 51, RFC 1661, July 1994. |
|
|
|
|
|
|
|
|
|
[RFC3579] Aboba, B. and P. Calhoun, "RADIUS (Remote |
|
|
|
|
Authentication Dial In User Service) Support For |
|
|
|
|
Extensible Authentication Protocol (EAP)", RFC 3579, |
|
|
|
|
September 2003. |
|
|
|
|
|
|
|
|
|
[RFC4072] Eronen, P., Hiller, T., and G. Zorn, "Diameter |
|
|
|
|
Extensible Authentication Protocol (EAP) Application", |
|
|
|
|
RFC 4072, August 2005. |
|
|
|
|
|
|
|
|
|
[RFC4186] Haverinen, H. and J. Salowey, "Extensible |
|
|
|
|
Authentication Protocol Method for Global System for |
|
|
|
|
Mobile Communications (GSM) Subscriber Identity |
|
|
|
|
Modules (EAP-SIM)", RFC 4186, January 2006. |
|
|
|
|
|
|
|
|
|
[RFC4187] Arkko, J. and H. Haverinen, "Extensible Authentication |
|
|
|
|
Protocol Method for 3rd Generation Authentication and |
|
|
|
|
Key Agreement (EAP-AKA)", RFC 4187, January 2006. |
|
|
|
|
|
|
|
|
|
[RFC4746] Clancy, T. and W. Arbaugh, "Extensible Authentication |
|
|
|
|
Protocol (EAP) Password Authenticated Exchange", |
|
|
|
|
RFC 4746, November 2006. |
|
|
|
|
|
|
|
|
|
[RFC4763] Vanderveen, M. and H. Soliman, "Extensible |
|
|
|
|
Authentication Protocol Method for Shared-secret |
|
|
|
|
Authentication and Key Establishment (EAP-SAKE)", |
|
|
|
|
RFC 4763, November 2006. |
|
|
|
|
|
|
|
|
|
[RFC4793] Nystroem, M., "The EAP Protected One-Time Password |
|
|
|
|
Protocol (EAP-POTP)", RFC 4793, February 2007. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Eronen, et al. Standards Track [Page 13] |
|
|
|
|
|
|
|
|
|
RFC 5998 Extension for EAP in IKEv2 September 2010 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[RFC4851] Cam-Winget, N., McGrew, D., Salowey, J., and H. Zhou, |
|
|
|
|
"The Flexible Authentication via Secure Tunneling |
|
|
|
|
Extensible Authentication Protocol Method (EAP-FAST)", |
|
|
|
|
RFC 4851, May 2007. |
|
|
|
|
|
|
|
|
|
[RFC5216] Simon, D., Aboba, B., and R. Hurst, "The EAP-TLS |
|
|
|
|
Authentication Protocol", RFC 5216, March 2008. |
|
|
|
|
|
|
|
|
|
[RFC5247] Aboba, B., Simon, D., and P. Eronen, "Extensible |
|
|
|
|
Authentication Protocol (EAP) Key Management |
|
|
|
|
Framework", RFC 5247, August 2008. |
|
|
|
|
|
|
|
|
|
[RFC5281] Funk, P. and S. Blake-Wilson, "Extensible |
|
|
|
|
Authentication Protocol Tunneled Transport Layer |
|
|
|
|
Security Authenticated Protocol Version 0 (EAP- |
|
|
|
|
TTLSv0)", RFC 5281, August 2008. |
|
|
|
|
|
|
|
|
|
[RFC5433] Clancy, T. and H. Tschofenig, "Extensible |
|
|
|
|
Authentication Protocol - Generalized Pre-Shared Key |
|
|
|
|
(EAP-GPSK) Method", RFC 5433, February 2009. |
|
|
|
|
|
|
|
|
|
[RFC5448] Arkko, J., Lehtovirta, V., and P. Eronen, "Improved |
|
|
|
|
Extensible Authentication Protocol Method for 3rd |
|
|
|
|
Generation Authentication and Key Agreement (EAP- |
|
|
|
|
AKA')", RFC 5448, May 2009. |
|
|
|
|
|
|
|
|
|
[RFC5931] Harkins, D. and G. Zorn, "Extensible Authentication |
|
|
|
|
Protocol (EAP) Authentication Using Only A Password", |
|
|
|
|
RFC 5931, August 2010. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Eronen, et al. Standards Track [Page 14] |
|
|
|
|
|
|
|
|
|
RFC 5998 Extension for EAP in IKEv2 September 2010 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Appendix A. Alternative Approaches |
|
|
|
|
|
|
|
|
|
In this section, we list alternatives that have been considered |
|
|
|
|
during the work on this document. We concluded that the solution |
|
|
|
|
presented in Section 3 seems to fit better into IKEv2. |
|
|
|
|
|
|
|
|
|
A.1. Ignore AUTH Payload at the Initiator |
|
|
|
|
|
|
|
|
|
With this approach, the initiator simply ignores the AUTH payload in |
|
|
|
|
message 4 (but obviously must check the second AUTH payload later!). |
|
|
|
|
The main advantage of this approach is that no protocol modifications |
|
|
|
|
are required and no signature verification is required. A |
|
|
|
|
significant disadvantage is that the EAP method to be used cannot be |
|
|
|
|
selected to take this behavior into account. |
|
|
|
|
|
|
|
|
|
The initiator could signal to the responder (using a notification |
|
|
|
|
payload) that it did not verify the first AUTH payload. |
|
|
|
|
|
|
|
|
|
A.2. Unauthenticated Public Keys in AUTH Payload (Message 4) |
|
|
|
|
|
|
|
|
|
Another solution approach suggests the use of unauthenticated public |
|
|
|
|
keys in the public key signature AUTH payload (for message 4). |
|
|
|
|
|
|
|
|
|
That is, the initiator verifies the signature in the AUTH payload, |
|
|
|
|
but does not verify that the public key indeed belongs to the |
|
|
|
|
intended party (using certificates) -- since it doesn't have a PKI |
|
|
|
|
that would allow this. This could be used with X.509 certificates |
|
|
|
|
(the initiator ignores all other fields of the certificate except the |
|
|
|
|
public key), or "Raw RSA Key" CERT payloads. |
|
|
|
|
|
|
|
|
|
This approach has the advantage that initiators that wish to perform |
|
|
|
|
certificate-based responder authentication (in addition to EAP) may |
|
|
|
|
do so, without requiring the responder to handle these cases |
|
|
|
|
separately. A disadvantage here, again, is that the EAP method |
|
|
|
|
selection cannot take into account the incomplete validation of the |
|
|
|
|
responder's certificate. |
|
|
|
|
|
|
|
|
|
If using RSA, the overhead of signature verification is quite small, |
|
|
|
|
compared to the g^xy calculation required by the Diffie-Hellman |
|
|
|
|
exchange. |
|
|
|
|
|
|
|
|
|
A.3. Using EAP Derived Session Keys for IKEv2 |
|
|
|
|
|
|
|
|
|
It has been proposed that when using an EAP method that provides |
|
|
|
|
mutual authentication and key agreement, the IKEv2 Diffie-Hellman |
|
|
|
|
exchange could also be omitted. This would mean that the session |
|
|
|
|
keys for IPsec SAs established later would rely only on EAP-provided |
|
|
|
|
keys. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Eronen, et al. Standards Track [Page 15] |
|
|
|
|
|
|
|
|
|
RFC 5998 Extension for EAP in IKEv2 September 2010 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
It seems the only benefit of this approach is saving some computation |
|
|
|
|
time (g^xy calculation). This approach requires designing a |
|
|
|
|
completely new protocol (which would not resemble IKEv2 anymore); we |
|
|
|
|
do not believe that it should be considered. Nevertheless, we |
|
|
|
|
include it for completeness. |
|
|
|
|
|
|
|
|
|
Authors' Addresses |
|
|
|
|
|
|
|
|
|
Pasi Eronen |
|
|
|
|
Independent |
|
|
|
|
|
|
|
|
|
EMail: pe@iki.fi |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Hannes Tschofenig |
|
|
|
|
Nokia Siemens Networks |
|
|
|
|
Linnoitustie 6 |
|
|
|
|
Espoo 02600 |
|
|
|
|
Finland |
|
|
|
|
|
|
|
|
|
Phone: +358 (50) 4871445 |
|
|
|
|
EMail: Hannes.Tschofenig@gmx.net |
|
|
|
|
URI: http://www.tschofenig.priv.at |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Yaron Sheffer |
|
|
|
|
Independent |
|
|
|
|
|
|
|
|
|
EMail: yaronf.ietf@gmail.com |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Eronen, et al. Standards Track [Page 16] |
|
|
|
|
|