| Issue 392: Authorization Issues | <– Date –> <– Thread –> |
|
From: Bernard Aboba (bernard_aboba |
|
| Date: Sat, 3 Feb 2007 18:54:11 -0800 (PST) | |
Issue 392: Authorization Issues Submitter name: Bernard Aboba Submitter email address: aboba [at] internaut.com Date Submitted: February 3, 2007 Reference: Document: KEYING-17 Comment type: Technical Priority: S Section: 5.6, 5.7, 5.9 Rationale/Explanation of issue:
Section 5 does not include a sub-section on authorization issues; rather, discussion of authorization
is sprinkled throughout. Also, there is not a crisp discussion of the distinction
between mutual authentication and mutual proof of possession within the Secure Association Protocol
exchange. The organization of the section is somewhat illogical; impersonation and
Channel Binding need to be discussed prior to getting into authorization. There is considerable
repetition, so some consolidation is required. To provide clarity, more examples are needed.
The proposed resolution is to move the Impersonation and Channel Binding sections up to Section 5.4 and 5.5, and to change Sections 5.6, 5.7 and 5.9 to the following:
"5.6. Unauthorized Disclosure
While preserving algorithm independence, confidentiality of all keying material MUST be maintained. To prevent unauthorized disclose of keys, each party in the EAP conversation MUST be authenticated to the other parties with whom it communicates.
[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.
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.4) enables the backend authentication server to determine that the tranported EAP keying material has been provided to the correct authenticator. When utilized along with impersonation prevention, Channel Binding (described in Section 5.5) 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.7. Authorization
Keying material MUST be bound to the appropriate context. Peer and authenticator authorization MUST be performed. Authorization is REQUIRED whenever a peer associates with a new authenticator. Authorization checking prevents an elevation of privilege attack, and ensures that an unauthorized authenticator is detected. Authorizations SHOULD be synchronized between the EAP peer, server and authenticator. Once the EAP conversation exchanges are complete, all of these parties should hold the same view of the authorizations associated the other parties. If peer authorization is restricted, then the peer SHOULD be made aware of the restriction.
Within EAP, binding of EAP keying material (MSK, EMSK) to the appropriate context is provided by 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, the authorization attributes provide the information binding the transported keying material to the appropriate context. For example, 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. 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.
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. Consistently identifying 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. 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.9. Key Freshness
A session key should be considered compromised if it remains in use too long. As noted in [I-D.housley-aaa-key-mgmt]], session keys MUST be strong and fresh, while preserving algorithm independence. A fresh cryptographic key is one that is generated specifically for the intended use. 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.
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."
- (no other messages in thread)
Results generated by Tiger Technologies using MHonArc.