ietf
[Top] [All Lists]

RE: [HOKEY] Last Call: draft-ietf-hokey-erx (EAP Extensions for EAP Re-authentication Protocol (ERP)) to Proposed Standard

2008-02-05 15:25:41
 

-----Original Message-----
From: Dan Harkins [mailto:dharkins(_at_)lounge(_dot_)org] 
Sent: Tuesday, February 05, 2008 12:23 PM
To: Joseph Salowey (jsalowey)
Cc: Dan Harkins; ietf(_at_)ietf(_dot_)org; hokey(_at_)ietf(_dot_)org
Subject: RE: [HOKEY] Last Call: draft-ietf-hokey-erx (EAP 
Extensions for EAP Re-authentication Protocol (ERP)) to 
Proposed Standard


  So there's something else besides key name that is used to 
identify keys. Great, so that means these hashed key names 
are unnecessary. No need to do HMAC-SHA256 to generate a 
random string, throw away 3/4 of that result and come up with 
something that is unusable.

  Let's get rid of this stuff since it serves no useful 
purpose and is computationally expensive.

[Joe] That something else mat not be sufficient to disambiguate keys.
For example if MAC address or username is used it is possible that there
is more than one session with that entity. 
 
  Yes, EAP Session ID (or Username, as Glen suggests) will be 
hashed. So if you have an rIK and an rRK and 5 or 6 rMSKs all 
derived from the same EMSK then the EAP Session ID (or 
Username, as Glen suggests) that identifies that EMSK can be 
used as the index in the hash table and all the derivatives 
are guaranteed to end up in the same bucket. You look up 
based on an identifier on the root and everything is right 
there in your hands. If the namespace is completely flat then 
searching for all related keys is a pain.

  Dan.

On Tue, February 5, 2008 12:02 pm, Joseph Salowey (jsalowey) wrote:
There is nothing in the document that says you must index 
keys only by 
key id.  I don't really understand the problem here, there is other 
context associated with a key besides a name that can be used for 
indexing.  The key name provides a fixed length unique 
identifier for 
the key.  EAP Session-ID is not fixed length and can be 
awkward to use 
in protocols, most likely you will end up hashing it anyway.

Joe

-----Original Message-----
From: ietf-bounces(_at_)ietf(_dot_)org 
[mailto:ietf-bounces(_at_)ietf(_dot_)org] 
On Behalf 
Of Dan Harkins
Sent: Friday, February 01, 2008 5:46 PM
To: Dan Harkins
Cc: ietf(_at_)ietf(_dot_)org; hokey(_at_)ietf(_dot_)org
Subject: Re: [HOKEY] Last Call: draft-ietf-hokey-erx (EAP 
Extensions 
for EAP Re-authentication Protocol (ERP)) to Proposed Standard


  Hello again,

  Pardon my repetition but I have come up with a very valid reason 
why naming keys using HMAC-SHA-256 is a bad idea.

  If one wants to administratively remove all keys in a particular 
key hierarchy (which seems like an entirely reasonable 
request) one 
must do a linear search of all keys in all key hierarchies that a 
particular server maintains!
This is because HMAC-SHA-256 has mapped all identifying key 
information for all key hierarchies to the same name space.
It precludes using something like a hash table for fast 
lookup of all 
related keys.

  If keys were named by concatenating the EAP Session-ID with a 
string that identified the particular key in the key 
hierarchy rooted 
at the MK derived in that EAP Session-ID then the EAP Session-ID 
could be used as an index into a hash table and all keys for that 
particular key hierarchy could be looked up very efficiently.

  regards,

  Dan.

On Fri, February 1, 2008 5:16 pm, Dan Harkins wrote:

  Hello,

  I believe this is a well organized and complete document. On 
numerous occasions while reviewing it I made a mental question 
regarding something only to have the question answered in a
subsequent
paragraph.

  I do have several comments though:

 1. this protocol can be used in the presence of AAA proxies. Due
    to the nature of AAA proxies a peer or authenticator may not
    even know whether they are part of the communication chain.
    Therefore, from the view of a security threat their presence
    must be assumed by the peer and authenticator.

    The Domain referred to in section 2 (part of the EMSK key
    hierarchy draft) specifically allows for proxies as part of
    the distributed system of computers that define the Domain.

    This brings up many significant issues that are not addressed
    in this draft.

    - It cannot be claimed that a key is being bound to its
      context when the context cannot even be scoped. (Section 6)

    - The domino effect is not prevented because compromise of a
      proxy will compromise keying material on (other)
authenticators.

    - A pairwise key is being given by one of the entities
that share
      it, e.g. the server, to a 3rd entity, e.g. a proxy,
without the
      consent of the other peer that shares the key, 
e.g. the peer.
      This brings up security considerations that are 
not discussed.

    - During discussions at a HOKEY meeting and on the list
the rationale
      that justified proxies was that the peer is more
concerned about
      receiving network access (which is confirmed in the
ERP document
      when it says, "The primary purpose [of ERP] is 
network access
      control.") than about specifically authenticating
"the network".
      Provided that service is obtained with no surprises
in the bill at
      the end of the month the rationale was that the peer
didn't care
      if the key was distributed to proxies if it was 
necessary to
      continue to provide network access. Which is a
reasonable rationale.
      But it needs to be mentioned in this document. It 
has a unique
      threat model that is not discussed anywhere.

    - The aforementioned rationale begs the question of why have
      "Domain Specific Keys". If the peer doesn't care
whether proxies
      have a key, potentially for a different domain, then
it doesn't
      care about key separation between domains. This is 
significant
      added complexity for no benefit.

    - RFC4962 REQUIRES things-- bind key to its context, 
prevent the
      domino effect-- that ERP cannot support. ERP is a AAA key
      management protocol though and falls under the scope
of RFC4962.
      There needs to be justification for why ERP is not 
meeting the
      mandatory requirements of RFC4962.

  I think all of these issues need addressing before
advancement of this
  Internet-Draft.

 2. Inter-Domain ERP

  It is this reviewers recollection that consensus was
reached in HOKEY
  to require a peer to reauthenticate back to the home AAA
server every
  time it attached to a POP in different domain.

  Therefore, I wonder why a "Domain-Specific" key, the
DSRK, and all it's
  progeny-- DS-rIK, DS-rRK, DSUSRK, etc.-- continue to be
used by this
  protocol. A "HOKEY-KEY", a USRK, should be derived 
from the EMSK
  and that is the key given, through proxies if need be, 
to the ER
  server in the visited domain. If the peer goes to a
different domain
  then it does a full reauthentication resulting in a _new_
USRK, that
  has no relation to the previous USRK, being given to 
the ER server
  in the new domain. Again, it was my understanding that 
the group
  already reached consensus on this matter.

 3. HMAC-SHA256 as a key naming technique

  SHA-256 is a computationally intensive operation;
HMAC-SHA256 doubly
  so. There should, therefore, be some justification to 
use such a
  strong cryptographic mixing function if all one wants to do is
  "uniquely name a key". EAP methods export a 
Session-ID. An rIK can
  be named by the concatenation of Session-ID and "rIK".
Similarly for
  the rMSK, rRK and the other keys being generated in ERP.

  This has the added benefit of allowing for key management
to quickly
  identify keys based on common queries-- all the keys for
a specific
  Session-ID, or all rIKs held by a particular entity. By using a
  strong cryptographic mixing function all specificity of
the key names
  has been lost across every single key hierarchy that a
HOKEY server
  may end up managing.

  This is a really bad idea and it should be changed before this
  Internet-Draft is advanced.

 4. Section 5.3.2 EAP-Initiate/Re-Auth Packet

  This packet has the following field:

     +-+-+-+-+-+-+-+-+
     |R|B|L| Reserved|
     +-+-+-+-+-+-+-+-+

   And "R" is, itself, reserved. This makes no sense. Please << 1
   this field.

  regards,

  Dan.




_______________________________________________
HOKEY mailing list
HOKEY(_at_)ietf(_dot_)org
http://www.ietf.org/mailman/listinfo/hokey



_______________________________________________
Ietf mailing list
Ietf(_at_)ietf(_dot_)org
http://www.ietf.org/mailman/listinfo/ietf





_______________________________________________
Ietf mailing list
Ietf(_at_)ietf(_dot_)org
http://www.ietf.org/mailman/listinfo/ietf

<Prev in Thread] Current Thread [Next in Thread>