Overview I have read this document and have found several major issues with it. 
 As a result,I don't think it is currently suitable for adoption of an EMU WG 
work item.  Issues:  a. Mistatement of the 'Lying NAS' problem.   The 'Lying 
NAS' problem does not just concern the issue of whether the authenticatorgives 
different information to the peer and the server;  it also relates to the 
ability of the server to verify that the information is actually correct.  The 
document does not refer to the necessity of first-hop verification of the 
information provided by the authenticator, such as the mapping between 
theNAS-Identification attributes and the source address.   The need for 
verification impacts the trust model in some major ways, sincenot only does the 
authentication server need to trust that the authenticatorattributes have not 
been modified along the path -- it also needs to trust thatthe first hop was 
configured to check the validity of attributes that only it cancheck.   For 
example, it's not much help for the AAA Server to verify that the RSN 
IEprovided to the STA is the same one it got from the AP if there is no way 
ofverifying whether the AP actually was configured to emit that RSN IE.  b. 
Lack of applicability to the roaming case.  The document states that Channel 
Bindings only apply to the non-roaming case. I'm not sure why this restriction 
is mentioned because the issue of verificationis present even within a single 
domain.   c. Discussion of 'fuzzy' comparisions.  By their nature, Channel 
Bindings may includeinformation that may be opaque to the AAA server, such as 
the RSN IE.  Given thatthe AAA server may not be capable of understanding the 
contents of the attributes,I question whether the concept of 'fuzzy 
comparisons' makes sense.  Rather, I thinkwe need to assume that a AAA server 
will probably only be capable of 'byte by byte'comparisons in most cases.  This 
is an important issue, because it affects the structureof data that needs to be 
provided by the client, and avoid potential 'canonicalization'issues that could 
greatly complicate the successful implementation of channel bindings.  d. 
Discussion of lower layer channel bindings.  The document does not discuss the 
potential use of channel bindings in lower layers suchas IEEE 802.11r.  I think 
that this is important since lower layers such as 11r do bind EAPkeying 
material to lower layer parameters (such as the peer and authenticator MAC 
address). Thus, lower layer channel bindings is an alternative that should be 
discussed.  e. Development of requirements.  If this document is going to 
include an evaluation ofalternative approaches, then it needs to clearly 
articulate the requirements for such anevaluation.  f. Clear distinction 
between RFC 5056 and 3748 channel binding concepts.  The currentdocument is not 
as clear as it could be on this.  The RFC 5056 channel binding conceptis closer 
to that of 'cryptographic binding' than it is to EAP channel bindings.  This 
shouldbe made clear.  g. Exploration of operations implications.  There are a 
number of barriers to successfulimplementation of channel bindings that need to 
be explored, including: 1. Required configuration for first-hop AAA clients. 2. 
Potential changes to drivers and AAA servers. 3. Potential impacts on 
authentication reliability.  h. Motivation.  Why should we care about Channel 
Bindings?  Given the operational costsI'd suggest that the document needs to 
make a case that there is a potentially serioussecurity vulnerability here.  
Such a case probably involves some kind of financial fraudissue which is most 
likely in a roaming situation - which is unfortunately a scenario that 
thedocument rules out of scope.   Some specific comments.  
============================ Abstract   This document defines how to implement 
channel bindings for   Extensible Authentication Protocol (EAP) methods. [BA] 
I'd add a definition of the problem to the abstract goals.  Section 1   A 
well-documented problem with the current Extensible Authentication   Protocol 
(EAP) architecture [RFC3748] when used in pass-through   authenticator mode is 
the so-called 'lying NAS' problem.  Here, a   Network Access Server (NAS), or 
pass-through authenticator, may   authenticate to the backend AAA 
infrastructure using one set of   credentials, while representing contrary 
information to EAP clients. [BA] The 'lying NAS' problem is not really about 
credentials, since in RADIUS the identity of a RADIUS client is defined by its 
IP address.Rather, the issue is providing different *information* 
(e.g.Called-Station-Id, NAS-Identifier, etc.) to the peer and AAA server.     A 
concrete example of this may be an IEEE 802.11 access point with a   security 
association to a particular AAA server.  While there may be   some identity 
tied to that security association, there's no reason   the access point need 
advertise the same identity to clients.   [BA] The identity used in the AAA 
server security association and theone advertised to clients do not necessary 
have to agree, even if theNAS is not lying.     In   fact, it may include 
whatever information in its beacons (to include   different SSID or security 
properties) it desires.  This could lead   to situations where, for example, a 
client joins one network that's   masquerading as another. [BA] The SSID is a 
good example, but the 'security properties' (e.g. RSN IE)are not provided to 
the AAA server.  Therefore it isnot possible for a NAS to 'lie' to the AAA 
server about the RSN IE itsent in a Beacon.    Channel bindings [RFC5056] seek 
to enforce a stronger security   relationship between the three entities, by 
allowing the client and   server to compare their relative perception of the 
authenticator's   identity in a secure channel.  [BA] RFC 5056 specifically 
states that it does not apply to EAP, andthat the use of the term 'Channel 
Bindings' is not the same as theone used in EAP.  As a result, I'd recommend 
deleting the aboveparagraph or clarifying the relationship.     This document 
defines how to use 'AAA   Payloads' [I-D.clancy-emu-aaapay] within EAP methods 
to implement   channel bindings.  Unlike [RFC5056], channel binding in EAP 
context   does not ensure binding different layers of a session but rather the  
 information advertized to client and authentication server by an   
authenticator acting as pass-through device during an EAP session. [BA] You 
might say that 'Channel Bindings' in RFC 5056 corresponds tothe term 
'cryptographic binding' in EAP.     It is preferable to use this idea, rather 
than hashing identity   information directly into keys, for a number of 
reasons:   o  It allows for fuzzy comparisons of entity names, rather than      
requiring absolute.  This can facilitate deployment and debugging. [BA] Not 
sure this is convincing because it's doubtful whether'fuzzy comparisons' are 
implementable in the alternative approach either. Wouldn't this require the AAA 
server to be able to parse the attributesand 'understand' them in some deep 
manner?     o  Any EAP method that provides mutual authentication and key      
derivation can easily add channel binding as proposed in this      draft.  On 
the other hand, including identities into key      derivations requires the 
modification of EAP methods.  For      instance, many EAP methods specify how 
MSK and other keying      material is derived and adding channel binding by 
adding      identifiers would need to be specified for each method      
individually. [BA] I think you are making assumptions about how the keys are 
mixed inthat may not necessarily be valid.  For example, couldn't the 
mixingoccur in a lower layer rather than in the EAP method?  A more validreason 
would be that EAP methods need to be lower layer independent,whereas Channel 
Bindings often are not -- so that mixing them intoEAP keying material could be 
an issue.  However, this argument wouldnot hold for mixing that occurs in a 
lower layer.  This practice isalready incorporated into lower layer 
specifications such as IEEE 802.11r.    o  Client and authentication server may 
communicate on different      layers with the authenticator and thus receive 
different      identifiers that may belong to the same device.  A server may be 
     able to recognize which different identifiers belong to the same      
device (e.g. by performing a table look up).  This scenario cannot      be 
solved by hashing identities into keys. [BA] I think what you're trying to say 
here is that the set of channelbindings may vary between authenticator 
implementations, no? 4.  Trust Model [BA] I think that you need to include this 
introduction earlier in thedocument.     Channel bindings are always provided 
between two communication   endpoints, i.e. here between client and server, who 
communicate   through an authenticator in pass-trough mode (as illustrated in   
Figure 1).  Channel binding prevents attacks by rogue authenticators   in 
pass-trough mode (see Example Attacks).  Clancy & Hoeper          Expires 
August 21, 2008                [Page 4]Internet-Draft                 
EAP-CHBIND                  February 2008                         
---------------------------------------------     --------   info1   |   
-------------     info2     -----------   |    |EAP peer| <--------|  
|Authenticator| ----------> |Auth.Server|  |     --------           |   
-------------               -----------   |       |                |            
                         |       |       |                |                 
Home Domain         |       |       |                 
---------------------------------------------       |                           
                           |       |                                            
          |       |                     Channel binding                  |      
 |<---------------------------------------------------->|                   
Figure 1: Overview of Channel Binding [BA] There is an important piece missing 
from this picture -- theneed of the first hop proxy to check the *correctness* 
of the informationpassed by the authenticator.  For example, only the first hop 
can checkif the NAS-Identifier attribute actually corresponds to the source 
IPaddress of the authenticator; downstream proxies or servers cannot checkthis, 
since the information will have been 'laundered' by the time itreaches them.    
 During an EAP execution, an authenticator presents information info1   and 
info2 to client and server, respectively.  Such information can   include the 
authenticator's identifier/address and/or advertised   network information 
(such as offered services and billing   information).  To prevent attacks by 
rogue authenticators, the server   must be able to recognize any 
inconsistencies in info1 and info2.   Therefore, the client sends info1 to the 
server and upon performing   an inconsistency check, the server notifies the 
client about the   result.  Only in case of a positive result, channel binding 
is   provided and the EAP session continues.  Note that under some   
circumstances, the client could be able to check for inconsistencies;   however 
the check is generally easier to implement on the server.   The trust model for 
channel binding consists of three parties, namely   a client, an authentication 
server and an authenticator in pass-   through mode as illustrated in Figure 1. 
 In this trust model, client   and authentication server are honest while the 
authenticator is   maliciously sending false information to client and/or 
server.  The   three parties have the following trust relationships:   o  The 
server trusts that the channel binding information received      from the 
client is the information that the client received from      the authenticator 
(i.e. info1)   o  The client trusts the channel binding result received from 
the      server   o  The server trusts the identifier received from the 
authenticator [BA] The first hop cannot just trust the identifer received from 
the authenticator -- it is *required*  that it be able to verify it, based on 
configuration.    Note that the model includes all cases in which authenticator 
and   authentication server communicate over one or more intermediate nodes   
as long as 1) these nodes only forward the messages (e.g. routers)   and 2) 
authenticator and server communicate using an end-to-end   protocol (e.g.  
AAA).  However, roaming scenarios with proxies are   out of the scope of this 
document. [BA] Roaming scenarios are actually quite central to the problem 
statementbecause almost all the severe security vulnerabilities relate to 
roaming in some way.  ______________________



 EMAILING FOR THE GREATER GOOD
_______________________________________________
Emu mailing list
Emu@ietf.org
https://www.ietf.org/mailman/listinfo/emu

Reply via email to