Internet DRAFT - draft-barany-eap-gee
draft-barany-eap-gee
Network P. Barany
Internet-Draft R. Rezaiifar
Intended status: Informational L. Dondeti
Expires: August 5, 2007 V. Narayanan
QUALCOMM, Inc.
J. Salowey
P. Yegani
Cisco Systems
February 2007
3GPP2 Generic EAP Encapsulation (GEE) Protocol
draft-barany-eap-gee-05
Status of this Memo
By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79.
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/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on August 5, 2007.
Copyright Notice
Copyright (C) The IETF Trust (2007).
Abstract
The Extensible Authentication Protocol (EAP) is a general
authentication protocol that supports multiple authentication methods
and typically runs directly over data link layers without requiring
Barany, et al. Expires August 5, 2007 [Page 1]
Internet-Draft GEE February 2007
IP. EAP can be used for different types of authentication, where
multiple providers provide different services. However, EAP itself
does not have the ability to differentiate between multiple EAP
conversations between a peer and an authenticator. This document
specifies the 3GPP2 Generic EAP Encapsulation (GEE) protocol for
differentiating between multiple EAP conversations between a peer and
an authenticator.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Motivation . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5
3. Architecture and Overview . . . . . . . . . . . . . . . . . . 5
3.1. Multiple Authenticator Model . . . . . . . . . . . . . . . 6
4. Expected Lower Layer Behavior for GEE . . . . . . . . . . . . 7
5. GEE Message Format . . . . . . . . . . . . . . . . . . . . . . 7
5.1. GEE Header Format . . . . . . . . . . . . . . . . . . . . 8
6. Packet Processing Details . . . . . . . . . . . . . . . . . . 9
6.1. Packet Handling at the Peer . . . . . . . . . . . . . . . 9
6.2. Packet Handling at the Authenticator . . . . . . . . . . . 9
6.3. Multiple authentications and access control enforcement . 10
7. GEE Extensibility . . . . . . . . . . . . . . . . . . . . . . 11
8. Security Considerations . . . . . . . . . . . . . . . . . . . 12
8.1. Recap of use cases and interactions between network
entities . . . . . . . . . . . . . . . . . . . . . . . . . 12
8.2. Threats and mitigation strategies . . . . . . . . . . . . 12
8.2.1. Threats that might cause denial of service . . . . . . 13
8.2.2. Threats that might cause theft of service . . . . . . 13
8.3. Implications of multiple EAP authentications . . . . . . . 14
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15
10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 15
11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 15
11.1. Normative References . . . . . . . . . . . . . . . . . . . 15
11.2. Informative References . . . . . . . . . . . . . . . . . . 16
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 17
Intellectual Property and Copyright Statements . . . . . . . . . . 19
Barany, et al. Expires August 5, 2007 [Page 2]
Internet-Draft GEE February 2007
1. Introduction
The Extensible Authentication Protocol (EAP) [1] is a widely deployed
general authentication protocol that supports multiple authentication
methods and typically runs directly over data link layers such as the
Point-to-Point Protocol (PPP) [4] or other link layer protocols,
without requiring IP.
EAP was originally developed as a general authentication protocol for
use with the PPP protocol [5]. It is now also used by IEEE 802 wired
media as described in [6] and IEEE wireless LANs as described in [7].
As CDMA2000 third generation cellular networks evolve [8], [9], EAP
will also be used as a general authentication protocol that runs
directly over the data link layer [10].
EAP can be used for different types of authentication, where multiple
providers provide different services. However, EAP itself does not
have the ability to differentiate between multiple EAP conversations
between a peer and an authenticator. Typically, the lower layer is
responsible for differentiating multiple EAP conversations and thid
document provides one such mechanism.
This document specifies the 3GPP2 Generic EAP Encapsulation (GEE)
protocol for differentiating between multiple EAP conversations
between a peer and an authenticator. Note that this protocol is
"generic" within the specific context of 3gpp2. In other words, this
mechanism may be used by multiple lower layers within 3gpp2. In the
rest of this document, we refer to this protocol as GEE, Version 0 or
GEEv0.
1.1. Motivation
+--------------+ +--------------+
| ANP | | SNP |
| | | |
+----+ +-----+ | | |
| MN |--- | NAS | | | +-------+ |
+----+ +-----+ |===| |AAA-SNP| |
| \ | | +-------+ |
| \ +-------+ | | |
| -|AAA-ANP| | | |
| +-------+ | | |
+--------------+ +--------------+
Barany, et al. Expires August 5, 2007 [Page 3]
Internet-Draft GEE February 2007
Figure 1: Model with separate ANP and SNP
The network provider model has evolved to a point where it is not
uncommon to have multiple network providers that offer various
services. For instance, the access network provider (ANP) is often
different from a service network provider (SNP) as noted above. It
is possible that a peer needs to perform authentication separately
with the two network providers. Regardless of whether the access and
service network providers are the same or not, separate
authentications may be required. Also, for EAP-based authentication,
the two EAP methods may or may not be the same. Figure 1 shows an
example of the case where the access network provider is different
from the service network provider. The ANP hosts the Authenticator
(NAS or Network Access Server in the figure) and an Authentication
Server (AAA-ANP in the figure). The SNP may have its own
Authentication Server (AAA-SNP in the figure). Note that the
Authenticator for the SNP may be the same as that in the ANP. In
lower layers that support simultaneous attachment to multiple access
points, the Authenticator for each network may be different.
A good example where separate authentications are needed is the case
of Mobile Virtual Network Operators (MVNO). In this case, the
network provider providing Layer1 and Layer2 access is typically
different from that providing Layer 3 service (i.e., IP level
service). Hence, separate authentications are usually required.
In cases where multiple authentications are performed, it may be
desirable to do them in parallel, to avoid added latency resulting
from a sequential execution of the two authentications. When a peer
is performing multiple EAP authentications, it is not always possible
to clearly differentiate between the two types of authentications
using available means. Also, the authenticator will need to
distinguish the multiple EAP exchanges in order to route the packets
to the correct EAP server. Typically, the Identifier value in an EAP
Response packet will be the same as that in the matching Request -
however, the authenticator, while operating in pass-through mode,
does not keep track of the value of the Identifier field. Even if
the authenticator could match up the values of the Identifier field,
the two EAP servers performing the authentications may generate the
same Identifier (since the Identifier is a randomly chosen 8-bit
field in the EAP Request/Response packets to unambiguously match up
requests with responses). Hence, there is no available means that
can be used by any lower layer to allow multiple EAP authentications
for a given peer to occur in parallel.
While some EAP methods are TLV-based and can easily be extended to
carry additional information between the peer and the server, EAP
itself does not provide a means to carry any additional information
Barany, et al. Expires August 5, 2007 [Page 4]
Internet-Draft GEE February 2007
between the peer and the authenticator. Hence, the primary
motivation for this document is to provide, in the context of 3gpp2,
the functionality for EAP peers and authenticators to differentiate
between multiple EAP exchanges that a peer may be executing in
parallel.
2. Terminology
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 [2].
This document uses terminology defined in [1]. In addition, this
document uses the following terms:
Access Network Provider (ANP)
A service provider that provides physical and link-layer
connectivity (i.e., Layer1 and Layer2 connectivity) to an access
network that it manages.
Service Network Provider (SNP)
A service provider that provides Layer3 connectivity to a network
it manages.
Type 1 Authentication
This refers to one authentication that is performed by the peer.
Type 2 Authentication
This refers to another authentication that is performed by the
peer, that is different from Type 1 authentication.
3. Architecture and Overview
GEE does not define any new architectural elements other than those
already defined by EAP. The protocol functionality described in this
document applies to the EAP peer and authenticator only. The
protocol has no impact and does not depend on the EAP method used by
the peer and the server.
In accordance with the EAP specification [1], an EAP authenticator
may either terminate the EAP session or may act in pass-through mode,
where the EAP session is terminated by a backend authentication
Barany, et al. Expires August 5, 2007 [Page 5]
Internet-Draft GEE February 2007
server, also known as an EAP server. This protocol applies to both
modes of operation, unless specifically pointed out.
The proposed protocol operation remains mostly the same in the EAP
multiplexing model as well as the EAP pass-through model. At a high
level, this protocol allows the peer and authenticator to perform
multiple EAP authentications independently and potentially with
different authentication servers in different provider networks. The
multiple EAP conversations may happen sequentially or in parallel.
However, in accordance with RFC 3748, an EAP peer and authenticator
MUST utilize only one authentication method within an EAP
conversation, unless the providers are the same and the peer is using
the same credentials and EAP method for both types of authentication.
When the authenticator operates in pass-through mode, the GEE-enabled
lower layer terminates at the authenticator and the EAP packet is
sent over a backend AAA layer (e.g., RADIUS [11]). In this case, the
authenticator must handle the GEE fields in exactly the same manner
as in the multiplexing model. The fields in the GEE header may be
used by the authenticator to identify the correct EAP exchange to
properly route the EAP packet. A Transaction ID (TID) field defined
in the protocol allows the EAP exchanges to be distinguished. The
TID field is used to look up the appropriate domain to which a
particular EAP message must be routed.
3.1. Multiple Authenticator Model
+--------------+ +--------------+
| ANP | | SNP |
| | | |
+----+ +-----+ | +-----+ |
| MN |--- |NAS 1| |===|NAS 2| |
+----+ +-----+ | +-----+ |
| \ | | \ |
| \ +-------+ | | \ +-------+ |
| -|AAA-ANP| | | -|AAA-SNP| |
| +-------+ | | +-------+ |
+--------------+ +--------------+
Figure 2: Multiple Authenticator Model
Depending on the architecture, the authenticator that is responsible
for each authentication may be different. This could be true
irrespective of whether the EAP server is the same or different for
each authentication. However, in most practical cases, the need for
multiple authentications arises only when the EAP servers performing
Barany, et al. Expires August 5, 2007 [Page 6]
Internet-Draft GEE February 2007
the different types of authentications are different. Figure 2 shows
the architecture with each provider having a different authenticator
that is engaged in different EAP exchanges that the peer performs.
In 3GPP2 networks, single authenticator and multiple authenticator
architectures are both possible.
When the multiple EAP authentications are over the same link, the EAP
exchange between the peer and one of the authenticators may have to
pass through another authenticator or enforcement point. Hence, the
lower layers at each hop must be able to indicate the presence of the
GEE header.
4. Expected Lower Layer Behavior for GEE
The peer and the authenticator must have a mechanism to agree on the
use of GEE as an encapsulation for EAP. Such a mechanism may be
achieved via lower layer negotiation. Alternately, the peer may be
pre-configured to know which networks require the use of GEE.
Further, there is no requirements placed on the EAP layer due to GEE.
The lower layer is fully expected to hide the presence of GEE from
the EAP layer. GEE is not a lower layer for EAP. Hence, this
implies that the processing of GEE happens fully within the lower
layer and the interface between the lower layer and EAP is unimpacted
by the presence of GEE.
When the authenticator sends an EAP packet to the peer, the lower
layer of the authenticator appends a GEE header to the EAP packet
created by the EAP layer before sending it to the peer. Upon
reception of the packet, the lower layer of the peer needs to process
the GEE header to determine which credentials to use in the EAP
response. Note that this does not assume any GEE-related interface
between the EAP and lower layers. It only implies that there must be
a mechanism of providing the right identity or credential to the EAP
layer based on the type of authentication requested by GEE.
5. GEE Message Format
A GEE encapsulated packet has the following format.
Barany, et al. Expires August 5, 2007 [Page 7]
Internet-Draft GEE February 2007
---------------------------------
| |
| EAP packet |
| |
---------------------------------
| |
| GEE header |
| |
---------------------------------
| |
| Data link layer header |
| |
---------------------------------
Figure 3: GEE Encapsulated Packet
5.1. GEE Header Format
The GEE Header has the following format.
0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+
|Version|TID|RFL|
+-+-+-+-+-+-+-+-+
Figure 4: GEE Header
Version
The first 4 bits in the GEE header represent the protocol version
number. This field MUST be set to 0 for GEEv0.
Transaction ID (TID)
A 2-bit TID flag is used to distinguish between multiple EAP
conversations. In Version 0 of GEE (GEEv0), the TID field MUST be
either 00 or 01. When TID = 01, the encapsulated EAP packet is
for Type 1 authentication. When TID = 00, the encapsulated EAP
packet is for Type 2 authentication. In GEEv0, TID values other
than 00 and 01 are reserved and MUST NOT be used.
Barany, et al. Expires August 5, 2007 [Page 8]
Internet-Draft GEE February 2007
Result flags/code (RFL)
The last 2 bits in the GEE header are used to indicate the result
of the EAP authentication in progress. The leftmost bit in this
field is the 'K' bit and indicates whether the Master Session Key
(MSK) resulting from the EAP conversation being encapsulated by
the particular GEE session must be bound with an MSK resulting
from the second EAP conversation carried in a second GEE session.
If set, this implies that the lower layer of the peer MUST bind
the MSKs to derive TSKs. The process of MSK binding is described
in Section 6.3. In GEEv0, the last bit is the R bit and is
reserved and MUST be set to zero at the sender and MUST be ignored
by the receiver.
6. Packet Processing Details
6.1. Packet Handling at the Peer
When the peer receives a GEEv0 packet, the TID field in the GEEv0
header MUST be used to determine if the encapsulated EAP packet is
for Type 1 or Type 2 authentication. If TID value is 01 in the
packet received from the authenticator, the peer must perform the
necessary Type 1 authentication. For instance, this may mean that
the peer provides the appropriate identity and use the appropriate
EAP method in the EAP session. When the TID is set to 00 in the
packet received from the authenticator, the peer must perform the
necessary Type 2 authentication.
While Type 1 and Type 2 authentications are not explicitly defined in
this document, these must be defined at the peer and authenticator
for a given usage of this protocol.
When the peer sends a GEEv0 packet in response to a GEEv0 packet
received from the authenticator, the TID value MUST be copied from
the corresponding packet received from the authenticator. As with
the packet from the authenticator, a value of 01 indicates that the
EAP packet is for Type 1 authentication and a value of 00 indicates
that the encapsulated EAP packet is for Type 2 authentication. The
RFL value MUST be set to 00.
6.2. Packet Handling at the Authenticator
When the authenticator receives a GEEv0 packet, the TID value in the
header MUST be used to determine if the encapsulated EAP packet is
for Type 1 or Type 2 authentication.
When the authenticator sends a GEEv0 packet, the TID value in the
Barany, et al. Expires August 5, 2007 [Page 9]
Internet-Draft GEE February 2007
header MUST be set to 01 if the encapsulated EAP packet is for Type 1
authentication. The TID value MUST be set to 00 by the authenticator
if the encapsulated EAP packet is for Type 2 authentication. The K
bit in the RFL field MUST be set if the peer is expected to bind the
MSKs prior to using it for generating other keys. The last bit in
the RFL field MUST always be set to 0. In order to set the K bit
appropriately, it is expected that the authenticator knows about
another EAP exchange that the peer may be doing and if the keys must
be bound or not.
6.3. Multiple authentications and access control enforcement
When both Type 1 and Type 2 authentications are carried out, access
control MUST conform to the following cases.
Type1 Type2 Combined result
Case 1 Success Success Success
Case 2 Success Failure Type1 related access only
Cases 3&4 Failure S/F Failure
Access Control Matrix
In GEEv0, at least one of the authentications MUST be key generating
and both authentications MUST be mutually authenticating. If one of
the authentications is not key generating, then there MUST be a way
for the authenticator to identify the two authentication
conversations (Type 1 and Type 2) corresponding to a peer.
Specifically, there MUST be a mechanism for the authenticator to
correlate the Type 1 and Type 2 credentials; typically this is
facilitated by backend network protocol support. An example of such
backend support is to be able to send an identifier that is unique to
the peer across the authentications in an authenticated manner. If
there is a mismatch, or the node has not received such an identity
from both transactions, the peer MUST be disconnected.
It must be noted that such non-cryptographic bindings cannot
translate to absolute access control based on both authentications,
unlike the case of key binding described below. These may be used in
the presence of non-key generating methods under tightly controlled
administrative environments.
If both Type 1 and Type 2 authentications are key generating and
occur in parallel, the keys must be bound as specified below.
Barany, et al. Expires August 5, 2007 [Page 10]
Internet-Draft GEE February 2007
MSK Binding
In this case,even when there are multiple authenticators, we
assume that there is only one access control enforcement point.
Here, the combined MSK MUST be used to derive session keys
(Transient session keys, TSKs). Both authenticators deliver the
MSK to the enforcement point and it computes a combined key as
follows: Intermediate-MSK = f(MSK-Type 1, "GEE Combined Key" ||
MSK-Type 2), where f represents prf+ as defined in [3]. The
length of the Combined-MSK MUST be at least 512 bits. With GEEv0,
the PRF is HMAC-SHA-256.
When two EAP authentications are performed, it is always feasible to
use keys from a first exchange to protect a subsequent exchange.
Note that the two authentications in this case will occur
sequentially and the first method must be key generating. The use of
GEE does not preclude such an operation, even though the main
motivation for GEE is to allow parallel execution of the EAP
exchanges.
7. GEE Extensibility
GEE could be extended to support dynamic TID assignment, where an
authenticator may pick an unused TID value. The peer could
participate in as many as 4 EAP conversations in parallel.
In order for the peer to be able to understand the meaning of each
TID, a new mechanism would be needed to send information about
authentication type and other policy hints. Such a mechanism could
either operate on the layer that carries GEE, or in an extended
version of GEE itself. Note that RFC 4284 defines a mechanism for
the authenticator to advertise a set of roaming realms. With this
information alone, the peer needs to readily understand the nature of
authentication based on the realm information. However, in some
cases, a peer may have multiple credentials (e.g., for device and
user authentication) for a give realm and for that or other reasons,
providing a list of realms alone may not be sufficient. In those
cases, the realm information itself is insufficient. Also, due to
EAP MTU and other considerations, RFC 4284 can carry only a very
limited amount of information, and it is not intended for carrying
other policy information. Due to such limitations with existing
mechanisms, other mechanisms are likely to be needed to support the
required functionality for dynamic TID assignment. This document
does not propose any such mechanisms at this time.
Specifically, if there is a need for additional capability to use the
identity hints and indicate the type of authentication via extensible
Barany, et al. Expires August 5, 2007 [Page 11]
Internet-Draft GEE February 2007
options (TLVs), the restriction imposed in GEEv0 on the semantics of
the TID field can be removed for future versions of the protocol that
may be developed. Further, future versions of GEE may use the last
bit in the result flags/code (RFL) field to indicate the presence of
TLVs in the GEE header.
8. Security Considerations
In this section, we recap the use cases of GEE and possible
interactions between various network entities using GEE, discuss
potential vulnerabilities that an adversary might exploit and finally
describe mechanisms and best practices on how to mitigate the
threats.
We note that the vulnerabilities discussed here in are in addition to
those considered in EAP [1].
8.1. Recap of use cases and interactions between network entities
GEE encapsulates EAP so an authenticator can signal to the peer about
the type of authentication the EAP request is meant for. GEE also
facilitates parallel execution of such authentications. For
instance, Type 1 and Type 2 authentication may take place
sequentially (in any order) or in parallel.
A further consideration is whether the same network provider is
providing Type 1 and Type 2 services (different credentials and same
AAA server), or different network providers, i.e., different AAA
servers are involved.
The lower layer needs to negotiate the use of GEE. Lower layer
implementations MAY choose to confirm the negotiation in the secure
association protocol exchange performed after EAP. However,
negotiation of GEE is an operational thing and no security properties
are lost if such a confirmation is not done.
8.2. Threats and mitigation strategies
The GEE header is not cryptographically protected. Thus it is
plausible for an eavesdropper to use Layer 2, GEE and EAP headers and
collate information on how certain devices are authenticating
themselves to their network providers: the order and combination of
the different types of authentication are easily available in those
headers.
Note that if Type 1 authentication occurs first and subsequent
authentication processes take place via a Layer 2 encrypted channel,
Barany, et al. Expires August 5, 2007 [Page 12]
Internet-Draft GEE February 2007
information about the rest of the authentications will not be
available to passive observers on the path from the peer to the
authenticator. However, this obviously suffers from the shortcoming
that the multiple authentications cannot be executed in parallel if
this is required. Further, this is no different than an eavesdropper
obtaining information from the EAP headers on the wire when GEE is
not used. Hence, such passive attacks are not considered to be of
any additional significance in GEEv0. If future versions of GEE
allow any sensitive data to be carried in GEE, passive attack
considerations must be revisited.
In addition to the passive attacks, an adversary may launch mainly
two types of active attacks on GEE: in the first, the adversary may
attempt to disrupt or deny service for other entities whereas in the
second, the adversary may attempt to gain network access or IP
services impersonating other entities.
8.2.1. Threats that might cause denial of service
An adversary may change any of the contents of the GEE payload, the
version field and/or the TID field, to cause either the peer or the
authenticator to drop GEE encapsulated EAP packets. Suppose an
attacker consistently changes the value of the TID field, the AAA
server may conclude that the peer's credentials may have been
compromised and may revoke access so as to trigger an offline process
for updating that peer's credentials. As a result the peer may lose
connectivity temporarily. Note however that EAP conversations
without GEE encapsulation are vulnerable to denial-of-service
attacks, and GEEv0 does not change this vulnerability.
8.2.2. Threats that might cause theft of service
If the EAP method used for one authentication is known to be weaker
than the EAP method used for another authentication, whereas the
authenticator may intend to enforce one authentication before the
other, an attacker may modify the GEE flags to cause the peer to
start the weaker authentication without the protection of stronger
authentication. The adversary may then be able to break the weaker
authentication method. Even if the authenticator requires, say, both
Type 1 and Type 2 authentications from all peers, it is plausible for
a rogue peer with available credentials for Type 1 authentication to
pass off the successful Type 2 authentication of another peer as its
own.
To mitigate this threat, i.e., when the EAP method used for one
authentication (e.g., Type 2) is more vulnerable to attacks than the
EAP method used for another authentication (e.g., Type 1), the
authenticator needs to strictly enforce a policy of Type 1
Barany, et al. Expires August 5, 2007 [Page 13]
Internet-Draft GEE February 2007
authentication first, and require that the Type 2 authentication
occur within the secure channel established as a result of Type 1
authentication.
8.2.2.1. Possible subversion of authentication policy
Suppose a peer has credentials for Type 1 authentication in a visited
network and credentials for both Type 1 and Type 2 authentication in
the home network. It is plausible that the peer may supply its home
network credentials for Type 1 as well as Type 2 authentication and
thereby avoid any payments to the visited ANP. To avoid this
possibility, the AAA-ANP may send to the authenticators its Type 1
authentication policy by sending a list of realms for which Type 1
authentication request is allowed to be forwarded to home network.
The authenticator may share that information with the peer in the EAP
identity request following the semantics in RFC 4284 [12] (and
applicable security considerations) or other similar procedures.
8.3. Implications of multiple EAP authentications
GEE is designed to facilitate the use of multiple parallel EAP
authentications and that implies certain requirements on the EAP
methods used. First, it is clear that at least one of the methods
must be key generating and all the methods must be mutually
authenticating. The key generation requirement is to authenticate
the data packets as coming from the peer that participated in the
authentication whereas the mutual authentication requirement is self-
explanatory.
There is however still the possibility of a man-in-the-middle (MiTM)
attack between EAP authentications. Briefly, since the authenticator
does not have enough information to associate NAIs corresponding to
multiple authentications, it is plausible for an adversary to skip
one or more of the EAP authentications and instead claim the
authentication exchange of a legitimate peer as its own. The
authenticator would have no way of verifying the claim.
There are several possible mitigation strategies including the use of
identifier binding between authentications, or in case of sequential
authentications, the use of key material from the first
authentication to encrypt future authentications. Other solutions
require all authentications to be key generating and binding all the
keys to generate the master key used to bootstrap the traffic key
generation process or using multiple encapsulations with the
generated keys.
When the multiple authentications are key generating and occur in
parallel, GEEv0 requires that all of the MSKs resulting from each
Barany, et al. Expires August 5, 2007 [Page 14]
Internet-Draft GEE February 2007
authentication be used for access control in order to successfully
prevent any MiTM attacks. When only one of the authentications is
key generating or when the authentications occur sequentially, other
administrative policies must be used to ensure that the threat is
mitigated.
When multiple authentications occur, packet modification attacks may
cause the wrong type of access to be granted to the peer as a result
of a particular authentication. To prevent this, specific
authorization information must be sent from the backend AAA server to
the authenticator specifying the type of access granted after a
particular authentication.
9. IANA Considerations
We request IANA to maintain a GEE registry. The registry will be
version dependent and will contain the following items for GEEv0:
The 4-bit Version field (Version 0 is to be registered for this
RFC). Additional values can be allocated via IETF Review [13].
The 2-bit TID field (values 00 and 01 are to be registered for
this RFC). Additional values can be allocated via IETF Review,
but only in conjunction of defining a new version number.
The 2-bit RFL field (the first bit, K, is to be registered for
this RFC). Additional values can be allocated via IETF Review.
10. Acknowledgments
We thank Parag Agashe, Paul Bender, Raymond Hsu, AC Mahendran, and
Jun Wang for their review of earlier versions of this draft and/or
for their contributions to the many discussions on this topic.
11. References
11.1. Normative References
[1] Aboba, B., Blunk, L., Vollbrecht, J., Carlson, J., and H.
Levkowetz, "Extensible Authentication Protocol (EAP)",
RFC 3748, June 2004.
[2] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", BCP 14, RFC 2119, March 1997.
Barany, et al. Expires August 5, 2007 [Page 15]
Internet-Draft GEE February 2007
[3] Kaufman, C., "Internet Key Exchange (IKEv2) Protocol",
RFC 4306, December 2005.
11.2. Informative References
[4] Simpson, W., "The Point-to-Point Protocol (PPP)", STD 51,
RFC 1661, July 1994.
[5] Blunk, L. and J. Vollbrecht, "PPP Extensible Authentication
Protocol (EAP)", RFC 2284, March 1998.
[6] Institute of Electrical and Electronics Engineers, "IEEE
Standards for Local and Metropolitan Area Networks: Port based
Network Access Control, IEEE Std 802.1X-2004", Dec 2004.
[7] Institute of Electrical and Electronics Engineers, "Supplement
to Standard for Telecommunications and Information Exchange
Between Systems - LAN/MAN Specific Requirements - Part 11:
Wireless LAN Medium Access Control (MAC) and Physical Layer
(PHY) Specifications: Specification for Enhanced Security, IEEE
802.11i", July 2004.
[8] 3GPP2, "3GPP2 X.S0011-002-D v1.0, "cdma2000 Wireless IP Network
Standard: Simple IP and Mobile IP Access Services", (to be
published).".
[9] 3GPP2, "3GPP2 A.S0008-B v1.0, "Interoperability Specification
(IOS) for High Rate Packet Data (HRPD) Access Network
Interfaces", (to be published).".
[10] 3GPP2, "3GPP2 C.S0063-0 v2.0, "cdma2000 High Rate Packet Data
Supplemental Services", (to be published).".
[11] Aboba, B. and P. Calhoun, "RADIUS (Remote Authentication Dial
In User Service) Support For Extensible Authentication Protocol
(EAP)", RFC 3579, September 2003.
[12] Adrangi, F., Lortz, V., Bari, F., and P. Eronen, "Identity
Selection Hints for the Extensible Authentication Protocol
(EAP)", RFC 4284, January 2006.
[13] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA
Considerations Section in RFCs",
draft-narten-iana-considerations-rfc2434bis-05 (work in
progress), September 2006.
[14] Adrangi, F., Lior, A., Korhonen, J., and J. Loughney,
"Chargeable User Identity", RFC 4372, January 2006.
Barany, et al. Expires August 5, 2007 [Page 16]
Internet-Draft GEE February 2007
Authors' Addresses
Peter Barany
QUALCOMM, Inc.
5775 Morehouse Dr
San Diego, CA
USA
Phone: +1 858-658-2341
Email: pbarany@qualcomm.com
Ramin Rezaiifar
QUALCOMM, Inc.
5775 Morehouse Dr
San Diego, CA
USA
Phone: +1 858-651-2067
Email: rrezaiifar@qualcomm.com
Lakshminath Dondeti
QUALCOMM, Inc.
5775 Morehouse Dr
San Diego, CA
USA
Phone: +1 858-845-1267
Email: ldondeti@qualcomm.com
Vidya Narayanan
QUALCOMM, Inc.
5775 Morehouse Dr
San Diego, CA
USA
Phone: +1 858-845-2483
Email: vidyan@qualcomm.com
Barany, et al. Expires August 5, 2007 [Page 17]
Internet-Draft GEE February 2007
Joseph Salowey
Cisco Systems
2901 Third Avenue
Seattle, WA
USA
Phone: +1 206-256-3380
Email: jsalowey@cisco.com
Parviz Yegani
Cisco Systems
3625 Cisco Way
San Jose, CA
USA
Phone: +1 408-832-5729
Email: pyegani@cisco.com
Barany, et al. Expires August 5, 2007 [Page 18]
Internet-Draft GEE February 2007
Full Copyright Statement
Copyright (C) The IETF Trust (2007).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
THE INTERNET ENGINEERING TASK FORCE DISCLAIM 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.
Intellectual Property
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Acknowledgment
Funding for the RFC Editor function is provided by the IETF
Administrative Support Activity (IASA).
Barany, et al. Expires August 5, 2007 [Page 19]