List Info

Thread: Re: Issue 392: Authorization Issues




Re: Issue 392: Authorization Issues
country flaguser name
United States
2007-02-06 02:18:13
OK.  I've gone through the -06 "Guidelines"
document and attempted to sync 
up the requirements with those in this document.  In some
cases, the 
"Guidelines" requirements text has changed
significantly from earlier drafts 
(e.g. the context binding text is much more explicit).

In doing the sync, I noticed that Section 5 did not include
a section on Key 
Naming, so I added a small section on that.   Since the
purpose of Section 5 
was to describe how the requirements are met, each
second-level section now 
includes a Requirements statement, and all the requirements
of the 
"Guidelines" document Section 3 are now included.

Find below an updated Section 5.  Hopefully this
re-organization more 
clearly delineates the requirements and their relationship
to the 
explanatory text.

------------------------------------------------------------
------------------------------------------------------------
------------
5.  Security Considerations

   The EAP threat model is described in [RFC3748] Section
7.1.  The
   security properties of EAP methods (known as
"security claims") are
   described in [RFC3748] Section 7.2.1.  EAP method
requirements for
   applications such as Wireless LAN authentication are
described in
   [RFC4017].  The RADIUS threat model is described in
[RFC3579] Section
   4.1, and responses to these threats are described in
[RFC3579]
   Sections 4.2 and 4.3.

   However, in addition to threats against EAP and AAA,
there are other
   system level threats.  In developing the threat model, it
is assumed
   that:

    All traffic is visible to the attacker.
    The attacker can alter, forge or replay messages.
    The attacker can reroute messages to another principal.
    The attacker may be a principal or an outsider.
    The attacker can compromise any key that is sufficiently
old.

   Threats arising from these assumptions include:

(a)  An attacker may compromise or steal an EAP peer or
authenticator,
     in an attempt to gain access to other EAP peers or
authenticators
     or to obtain long-term secrets.

(b)  An attacker may attempt a downgrade attack in order to
exploit
     known weaknesses in an authentication method or
cryptographic
     algorithm.

(c)  An attacker may try to modify or spoof packets,
including Discovery
     or Secure Association Protocol frames, EAP or AAA
packets.

(d)  An attacker may attempt to induce an EAP peer,
authenticator or
     server to disclose keying material to an unauthorized
party, or
     utilize keying material outside the context that it was
intended
     for.

(e)  An attacker may alter, forge or replay packets.

(f)  An attacker may cause an EAP peer, authenticator or
server to reuse
     an stale key.  Use of stale keys may also occur
unintentionally.
     For example, a poorly implemented backend
authentication server may



Aboba, et al.                Standards Track                
  [Page 43]

INTERNET-DRAFT        EAP Key Management Framework       6
February 2007


     provide stale keying material to an authenticator, or a
poorly
     implemented authenticator may reuse nonces.

(g)  An authenticated attacker may attempt to obtain
elevated privilege
     in order to access information that it does not have
rights to.

(h)  An attacker may attempt a man-in-the-middle attack in
order to gain
     access to the network.

(i)  An attacker may compromise an EAP authenticator in an
effort to
     commit fraud.  For example, a compromised authenticator
may provide
     incorrect information to the EAP peer and/or server via
out-of-band
     mechanisms (such as via a AAA or lower layer protocol).
 This
     includes impersonating another authenticator, or
providing
     inconsistent information to the peer and EAP server.

(j)  An attacker may launch a denial of service attack
against the EAP
     peer, authenticator or backend authentication server.

   In order to address these threats,
[I-D.housley-aaa-key-mgmt] Section
   3 provides a description of mandatory system security
properties.
   These requirements are discussed in the sections that
follow.

5.1.  Peer and Authenticator Compromise

   Requirement: In the event that an authenticator is
compromised or
   stolen, an attacker may gain access to the network
through that
   authenticator, or may obtain the credentials required for
the
   authenticator/AAA client to communicate with one or more
backend
   authentication servers.  Compromise of a single
authenticator MUST
   NOT compromise keying material held by any other
authenticator within
   the system, and SHOULD NOT allow the attacker to
compromise the
   backend authentication server or obtain long-term user
credentials.
   Compromise of a single peer MUST NOT compromise keying
material held
   by any other peer within the system, including session
keys and long-
   term keys.  In the context of a key hierarchy, the
compromise of one
   node in the key hierarchy MUST NOT disclose the
information necessary
   to compromise other branches in the key hierarchy. 
Obviously, the
   compromise of the root of the key hierarchy will
compromise all of
   the keys; however, a compromise in one branch MUST NOT
result in the
   compromise of other branches.  There are many
implications of these
   requirements; however, two implications deserve
highlighting.  First,
   the scope of the keying material must be defined and
understood by
   all parties that communicate with a party that holds that
keying
   material.  Second, a party that holds keying material in
a key
   hierarchy MUST NOT share that keying material with
parties that are
   associated with other branches in the key hierarchy.

   Some of the implications of the requirement are as
follows:

No Key Sharing
     An EAP authenticator MUST NOT share any keying material
with
     another EAP authenticator, since if one EAP
authenticator were
     compromised, this would enable the compromise of keying
material on
     another authenticator.  In order to be able to
determine whether
     keying material has been shared, it is necessary for
the identity
     of the EAP authenticator to be defined and understood
by all
     parties that communicate with it.  Similarly, an EAP
peer MUST NOT
     share any keying material with another EAP peer.

No AAA Credential Sharing
     AAA credentials (such as RADIUS shared secrets, IPsec
pre-shared
     keys or certificates) MUST NOT be shared between AAA
clients, since
     if one AAA client were compromised, this would enable
an attacker
     to impersonate other AAA clients to the backend
authentication
     server, or even to impersonate a backend authentication
server to
     other AAA clients.

No Compromise of Long-Term Credentials
     An attacker obtaining TSKs, TEKs or EAP keying material
such as the
     MSK MUST NOT be able to obtain long-term user
credentials such as
     pre-shared keys, passwords or private-keys without
breaking a
     fundamental cryptographic assumption.

5.2.  Cryptographic Negotiation

   Requirement: The ability to negotiate cryptographic
algorithms
   resilience against compromise of a particular algorithm. 
This is
   usually accomplished by including an algorithm identifier
and
   parameters in the protocol, and by specifying the
algorithm
   requirements in the protocol specification.  While highly
desirable,
   the ability to negotiate key derivation functions (KDFs)
is not
   required.  For interoperability, at least one suite of
mandatory-to-
   implement algorithms MUST be selected.  The selection of
the "best"
   cryptographic algorithm SHOULD be securely confirmed. 
The mechanism
   SHOULD detect attempted roll back attacks.

   EAP methods satisfying [RFC4017] requirements and AAA
protocols
   utilizing transmission layer security are capable of
addressing
   downgrade attacks.  [RFC3748] Section 7.2.1 describes the
"protected
   ciphersuite negotiation" security claim that refers
to the ability of
   an EAP method to negotiate the ciphersuite used to
protect the EAP
   method conversation, as well as to integrity protect the
ciphersuite
   negotiation.  [RFC4017] requires EAP methods satisfying
this security
   claim.  However, EAP methods may not enable the
negotiation of all
   cryptographic algorithms, such as Key Distribution
Functions (KDFs).

   Diameter [RFC3588] provides support for cryptographic
algorithm
   negotiation via use of IPsec [RFC4301] or TLS [RFC4346]. 
RADIUS
   [RFC3579] does not support the negotiation of
cryptographic
   algorithms, and relies on MD5 for integrity protection,
   authentication and confidentiality, despite known
weaknesses in the
   algorithm [MD5Collision].  This issue can be addressed
via use of
   RADIUS over IPsec, as described in [RFC3579] Section 4.2.
 However,
   TLS and IKEv2 currently do not enable negotiation of the
Key
   Distribution Function (KDF).

   To ensure against downgrade attacks within lower layer
protocols,
   algorithm independence is REQUIRED with lower layers
using EAP for
   key derivation.  For interoperability, at least one suite
of
   mandatory-to-implement algorithm MUST be selected.  Lower
layer
   protocols supporting EAP for key derivation SHOULD also
support
   secure ciphersuite negotiation.  As described in
[RFC1968], PPP ECP
   does not provide support for secure ciphersuite
negotiation.  While
   [IEEE-802.16e] and [IEEE-802.11i] support selection of
ciphersuites
   for protection of data, they do not support negotiation
of the
   cryptographic primitives used within the Secure
Association Protocol,
   such as message integrity checks (MICs) and KDFs.

5.3.  Confidentiality and Authentication

   Requirement: Each party in the EAP, AAA and Secure
Association
   Protocol conversations MUST be authenticated to the other
parties
   with whom they communicate.  Authentication mechanisms
MUST maintain
   the confidentiality of any secret values used in the
authentication
   process.  When a Secure Association Protocol is used to
establish
   session keys, the parties involved in the secure
association protocol
   MUST identify themselves using identities that are
meaningful in the
   lower layer protocol environment that will employ the
session keys.
   While preserving algorithm independence, confidentiality
and
   integrity of all keying material MUST be maintained.

5.3.1.  Spoofing

   Per-packet authentication and integrity protection
provides
   protection against spoofing attacks.

   Diameter [RFC3588] provides support for per-packet
authentication and
   integrity protection via use of IPsec or TLS.  RADIUS/EAP
[RFC3579]
   provides for per-packet authentication and integrity
protection via
   use of the Message-Authenticator attribute.

   [RFC3748] Section 7.2.1 describes the "integrity
protection" security
   claim and [RFC4017] requires use of EAP methods
supporting this
   claim.

   In order to prevent forgery of Secure Association
Protocol frames,
   per-frame authentication and integrity protection is
RECOMMENDED on
   all messages.  IKEv2 [RFC4306] supports per-frame
integrity
   protection and authentication, as does [IEEE-802.16e].
   [IEEE-802.11i] supports per-frame integrity protection
and
   authentication on all messages within the 4-way handshake
except the
   first message.  An attack leveraging this omission is
described in
   [Analysis].

5.3.2.  Impersonation

   Both the RADIUS [RFC2865] and Diameter [RFC3588]
protocols are
   potentially vulnerable to a rogue authenticator
impersonating another
   authenticator.  While both protocols support mutual
authentication
   between the AAA client/authenticator and the backend
authentication
   server, the security mechanisms vary.

   In RADIUS, the shared secret used for authentication is
determined by
   the source address of the RADIUS packet.  As noted in
[RFC3579]
   Section 4.3.7, it is highly desirable that the source
address be
   checked against one or more Network Access Server (NAS)
client
   identification attributes so as to detect and prevent
impersonation
   attacks.

   When RADIUS Access-Requests are forwarded by a proxy, the
NAS-IP-
   Address or NAS-IPv6-Address attributes may not correspond
to the
   source address.  Since the NAS-Identifier attribute need
not contain
   an FQDN, it also may not correspond to the source
address, even
   indirectly.  [RFC2865] Section 3 states:

      A RADIUS server MUST use the source IP address of the
RADIUS UDP
      packet to decide which shared secret to use, so that
RADIUS
      requests can be proxied.

   This implies that it is possible for a rogue
authenticator to forge
   NAS-IP-Address, NAS-IPv6-Address or NAS-Identifier
attributes within
   a RADIUS Access-Request in order to impersonate another
   authenticator.  Among other things, this can result in
messages (and
   transported keying material) being sent to the wrong
authenticator.
   Since the rogue authenticator is authenticated by the
RADIUS proxy or
   server purely based on the source address, other
mechanisms are
   required to detect the forgery.  In addition, it is
possible for
   attributes such as the Called-Station-Id and
Calling-Station-Id to be
   forged as well.

   [RFC3579] Section 4.3.7 describes how an EAP
pass-through
   authenticator acting as a AAA client can be detected if
it attempts
   to impersonate another authenticator (such by sending
incorrect

   Called-Station-Id [RFC2865], NAS-Identifier [RFC2865],
NAS-IP-Address
   [RFC2865] or NAS-IPv6-Address [RFC3162] attributes via
the AAA
   protocol).  This vulnerability can be mitigated by having
RADIUS
   proxies check NAS identification attributes against the
source
   address.

   While [RFC3588] requires use of the Route-Record AVP,
this utilizes
   Fully Qualified Domain Names (FQDNs), so that
impersonation detection
   requires DNS A, AAAA and PTR Resource Records (RRs) to be
properly
   configured.  As a result, Diameter is as vulnerable to
this attack as
   RADIUS, if not more so.  To address this vulnerability,
it is
   necessary to allow the backend authentication server to
communicate
   with the authenticator directly, such as via the
redirect
   functionality supported in [RFC3588].

5.3.3.  Channel Binding

   It is possible for a compromised or poorly implemented
EAP
   authenticator to communicate incorrect information to the
EAP peer
   and/or server.  This may enable an authenticator to
impersonate
   another authenticator or communicate incorrect
information via out-
   of-band mechanisms (such as via AAA or the lower layer).

   Where EAP is used in pass-through mode, the EAP peer does
not verify
   the identity of the pass-through authenticator within the
EAP
   conversation.  Within the Secure Association Protocol,
the EAP peer
   and authenticator only demonstrate mutual possession of
the
   transported EAP keying material; they do not mutually
authenticate.
   This creates a potential security vulnerability,
described in
   [RFC3748] Section 7.15.

   As described in the previous section, it is possible for
a AAA proxy
   to detect a AAA client attempting to impersonate another
   authenticator (such by sending incorrect
Called-Station-Id [RFC2865],
   NAS-Identifier [RFC2865], NAS-IP-Address [RFC2865] or
NAS-
   IPv6-Address [RFC3162] attributes via the AAA protocol). 
However, it
   is possible for a pass-through authenticator acting as a
AAA client
   to provide correct information to the backend
authentication server
   while communicating misleading information to the EAP
peer via the
   lower layer.

   For example, a compromised authenticator can utilize
another
   authenticator's Called-Station-Id or NAS-Identifier in
communicating
   with the EAP peer via the lower layer.  Also, a
pass-through
   authenticator acting as a AAA client can provide an
incorrect peer
   Calling-Station-Id [RFC2865][RFC3580] to the backend
authentication
   server via the AAA protocol.

   As noted in [RFC3748] Section 7.15, this vulnerability
can be
   addressed by EAP methods that support a protected
exchange of channel
   properties such as endpoint identifiers, including (but
not limited
   to): Called-Station-Id [RFC2865][RFC3580],
Calling-Station-Id
   [RFC2865][RFC3580], NAS-Identifier [RFC2865],
NAS-IP-Address
   [RFC2865], and NAS-IPv6-Address [RFC3162].

   Using such a protected exchange, it is possible to match
the channel
   properties provided by the authenticator via out-of-band
mechanisms
   against those exchanged within the EAP method.  Typically
the EAP
   method imports Channel Binding parameters from the lower
layer on the
   peer, and transmits them securely to the EAP server,
which exports
   them to the lower layer or AAA layer.  However, transport
may occur
   from EAP server to peer, or may be bi-directional.  On
the side of
   the exchange (peer or server) where Channel Binding is
verified, the
   lower layer or AAA layer passes the result of the
verification (TRUE
   or FALSE) up to the EAP method.  While the verification
can be done
   either by the peer or the server, typically only the
server has the
   knowledge to determine the correctness of the values, as
opposed to
   merely verifying their equality. For further discussion,
see [I-
   D.arkko-eap-service-identity-auth].

   It is also possible to perform Channel Binding without
transporting
   data over EAP.  For example, see
[I-D.draft-ohba-eap-channel-
   binding].  In this approach the EAP method includes
Channel Binding
   parameters in the calculation of exported EAP keying
material, making
   it impossible for the peer and authenticator to complete
the Secure
   Association Protocol if there is a mismatch in the
Channel Binding
   parameters.  However, this approach can only be applied
where EAP
   methods generating key material are used along with lower
layers that
   utilize the keying material.  For example, this mechanism
would not
   enable verification of Channel Binding on wired IEEE 802
networks
   using [IEEE 802.1X].

5.3.4.  Mutual Authentication

   [RFC3748] Section 7.2.1 describes the "mutual
authentication" and
   "dictionary attack resistance" claims, and
[RFC4017] requires EAP
   methods satisfying these claims.  EAP methods complying
with
   [RFC4017] therefore provide for mutual authentication
between the EAP
   peer and server.

   [RFC3748] Section 7.2.1 also describes the
"Cryptographic binding"
   security claim, and [RFC4017] requires support for this
claim.  As
   described in [I-D.puthenkulam-eap-binding], EAP method
sequences and
   compound authentication mechanisms may be subject to
man-in-the-
   middle attacks.  When such attacks are successfully
carried out, the
   attacker acts as an intermediary between a victim and a
legitimate
   authenticator.  This allows the attacker to authenticate
successfully
   to the authenticator, as well as to obtain access to the
network.

   In order to prevent these attacks,
[I-D.puthenkulam-eap-binding]
   recommends derivation of a compound key by which the EAP
peer and
   server can prove that they have participated in the
entire EAP
   exchange.  Since the compound key must not be known to an
attacker
   posing as an authenticator, and yet must be derived from
quantities
   that are exported by EAP methods, it may be desirable to
derive the
   compound key from a portion of the EMSK.  In order to
provide proper
   key hygiene, it is recommended that the compound key used
for man-in-
   the-middle protection be cryptographically separate from
other keys
   derived from the EMSK.

   Diameter [RFC3588] provides for per-packet authentication
and
   integrity protection via IPsec or TLS, and RADIUS/EAP
[RFC3579] also
   provides for per-packet authentication and integrity
protection.
   Where the authenticator/AAA client and backend
authentication server
   communicate directly and credible keywrap is used (see
Section 3.8),
   this ensures that the AAA Key Transport (phase 1b)
achieves its
   security objectives: mutually authenticating the AAA
   client/authenticator and backend authentication server
and providing
   EAP keying material to the EAP authenticator and to no
other party.

   [RFC2607] Section 7 describes the security issues
occurring when the
   authenticator/AAA client and backend authentication
server do not
   communicate directly.  Where a AAA intermediary is
present (such as a
   RADIUS proxy or a Diameter agent), and data object
security is not
   used, transported keying material may be recovered by an
attacker in
   control of the intermediary.  As discussed in Section
2.1, unless the
   TSKs are derived independently from EAP keying material
(as in
   IKEv2), possession of transported keying material enables
decryption
   of data traffic sent between the peer and the
authenticator to whom
   the keying material was transported.  It also allows the
AAA
   intermediary to impersonate the authenticator or the
peer.  Since the
   peer does not authenticate to a AAA intermediary it has
no ability to
   determine whether it is authentic or authorized to obtain
keying
   material.

   However, as long as EAP keying material or keys derived
from it are
   only utilized by a single authenticator, compromise of
the
   transported keying material does not enable an attacker
to
   impersonate the peer to another authenticator. 
Vulnerability to
   compromise of a AAA intermediary can be mitigated by
implementation
   of redirect functionality, as described in [RFC3588] and
[RFC4072].

   The Secure Association Protocol does not provide for
mutual
   authentication between the EAP peer and authenticator,
only mutual
   proof of possession of transported EAP keying material. 
In order for
   the peer to verify the identity of the authenticator, 
mutual proof
   of possession needs to be combined with impersonation
prevention and
   Channel Binding.  Impersonation prevention (described in
Section
   5.3.2) enables the backend authentication server to
determine that
   the transported EAP keying material has been provided to
the correct
   authenticator.  When utilized along with impersonation
prevention,
   Channel Binding (described in Section 5.3.3) enables the
EAP peer to
   verify that the EAP server has authorized the
authenticator to
   possess the transported EAP keying material.  Completion
of the
   Secure Association Protocol exchange demonstrates that
the EAP peer
   and the authenticator possess the transported EAP keying
material.

5.4.  Key Binding

   Requirement: Keying material MUST be bound to the
appropriate
   context.  Any party with legitimate access to keying
material can
   determine its context.  In addition, the protocol MUST
ensure that
   all parties with legitimate access to keying material
have the same
   context for the keying material.  This requires that the
parties are
   properly identified and authenticated, so that all of the
parties
   that have access to the keying material can be
determined.  The
   context includes the following:

      o The manner in which the keying material is expected
to be used.

      o The other parties that are expected to have access
to the keying
      material.

      o The maximum lifetime of the keying material.  The
maximum
      lifetime of a child key SHOULD NOT be greater than the
maximum
      lifetime of its parent in the key hierarchy.

   Within EAP, keying material (MSK, EMSK) is bound to the
Peer-Id and
   Server-Id which are exported along with the keying
material.
   However, not all EAP methods support authenticated server
identities
   (see Appendix A).

   Within the AAA protocol, transported keying material is
destined for
   the EAP authenticator identified by the NAS-Identifier
attribute
   within the request, and is for use by the EAP peer
identified by the
   Peer-Id, User-Name [RFC2865] or Chargeable User Identity
(CUI)
   [RFC4372] attributes.  The maximum lifetime of the
transported keying
   material may be provided, as discussed in Section 3.5.1. 
Key usage
   restrictions may also be included as described in Section
3.2.  Key
   lifetime issues are discussed in Sections 3.3, 3.4 and
3.5.

5.5.  Authorization

   Requirement: Peer and authenticator authorization MUST be
performed.
   These entities MUST demonstrate possession of the
appropriate keying
   material, without disclosing it.  Authorization is
REQUIRED whenever
   a peer associates with a new authenticator.  The
authorization
   checking prevents an elevation of privilege attack, and
it ensures
   that an unauthorized authenticator is detected. 
Authorizations
   SHOULD be synchronized between the EAP peer, server, and
   authenticator.  Once all protocol exchanges are complete,
all of
   these parties should hold a common view of the
authorizations
   associated the other parties.  The Secure Association
Protocol (phase
   2) conversation may utilize different identifiers from
the EAP
   conversation (phase 1a), so that binding between the EAP
and Secure
   Association Protocol identities is REQUIRED.

   As described in Section 2.2.1, consistent identification
of the EAP
   authenticator enables the EAP peer to determine whether
EAP keying
   material has been shared between EAP authenticators as
well as to
   confirm with the backend authentication server that an
EAP
   authenticator proving possession of EAP keying material
during the
   Secure Association Protocol was authorized to obtain it.

   Within the AAA protocol, the authorization attributes are
bound to
   the transported keying material.  While the AAA exchange
provides the
   AAA client/authenticator with authorizations relating to
the EAP
   peer, neither the EAP nor AAA exchanges provides
authorizations to
   the EAP peer.  In order to ensure that all parties hold
the same view
   of the authorizations it is RECOMMENDED that the Secure
Association
   Protocol enable communication of authorizations between
the EAP
   authenticator and peer.

   In lower layers where the authenticator consistently
identifies
   itself to the peer and backend authentication server and
the EAP peer
   completes the Secure Association Protocol exchange with
the same
   authenticator through which it completed the EAP
conversation,
   authorization of the authenticator is demonstrated to the
peer by
   mutual authentication between the peer and authenticator
as discussed
   in the previous section.  Identification issues are
discussed in
   Section 2.2 and key scope issues are discussed in Section
3.2.

   Where the EAP peer utilizes different identifiers within
the EAP
   method and Secure Association Protocol conversations,
peer
   authorization may be difficult to demonstrate to the
authenticator
   without additional restrictions.  This problem does not
exist in
   IKEv2 where the Identity Payload is used for peer
identification both
   within IKEv2 and EAP, and where the EAP conversation is
   cryptographically protected within IKEv2 packets, binding
the EAP and

   Secure Association Protocol/IKEv2 exchanges.  However
within
   [IEEE-802.11i] the EAP peer identity is not used within
the 4-way
   handshake, so that it is necessary for the authenticator
to require
   that the EAP peer utilize the same MAC address for EAP
authentication
   as for the 4-way handshake.

5.6.  Replay Protection

   Requirement: Exchanges MUST be replay protected,
including AAA, EAP
   and Secure Association Protocol exchanges.  Replay
protection allows
   a protocol message recipient to discard any message that
was recorded
   during a previous legitimate dialogue and presented as
though it
   belonged to the current dialogue.

   [RFC3748] Section 7.2.1 describes the "replay
protection" security
   claim and [RFC4017] requires use of EAP methods
supporting this
   claim.

   Diameter [RFC3588] provides support for replay protection
via use of
   IPsec or TLS.  RADIUS/EAP [RFC3579] protects against
replay of keying
   material via the Request Authenticator.  However, some
RADIUS packets
   are not replay protected.  In Accounting, Disconnect and
CoA-Request
   packets the Request Authenticator contains a keyed MAC
rather than a
   Nonce.  The Response Authenticator in Accounting,
Disconnect and CoA
   Response packets also contains a keyed MAC whose
calculation does not
   depend on a Nonce in either the Request or Response
packets.
   Therefore unless an Event-Timestamp attribute is included
or IPsec is
   used, the recipient may not be able to determine whether
these
   packets have been replayed.

   In order to prevent replay of Secure Association Protocol
frames,
   replay protection is REQUIRED on all messages. 
[IEEE-802.11i]
   supports replay protection on all messages within the
4-way
   handshake; IKEv2 [RFC4306] also supports this.

5.7.  Key Freshness

   Requirement: While preserving algorithm independence,
session keys
   MUST be strong and fresh.  A session key SHOULD be
considered
   compromised if it remains in use beyond its authorized
lifetime.
   Each session deserves an independent session key;
disclosure of one
   session key MUST NOT aid the attacker in discovering any
other
   session keys.  Fresh keys are required even when a long
replay
   counter (that is, one that "will never wrap")
is used to ensure that
   loss of state does not cause the same counter value to be
used more
   than once with the same session key.  A fresh
cryptographic key is
   one that is generated specifically for the intended use. 
In this
   situation, a secure association protocol is used to
establish session
   keys.  The AAA protocol and EAP method MUST ensure that
the keying
   material supplied as an input to session key derivation
is fresh, and
   the secure association protocol MUST generate a separate
session key
   for each session, even if the keying material provided by
EAP is
   cached.

   EAP, AAA and the lower layer each bear responsibility for
ensuring
   the use of fresh, strong session keys:

EAP  EAP methods need to ensure the freshness and strength
of EAP keying
     material provided as an input to session key
derivation.  [RFC3748]
     Section 7.10 states that "EAP methods SHOULD
ensure the freshness
     of the MSK and EMSK, even in cases where one party may
not have a
     high quality random number generator.  A RECOMMENDED
method is for
     each party to provide a nonce of at least 128 bits,
used in the
     derivation of the MSK and EMSK."  The contribution
of nonces
     enables the EAP peer and server to ensure that exported
EAP keying
     material is fresh.

     [RFC3748] Section 7.2.1 describes the "key
strength" and "session
     independence" security claims, and and [RFC4017]
requires EAP
     methods supporting these claims as well as methods
capable of
     providing equivalent key strength of 128 bits or
greater.  See
     Section 3.7 for more information on key strength.

AAA  The AAA protocol needs to ensure that transported
keying material
     is fresh and is not utilized outside its recommended
lifetime.
     Replay protection is necessary for key freshness, but
an attacker
     can deliver a stale (and therefore potentially
compromised) key in
     a replay-protected message, so replay protection is not
sufficient.
     As discussed in Section 3.5, the Session-Timeout
attribute enables
     the backend authentication server to limit the exposure
of
     transported EAP keying material.

     The EAP Session-Id, described in Section 1.4, enables
the EAP peer,
     authenticator and server to distinguish EAP
conversations.
     However, unless the authenticator keeps track of EAP
Session-Ids,
     the authenticator cannot use the Session-Id to
guarantee the
     freshness of EAP keying material.

Lower Layer
     The Secure Association Protocol, described in Section
3.1, MUST
     generate a fresh session key for each session, even if
the keying
     material and parameters provided by EAP methods are
cached, or
     either the peer or authenticator lack a high entropy
random number
     generator. A RECOMMENDED method is for the peer and
authenticator
     to each provide a nonce or counter used in session key
derivation.
     If a nonce is used, it is RECOMMENDED that it be at
least 128 bits.

     While [IEEE-802.11i] and IKEv2 [RFC4306] satisfy this
requirement,
     [IEEE-802.16e] does not, since randomness is only
contributed from
     the Base Station.

5.8.  Key Scope Limitation

   Requirement: Following the principle of least privilege,
parties MUST
   NOT have access to keying material that is not needed to
perform
   their role.  A party has access to a particular key if it
has access
   to all of the secret information needed to derive it. 
Any protocol
   that is used to establish session keys, MUST specify the
