draft-ietf-dime-erp-07.txt | draft-ietf-dime-erp-08.txt | |||
---|---|---|---|---|
Network Working Group J. Bournelle | Network Working Group J. Bournelle | |||
Internet-Draft L. Morand | Internet-Draft L. Morand | |||
Intended status: Standards Track Orange Labs | Intended status: Standards Track Orange Labs | |||
Expires: March 9, 2012 S. Decugis | Expires: July 16, 2012 S. Decugis | |||
Free Diameter | INSIDE Secure | |||
Q. Wu | Q. Wu | |||
Huawei | Huawei | |||
G. Zorn | G. Zorn | |||
Network Zen | Network Zen | |||
September 6, 2011 | January 13, 2012 | |||
Diameter support for EAP Re-authentication Protocol (ERP) | Diameter support for EAP Re-authentication Protocol (ERP) | |||
draft-ietf-dime-erp-07.txt | draft-ietf-dime-erp-08.txt | |||
Abstract | Abstract | |||
The EAP Re-authentication Protocol (ERP) defines extensions to the | The EAP Re-authentication Protocol (ERP) defines extensions to the | |||
Extensible Authentication Protocol (EAP) to support efficient re- | Extensible Authentication Protocol (EAP) to support efficient re- | |||
authentication between the peer and an EAP Re-authentication (ER) | authentication between the peer and an EAP Re-authentication (ER) | |||
server through a compatible authenticator. This document specifies | server through a compatible authenticator. This document specifies | |||
Diameter support for ERP. It defines a new Diameter ERP application | Diameter support for ERP. It defines a new Diameter ERP application | |||
to transport ERP messages between an ER authenticator and the ER | to transport ERP messages between an ER authenticator and the ER | |||
server, and a set of new AVPs that can be used to transport the | server, and a set of new AVPs that can be used to transport the | |||
skipping to change at page 1, line 43 | skipping to change at page 1, line 43 | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at http://datatracker.ietf.org/drafts/current/. | Drafts is at http://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
This Internet-Draft will expire on March 9, 2012. | This Internet-Draft will expire on July 16, 2012. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2011 IETF Trust and the persons identified as the | Copyright (c) 2012 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
skipping to change at page 2, line 25 | skipping to change at page 2, line 25 | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
2.1. Requirements Language . . . . . . . . . . . . . . . . . . 4 | 2.1. Requirements Language . . . . . . . . . . . . . . . . . . 4 | |||
3. Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 3. Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
4. Protocol Overview . . . . . . . . . . . . . . . . . . . . . . 4 | 4. Protocol Overview . . . . . . . . . . . . . . . . . . . . . . 4 | |||
5. Bootstrapping the ER Server . . . . . . . . . . . . . . . . . 5 | 5. Bootstrapping the ER Server . . . . . . . . . . . . . . . . . 5 | |||
5.1. Bootstrapping During the Initial EAP authentication . . . 6 | 5.1. Bootstrapping During the Initial EAP authentication . . . 6 | |||
5.2. Bootstrapping During the First Re-authentication . . . . . 7 | 5.2. Bootstrapping During the First Re-authentication . . . . . 7 | |||
6. Re-Authentication . . . . . . . . . . . . . . . . . . . . . . 9 | 6. Re-Authentication . . . . . . . . . . . . . . . . . . . . . . 10 | |||
7. Application Id . . . . . . . . . . . . . . . . . . . . . . . . 11 | 7. Application Id . . . . . . . . . . . . . . . . . . . . . . . . 11 | |||
8. AVPs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 | 8. AVPs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 | |||
8.1. ERP-RK-Request AVP . . . . . . . . . . . . . . . . . . . . 11 | 8.1. ERP-RK-Request AVP . . . . . . . . . . . . . . . . . . . . 12 | |||
8.2. ERP-Realm AVP . . . . . . . . . . . . . . . . . . . . . . 11 | 8.2. ERP-Realm AVP . . . . . . . . . . . . . . . . . . . . . . 12 | |||
8.3. Key AVP . . . . . . . . . . . . . . . . . . . . . . . . . 12 | 8.3. Key AVP . . . . . . . . . . . . . . . . . . . . . . . . . 12 | |||
8.3.1. Key-Type AVP . . . . . . . . . . . . . . . . . . . . . 12 | 8.3.1. Key-Type AVP . . . . . . . . . . . . . . . . . . . . . 12 | |||
8.3.2. Keying-Material AVP . . . . . . . . . . . . . . . . . 12 | 8.3.2. Keying-Material AVP . . . . . . . . . . . . . . . . . 12 | |||
8.3.3. Key-Name AVP . . . . . . . . . . . . . . . . . . . . . 12 | 8.3.3. Key-Name AVP . . . . . . . . . . . . . . . . . . . . . 13 | |||
8.3.4. Key-Lifetime AVP . . . . . . . . . . . . . . . . . . . 12 | 8.3.4. Key-Lifetime AVP . . . . . . . . . . . . . . . . . . . 13 | |||
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 12 | 9. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 | 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
10.1. Diameter Application Identifier . . . . . . . . . . . . . 13 | 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 | |||
10.2. New AVPs . . . . . . . . . . . . . . . . . . . . . . . . . 13 | 11.1. Diameter Application Identifier . . . . . . . . . . . . . 13 | |||
11. Security Considerations . . . . . . . . . . . . . . . . . . . 13 | 11.2. New AVPs . . . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
12. Normative References . . . . . . . . . . . . . . . . . . . . . 13 | 12. Security Considerations . . . . . . . . . . . . . . . . . . . 14 | |||
13. Normative References . . . . . . . . . . . . . . . . . . . . . 14 | ||||
1. Introduction | 1. Introduction | |||
RFC5296 [RFC5296] defines the EAP Re-authentication Protocol (ERP). | RFC5296 [RFC5296] defines the EAP Re-authentication Protocol (ERP). | |||
It consists of the following steps: | It consists of the following steps: | |||
Bootstrapping | Bootstrapping | |||
A root key for re-authentication is derived from the Extended | A root key for re-authentication is derived from the Extended | |||
Master Session Key (EMSK) created during EAP authentication | Master Session Key (EMSK) created during EAP authentication | |||
skipping to change at page 3, line 46 | skipping to change at page 3, line 46 | |||
This document uses terminology defined in RFC3748 [RFC3748], RFC5295 | This document uses terminology defined in RFC3748 [RFC3748], RFC5295 | |||
[RFC5295], RFC5296 [RFC5296], and RFC4072 [RFC4072]. | [RFC5295], RFC5296 [RFC5296], and RFC4072 [RFC4072]. | |||
"Root key" (RK) or "bootstrapping material" refer to the rRK or rDSRK | "Root key" (RK) or "bootstrapping material" refer to the rRK or rDSRK | |||
derived from an EMSK, depending on the location of the ER server in | derived from an EMSK, depending on the location of the ER server in | |||
home or foreign domain. | home or foreign domain. | |||
We use the notation "ERP/DER" and "ERP/DEA" in this document to refer | We use the notation "ERP/DER" and "ERP/DEA" in this document to refer | |||
to Diameter-EAP-Request and Diameter-EAP-Answer commands with the | to Diameter-EAP-Request and Diameter-EAP-Answer commands with the | |||
Application Id set to "Diameter ERP Application" Section 11.1; the | Application Id set to <Diameter ERP Application> Section 11.1; the | |||
same commands are denoted "EAP/DER" and "EAP/DEA" when the | same commands are denoted "EAP/DER" and "EAP/DEA" when the | |||
Application Id in the message is set to "Diameter EAP Application" | Application Id in the message is set to <Diameter EAP Application> | |||
[RFC4072]. | [RFC4072]. | |||
2.1. Requirements Language | 2.1. Requirements Language | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
document are to be interpreted as described in [RFC2119]. | document are to be interpreted as described in [RFC2119]. | |||
3. Assumptions | 3. Assumptions | |||
skipping to change at page 4, line 24 | skipping to change at page 4, line 24 | |||
entity in a domain. If several physical servers are deployed for | entity in a domain. If several physical servers are deployed for | |||
robustness, a replication mechanism must be deployed to synchronize | robustness, a replication mechanism must be deployed to synchronize | |||
the ERP states (root keys) between these servers. This replication | the ERP states (root keys) between these servers. This replication | |||
mechanism is out of the scope of this document. If multiple ER | mechanism is out of the scope of this document. If multiple ER | |||
servers are deployed in the domain, we assume that they can be used | servers are deployed in the domain, we assume that they can be used | |||
interchangeably. If multiple ER servers are deployed across the | interchangeably. If multiple ER servers are deployed across the | |||
domains, we assume only one ER server that is near to the peer is | domains, we assume only one ER server that is near to the peer is | |||
getting involved in the ERP. | getting involved in the ERP. | |||
Also this document assumes the existence of at most one EAP server | Also this document assumes the existence of at most one EAP server | |||
entity in the home domain.In case of multiple physical home EAP | entity in the home domain. In case of multiple physical home EAP | |||
servers in the same domain, if the ER server wants to reach the same | servers in the same domain, if the ER server wants to reach the same | |||
home EAP server, the ER server may cache the Destination-Host AVP | home EAP server, the ER server may cache the Destination-Host AVP | |||
corresponding to the home EAP server it requests. | corresponding to the home EAP server it requests. | |||
4. Protocol Overview | 4. Protocol Overview | |||
The following figure shows the components involved in ERP, and their | The following figure shows the components involved in ERP, and their | |||
interactions. | interactions. | |||
Diameter +--------+ | Diameter +--------+ | |||
+-------------+ ERP +-----------+ (*) | Home | | +-------------+ ERP +-----------+ (*) | Home | | |||
Peer <->|Authenticator|<=======>| ER server | <---> | EAP | | Peer <->|Authenticator|<=======>| ER server | <---> | EAP | | |||
+-------------+ +-----------+ | server | | +-------------+ +-----------+ | server | | |||
+--------+ | +--------+ | |||
(*) Diameter EAP application, explicit bootstrapping scenario only. | (*) Diameter EAP application, explicit bootstrapping scenario only. | |||
Figure 1. Diameter ERP Overview. | Figure 1: Diameter ERP Overview. | |||
The ER server is located either in the home domain (same as EAP | The ER server is located either in the home domain (same as EAP | |||
server) or in the visited domain (same as authenticator, when it | server) or in the visited domain (same as authenticator, when it | |||
differs from the home domain). | differs from the home domain). | |||
When the peer initiates an ERP exchange, the authenticator creates a | When the peer initiates an ERP exchange, the authenticator creates a | |||
Diameter-EAP-Request message [RFC4072]. The Application Id of the | Diameter-EAP-Request (DER) message [RFC4072]. The Application Id of | |||
message is set to that of the Diameter ERP application (code: TBD) in | the message is set to that of the Diameter ERP application | |||
the message. The generation of the ERP/DER message is detailed in | Section 11.1 in the message. The generation of the ERP/DER message | |||
Section 6. | is detailed in Section 6. | |||
If there is an ER server in the same domain as the authenticator | If there is an ER server in the same domain as the authenticator | |||
(local domain), Diameter routing must be configured so that this ERP/ | (i.e., the local domain), Diameter routing MUST be configured so that | |||
DER message reaches this server, even if the Destination-Realm is not | this ERP/DER message reaches that server, even if the Destination- | |||
the local domain. | Realm is not the same as local domain. | |||
If there is no local ER server, the message is routed according to | If there is no local ER server, the message is routed according to | |||
its Destination-Realm AVP content, extracted from the realm component | its Destination-Realm AVP content, extracted from the realm component | |||
of the keyName-NAI attribute. As specified in RFC5296 [RFC5296], | of the keyName-NAI attribute. As specified in RFC5296 [RFC5296], | |||
this realm is the home domain of the peer in case of bootstrapping | this realm is the home domain of the peer in the case of | |||
exchange ('B' flag is set in ERP message) or the domain of the | bootstrapping exchange ('B' flag is set in ERP message) or the domain | |||
bootstrapped ER server otherwise . | of the bootstrapped ER server otherwise . | |||
If no ER server is available in the home domain either, the ERP/DER | If no ER server is available in the home domain either, the ERP/DER | |||
message cannot be delivered, and an error DIAMETER_UNABLE_TO_DELIVER | message cannot be delivered, and an error DIAMETER_UNABLE_TO_DELIVER | |||
is generated as specified in [RFC3588] and returned to the | MUST be generated as specified in [I-D.ietf-dime-rfc3588bis] and | |||
authenticator. The authenticator may cache this information (with | returned to the authenticator. The authenticator MAY cache this | |||
limited duration) to avoid further attempts for ERP with this realm. | information (with limited duration) to avoid further attempts to | |||
It may also fallback to full EAP authentication to authenticate the | execute ERP with this realm. It MAY also fallback to full EAP | |||
peer. | authentication to authenticate the peer. | |||
When an ER server receives the ERP/DER message, it searches its local | When an ER server receives the ERP/DER message, it searches its local | |||
database for a root key matching the keyName part of the User-Name | database for a valid, unexpired root key matching the keyName part of | |||
AVP. If such key is found, the ER server processes the ERP message | the User-Name AVP. If such key is found, the ER server processes the | |||
as described in [RFC5296] then creates the ERP/DEA answer as | ERP message as described in [RFC5296] then creates the ERP/DEA answer | |||
described in Section 6. The rMSK is included in this answer. | as described in Section 6. The rMSK is included in this answer. | |||
Finally, the authenticator extracts the rMSK from the ERP/DEA as | Finally, the authenticator extracts the rMSK from the ERP/DEA as | |||
described in RFC5296 [RFC5296], and forwards the content of the EAP- | described in RFC5296 [RFC5296], and forwards the content of the EAP- | |||
Payload AVP, the EAP-Finish/Re-Auth message, to the peer. | Payload AVP, the EAP-Finish/Re-Auth message, to the peer. | |||
The ER server may or may not possess the root key in its local | The ER server may or may not possess the root key in its local | |||
database. If the EAP-Initiate/Re-Auth message has its 'B' flag set | database. If the EAP-Initiate/Re-Auth message has its 'B' flag set | |||
(Bootstrapping exchange) and the ER server possess the root key,the | (Bootstrapping exchange) and the ER server possesses the root key, | |||
ER server should respond directly to the peer that initiate ERP | the ER server SHOULD respond directly to the peer that initiated the | |||
exchange otherwise, Otherwise, the ER server should act as a proxy, | ERP exchange. Otherwise, the ER server SHOULD act as a proxy and | |||
and forwards the message to the home EAP server after changing its | forward the message to the home EAP server after changing its | |||
Application Id to Diameter EAP and adding the ERP-RK-Request AVP to | Application Id to Diameter EAP and adding the ERP-RK-Request AVP to | |||
request the root key. See Section 5 for more detail on this process. | request the root key. See Section 5 for more detail on this process. | |||
5. Bootstrapping the ER Server | 5. Bootstrapping the ER Server | |||
The bootstrapping process involves the home EAP server and the ER | The bootstrapping process involves the home EAP server and the ER | |||
server, but also impacts the peer and the authenticator. In ERP, the | server, but also impacts the peer and the authenticator. In ERP, the | |||
peer must derive the same keying material as the ER server. To | peer must derive the same keying material as the ER server. To | |||
achieve this, it must learn the domain name of the ER server. How | achieve this, it must learn the domain name of the ER server. How | |||
this information is acquired is outside the scope of this | this information is acquired is outside the scope of this | |||
specification, but it may involves that the authenticator is | specification, but the authenticator might be configured to advertize | |||
configured to advertize this domain name, especially in the case of | this domain name, especially in the case of re-authentication after a | |||
re-authentication after a handover. | handover. | |||
The bootstrapping of an ER server with a given root key happens | The bootstrapping of an ER server with a given root key happens | |||
either during the initial EAP authentication of the peer when the | either during the initial EAP authentication of the peer when the | |||
EMSK -- from which the root key is derived -- is created, during the | EMSK -- from which the root key is derived -- is created, during the | |||
first re-authentication, or sometime between those events. We only | first re-authentication, or sometime between those events. We only | |||
consider the first two possibilities in this specification, in the | consider the first two possibilities in this specification, in the | |||
following sub-sections. | following sub-sections. | |||
5.1. Bootstrapping During the Initial EAP authentication | 5.1. Bootstrapping During the Initial EAP authentication | |||
Bootstrapping the ER server during the initial EAP authentication | Bootstrapping the ER server during the initial EAP authentication | |||
(also known as implicit bootstrapping) offers the advantage that the | (also known as implicit bootstrapping) offers the advantage that the | |||
server is immediately available for re-authentication of the peer, | server is immediately available for re-authentication of the peer, | |||
thus minimizing the re-authentication delay. On the other hand, it | thus minimizing the re-authentication delay. On the other hand, it | |||
is possible that only a small number of peers will use re- | is possible that only a small number of peers will use re- | |||
authentication in the visited domain. Deriving and caching key | authentication in the visited domain. Deriving and caching key | |||
material for all the peers (for example, for the peers that do not | material for all the peers (for example, for the peers that do not | |||
support ERP) is a waste of resources and should be avoided. | support ERP) is a waste of resources and should be avoided. | |||
To achieve implicit bootstrapping, the ER server acts as a Diameter | To achieve implicit bootstrapping, the ER server acts as a Diameter | |||
EAP Proxy , and Diameter routing must be configured so that Diameter | EAP Proxy , and Diameter routing MUST be configured so that Diameter | |||
EAP application messages are routed through this proxy. The figure | EAP application messages are routed through this proxy. The figure | |||
bellow illustrates this mechanism. | bellow illustrates this mechanism. | |||
ER server & | ER server & | |||
Authenticator EAP Proxy Home EAP server | Authenticator EAP Proxy Home EAP server | |||
============= =========== =============== | ============= =========== =============== | |||
-------------------------> | -------------------------> | |||
Diameter EAP/DER | Diameter EAP/DER | |||
(EAP-Response) | (EAP-Response) | |||
-------------------------> | -------------------------> | |||
skipping to change at page 7, line 10 | skipping to change at page 7, line 10 | |||
<------------------------- | <------------------------- | |||
Diameter EAP/DEA | Diameter EAP/DEA | |||
(EAP-Success) | (EAP-Success) | |||
(MSK) | (MSK) | |||
[ERP-Realm] | [ERP-Realm] | |||
Figure 2: ERP Bootstrapping During Full EAP Authentication | Figure 2: ERP Bootstrapping During Full EAP Authentication | |||
The authenticator creates the first DER of the full EAP | The authenticator creates the first DER of the full EAP | |||
authentication and send it to the ER server. The ER server proxies | authentication and sends it to the ER server. The ER server proxies | |||
the first DER of the full EAP authentication and adds the ERP-RK- | the first DER of the full EAP authentication and adds the ERP-RK- | |||
Request AVP inside, then forwards the request to the home EAP server. | Request AVP inside, then forwards the request to the home EAP server. | |||
If the home EAP server does not support the Diameter ERP extensions | If the home Diameter server does not support the Diameter ERP | |||
for ERP-RK-Request AVP, it simply ignores the ERP-RK-Request AVP and | extensions, it simply ignores the ERP-RK-Request AVP and continues as | |||
continues as specified in RFC 4072 [RFC4072]. If the server supports | specified in RFC 4072 [RFC4072]. If the server supports the ERP | |||
the ERP extensions, it saves the value of the ERP-Realm AVP found | extensions, it saves the value of the ERP-Realm AVP found inside the | |||
inside the ERP-RK-Request AVP, and continues with the EAP | ERP-RK-Request AVP, and continues with the EAP authentication. When | |||
authentication. When the authentication completes, if it is | the authentication completes, if it is successful and the EAP method | |||
successful and the EAP method has generated an EMSK, the server MUST | has generated an EMSK, the server MUST derive the rRK as specified in | |||
derive the rRK as specified in RFC 5296 [RFC5296], using the saved | RFC 5296 [RFC5296], using the saved domain name. It then includes | |||
domain name. It then includes the rRK inside a Key AVP Section 8.3 | the rRK inside a Key AVP (Section 8.3) with the Key-Type AVP set to | |||
with the Key-Type AVP set to rRK, before sending the DEA as usual. | rRK, before sending the DEA as usual. | |||
When the ER server proxies a Diameter-EAP-Answer message with a | When the ER server proxies a Diameter-EAP-Answer message with a | |||
Session-Id corresponding to a message to which it added an ERP-RK- | Session-Id corresponding to a message to which it added an ERP-RK- | |||
Request AVP, and the Result-Code is DIAMETER_SUCCESS, it MUST examine | Request AVP, and the Result-Code is DIAMETER_SUCCESS, it MUST examine | |||
the message and save and remove any Key AVP Section 8.3 with Key-Type | the message and save and remove any Key AVP (Section 8.3) with Key- | |||
AVP set to rRK. If the message does not contain such Key AVP, the ER | Type AVP set to rRK. If the message does not contain such Key AVP, | |||
server may cache the information that ERP is not possible for this | the ER server may cache the information that ERP is not possible for | |||
session to avoid possible subsequent attempts. In any case, the | this session to avoid possible subsequent attempts. In any case, the | |||
information stored in ER server concerning a session should not have | information stored in ER server concerning a session should not have | |||
a lifetime greater than the EMSK for this session. | a lifetime greater than the EMSK for this session. | |||
If the ER server is successfully bootstrapped, it should also add the | If the ER server is successfully bootstrapped, it should also add the | |||
ERP-Realm AVP after removing the Key AVP with Key-Type of rRK in the | ERP-Realm AVP after removing the Key AVP with Key-Type of rRK in the | |||
EAP/DEA message. This ERP-Realm information can be used by the | EAP/DEA message. This ERP-Realm information can be used by the | |||
authenticator to notify the peer that ER server is bootstrapped, and | authenticator to notify the peer that ER server is bootstrapped, and | |||
for which domain. How this information can be transmitted to the | for which domain. How this information can be transmitted to the | |||
peer is outside the scope of this document. This information needs | peer is outside the scope of this document. This information needs | |||
to be sent to the peer if both implicit and explicit bootstrapping | to be sent to the peer if both implicit and explicit bootstrapping | |||
mechanisms are possible, because the ERP message and the root key | mechanisms are possible, because the ERP message and the root key | |||
used for protecting this message are different in bootstrapping | used for protecting this message are different in bootstrapping | |||
exchanges and non-bootstrapping exchanges. | exchanges and non-bootstrapping exchanges. | |||
5.2. Bootstrapping During the First Re-authentication | 5.2. Bootstrapping During the First Re-authentication | |||
Bootstrapping the ER server during the first re-authentication (also | Bootstrapping the ER server during the first re-authentication (also | |||
known as explicit bootstrapping) is only needed when there is no | known as explicit bootstrapping) is only needed when there is no | |||
local ER server in the visited domain and there is the ER server in | local ER server in the visited domain and there is an ER server in | |||
the home domain. It is less resource-consuming, since EMSK generated | the home domain. It is less resource-intensive, since the EMSK | |||
during initial EAP authentication is reused to derive root keys. On | generated during initial EAP authentication is reused to derive root | |||
the other hand, in that case first re-authentication requires a one- | keys. On the other hand, the first re-authentication requires a one- | |||
round-trip exchange with the home EAP server, since the EMSK is | round-trip exchange with the home EAP server, since the EMSK is | |||
generated during initial EAP authentication and never leaves the home | generated during the initial EAP authentication and never leaves the | |||
EAP server, which is less efficient than the implicit bootstrapping | home EAP server, which is less efficient than the implicit | |||
scenario. | bootstrapping scenario. | |||
The EAP-Initiate/Re-auth message is sent to the home ER server. The | The EAP-Initiate/Re-auth message is sent to the home ER server. The | |||
home ER server receives the ERP/DER message containing the EAP- | home ER server receives the ERP/DER message containing the EAP- | |||
Initiate/Re-Auth message with the 'B' flag set. It creates the new | Initiate/Re-Auth message with the 'B' flag set. It creates the new | |||
EAP/DER message using the received DRP/DER message and performs the | EAP/DER message using the received DRP/DER message and performs the | |||
following processing: | following processing: | |||
Set the Application Id in the header of the message as Diameter | Set the Application Id in the header of the message to <Diameter | |||
EAP Application (code 5). | EAP Application> [RFC4072] | |||
Extract ERP-RK-request from ERP/DER, which contains the name of | Extract the ERP-RK-Request AVP from the ERP/DER message, which | |||
domain where the ER server is located and add it into newly | contains the name of the domain where the ER server is located and | |||
created ERP/DER message. | add it to the newly created ERP/DER message. | |||
Then the newly created EAP/DER is sent and routed to the home | Then the newly created EAP/DER is sent and routed to the home | |||
Diameter EAP server. | Diameter EAP application server. | |||
If the home EAP server does not support ERP extensions, it replies | If the home Diameter server does not support ERP extensions, it | |||
with an error since the encapsulated ERP-RK-request AVP is not | replies with an error since the encapsulated ERP-RK-Request AVP is | |||
understood. Otherwise, it processes the DSRK request as described in | not understood. Otherwise, it processes the DSRK request as | |||
[RFC5296]. In particular, it includes the Domain- Name TLV attribute | described in [RFC5296]. In particular, it includes the Domain- Name | |||
with the content from the ERP-Realm AVP. It creates the EAP/DEA | TLV attribute with the content from the ERP-Realm AVP. The server | |||
reply message [RFC4072]including an instance of the Key AVP Section | creates the EAP/DEA reply message [RFC4072] including an instance of | |||
8.3 with Key-Type AVP set to rRK. In particular, it includes the | the Key AVP (Section 8.3) with Key-Type AVP set to rRK and an | |||
Domain- Name TLV attribute with the content from the ERP-Realm AVP. | instance of the Domain-Name TLV attribute with the content from the | |||
ERP-Realm AVP. | ||||
The ER server receives this EAP/DEA and proxies it as follows, in | The ER server receives this EAP/DEA and proxies it as follows, in | |||
addition to standard proxy operations: | addition to standard proxy operations: | |||
Set the Application Id back to Diameter ERP Application Id (code | Set the Application Id back to Diameter ERP Application Id | |||
TBD) | (Section 11.1 ) | |||
Extract and cache the content of the Key AVP with Key-Type set to | Extract and cache the content of the Key AVP with Key-Type set to | |||
rRK, as described in implicit scenario. | rRK, as described in the implicit scenario (Section 5.1). | |||
The ERP/DEA message is then forwarded to the authenticator, that can | The ERP/DEA message is then forwarded to the authenticator, that can | |||
use the rMSK as described in RFC 5296 [RFC5296]. | use the rMSK as described in RFC 5296 [RFC5296]. | |||
The figure below captures this proxy behavior: | The figure below captures this proxy behavior: | |||
Authenticator ER server Home EAP server | Authenticator ER server Home Diameter server | |||
============= ========= =============== | ============= ========= ==================== | |||
-----------------------> | -----------------------> | |||
Diameter ERP/DER | Diameter ERP/DER | |||
(EAP-Initiate) | (EAP-Initiate) | |||
------------------------> | ------------------------> | |||
Diameter EAP/DER | Diameter EAP/DER | |||
(EAP-Response) | (EAP-Response) | |||
(ERP-RK-Request) | (ERP-RK-Request) | |||
<------------------------ | <------------------------ | |||
Diameter EAP/DEA | Diameter EAP/DEA | |||
skipping to change at page 10, line 17 | skipping to change at page 10, line 45 | |||
the authenticator. Alternatively, the authenticator may send an EAP- | the authenticator. Alternatively, the authenticator may send an EAP- | |||
Initiate/Re-auth-Start message to the peer to trigger the mechanism. | Initiate/Re-auth-Start message to the peer to trigger the mechanism. | |||
In this case, the peer responds with an EAP-Initiate/Re-auth message. | In this case, the peer responds with an EAP-Initiate/Re-auth message. | |||
If the authenticator does not support ERP (pure Diameter EAP | If the authenticator does not support ERP (pure Diameter EAP | |||
[RFC4072] support), it discards the EAP packets with an unknown ERP- | [RFC4072] support), it discards the EAP packets with an unknown ERP- | |||
specific code (EAP-Initiate). The peer should fallback to full EAP | specific code (EAP-Initiate). The peer should fallback to full EAP | |||
authentication in this case. | authentication in this case. | |||
When the authenticator receives an EAP-Initiate/Re-auth message from | When the authenticator receives an EAP-Initiate/Re-auth message from | |||
the peer, it process as described in [RFC5296] with regards to the | the peer, the message is processed as described in [RFC5296] with | |||
EAP state machine. It creates a Diameter ERP/DER message following | regard to the EAP state machine. It creates a Diameter ERP/DER | |||
the general process of Diameter EAP [RFC4072], with the following | message following the general process of Diameter EAP [RFC4072], with | |||
differences: | the following differences: | |||
The Application Id in the header is set to Diameter ERP (code TBD | The Application Id in the header is set to <Diameter ERP> (code | |||
). | TBD ). | |||
The value in Auth-Application-Id AVP is also set to Diameter ERP | The value in Auth-Application-Id AVP is also set to <Diameter | |||
Application. | ERP>. | |||
The keyName-NAI attribute from ERP message is used to create the | The keyName-NAI attribute from the ERP message is used to create | |||
content of User-Name AVP and Destination-Realm AVP. | the content of the User-Name and Destination-Realm AVPs. | |||
The Auth-Request-Type AVP content is set to the appropriate value. | The Auth-Request-Type AVP content is set to the appropriate value. | |||
The EAP-Payload AVP contains the EAP-Initiate/Re-Auth. | The EAP-Payload AVP contains the EAP-Initiate/Re-Auth meassge. | |||
Then this ERP/DER message is sent as described in Section 4. | Then this ERP/DER message is sent as described in Section 4. | |||
The ER server receives and processes this request as described in | The ER server receives and processes this request as described in | |||
Section 4. It then creates an ERP/DEA message following the general | Section 4. It then creates an ERP/DEA message following the general | |||
processing described in RFC4072 [RFC4072], with the following | process described in RFC4072 [RFC4072], with the following | |||
differences: | differences: | |||
The Application Id in the header is set to Diameter ERP (code | The Application Id in the header is set to <Diameter ERP> (code | |||
TBD). | TBD). | |||
The value of the Auth-Application-Id AVP is also set to Diameter | The value of the Auth-Application-Id AVP is also set to <Diameter | |||
ERP Application. | ERP>. | |||
The EAP-Payload AVP contains the EAP-Finish/Re-auth message. | The EAP-Payload AVP contains the EAP-Finish/Re-auth message. | |||
In case of successful authentication, an instance of the Key AVP | If authentication is successful, an instance of the Key AVP | |||
containing the Re-authentication Master Session Key (rMSK) derived | containing the Re-authentication Master Session Key (rMSK) derived | |||
by ERP is included. | by ERP is included. | |||
When the authenticator receives this ERP/DEA answer, it processes it | When the authenticator receives this ERP/DEA answer, it processes it | |||
as described in Diameter EAP [RFC4072] and RFC5296 [RFC5296]: the | as described in Diameter EAP [RFC4072] and RFC5296 [RFC5296]: the | |||
content of EAP-Payload AVP content is forwarded to the peer, and the | content of the EAP-Payload AVP is forwarded to the peer, and the | |||
contents of the Keying-Material AVP [I-D.ietf-dime-local-keytran] is | contents of the Keying-Material AVP [I-D.ietf-dime-local-keytran] is | |||
used as a shared secret for Secure Association Protocol. | used as a shared secret for a secure association protocol specific to | |||
the lower-layer in use. | ||||
7. Application Id | 7. Application Id | |||
We define a new Diameter application in this document, Diameter ERP | We define a new Diameter application in this document, Diameter ERP | |||
Application, with an Application Id value of TBD. Diameter nodes | Application, with an Application Id value of TBD. Diameter nodes | |||
conforming to this specification in the role of ER server MUST | conforming to this specification in the role of ER server MUST | |||
advertise support by including an Auth-Application-Id AVP with a | advertise support by including an Auth-Application-Id AVP with a | |||
value of Diameter ERP Application in the of the Capabilities- | value of Diameter ERP in the Capabilities-Exchange-Request and | |||
Exchange-Request and Capabilities-Exchange-Answer commands [RFC3588]. | Capabilities-Exchange-Answer commands [I-D.ietf-dime-rfc3588bis]. | |||
The primary use of the Diameter ERP Application Id is to ensure | The primary use of the Diameter ERP Application Id is to ensure | |||
proper routing of the messages, and that the nodes that advertise the | proper routing of the messages, and that the nodes that advertise the | |||
support for this application do understand the new AVPs defined in | support for this application do understand the new AVPs defined in | |||
Section 8 , although these AVP have the 'M' flag cleared. | Section 8, although these AVP have the 'M' flag cleared. | |||
8. AVPs | 8. AVPs | |||
This section discusses the AVPs used by the Diameter ERP application. | The following sub-sections discuss the AVPs used by the Diameter ERP | |||
application. | ||||
8.1. ERP-RK-Request AVP | 8.1. ERP-RK-Request AVP | |||
The ERP-RK-Request AVP (AVP Code TBD) is of type grouped AVP. This | The ERP-RK-Request AVP (AVP Code TBD) is of type grouped AVP. This | |||
AVP is used by the ER server to indicate its willingness to act as ER | AVP is used by the ER server to indicate its willingness to act as ER | |||
server for a particular session. | server for a particular session. | |||
This AVP has the M and V bits cleared. | This AVP has the M and V bits cleared. | |||
ERP-RK-Request ::= < AVP Header: TBD > | ERP-RK-Request ::= < AVP Header: TBD > | |||
skipping to change at page 12, line 18 | skipping to change at page 12, line 45 | |||
used to carry the rRK or rMSK and associated attributes. The usage | used to carry the rRK or rMSK and associated attributes. The usage | |||
of the Key AVP and its constituent AVPs in this application is | of the Key AVP and its constituent AVPs in this application is | |||
specified in the following sub-sections. | specified in the following sub-sections. | |||
8.3.1. Key-Type AVP | 8.3.1. Key-Type AVP | |||
The value of the Key-Type AVP MUST be set to 2 for rRK or 3 for rMSK. | The value of the Key-Type AVP MUST be set to 2 for rRK or 3 for rMSK. | |||
8.3.2. Keying-Material AVP | 8.3.2. Keying-Material AVP | |||
The Keying-Material AVP contains rRK sent by the home EAP server to | The Keying-Material AVP contains the rRK sent by the home EAP server | |||
the ER server, in answer to a request containing an ERP-RK-Request | to the ER server, in answer to a request containing an ERP-RK-Request | |||
AVP, or the rMSK sent by ER server to authenticator. How this | AVP, or the rMSK sent by the ER server to the authenticator. How | |||
material is derived and used is specified in RFC 5296 [RFC5296]. | this material is derived and used is specified in RFC 5296 [RFC5296]. | |||
8.3.3. Key-Name AVP | 8.3.3. Key-Name AVP | |||
This AVP contains the EMSKname which identifies the keying material. | This AVP contains the EMSKname which identifies the keying material. | |||
The derivation of this name is specified in RGC 5296 [RFC5296]. | The derivation of this name is specified in RGC 5296 [RFC5296]. | |||
8.3.4. Key-Lifetime AVP | 8.3.4. Key-Lifetime AVP | |||
The Key-Lifetime AVP contains the lifetime of the keying material in | The Key-Lifetime AVP contains the lifetime of the keying material in | |||
seconds. It MUST NOT be greater than the remaining lifetime of the | seconds. It MUST NOT be greater than the remaining lifetime of the | |||
EMSK from which the material was derived. | EMSK from which the material was derived. | |||
9. Acknowledgements | 9. Contributors | |||
Hannes Tschofenig wrote the initial draft for this document and | ||||
provided useful reviews. | ||||
Vidya Narayanan reviewed a rough draft version of the document and | Hannes Tschofenig wrote the initial draft of this document. | |||
found some errors. | ||||
Lakshminath Dondeti contributed to the early versions of the | Lakshminath Dondeti contributed to the early versions of the | |||
document. | document. | |||
10. Acknowledgements | ||||
Hannes Tschofenig provided useful reviews. | ||||
Vidya Narayanan reviewed a rough draft version of the document and | ||||
found some errors. | ||||
Many thanks to these people! | Many thanks to these people! | |||
10. IANA Considerations | 11. IANA Considerations | |||
This document requires IANA registration of the following new | This document requires IANA registration of the following new | |||
elements in the Authentication, Authorization, and Accounting (AAA) | elements in the Authentication, Authorization, and Accounting (AAA) | |||
Parameters [1] registries. | Parameters [1] registries. | |||
10.1. Diameter Application Identifier | 11.1. Diameter Application Identifier | |||
This specification requires IANA to allocate a new value "Diameter | This specification requires IANA to allocate a new value "Diameter | |||
ERP" in the "Application IDs" registry using the policy specified in | ERP" in the "Application IDs" registry using the policy specified in | |||
Section 11.3 of RFC 3588 [RFC3588]. | Section 11.3 of RFC 3588 [RFC3588]. | |||
10.2. New AVPs | 11.2. New AVPs | |||
This specification requires IANA to allocate new values from the "AVP | This specification requires IANA to allocate new values from the "AVP | |||
Codes" registry according to the policy specified in Section 11.1 of | Codes" registry according to the policy specified in Section 11.1 of | |||
RFC 3588 [RFC3588] for the following AVPs: | Fajardo, et al. [I-D.ietf-dime-rfc3588bis] for the following AVPs: | |||
ERP-RK-Request | ERP-RK-Request | |||
ERP-Realm | ERP-Realm | |||
These AVPs are defined in Section 8. | These AVPs are defined in Section 8. | |||
11. Security Considerations | 12. Security Considerations | |||
The security considerations from the following documents apply here: | The security considerations from the following documents apply here: | |||
o RFC3588 [RFC3588] | o Fajardo, et al. [I-D.ietf-dime-rfc3588bis] | |||
o RFC4072 [RFC4072] | o RFC 4072 [RFC4072] | |||
o RFC5296 [RFC5296] | o RFC 5296 [RFC5296] | |||
o I-D.ietf-dime-local-keytran[I-D.ietf-dime-local-keytran] | o Zorn, Wu and Cakulev [I-D.ietf-dime-local-keytran] | |||
12. Normative References | 13. Normative References | |||
[I-D.ietf-dime-local-keytran] Wu, Q., Zorn, G., and V. Cakulev, | [I-D.ietf-dime-local-keytran] Zorn, G., Wu, W., and V. Cakulev, | |||
"Diameter support for local key | "Diameter Attribute-Value Pairs for | |||
transport protocol between local | Cryptographic Key Transport", | |||
server and home AAA server", | draft-ietf-dime-local-keytran-14 (work | |||
draft-ietf-dime-local-keytran-09 (work | in progress), August 2011. | |||
in progress), April 2011. | ||||
[I-D.ietf-dime-rfc3588bis] Fajardo, V., Arkko, J., Loughney, J., | ||||
and G. Zorn, "Diameter Base Protocol", | ||||
draft-ietf-dime-rfc3588bis-29 (work in | ||||
progress), August 2011. | ||||
[RFC2119] Bradner, S., "Key words for use in | [RFC2119] Bradner, S., "Key words for use in | |||
RFCs to Indicate Requirement Levels", | RFCs to Indicate Requirement Levels", | |||
BCP 14, RFC 2119, March 1997. | BCP 14, RFC 2119, March 1997. | |||
[RFC3588] Calhoun, P., Loughney, J., Guttman, | [RFC3588] Calhoun, P., Loughney, J., Guttman, | |||
E., Zorn, G., and J. Arkko, "Diameter | E., Zorn, G., and J. Arkko, "Diameter | |||
Base Protocol", RFC 3588, | Base Protocol", RFC 3588, | |||
September 2003. | September 2003. | |||
skipping to change at page 15, line 4 | skipping to change at page 15, line 35 | |||
EMail: julien.bournelle@orange-ftgroup.com | EMail: julien.bournelle@orange-ftgroup.com | |||
Lionel Morand | Lionel Morand | |||
Orange Labs | Orange Labs | |||
38-40 rue du general Leclerc | 38-40 rue du general Leclerc | |||
Issy-Les-Moulineaux 92794 | Issy-Les-Moulineaux 92794 | |||
France | France | |||
EMail: lionel.morand@orange-ftgroup.com | EMail: lionel.morand@orange-ftgroup.com | |||
Sebastien Decugis | Sebastien Decugis | |||
Free Diameter | INSIDE Secure | |||
4-2-1 Nukui-Kitamachi | 41 Parc Club du Golf | |||
Tokyo, Koganei 184-8795 | Aix-en-Provence 13856 | |||
Japan | France | |||
Phone: +33 (0)4 42 39 63 00 | ||||
EMail: sdecugis@freediameter.net | EMail: sdecugis@freediameter.net | |||
Qin Wu | Qin Wu | |||
Huawei Technologies Co., Ltd | Huawei Technologies Co., Ltd | |||
Site B, Floor 12F, Huihong Mansion, No.91 Baixia Rd. | Site B, Floor 12F, Huihong Mansion, No.91 Baixia Rd. | |||
Nanjing 210001 | Nanjing 210001 | |||
China | China | |||
EMail: sunseawq@huawei.com | EMail: sunseawq@huawei.com | |||
Glen Zorn | Glen Zorn | |||
Network Zen | Network Zen | |||
skipping to change at page 15, line 26 | skipping to change at page 16, line 18 | |||
China | China | |||
EMail: sunseawq@huawei.com | EMail: sunseawq@huawei.com | |||
Glen Zorn | Glen Zorn | |||
Network Zen | Network Zen | |||
227/358 Thanon Sanphawut | 227/358 Thanon Sanphawut | |||
Bang Na, Bangkok 10260 | Bang Na, Bangkok 10260 | |||
Thailand | Thailand | |||
EMail: gwz@net-zen.net | EMail: glenzorn@gmail.com | |||
End of changes. 67 change blocks. | ||||
144 lines changed or deleted | 155 lines changed or added | |||
This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |