summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc6677.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/rfc/rfc6677.txt')
-rw-r--r--doc/rfc/rfc6677.txt1739
1 files changed, 1739 insertions, 0 deletions
diff --git a/doc/rfc/rfc6677.txt b/doc/rfc/rfc6677.txt
new file mode 100644
index 0000000..fe8d48b
--- /dev/null
+++ b/doc/rfc/rfc6677.txt
@@ -0,0 +1,1739 @@
+
+
+
+
+
+
+Internet Engineering Task Force (IETF) S. Hartman, Ed.
+Request for Comments: 6677 Painless Security
+Category: Standards Track T. Clancy
+ISSN: 2070-1721 Virginia Tech
+ K. Hoeper
+ Motorola Solutions, Inc.
+ July 2012
+
+
+ Channel-Binding Support
+ for Extensible Authentication Protocol (EAP) Methods
+
+Abstract
+
+ This document defines how to implement channel bindings for
+ Extensible Authentication Protocol (EAP) methods to address the
+ "lying Network Access Service (NAS)" problem as well as the "lying
+ provider" problem.
+
+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/rfc6677.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Hartman, et al. Standards Track [Page 1]
+
+RFC 6677 EAP Channel Binding July 2012
+
+
+Copyright Notice
+
+ Copyright (c) 2012 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.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Hartman, et al. Standards Track [Page 2]
+
+RFC 6677 EAP Channel Binding July 2012
+
+
+Table of Contents
+
+ 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4
+ 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5
+ 3. Problem Statement . . . . . . . . . . . . . . . . . . . . . . 5
+ 4. Channel Bindings . . . . . . . . . . . . . . . . . . . . . . . 7
+ 4.1. Types of EAP Channel Bindings . . . . . . . . . . . . . . 8
+ 4.2. Channel Bindings in the Secure Association Protocol . . . 9
+ 4.3. Channel-Binding Scope . . . . . . . . . . . . . . . . . . 10
+ 5. Channel-Binding Process . . . . . . . . . . . . . . . . . . . 12
+ 5.1. Protocol Operation . . . . . . . . . . . . . . . . . . . . 12
+ 5.2. Channel-Binding Consistency Check . . . . . . . . . . . . 14
+ 5.3. EAP Protocol . . . . . . . . . . . . . . . . . . . . . . . 15
+ 5.3.1. Channel-Binding Codes . . . . . . . . . . . . . . . . 17
+ 5.3.2. Namespace Identifiers . . . . . . . . . . . . . . . . 17
+ 5.3.3. RADIUS Namespace . . . . . . . . . . . . . . . . . . . 18
+ 6. System Requirements . . . . . . . . . . . . . . . . . . . . . 18
+ 6.1. General Transport Protocol Requirements . . . . . . . . . 18
+ 6.2. EAP Method Requirements . . . . . . . . . . . . . . . . . 19
+ 7. Channel-Binding TLV . . . . . . . . . . . . . . . . . . . . . 19
+ 7.1. Requirements for Lower-Layer Bindings . . . . . . . . . . 19
+ 7.2. EAP Lower-Layer Attribute . . . . . . . . . . . . . . . . 20
+ 8. AAA-Layer Bindings . . . . . . . . . . . . . . . . . . . . . . 20
+ 9. Security Considerations . . . . . . . . . . . . . . . . . . . 21
+ 9.1. Trust Model . . . . . . . . . . . . . . . . . . . . . . . 21
+ 9.2. Consequences of Trust Violation . . . . . . . . . . . . . 23
+ 9.3. Bid-Down Attacks . . . . . . . . . . . . . . . . . . . . . 24
+ 9.4. Privacy Violations . . . . . . . . . . . . . . . . . . . . 24
+ 10. Operations and Management Considerations . . . . . . . . . . . 25
+ 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 25
+ 11.1. EAP Lower Layers Registry . . . . . . . . . . . . . . . . 26
+ 11.2. RADIUS Registration . . . . . . . . . . . . . . . . . . . 26
+ 12. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 27
+ 13. References . . . . . . . . . . . . . . . . . . . . . . . . . . 27
+ 13.1. Normative References . . . . . . . . . . . . . . . . . . . 27
+ 13.2. Informative References . . . . . . . . . . . . . . . . . . 27
+ Appendix A. Attacks Prevented by Channel Bindings . . . . . . . . 29
+ A.1. Enterprise Subnetwork Masquerading . . . . . . . . . . . . 29
+ A.2. Forced Roaming . . . . . . . . . . . . . . . . . . . . . . 29
+ A.3. Downgrading Attacks . . . . . . . . . . . . . . . . . . . 30
+ A.4. Bogus Beacons in IEEE 802.11r . . . . . . . . . . . . . . 30
+ A.5. Forcing False Authorization in IEEE 802.11i . . . . . . . 30
+
+
+
+
+
+
+
+
+
+Hartman, et al. Standards Track [Page 3]
+
+RFC 6677 EAP Channel Binding July 2012
+
+
+1. Introduction
+
+ The so-called "lying NAS" problem is a well-documented problem with
+ the current Extensible Authentication Protocol (EAP) architecture
+ [RFC3748] when used in pass-through authenticator mode. Here, a
+ Network Access Server (NAS), or pass-through authenticator, may
+ represent one set of information (e.g., network identity,
+ capabilities, configuration, etc) to the backend Authentication,
+ Authorization, and Accounting (AAA) infrastructure, while
+ representing contrary information to EAP peers. Another possibility
+ is that the same false information could be provided to both the EAP
+ peer and EAP server by the NAS. A "lying" entity can also be located
+ anywhere on the AAA path between the NAS and the EAP server.
+
+ This problem results when the same credentials are used to access
+ multiple services that differ in some interesting property. The EAP
+ server learns which client credentials are in use. The client knows
+ which EAP credentials are used, but cannot distinguish between
+ servers that use those credentials. For methods that distinguish
+ between client and server credentials, either using different server
+ credentials for access to the different services or having client
+ credentials with access to a disjoint set of services can potentially
+ defend against the attack.
+
+ As a concrete example, consider an organization with two different
+ IEEE 802.11 wireless networks. One is a relatively low-security
+ network for accessing the web, while the other has access to valuable
+ confidential information. An access point on the web network could
+ act as a lying NAS, sending the Service Set Identifier (SSID) of the
+ confidential network in its beacons. This access point could gain an
+ advantage by doing so if it tricks clients that intend to connect to
+ the confidential network to connect to it and disclose confidential
+ information.
+
+ A similar problem can be observed in the context of roaming. Here,
+ the lying entity is located in a visited service provider network,
+ e.g., attempting to lure peers to connect to the network based on
+ falsely advertised roaming rates. This is referred to as the "lying
+ provider" problem in the remainder of this document. The lying
+ entity's motivation often is financial; the entity may be paid
+ whenever peers roam to its service. However, a lying entity in a
+ provider network can also gain access to traffic that it might not
+ otherwise see.
+
+ This document defines and implements EAP channel bindings to solve
+ the "lying NAS" and the "lying provider" problems, using a process in
+ which the EAP peer gives information about the characteristics of the
+ service provided by the authenticator to the AAA server protected
+
+
+
+Hartman, et al. Standards Track [Page 4]
+
+RFC 6677 EAP Channel Binding July 2012
+
+
+ within the EAP method. This allows the server to verify the
+ authenticator is providing information to the peer that is consistent
+ with the information received from this authenticator as well as the
+ information stored about this authenticator. "AAA Payloads" defined
+ in [AAA-PAY] served as the starting point for the mechanism proposed
+ in this specification to carry this information.
+
+2. Terminology
+
+ In this document, several words are used to signify the requirements
+ of the specification. These words are often capitalized. 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].
+
+3. Problem Statement
+
+ In an EAP authentication compliant with [RFC4017], the EAP peer and
+ EAP server mutually authenticate each other, and derive keying
+ material. However, when operating in pass-through mode, the EAP
+ server can be far removed from the authenticator both in terms of
+ network distance and number of entities who need to be trusted in
+ order to establish trusted communication. A malicious or compromised
+ authenticator may represent incorrect information about the network
+ to the peer in an effort to affect its operation in some way.
+ Additionally, while an authenticator may not be compromised, other
+ compromised elements in the network (such as proxies) could provide
+ false information to the authenticator that it could simply be
+ relaying to EAP peers. Hence, the goal must be to ensure that the
+ authenticator is providing correct information to the EAP peer during
+ the initial network discovery, selection, and authentication.
+
+ There are two different types of networks to consider: enterprise
+ networks and service provider networks. In enterprise networks,
+ assuming a single administrative domain, it is feasible for an EAP
+ server to have information about all the authenticators in the
+ network. In service provider networks, global knowledge is
+ infeasible due to indirection via roaming. When a peer is outside
+ its home administrative domain, the goal is to ensure that the level
+ of service received by the peer is consistent with the contractual
+ agreement between the two service providers. The same EAP server may
+ need to support both types of networks. For example an enterprise
+ may have a roaming agreement permitting its users to use the networks
+ of third-party service providers. In these situations, the EAP
+ server may authenticate for an enterprise and provider network.
+
+
+
+
+
+
+Hartman, et al. Standards Track [Page 5]
+
+RFC 6677 EAP Channel Binding July 2012
+
+
+ The following are example attacks possible by presenting false
+ network information to peers.
+
+ o Enterprise network: A corporate network may have multiple virtual
+ LANs (VLANs) available throughout their campus network, and have
+ IEEE 802.11 access points connected to each VLAN. Assume one VLAN
+ connects users to the firewalled corporate network, while the
+ other connects users to a public guest network. The corporate
+ network is assumed to be free of adversarial elements, while the
+ guest network is assumed to possibly have malicious elements.
+ Access points on both VLANs are serviced by the same EAP server,
+ but broadcast different SSIDs to differentiate. A compromised
+ access point connected to the guest network but not the corporate
+ network could advertise the SSID of the corporate network in an
+ effort to lure peers to connect to a network with a false sense of
+ security regarding their traffic. Conditions and further details
+ of this attack can be found in the appendix.
+
+ o Enterprise network: The EAP Generic Security Service Application
+ Program Interface (GSS-API) mechanism [GSS-API-EAP] mechanism
+ provides a way to use EAP to authenticate to mail servers, instant
+ messaging servers, and other non-network services. Without EAP
+ channel binding, an attacker could trick the user into connecting
+ to a relatively untrusted service instead of a relatively trusted
+ service. For example, the instant messaging service could
+ impersonate the mail server.
+
+ o Service provider network: An EAP-enabled mobile phone provider
+ could advertise very competitive flat rates but send per-minute
+ rates to the home server, thus luring peers to connect to their
+ network and overcharging them. In more elaborate attacks, peers
+ can be tricked into roaming without their knowledge. For example,
+ a mobile phone provider operating along a geopolitical boundary
+ could boost their cell towers' transmission power and advertise
+ the network identity of the neighboring country's indigenous
+ provider. This would cause unknowing handsets to associate with
+ an unintended operator, and consequently be subject to high
+ roaming fees without realizing they had roamed off their home
+ provider's network. These types of scenarios can be considered as
+ the "lying provider" problem, because here the provider configures
+ its NAS to broadcast false information. For the purpose of
+ channel bindings as defined in this document, it does not matter
+ which local entity (or entities) is "lying" in a service provider
+ network (local NAS, local authentication server, and/or local
+ proxies), because the only information received from the visited
+ network that is verified by channel bindings is the information
+ the home authentication server received from the last hop in the
+ communication chain. In other words, channel bindings enable the
+
+
+
+Hartman, et al. Standards Track [Page 6]
+
+RFC 6677 EAP Channel Binding July 2012
+
+
+ detection of inconsistencies in the information from a visited
+ network, but cannot enable the determination of which entity is
+ lying. Naturally, channel bindings for EAP methods can only
+ verify the endpoints; if desirable, intermediate hops need to be
+ protected by the employed AAA protocol.
+
+ o Enterprise and provider networks: In a situation where an
+ enterprise has roaming agreements with providers, a compromised
+ access point in a provider network could masquerade as the
+ enterprise network in an attempt to gain confidential information.
+ Today this could potentially be solved by using different
+ credentials for internal and external access. Depending on the
+ type of credential, this may introduce usability or man-in-the-
+ middle security issues.
+
+ To address these problems, a mechanism is required to validate
+ unauthenticated information advertised by EAP authenticators.
+
+4. Channel Bindings
+
+ EAP channel bindings seek to authenticate previously unauthenticated
+ information provided by the authenticator to the EAP peer by allowing
+ the peer and server to compare their perception of network properties
+ in a secure channel.
+
+ It should be noted that the definition of EAP channel bindings
+ differs somewhat from channel bindings documented in [RFC5056], which
+ seek to securely bind together the endpoints of a multi-layer
+ protocol, allowing lower layers to protect data from higher layers.
+ Unlike [RFC5056], EAP channel bindings do not ensure the binding of
+ different layers of a session; rather, they ensure the accuracy of
+ the information advertised to an EAP peer by an authenticator acting
+ as the pass-through device during an EAP execution. The term
+ "channel bindings" was independently adopted for these two related
+ concepts; by the time the conflict was discovered, a wide body of
+ literature existed for each usage. EAP channel bindings could be
+ used to provide [RFC5056] channel bindings. In particular, an inner
+ EAP method could be bound to an outer method by including the
+ [RFC5056] channel-binding data for the outer channel in the inner EAP
+ method's channel bindings. Doing so would provide a facility similar
+ to EAP cryptographic binding, except that a man-in-the-middle could
+ not extract the inner method from the tunnel. This specification
+ does not weigh the advantages of doing so nor specify how to do so;
+ the example is provided only to illustrate how EAP channel binding
+ and [RFC5056] channel binding overlap.
+
+
+
+
+
+
+Hartman, et al. Standards Track [Page 7]
+
+RFC 6677 EAP Channel Binding July 2012
+
+
+4.1. Types of EAP Channel Bindings
+
+ There are two categories of approach to EAP channel bindings:
+
+ o After keys have been derived during an EAP execution, the peer and
+ server can, in an integrity-protected channel, exchange plaintext
+ information about the network with each other and verify
+ consistency and correctness.
+
+ o The peer and server can both uniquely encode their respective view
+ of the network information without exchanging it, resulting into
+ an opaque blob that can be included directly into the derivation
+ of EAP session keys.
+
+ Both approaches are only applicable to key-deriving EAP methods and
+ both have advantages and disadvantages. Various hybrid approaches
+ are also possible. Advantages of exchanging plaintext information
+ include:
+
+ o It allows for policy-based comparisons of network properties,
+ rather than requiring precise matches for every field, which
+ achieves a policy-defined consistency, rather than bitwise
+ equality. This allows network operators to define which
+ properties are important and even verifiable in their network.
+
+ o EAP methods that support extensible, integrity-protected channels
+ can easily include support for exchanging this network
+ information. In contrast, direct inclusion into the key
+ derivation would require more extensive revisions to existing EAP
+ methods or a wrapper EAP method.
+
+ o Given it doesn't affect the key derivation, this approach
+ facilitates debugging, incremental deployment, backward
+ compatibility, and a logging mode in which verification results
+ are recorded but do not have an effect on the remainder of the EAP
+ execution. The exact use of the verification results can be
+ subject to the network policy. Additionally, consistent
+ information canonicalization and formatting for the key derivation
+ approach would likely cause significant deployment problems.
+
+ The following are advantages of directly including channel-binding
+ information in the key derivation:
+
+ o EAP methods not supporting extensible, integrity-protected
+ channels could still be supported, either by revising their key
+ derivation, revising EAP, or wrapping them in a universal method
+ that supports channel binding.
+
+
+
+
+Hartman, et al. Standards Track [Page 8]
+
+RFC 6677 EAP Channel Binding July 2012
+
+
+ o It can guarantee proper channel information, since subsequent
+ communication would be impossible if differences in channel
+ information yield different session keys on the EAP peer and
+ server.
+
+4.2. Channel Bindings in the Secure Association Protocol
+
+ This document describes channel bindings performed by transporting
+ channel-binding information as part of an integrity-protected
+ exchange within an EAP method. Alternatively, some future document
+ could specify a mechanism for transporting channel bindings within
+ the lower layer's secure association protocol. Such a specification
+ would need to describe how channel bindings are exchanged over the
+ lower-layer protocol between the peer and authenticator. In
+ addition, since the EAP exchange concludes before the secure
+ association protocol begins, a mechanism for transporting the channel
+ bindings from the authenticator to the EAP server needs to be
+ specified. A mechanism for transporting a protected result from the
+ EAP server, through the authenticator, back to the peer needs to be
+ specified.
+
+ The channel bindings MUST be transported with integrity protection
+ based on a key known only to the peer and EAP server. The channel
+ bindings SHOULD be confidentiality protected using a key known only
+ to the peer and EAP server. For the system to function, the EAP
+ server or AAA server needs access to the channel-binding information
+ from the peer as well as the AAA attributes and a local database
+ described later in this document.
+
+ The primary advantage of sending channel bindings as part of the
+ secure association protocol is that EAP methods need not be changed.
+ The disadvantage is that a new AAA exchange is required, and secure
+ association protocols need to be changed. As the results of the
+ secure association protocol change, every NAS needs to be upgraded to
+ support channel bindings within the secure association protocol.
+
+ For many deployments, changing all the NASes is expensive, and adding
+ channel-binding support to enough EAP methods to meet the goals of
+ the deployment will be cheaper. However for deployment of new
+ equipment, or especially deployment of a new lower-layer technology,
+ changing the NASes may be cheaper than changing EAP methods.
+ Especially if such a deployment needed to support a large number of
+ EAP methods, sending channel bindings in the secure association
+ protocol might make sense. Sending channel bindings in the secure
+ association protocol can work even with the EAP Re-authentication
+ Protocol (ERP) [RFC5296] in which previously established EAP key
+ material is used for the secure association protocol without carrying
+ out any EAP method during re-authentication.
+
+
+
+Hartman, et al. Standards Track [Page 9]
+
+RFC 6677 EAP Channel Binding July 2012
+
+
+ If channel bindings using a secure association protocol are
+ specified, semantics as well as the set of information that peers
+ exchange can be shared with the mechanism described in this document.
+
+4.3. Channel-Binding Scope
+
+ The scope of EAP channel bindings differs somewhat depending on the
+ type of deployment in which they are being used. In enterprise
+ networks, they can be used to authenticate very specific properties
+ of the authenticator (e.g., Medium Access Control (MAC) address,
+ supported link types and data rates, etc.), while in service provider
+ networks they can generally only authenticate broader information
+ about a roaming partner's network (e.g., network name, roaming
+ information, link security requirements, etc.). The reason for the
+ difference has to do with the amount of information about the
+ authenticator and/or network to which the peer is connected the home
+ EAP server is expected to have access to. In roaming cases, the home
+ server is likely to only have access to information contained in
+ their roaming agreements.
+
+ With any multi-hop AAA infrastructure, many of the NAS-specific AAA
+ attributes are obscured by the AAA proxy that's decrypting,
+ reframing, and retransmitting the underlying AAA messages.
+ Especially service provider networks are affected by this, and the
+ AAA information received from the last hop may not contain much
+ verifiable information after transformations performed by AAA
+ proxies. For example, information carried in AAA attributes such as
+ the NAS IP address may have been lost in transition and thus are not
+ known to the EAP server. Even worse, information may still be
+ available but be useless, for example, representing the identity of a
+ device on a private network or a middlebox. This affects the ability
+ of the EAP server to verify specific NAS properties. However, often
+ verification of the MAC or IP address of the NAS is not useful for
+ improving the overall security posture of a network. More often, the
+ best approach is to make policy decisions about services being
+ offered to peers. For example, in an IEEE 802.11 network, the EAP
+ server may wish to ensure that peers connecting to the corporate
+ intranet are using secure link-layer encryption, while link-layer
+ security requirements for peers connecting to the guest network could
+ be less stringent. These types of policy decisions can be made
+ without knowing or being able to verify the IP address of the NAS
+ through which the peer is connecting.
+
+ The properties of the network that the peer wishes to validate depend
+ on the specific deployment. In a mobile phone network, peers
+ generally don't care what the name of the network is, as long as they
+ can make their phone call and are charged the expected amount for the
+ call. However, in an enterprise network, the administrators of a
+
+
+
+Hartman, et al. Standards Track [Page 10]
+
+RFC 6677 EAP Channel Binding July 2012
+
+
+ peer may be more concerned with specifics of where their network
+ traffic is being routed and what VLAN is in use. To establish
+ policies surrounding these requirements, administrators would capture
+ some attribute such as SSID to describe the properties of the network
+ they care about. Channel bindings could validate the SSID. The
+ administrator would need to make sure that the network guarantees
+ that when an authenticator trusted by the AAA infrastructure to offer
+ a particular SSID to clients does offer this SSID, that network has
+ the intended properties. Generally, it is not possible for channel
+ bindings to detect lying NAS behavior when the NAS is authorized to
+ claim a particular service. That is, if the same physical
+ authenticator is permitted to advertise two networks, the AAA
+ infrastructure is unlikely to be able to determine when this
+ authenticator lies.
+
+ As discussed in the next section, some of the most important
+ information to verify cannot come from AAA attributes but instead
+ comes from local configuration. For example, in the mobile phone
+ case, the expected roaming rate cannot come from the roaming provider
+ without being verified against the contract between the two
+ providers. Similarly, in an enterprise, the SSID that a particular
+ access point is expected to advertise comes from configuration rather
+ than an AAA exchange (which can be confirmed with channel binding).
+
+ The peer and authenticator do not initially have a basis for trust.
+ The peer has a credential with the EAP server that forms a basis for
+ trust. The EAP server and authenticator have a potentially indirect
+ trust path using the AAA infrastructure. Channel binding leverages
+ the trust between the peer and EAP server to build trust in certain
+ attributes between the peer and authenticator.
+
+ Channel bindings can be important for forming areas of trust,
+ especially when provider networks are involved, and exact information
+ is not available to the EAP server. Without channel bindings, all
+ entities in the system need to be held to the standards of the most
+ trusted entity that could be accessed using the EAP credential.
+ Otherwise, a less trusted entity can impersonate a more trusted
+ entity. However when channel bindings are used, the EAP server can
+ use information supplied by the peer, AAA protocols and local
+ database to distinguish less trusted entities from more trusted
+ entities. One possible deployment involves being able to verify a
+ number of characteristics about relatively trusted entities while for
+ other entities simply verifying that they are less trusted.
+
+ Any deployment of channel bindings should take into consideration
+ both what information the EAP server is likely to know or have access
+ to, and what type of network information the peer would want and need
+ authenticated.
+
+
+
+Hartman, et al. Standards Track [Page 11]
+
+RFC 6677 EAP Channel Binding July 2012
+
+
+5. Channel-Binding Process
+
+ This section defines the process for verifying channel-binding
+ information during an EAP authentication. The protocol uses the
+ approach where plaintext data is exchanged, since it allows channel
+ bindings to be used more flexibly in varied deployment models (see
+ Section 4.1). In the first subsection, the general communication
+ infrastructure is outlined, the messages used for channel-binding
+ verifications are specified, and the protocol flows are defined. The
+ second subsection explores the difficulties of checking the different
+ pieces of information that are exchanged during the channel-binding
+ protocol for consistency. The third subsection describes the
+ information carried in the EAP exchange.
+
+5.1. Protocol Operation
+
+ Channel bindings are always provided between two communication
+ endpoints (here, the EAP peer and the EAP server), who communicate
+ through an authenticator typically in pass-through mode.
+ Specifications treat the AAA server and EAP server as distinct
+ entities. However, there is no standardized protocol for the AAA
+ server and EAP server to communicate with each other. For the
+ channel-binding protocol presented in this document to work, the EAP
+ server needs to be able to access information from the AAA server
+ that is utilized during the EAP session (i2 below) and a local
+ database. For example, the EAP server and the local database can be
+ co-located with the AAA server, as illustrated in Figure 1. An
+ alternate architecture would be to provide a mechanism for the EAP
+ server to inform the AAA server what channel-binding attributes were
+ supplied and the AAA server to inform the EAP server about what
+ channel-binding attributes it considered when making its decision.
+
+ + -------------------------+
+ -------- ------------- | ---------- ______ |
+ |EAP peer|<---->|Authenticator|<--> | |EAP Server|___(______) |
+ -------- ------------- | ---------- | DB | |
+ . . |AAA (______) |
+ . i1 . +--------------------------+
+ .<----------------. i2 . .
+ . .------------> .
+ . i1 .
+ .-------------------------------------->.
+ . CB_success/failure(i1, i2,info) .
+ .<--------------------------------------.
+
+
+ Figure 1: Overview of Channel-Binding Protocol
+
+
+
+
+Hartman, et al. Standards Track [Page 12]
+
+RFC 6677 EAP Channel Binding July 2012
+
+
+ During network advertisement, selection, and authentication, the
+ authenticator presents unauthenticated information, labeled i1, about
+ the network to the peer. Message i1 could include an authenticator
+ identifier and the identity of the network it represents, in addition
+ to advertised network information such as offered services and
+ roaming information. Information (such as the type of media in use)
+ may be communicated implicitly in i1. As there is no established
+ trust relationship between the peer and authenticator, there is no
+ way for the peer to validate this information.
+
+ Additionally, during the transaction the authenticator presents a
+ number of information properties in the form of AAA attributes about
+ itself and the current request. These AAA attributes may or may not
+ contain accurate information. This information is labeled i2.
+ Message i2 is the information the AAA server receives from the last
+ hop in the AAA proxy chain which is not necessarily the
+ authenticator.
+
+ AAA hops between the authenticator and AAA server can validate some
+ of i2. Whether the AAA server will be able to rely on this depends
+ significantly on the business relationship executed with these
+ proxies and on the structure of the AAA network.
+
+ The local database is perhaps the most important part of this system.
+ In order for the EAP server or AAA server to know whether i1 and i2
+ are correct, they need access to trustworthy information, since an
+ authenticator could include false information in both i1 and i2.
+ Additional reasons why such a database is necessary for channel
+ bindings to work are discussed in the next subsection. The
+ information contained within the database could involve wildcards.
+ For example, this could be used to check whether IEEE 802.11 access
+ points on a particular IP subnet all use a specific SSID. The exact
+ IP address is immaterial, provided it is on the correct subnet.
+
+ During an EAP method execution with channel bindings, the peer sends
+ i1 to the EAP server using the mechanism described in Section 5.3.
+ The EAP server verifies the consistency of i1 provided by the peer,
+ i2 provided by the authenticator, and the information in the local
+ database. Upon the check, the EAP server sends a message to the peer
+ indicating whether the channel-binding validation check succeeded or
+ failed and includes the attributes that were used in the check. The
+ message flow is illustrated in Figure 1.
+
+ Above, the EAP server is described as performing the channel-binding
+ validation. In most deployments, this will be a necessary
+ implementation constraint. The EAP exchange needs to include an
+ indication of channel-binding success or failure. Most existing
+ implementations do not have a way to have an exchange between the EAP
+
+
+
+Hartman, et al. Standards Track [Page 13]
+
+RFC 6677 EAP Channel Binding July 2012
+
+
+ server and another AAA entity during the EAP server's processing of a
+ single EAP message. However, another AAA entity can provide
+ information to the EAP server to make its decision.
+
+ If the compliance of i1 or i2 information with the authoritative
+ policy source is mandatory and a consistency check failed, then after
+ sending a protected indication of failed consistency, the EAP server
+ MUST send an EAP-Failure message to terminate the session. If the
+ EAP server is otherwise configured, it MUST allow the EAP session to
+ complete normally and leave the decision about network access up to
+ the peer's policy. If i1 or i2 does not comply with policy, the EAP
+ server MUST NOT list information that failed to comply in the set of
+ information used to perform channel binding. In this case, the EAP
+ server SHOULD indicate channel-binding failure; this requirement may
+ be upgraded to a MUST in the future.
+
+5.2. Channel-Binding Consistency Check
+
+ The validation check that is the core of the channel-binding protocol
+ described in the previous subsection consists of two parts in which
+ the server checks whether:
+
+ 1. the authenticator is lying to the peer, i.e., i1 contains false
+ information, and
+
+ 2. the authenticator or any entity on the AAA path to the AAA server
+ provides false information in form of AAA attributes, i.e., i2
+ contains false information.
+
+ These checks enable the EAP server to detect lying NASes or
+ authenticators in enterprise networks and lying providers in service
+ provider networks.
+
+ Checking the consistency of i1 and i2 is nontrivial, as has been
+ pointed out already in [HC07]. First, i1 can contain any type of
+ information propagated by the authenticator, whereas i2 is restricted
+ to information that can be carried in AAA attributes. Second,
+ because the authenticator typically communicates over different link
+ layers with the peer and the AAA infrastructure, different types of
+ identifiers and addresses may have been presented to both
+ communication endpoints. Whether these different identifiers and
+ addresses belong to the same device cannot be directly checked by the
+ EAP server or AAA server without additional information. Finally, i2
+ may be different from the original information sent by the
+ authenticator because of en route processing or malicious
+ modifications. As a result, in the service provider model, typically
+ the i1 information available to the EAP server can only be verified
+ against the last-hop portion of i2 or against values propagated by
+
+
+
+Hartman, et al. Standards Track [Page 14]
+
+RFC 6677 EAP Channel Binding July 2012
+
+
+ proxy servers. In addition, checking the consistency of i1 and i2
+ alone is insufficient because an authenticator could lie to both the
+ peer and the EAP server, i.e., i1 and i2 may be consistent but both
+ contain false information.
+
+ A local database is required to leverage the above-mentioned
+ shortcomings and support the consistency and validation checks. In
+ particular, information stored for each NAS/authenticator (enterprise
+ scenario) or each roaming partner (service provider scenario) enables
+ a comparison of any information received in i1 with AAA attributes in
+ i2 as well as additionally stored AAA attributes that might have been
+ lost in transition. Furthermore, only such a database enables the
+ EAP server and AAA server to check the received information against
+ trusted information about the network including roaming agreements.
+
+ Section 7 describes lower-layer-specific properties that can be
+ exchanged as a part of i1. Section 8 describes specific AAA
+ attributes that can be included and evaluated in i2. The EAP server
+ reports back the results from the channel-binding validation check
+ that compares the consistency of all the values with those in the
+ local database. The challenges of setting up such a local database
+ are discussed in Section 10.
+
+5.3. EAP Protocol
+
+ EAP methods supporting channel binding consistent with this
+ specification provide a mechanism for carrying channel-binding data
+ from the peer to the EAP server and a channel-binding response from
+ the EAP server to the peer. The specifics of this mechanism are
+ dependent on the method, although the content of the channel-binding
+ data and channel-binding response are defined by this section.
+
+ Typically the lower layer will communicate a set of attributes to the
+ EAP implementation on the peer that should be part of channel
+ binding. The EAP implementation may need to indicate to the lower
+ layer that channel-binding information cannot be sent. Reasons for
+ failing to send channel-binding information include an EAP method
+ that does not support channel binding is selected, or channel-binding
+ data is too big for the EAP method selected. Peers SHOULD provide
+ appropriate policy controls to select channel binding or mandate its
+ success.
+
+ The EAP server receives the channel-binding data and performs the
+ validation. The EAP method provides a way to return a response; the
+ channel-binding response uses the same basic format as the channel-
+ binding data.
+
+
+
+
+
+Hartman, et al. Standards Track [Page 15]
+
+RFC 6677 EAP Channel Binding July 2012
+
+
+ 0 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Code | Length | NSID |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | NS-Specific...
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Length | NSID | NS-Specific...
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | ...
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 2: Channel-Binding Encoding
+
+ Both the channel-binding data and response use the format illustrated
+ in Figure 2. The protocol starts with a one-byte code; see
+ Section 5.3.1. Then, for each type of attribute contained in the
+ channel-binding data, the following information is encoded:
+
+ Length: Two octets of length in network byte order, indicating the
+ length of the NS-Specific data. The NSID and length octets are
+ not included.
+
+ NSID: Namespace identifier. One octet describing the namespace from
+ which the attributes are drawn. See Section 5.3.3 for a
+ description of how to encode RADIUS attributes in channel-binding
+ data and responses. RADIUS uses a namespace identifier of 1 .
+
+ NS-Specific: The encoding of the attributes in a manner specific to
+ the type of attribute.
+
+ A given NSID MUST NOT appear more than once in a channel-binding data
+ or channel-binding response. Instead, all NS-Specific data for a
+ particular NSID must occur inside one set of fields (NSID, Length,
+ and NS-Specific). This set of fields may be repeated if multiple
+ namespaces are included.
+
+ In channel-binding data, the code is set to 1 (channel-binding data),
+ and the full attributes and values that the peer wishes the EAP
+ server to validate are included.
+
+ In a channel-binding response, the server selects the code; see
+ Section 5.3.1. For successful channel binding, the server returns
+ code 2. The set of attributes that the EAP server returns depend on
+ the code. For success, the server returns the attributes that were
+ considered by the server in making the determination that channel
+ bindings are successfully validated; attributes that the server is
+ unable to check or that failed to validate against what is sent by
+
+
+
+Hartman, et al. Standards Track [Page 16]
+
+RFC 6677 EAP Channel Binding July 2012
+
+
+ the peer MUST NOT be returned in a success response. Generally,
+ servers will not return a success response if any attributes were
+ checked and failed to validate those specified by the peer. Special
+ circumstances such as a new attribute being phased in at a server MAY
+ require servers to return success when such an attribute fails to
+ validate. The server returns the value supplied by the peer when
+ returning an attribute in channel-binding responses.
+
+ For channel-binding failure (code 3), the server SHOULD include any
+ attributes that were successfully validated. This code means that
+ server policy indicates that the attributes sent by the client do not
+ accurately describe the authenticator. Servers MAY include no
+ attributes in this response; for example, if the server checks the
+ attributes supplied by the peer and they fail to be consistent, it
+ may send a response without attributes.
+
+ Peers MUST treat unknown codes as channel-binding failure. Peers
+ MUST ignore differences between attribute values sent in the channel-
+ binding data and those sent in the response. Peers and servers MUST
+ ignore any attributes contained in a field with an unknown NSID.
+ Peers MUST ignore any attributes in a response not present in the
+ channel-binding data.
+
+5.3.1. Channel-Binding Codes
+
+ +------+-----------------------------------+
+ | Code | Meaning |
+ +------+-----------------------------------+
+ | 1 | Channel-binding data from client |
+ | 2 | Channel-binding response: success |
+ | 3 | Channel-binding response: failure |
+ +------+-----------------------------------+
+
+5.3.2. Namespace Identifiers
+
+ +-----+--------------------------+---------------+
+ | ID | Namespace | Reference |
+ +-----+--------------------------+---------------+
+ | 1 | RADIUS | Section 5.3.3 |
+ | 255 | Reserved for Private Use | |
+ +-----+--------------------------+---------------+
+
+
+
+
+
+
+
+
+
+
+Hartman, et al. Standards Track [Page 17]
+
+RFC 6677 EAP Channel Binding July 2012
+
+
+5.3.3. RADIUS Namespace
+
+ RADIUS attribute-value pairs (AVPs) are encoded with a one-octet
+ attribute type followed by a one-octet length followed by the value
+ of the RADIUS attribute being encoded. The length includes the type
+ and length octets; the minimum legal length is 3. Attributes are
+ concatenated to form the namespace-specific portion of the packet.
+
+ 0 1 2
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
+ | Type | Length | Value ...
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
+
+ Figure 3: RADIUS AVP Encoding
+
+ The full value of an attribute is included in the channel-binding
+ data and response.
+
+6. System Requirements
+
+ This section defines requirements on components used to implement the
+ channel-bindings protocol.
+
+ The channel-binding protocol defined in this document must be
+ transported after keying material has been derived between the EAP
+ peer and server, and before the peer would suffer adverse affects
+ from joining an adversarial network. This document describes a
+ protocol for performing channel binding within EAP methods. As
+ discussed in Section 4.2, an alternative approach for meeting this
+ requirement is to perform channel bindings during the secure
+ association protocol of the lower layer.
+
+6.1. General Transport Protocol Requirements
+
+ The transport protocol for carrying channel-binding information MUST
+ support end-to-end (i.e., between the EAP peer and server) message
+ integrity protection to prevent the adversarial NAS or AAA device
+ from manipulating the transported data. The transport protocol
+ SHOULD provide confidentiality. The motivation for this is that the
+ channel bindings could contain private information, including peer
+ identities, which SHOULD be protected. If confidentiality cannot be
+ provided, private information MUST NOT be sent as part of the
+ channel-binding information.
+
+ Any transport needs to be careful not to exceed the MTU for its
+ lower-layer medium. In particular, if channel-binding information is
+ exchanged within protected EAP method channels, these methods may or
+
+
+
+Hartman, et al. Standards Track [Page 18]
+
+RFC 6677 EAP Channel Binding July 2012
+
+
+ may not support fragmentation. In order to work with all methods,
+ the channel-binding messages must fit within the available payload.
+ For example, if the EAP MTU is 1020 octets, and EAP - Generalized
+ Pre-Shared Key (EAP-GPSK) is used as the authentication method, and
+ maximal-length identities are used, a maximum of 384 octets is
+ available for conveying channel-binding information. Other methods,
+ such as EAP Tunneled Transport Layer Security (EAP-TTLS), support
+ fragmentation and could carry significantly longer payloads.
+
+6.2. EAP Method Requirements
+
+ When transporting data directly within an EAP method, the method MUST
+ be able to carry integrity-protected data from the EAP peer to server
+ and from EAP server to peer. EAP methods MUST exchange channel-
+ binding data with the AAA subsystem hosting the EAP server. EAP
+ methods MUST be able to import channel-binding data from the lower
+ layer on the EAP peer.
+
+7. Channel-Binding TLV
+
+ This section defines some channel-binding TLVs. While message i1 is
+ not limited to AAA attributes, for the sake of tangible attributes
+ that are already in place, this section discusses AAA AVPs that are
+ appropriate for carrying channel bindings (i.e., data from i1 in
+ Section 5).
+
+ For any lower-layer protocol, network information of interest to the
+ peer and server can be encapsulated in AVPs or other defined payload
+ containers. The appropriate AVPs depend on the lower-layer protocol
+ as well as on the network type (i.e., enterprise network or service
+ provider network) and its application.
+
+7.1. Requirements for Lower-Layer Bindings
+
+ Lower-layer protocols MUST support EAP in order to support EAP
+ channel bindings. These lower layers MUST support EAP methods that
+ derive keying material, as otherwise no integrity-protected channel
+ would be available to execute the channel-bindings protocol. Lower-
+ layer protocols need not support traffic encryption, since this is
+ independent of the authentication phase.
+
+ The data conveyed within the AVP type MUST NOT conflict with the
+ externally defined usage of the AVP. Additional TLV types MAY be
+ defined for values that are not communicated within AAA attributes.
+
+ In general, lower layers will need to specify what information should
+ be included in i1. Existing lower layers will probably require new
+ documents to specify this information. Lower-layer specifications
+
+
+
+Hartman, et al. Standards Track [Page 19]
+
+RFC 6677 EAP Channel Binding July 2012
+
+
+ need to include sufficient information in i1 to uniquely identify
+ which lower layer is involved. The preferred way to do this is to
+ include the EAP-Lower-Layer attribute defined in the next section.
+ This MUST be included in i1 unless an attribute specific to a
+ particular lower layer is included in i1.
+
+7.2. EAP Lower-Layer Attribute
+
+ A new RADIUS attribute is defined to carry information on which EAP
+ lower layer is used for this EAP authentication. This attribute
+ provides information relating to the lower layer over which EAP is
+ transported. This attribute MAY be sent by the NAS to the RADIUS
+ server in an Access-Request or an Accounting-Request packet. A
+ summary of the EAP-Lower-Layer attribute format is shown below. The
+ fields are transmitted from left to right.
+
+ 0 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Type | Length | Value
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ Value (cont.) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+
+ The code is 163, the length is 6, and the value is a 32-bit unsigned
+ integer in network byte order. The value specifies the EAP lower
+ layer in use. Values are taken from the IANA registry established in
+ Section 11.1.
+
+8. AAA-Layer Bindings
+
+ This section discusses which AAA attributes in a AAA Access-Request
+ message can and should be validated by a EAP server (i.e., data from
+ i2 in Section 5). As noted before, this data can be manipulated by
+ AAA proxies either to enable functionality (e.g., removing realm
+ information after messages have been proxied) or to act maliciously
+ (e.g., in the case of a lying provider). As such, this data cannot
+ always be easily validated. However, as thorough of a validation as
+ possible should be conducted in an effort to detect possible attacks.
+
+ NAS-IP-Address: This value is typically the IP address of the
+ authenticator; however, in a proxied connection, it likely will
+ not match the source IP address of an Access-Request. A
+ consistency check MAY verify the subnet of the IP address was
+ correct based on the last-hop proxy.
+
+
+
+
+
+Hartman, et al. Standards Track [Page 20]
+
+RFC 6677 EAP Channel Binding July 2012
+
+
+ NAS-IPv6-Address: This value is typically the IPv6 address of the
+ authenticator; however, in a proxied connection, it likely will
+ not match the source IPv6 address of an Access-Request. A
+ consistency check MAY verify the subnet of the IPv6 address was
+ correct based on the last-hop proxy.
+
+ NAS-Identifier: This is an identifier populated by the NAS to
+ identify the NAS to the AAA server; it SHOULD be validated against
+ the local database.
+
+ NAS-Port-Type: This specifies the underlying link technology. It
+ SHOULD be validated against the value received from the peer in
+ the information exchange and against a database of authorized
+ link-layer technologies.
+
+9. Security Considerations
+
+ This section discusses security considerations surrounding the use of
+ EAP channel bindings.
+
+9.1. Trust Model
+
+ In the considered trust model, EAP peer and authentication server are
+ honest, while the authenticator is maliciously sending false
+ information to peer and/or server. In the model, the peer and server
+ trust each other, which is not an unreasonable assumption,
+ considering they already have a trust relationship. The following
+ are the trust relationships:
+
+ o The server trusts that the channel-binding information received
+ from the peer is the information that the peer received from the
+ authenticator.
+
+ o The peer trusts the channel-binding result received from the
+ server.
+
+ o The server trusts the information contained within its local
+ database.
+
+ In order to establish the first two trust relationships during an EAP
+ execution, an EAP method MUST provide the following:
+
+ o mutual authentication between peer and server
+
+ o derivation of keying material including a key for integrity
+ protection of channel-binding messages known to the peer and EAP
+ server but not the authenticator
+
+
+
+
+Hartman, et al. Standards Track [Page 21]
+
+RFC 6677 EAP Channel Binding July 2012
+
+
+ o transmission of the channel-binding request from peer to server
+ over an integrity-protected channel
+
+ o transmission of the channel-binding result from server to peer
+ over an integrity-protected channel
+
+ This trust model is a significant departure from the standard EAP
+ model. In many EAP deployments today, attacks where one
+ authenticator can impersonate another are not a significant concern
+ because all authenticators provide the same service. A authenticator
+ does not gain significant advantage by impersonating another
+ authenticator. The use of EAP in situations where different
+ authenticators provide different services may give an attacker who
+ can impersonate a authenticator greater advantage. The system as a
+ whole needs to be analyzed to evaluate cases where one authenticator
+ may impersonate another and to evaluate the impact of this
+ impersonation.
+
+ One attractive implementation strategy for channel binding is to add
+ channel-binding support to a tunnel method that can tunnel an inner
+ EAP authentication. This way, channel binding can be achieved with
+ any method that can act as an inner method even if that inner method
+ does not have native channel-binding support. The requirement for
+ mutual authentication and key derivation is at the layer of EAP that
+ actually performs the channel binding. Tunnel methods sometimes use
+ cryptographic binding, a process where a peer proves that the peer
+ for the outer method is the same as the peer for an inner method to
+ tie authentication at one layer together with an inner layer.
+ Cryptographic binding does not always provide mutual authentication;
+ its definition does not require the server to prove that the inner
+ server and outer server are the same. Even when cryptographic
+ binding does attempt to confirm that the inner and outer server are
+ the same, the Master Session Key (MSK) from the inner method is
+ typically used to protect the binding. An attacker such as an
+ authenticator that wishes to subvert channel binding could establish
+ an outer tunnel terminating at the authenticator. If the outer
+ method tunnel terminates on the authenticator, the MSK is disclosed
+ to the authenticator, which can typically attack cryptographic
+ binding. If the authenticator controls cryptographic binding, then
+ it typically controls the channel-binding parameters and results. If
+ the channel-binding process is used to differentiate one
+ authenticator from another, then the authenticator can claim to
+ support services that it was not authorized to. This attack was not
+ in scope for existing threat models for cryptographic binding because
+ differentiated authenticators was not a consideration. Thus,
+ existing cryptographic binding does not typically provide mutual
+ authentication of the inner-method server required for channel
+ binding. Other methods besides cryptographic binding are available
+
+
+
+Hartman, et al. Standards Track [Page 22]
+
+RFC 6677 EAP Channel Binding July 2012
+
+
+ to provide mutual authentication required by channel binding. As an
+ example, if server certificates are validated and names checked,
+ mutual authentication can be provided directly by the tunnel.
+
+9.2. Consequences of Trust Violation
+
+ If any of the trust relationships listed in Section 9.1 are violated,
+ channel binding cannot be provided. In other words, if mutual
+ authentication with key establishment as part of the EAP method as
+ well as protected database access are not provided, then achieving
+ channel binding is not feasible.
+
+ Dishonest peers can only manipulate the first message i1 of the
+ channel-binding protocol. In this scenario, a peer sends i1' to the
+ server. If i1' is invalid, the channel-binding validation will fail.
+ On the other hand, if i1' passes the validation, either the original
+ i1 was wrong and i1' corrected the problem, or both i1 and i1'
+ constitute valid information. A peer could potentially gain an
+ advantage in auditing or charging if both are valid and information
+ from i1' is used for auditing or charging. Such peers can be
+ detected by including the information in i2 and checking i1 against
+ i2.
+
+ If information from i1 does not validate, an EAP server cannot
+ generally determine whether the authenticator advertised incorrect
+ information or whether the peer is dishonest. This should be
+ considered before using channel-binding validation failures to
+ determine the reputation either of the peer or authenticator.
+
+ Dishonest servers can send EAP-Failure messages and abort the EAP
+ authentication even if the received i1 is valid. However, servers
+ can always abort any EAP session, independent of whether or not
+ channel binding is offered. On the other hand, dishonest servers can
+ claim a successful validation even if i1 contains invalid
+ information. This can be seen as collaboration of authenticator and
+ server. Channel binding can neither prevent nor detect such attacks.
+ In general, such attacks cannot be prevented by cryptographic means
+ and should be addressed using policies that make servers liable for
+ their provided information and services.
+
+ Additional network entities (such as proxies) might be on the
+ communication path between peer and server and may attempt to
+ manipulate the channel-binding protocol. If these entities do not
+ possess the keying material used for integrity protection of the
+ channel-binding messages, the same threat analysis applies as for the
+ dishonest authenticators. Hence, such entities cannot manipulate a
+ single channel-binding message or the outcome. On the other hand,
+ entities with access to the keying material must be treated like a
+
+
+
+Hartman, et al. Standards Track [Page 23]
+
+RFC 6677 EAP Channel Binding July 2012
+
+
+ server in a threat analysis. Hence, such entities are able to
+ manipulate the channel-binding protocol without being detected.
+ However, the required knowledge of keying material is unlikely since
+ channel binding is executed before the EAP method is completed, and
+ thus before keying material is typically transported to other
+ entities.
+
+9.3. Bid-Down Attacks
+
+ EAP methods that add channel binding will typically negotiate its
+ use. Even for entirely new EAP methods designed with channel binding
+ from the first version, some deployments may not use it. It is
+ desirable to protect against attacks on the negotiation of channel
+ bindings. An attacker including the NAS SHOULD NOT be able to
+ prevent a peer and server who support channel bindings from using
+ them.
+
+ Unfortunately, existing EAP methods may make it difficult or
+ impossible to protect against attacks on negotiation. For example,
+ many EAP state machines will accept a success message at any point
+ after key derivation to terminate authentication. EAP success
+ messages are not integrity protected; an attacker who could insert a
+ message can generate one. The NAS is always in a position to
+ generate a success message. Common EAP servers take advantage of
+ state machines accepting success messages even in cases where an EAP
+ method might support a protected indication of success. It may be
+ challenging to define channel-binding support for existing EAP
+ methods in a manner that permits peers to distinguish an old EAP
+ server that sends a success indication and does not support channel
+ binding from an attacker injecting a success indication.
+
+9.4. Privacy Violations
+
+ While the channel-binding information exchanged between EAP peer and
+ EAP server (i.e., i1 and the result message) must always be integrity
+ protected, it may not be encrypted. In the case that these messages
+ contain identifiers of peer and/or network entities, the privacy
+ property of the executed EAP method may be violated. Hence, in order
+ to maintain the privacy of an EAP method, the exchanged channel-
+ binding information must be encrypted. If encryption is not
+ available, private information is not sent as part of the channel-
+ binding information, as described in Section 6.1.
+
+ Privacy implications of attributes selected for channel binding need
+ to be considered. Consider channel binding the username attribute.
+ A peer sends a privacy protecting anonymous identifier in its EAP
+ identity message, but sends the full username in the protected i1
+ message. However, the authenticator would like to learn the full
+
+
+
+Hartman, et al. Standards Track [Page 24]
+
+RFC 6677 EAP Channel Binding July 2012
+
+
+ username. It makes a guess and sends that in i2 rather than the
+ anonymous identifier. If the EAP server validates this attribute and
+ fails when the username from the peer mismatches i2, then the EAP
+ server confirms the authenticator's guess. Similar privacy exposures
+ may result whenever one party is in a position to guess channel-
+ binding information provided by another party.
+
+10. Operations and Management Considerations
+
+ As with any extension to existing protocols, there will be an impact
+ on existing systems. Typically, the goal is to develop an extension
+ that minimizes the impact on both development and deployment of the
+ new system, subject to the system requirements. This section
+ discusses the impact on existing devices that currently utilize EAP,
+ assuming the channel-binding information is transported within the
+ EAP method execution.
+
+ The EAP peer will need an API between the EAP lower layer and the EAP
+ method that exposes the necessary information from the NAS to be
+ validated to the EAP peer, which can then feed that information into
+ the EAP methods for transport. For example, an IEEE 802.11 system
+ would need to make available the various information elements that
+ require validation to the EAP peer, which would properly format them
+ and pass them to the EAP method. Additionally, the EAP peer will
+ require updated EAP methods that support transporting channel-binding
+ information. While most method documents are written modularly to
+ allow incorporating arbitrary protected information, implementations
+ of those methods would need to be revised to support these
+ extensions. Driver updates are also required so methods can access
+ the required information.
+
+ No changes to the pass-through authenticator would be required.
+
+ The EAP server would need an API between the database storing NAS
+ information and the individual EAP server. The database may already
+ exist on the AAA server, in which case the EAP server passes the
+ parameters to the AAA server for validation. The EAP methods need to
+ be able to export received channel-binding information to the EAP
+ server so it can be validated.
+
+11. IANA Considerations
+
+ A new top-level registry has been created for "Extensible
+ Authentication Protocol (EAP) Channel Binding Parameters". This
+ registry consists of several sub-registries.
+
+
+
+
+
+
+Hartman, et al. Standards Track [Page 25]
+
+RFC 6677 EAP Channel Binding July 2012
+
+
+ The "EAP Channel-Binding Codes" sub-registry defines values for the
+ code field in the channel-binding data and channel-binding response
+ packet. See the table in Section 5.3.1 for initial registrations.
+ This registry requires Standards Action [RFC5226] for new
+ registrations. Early allocation [RFC4020] is allowed. An additional
+ reference column has been added to the table for the registry,
+ pointing all codes in the initial registration to this specification.
+ Valid values in this sub-registry range from 0-255; 0 is reserved.
+
+ The "EAP Channel-Binding Namespaces" sub-registry contains
+ registrations for the NSID field in the channel-binding data and
+ channel-binding response. Initial registrations are found in the
+ table in Section 5.3.2. Registrations in this registry require IETF
+ Review. Valid values range from 0-255; 0 is reserved. As with the
+ "EAP Channel-Binding Codes" sub-registry, a reference column has been
+ included to point to this document for initial registrations.
+
+11.1. EAP Lower Layers Registry
+
+ A new sub-registry in the EAP Numbers registry at
+ http://www.iana.org/assignments/eap-numbers has been created for EAP
+ Lower Layers. Registration requires Expert Review [RFC5226]; the
+ primary role of the expert is to prevent multiple registrations for
+ the same lower layer.
+
+ The following table gives the initial registrations for this
+ registry.
+
+ +-------+----------------------------------------+
+ | Value | Lower Layer |
+ +-------+----------------------------------------+
+ | 1 | Wired IEEE 802.1X |
+ | 2 | IEEE 802.11 (no-pre-auth) |
+ | 3 | IEEE 802.11 (pre-authentication) |
+ | 4 | IEEE 802.16e |
+ | 5 | IKEv2 |
+ | 6 | PPP |
+ | 7 | PANA (no pre-authentication) [RFC5191] |
+ | 8 | GSS-API [GSS-API-EAP] |
+ | 9 | PANA (pre-authentication) [RFC5873] |
+ +-------+----------------------------------------+
+
+11.2. RADIUS Registration
+
+ A new RADIUS attribute is registered with the name EAP-Lower-Layer;
+ 163. The RADIUS attributes are in the registry at
+ http://www.iana.org/assignments/radius-types.
+
+
+
+
+Hartman, et al. Standards Track [Page 26]
+
+RFC 6677 EAP Channel Binding July 2012
+
+
+12. Acknowledgments
+
+ The authors and editor would like to thank Bernard Aboba, Glen Zorn,
+ Joe Salowey, Stephen Hanna, and Klaas Wierenga for their valuable
+ inputs that helped to improve and shape this document over the time.
+
+ Sam Hartman's work on this specification is funded by JANET(UK).
+
+ The EAP-Lower-Layer attribute was taken from "RADIUS Attributes for
+ IEEE 802 Networks" [RADIUS-WLAN].
+
+13. References
+
+13.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.
+
+ [RFC4020] Kompella, K. and A. Zinin, "Early IANA Allocation of
+ Standards Track Code Points", BCP 100, RFC 4020,
+ February 2005.
+
+ [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing
+ an IANA Considerations Section in RFCs", BCP 26,
+ RFC 5226, May 2008.
+
+13.2. Informative References
+
+ [AAA-PAY] Clancy, T., Lior, A., Ed., Zorn, G., and K. Hoeper,
+ "EAP Method Support for Transporting AAA Payloads",
+ Work in Progress, May 2010.
+
+ [GSS-API-EAP] Hartman, S., Ed. and J. Howlett, "A GSS-API Mechanism
+ for the Extensible Authentication Protocol", Work in
+ Progress, June 2012.
+
+ [HC07] Hoeper, K. and L. Chen, "Where EAP Security Claims
+ Fail", Institute for Computer Sciences, Social
+ Informatics and Telecommunications Engineering
+ (ICST), The Fourth International Conference on
+ Heterogeneous Networking for Quality, Reliability,
+ Security and Robustness (QShine 2007), August 2007.
+
+
+
+
+
+Hartman, et al. Standards Track [Page 27]
+
+RFC 6677 EAP Channel Binding July 2012
+
+
+ [RADIUS-WLAN] Aboba, B., Malinen, J., Congdon, P., and J. Salowey,
+ "RADIUS Attributes for IEEE 802 Networks", Work in
+ Progress, October 2011.
+
+ [RFC4017] Stanley, D., Walker, J., and B. Aboba, "Extensible
+ Authentication Protocol (EAP) Method Requirements for
+ Wireless LANs", RFC 4017, March 2005.
+
+ [RFC5056] Williams, N., "On the Use of Channel Bindings to
+ Secure Channels", RFC 5056, November 2007.
+
+ [RFC5191] Forsberg, D., Ohba, Y., Patil, B., Tschofenig, H., and
+ A. Yegin, "Protocol for Carrying Authentication for
+ Network Access (PANA)", RFC 5191, May 2008.
+
+ [RFC5296] Narayanan, V. and L. Dondeti, "EAP Extensions for EAP
+ Re-authentication Protocol (ERP)", RFC 5296,
+ August 2008.
+
+ [RFC5873] Ohba, Y. and A. Yegin, "Pre-Authentication Support for
+ the Protocol for Carrying Authentication for Network
+ Access (PANA)", RFC 5873, May 2010.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Hartman, et al. Standards Track [Page 28]
+
+RFC 6677 EAP Channel Binding July 2012
+
+
+Appendix A. Attacks Prevented by Channel Bindings
+
+ In the following appendix, it is demonstrated how the presented
+ channel bindings can prevent attacks by malicious authenticators
+ (representing the "lying NAS" problem) as well as malicious visited
+ networks (representing the "lying provider" problem). This document
+ only provides part of the solution necessary to realize a defense
+ against these attacks. In addition, lower-layer protocols need to
+ describe what attributes should be included in channel-binding
+ requests. EAP methods need to be updated in order to describe how
+ the channel-binding request and response are carried. In addition,
+ deployments may need to decide what information is populated in the
+ local database. The following sections describe types of attacks
+ that can be prevented by this framework with appropriate lower-layer
+ attributes carried in channel bindings, EAP methods with channel-
+ binding support, and appropriate local database information at the
+ EAP server.
+
+A.1. Enterprise Subnetwork Masquerading
+
+ As outlined in Section 3, an enterprise network may have multiple
+ VLANs providing different levels of security. In an attack, a
+ malicious NAS connecting to a guest network with lesser security
+ protection could broadcast the SSID of a subnetwork with higher
+ protection. This could lead peers to believe that they are accessing
+ the network over secure connections and, e.g., transmit confidential
+ information that they normally would not send over a weakly protected
+ connection. This attack works under the conditions that peers use
+ the same set of credentials to authenticate to the different kinds of
+ VLANs and that the VLANs support at least one common EAP method. If
+ these conditions are not met, the EAP server would not authorize the
+ peers to connect to the guest network, because the peers used
+ credentials and/or an EAP method that is associated with the
+ corporate network.
+
+A.2. Forced Roaming
+
+ Mobile phone providers boosting their cell towers' transmission power
+ to get more users to use their networks have occurred in the past.
+ The increased transmission range combined with a NAS sending a false
+ network identity lures users to connect to the network without being
+ aware that they are roaming.
+
+ Channel bindings would detect the bogus network identifier because
+ the network identifier sent to the authentication server in i1 will
+ match neither information i2 nor the stored data. The verification
+ fails because the info in i1 claims to come from the peer's home
+ network, while the home authentication server knows that the
+
+
+
+Hartman, et al. Standards Track [Page 29]
+
+RFC 6677 EAP Channel Binding July 2012
+
+
+ connection is through a visited network outside the home domain. In
+ the same context, channel bindings can be utilized to provide a "home
+ zone" feature that notifies users every time they are about to
+ connect to a NAS outside their home domain.
+
+A.3. Downgrading Attacks
+
+ A malicious authenticator could modify the set of offered EAP methods
+ in its beacon to force the peer to choose from only the weakest EAP
+ method(s) accepted by the authentication server. For instance,
+ instead of having a choice between the EAP MD5 Challenge Handshake
+ Authentication Protocol (EAP-MD5-CHAP), the Flexible Authentication
+ via Secure Tunneling EAP (EAP-FAST), and some other methods, the
+ authenticator reduces the choice for the peer to the weaker EAP-MD5-
+ CHAP method. Assuming that weak EAP methods are supported by the
+ authentication server, such a downgrading attack can enable the
+ authenticator to attack the integrity and confidentiality of the
+ remaining EAP execution and/or break the authentication and key
+ exchange. The presented channel bindings prevent such downgrading
+ attacks, because peers submit the offered EAP method selection that
+ they have received in the beacon as part of i1 to the authentication
+ server. As a result, the authentication server recognizes the
+ modification when comparing the information to the respective
+ information in its policy database. This presumes that all
+ acceptable EAP methods support channel binding and that an attacker
+ cannot break the EAP method in real-time.
+
+A.4. Bogus Beacons in IEEE 802.11r
+
+ In IEEE 802.11r, the SSID is bound to the TSK calculations, so that
+ the TSK needs to be consistent with the SSID advertised in an
+ authenticator's beacon. While this prevents outsiders from spoofing
+ a beacon, it does not stop a "lying NAS" from sending a bogus beacon
+ and calculating the TSK accordingly.
+
+ By implementing channel bindings, as described in this document, in
+ IEEE 802.11r, the verification by the authentication server would
+ detect the inconsistencies between the information the authenticator
+ has sent to the peer and the information the server received from the
+ authenticator and stores in the policy database.
+
+A.5. Forcing False Authorization in IEEE 802.11i
+
+ In IEEE 802.11i, a malicious NAS can modify the beacon to make the
+ peer believe it is connected to a network different from the one the
+ peer is actually connected to.
+
+
+
+
+
+Hartman, et al. Standards Track [Page 30]
+
+RFC 6677 EAP Channel Binding July 2012
+
+
+ In addition, a malicious NAS can force an authentication server into
+ authorizing access by sending an incorrect Called-Station-ID that
+ belongs to an authorized NAS in the network. This could cause the
+ authentication server to believe it had granted access to a different
+ network or even provider than the one the peer got access to.
+
+ Both attacks can be prevented by implementing channel bindings,
+ because the server can compare the information sent to the peer, the
+ information it received from the authenticator during the AAA
+ communication, and the information stored in the policy database.
+
+Authors' Addresses
+
+ Sam Hartman (editor)
+ Painless Security
+ 356 Abbott St.
+ North Andover, MA 01845
+ USA
+
+ EMail: hartmans-ietf@mit.edu
+
+
+ T. Charles Clancy
+ Virginia Polytechnic Institute and State University
+ Electrical and Computer Engineering
+ 900 North Glebe Road
+ Arlington, VA 22203
+ USA
+
+ EMail: tcc@vt.edu
+
+
+ Katrin Hoeper
+ Motorola Solutions, Inc.
+ 1301 E. Algonquin Road
+ Schaumburg, IL 60196
+ USA
+
+ EMail: khoeper@motorolasolutions.com
+
+
+
+
+
+
+
+
+
+
+
+
+Hartman, et al. Standards Track [Page 31]
+