scope for
   session keys, clearly identifying the parties to whom the
session key
   is available.

   Transported EAP keying material is permitted to be
accessed by the
   EAP peer, authenticator and server.  The EAP peer and
server derive
   EAP keying material during the process of mutually
authenticating
   each other using the selected EAP method.  During the
Secure
   Association Protocol exchange, the EAP peer utilizes
derived EAP
   keying material to demonstrate to the authenticator that
it is the
   same party that authenticated to the EAP server and was
authorized by
   it.  The EAP authenticator utilizes the transported EAP
keying
   material to prove to the peer not only that the EAP
conversation was
   transported through it (this could be demonstrated by a
man-in-the-
   middle), but that it was uniquely authorized by the EAP
server to
   provide the peer with access to the network.  Unique
authorization
   can only be demonstrated if the EAP authenticator does
not share the
   transported keying material with a party other than the
EAP peer and
   server.

   TSKs are permitted to be accessed only by the EAP peer
and
   authenticator (see Section 1.5); TSK derivation is
discussed in
   Section 2.1.  Since demonstration of authorization within
the Secure
   Association Protocol exchange depends on possession of
transported
   EAP keying material, the backend authentication server
can
   impersonate the authenticator and possibly to obtain the
TSKs unless
   the backend server deletes the transported EAP keying
material after
   sending it.

5.9.  Key Naming

   Requirement: A robust key naming scheme is REQUIRED,
particularly
   where key caching is supported.  The key name provides a
way to refer
   to a key in a protocol so that it is clear to all parties
which key
   is being referenced.  Objects that cannot be named cannot
be managed.
   All keys MUST be uniquely named, and the key name MUST
NOT directly
   or indirectly disclose the keying material.  If the key
name is not
   based on the keying material, then one can be sure that
it cannot be
   used to assist in a search for the key value.

   EAP key names (defined in Section 1.4.1), along with the
Peer-Id and
   Server-Id, uniquely identify EAP keying material, and do
not directly
   or indirectly expose the keying material.

   Existing AAA server implementations do not distribute key
names along
   with the transported EAP keying material, although
Diameter EAP
   [RFC4072], provides the EAP-Key-Name AVP for this
purpose.  Since the
   EAP-Key-Name AVP is defined within the RADIUS attribute
space, it may
   be used either with RADIUS or Diameter.

   Since the authenticator is not provided with the name of
the
   transported keying material by existing backend
authentication server
   implementations, existing Secure Association Protocols do
not utilize
   EAP key names.  For example, [IEEE-802.11i] supports PMK
caching; to
   enable the peer and authenticator to determine the cached
PMK to
   utilize within the 4-way handshake the PMK needs to be
named.  For
   this purpose [IEEE-802.11i] utilizes a PMK naming scheme
which is
   based on the key.  Since IKEv2 [RFC4306] does not cache
transported
   EAP keying material, it does not need to refer to
transported keying
   material.

5.10.  Denial of Service Attacks

   Key caching may result in vulnerability to denial of
service attacks.
   For example, EAP methods that create persistent state may
be
   vulnerable to denial of service attacks on the EAP server
by a rogue
   EAP peer.

   To address this vulnerability, EAP methods creating
persistent state
   may wish to limit the persistent state created by an EAP
peer.  For
   example, for each peer an EAP server may choose to limit
persistent
   state to a few EAP conversations, distinguished by the
EAP Session-
   Id.  This prevents a rogue peer from denying access to
other peers.

   Similarly, to conserve resources an authenticator may
choose to limit
   the persistent state corresponding to each peer.  This
can be
   accomplished by limiting each peer to persistent state
corresponding
   to a few EAP conversations, distinguished by the EAP
Session-Id.

   Depending on the media, creation of new TSKs may or may
not imply
   deletion of previously derived TSKs.  Where there is no
implied
   deletion, the authenticator may choose to limit the
number of TSKs
   and associated state that can be stored for each peer.


____________________________________________________________
_____
To unsubscribe or modify your subscription options, please
visit:
http:/
/lists.frascone.com/mailman/listinfo/eap

Arhives: http://lists.
frascone.com/pipermail/eap

[1]

about | contact  Other archives ( Real Estate discussion Medical topics )