Internet DRAFT - draft-lior-pana-radius
draft-lior-pana-radius
Network Working Group A. Lior
Internet-Draft Bridgewater Systems
Expires: August 13, 2005 A. Yegin
Samsung
February 9, 2005
Interworking of Protocol for Carrying authentication for Network
Access (PANA) and Remote Authentication Dial In User Service
(RADIUS).
draft-lior-pana-radius-00
Status of this Memo
This document is an Internet-Draft and is subject to all provisions
of Section 3 of RFC 3667. By submitting this Internet-Draft, each
author represents that any applicable patent or other IPR claims of
which he or she is aware have been or will be disclosed, and any of
which he or she become aware will be disclosed, in accordance with
RFC 3668.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as
Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on August 13, 2005.
Copyright Notice
Copyright (C) The Internet Society (2005).
Abstract
This document provides information on the use of Remote
Authentication Dial In User Service (RADIUS) with the Protocol for
Carrying Authentication for Network Access (PANA).
Lior & Yegin Expires August 13, 2005 [Page 1]
Internet-Draft Interwokring of PANA and RADIUS February 2005
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1 Terminology . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Requirements Language . . . . . . . . . . . . . . . . . . 3
2. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Operations . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.1 Mapping of PANA Phases to RADIUS . . . . . . . . . . . . . 4
3.2 Call Flows . . . . . . . . . . . . . . . . . . . . . . . . 5
3.2.1 Call flow for a single authentication . . . . . . . . 5
3.2.2 PANA Multi-Authentication Call Flow . . . . . . . . . 8
3.2.3 PANA Termination . . . . . . . . . . . . . . . . . . . 9
3.2.4 Re-authentication . . . . . . . . . . . . . . . . . . 11
4. PANA RADIUS Message Mapping . . . . . . . . . . . . . . . . . 13
4.1 RADIUS Access-Request . . . . . . . . . . . . . . . . . . 13
4.2 Access-Challenge . . . . . . . . . . . . . . . . . . . . . 14
4.3 Access-Accept . . . . . . . . . . . . . . . . . . . . . . 14
4.4 Access-Reject . . . . . . . . . . . . . . . . . . . . . . 15
4.5 Accounting-Request . . . . . . . . . . . . . . . . . . . . 16
4.6 Disconnect-Request . . . . . . . . . . . . . . . . . . . . 16
5. RADIUS Attributes to PANA AVP Mapping . . . . . . . . . . . . 16
5.1 Consideration for User-Name . . . . . . . . . . . . . . . 17
5.2 EAP-Message . . . . . . . . . . . . . . . . . . . . . . . 17
5.3 PANA Session . . . . . . . . . . . . . . . . . . . . . . . 18
5.4 Session-Termination . . . . . . . . . . . . . . . . . . . 18
5.5 Consideration Acct-Terminate-Cause . . . . . . . . . . . . 18
5.6 RADIUS Table of Attributes . . . . . . . . . . . . . . . . 19
6. Error Handling . . . . . . . . . . . . . . . . . . . . . . . . 20
7. Security Considerations . . . . . . . . . . . . . . . . . . . 20
8. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 20
9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 20
9.1 Normative references . . . . . . . . . . . . . . . . . . . 20
9.2 Informative references . . . . . . . . . . . . . . . . . . 21
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 22
Intellectual Property and Copyright Statements . . . . . . . . 23
Lior & Yegin Expires August 13, 2005 [Page 2]
Internet-Draft Interwokring of PANA and RADIUS February 2005
1. Introduction
The Protocol for Carrying Authentication for Network Access (PANA) is
specified in [I-D.ietf-pana-pana] and designed to carry Extensible
Authentication Protocol (EAP) [RFC3748] based authentication methods
between the client and the access network over IP.
PANA can work with AAA infrastructures such as RADIUS [RFC2865] and
Diameter [RFC3588]. PANA transports the EAP-based authentication
methods between the PANA Client (PaC) known as the EAP peer and the
PANA Authentication Agent (PAA) also known as the EAP authenticator.
When used with the AAA infrastructure, the PAA acting as a AAA client
transfers information using the AAA protocol to the AAA server acting
as an EAP backend authentication server where the EAP method is
executed.
This document describes how PANA works with RADIUS. As specified in
[RFC3579] RADIUS is able to carry EAP conversations between the EAP
Authenticator (the NAS) and the Authentication Server. Therefore,
this document describes the integration of [I-D.ietf-pana-pana] and
[RFC3579]. As well, PANA supports other capabilities such as, PAA
initiation of session termination, and therefore this document
describes how PANA works with RADIUS Dynamic Authorization Extensions
[RFC3576].
1.1 Terminology
The document uses the PANA terms found in [I-D.ietf-pana-pana] and
the RADIUS terms found in [RFC2865], [RFC2866], [RFC2869], and
[RFC3576] and EAP terms found in [RFC3579].
In this document "attributes" refers to RADIUS attributes and
"Attribute Value Pair" or "AVP" refers to PANA attributes.
In this document the term "NAS" refers to the PANA PAA and RADIUS
client which are logically co-located.
1.2 Requirements Language
In this document, several words are used to signify the requirements
of the specification. These words are often capitalized. The key
words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",
"SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document
are to be interpreted as described in [RFC2119].
2. Overview
In order to set the stage for document we present a basic PANA RADIUS
Lior & Yegin Expires August 13, 2005 [Page 3]
Internet-Draft Interwokring of PANA and RADIUS February 2005
scenario. The basic scenario is enough to understand how to operate
PANA with RADIUS. Other scenarios are possible. For example, RADIUS
proxies may exist between the RADIUS client and the RADIUS server;
or, the RADIUS server may not be the EAP Authentication Server
+------------------------------+
+-----+ | +-----+ +---------------+ | +---------------+
| | | | | | | | | |
| PaC +---+--+ PAA +--+ RADIUS client |--+-----+ RADIUS server |
| | | | | | | | | |
+-----+ | +-----+ +---------------+ | +---------------+
| Network Access Server(NAS) |
+------------------------------+
Figure 1
In the above figure, the PAA and the RADIUS client are collocated in
a Network Access Server (NAS). The NAS is a logical entity, and has
different functionality depending on the network technology. For
example, in 3GPP2 the NAS is a Packet Data Serving Node (PDSN), in
WLAN the NAS maybe the Access Point or the Access Router. During the
RADIUS interaction, the NAS will typically receive authorization
attributes from the AAA infrastructure. These attributes would be
dependant on the NAS's role in the network. In this document we are
only concerned with the RADIUS attributes that are implicated in
PANA. Henceforth we use the term NAS to represent the PAA/RADIUS
client.
Roles:
o The PaC and the PAA communicate as per
[I-D.ietf-pana-pana].
o The NAS communicates with the RADIUS server using the
RADIUS protocol. In some deployments this communication
may involve one or more RADIUS proxies.
Since PANA is EAP-centric it is important to define the role of each
entity with respect to EAP:
o The PaC acts as an EAP Peer.
o The NAS is acting like the EAP authenticator.
o The RADIUS Server is acting EAP authentication server.
3. Operations
3.1 Mapping of PANA Phases to RADIUS
A PANA session consist of distinct phases. This section describes
the mapping of the PANA phases to the RADIUS phases.
Lior & Yegin Expires August 13, 2005 [Page 4]
Internet-Draft Interwokring of PANA and RADIUS February 2005
PANA discovery and handshake phase: In PANA this is the phase that
initiates a new PANA session. The PaC's answer sent in response to
an advertisement starts a new session. RADIUS is not involved in
this phase. However, PANA allows for the EAP execution to overlap
the discovery and handshake phase. In this case RADIUS
authentication and authorization is triggered in this phase.
PANA authentication and authorization phase: This phase follows PANA
discovery and handshake phase. RADIUS authentication and
authorization is used to carry the PANA EAP payload to the EAP Server
using RADIUS packets. In addition to the EAP result, the RADIUS
infrastructure may deliver authorization attributes to the NAS.
PANA Access phase: After successful authentication and authorization,
IP traffic begins to flow. RADIUS accounting packets (when used)
indicate the start of the PANA access phase. During the PANA access
phase, RADIUS accounting may be used to report interim usage for the
session. At anytime during the access phase, RADIUS may deliver new
authorization attributes as specified by [RFC3576].
PANA re-authorization phase: PANA enters this phase when to
re-authenticate the session before the PANA session lifetime expires.
This phase corresponds to a RADIUS authentication only exchange.
PANA termination phase: This phase is entered by PANA when the PaC or
PAA choose to discontinue the access service at any time. An
explicit disconnect message can be sent by either the PaC or the PAA.
If [RFC3576] is supported, then a RADIUS server may trigger the NAS
to initiate termination of the PANA session. If RADIUS accounting is
used, PANA session termination is signaled by the generation of a
RADIUS Accounting Request (Stop) packet.
3.2 Call Flows
The following call flows illustrate the interoperation of PANA with
RADIUS. For the sake of brevity the call flows utilize the
abbreviated EAP transaction supported by PANA. That is, the
PANA-Auth-Answer carries the EAP-payload.
The call-flows are derived from [I-D.ietf-pana-pana] and [RFC3579].
3.2.1 Call flow for a single authentication
The following is a call flow description for a PANA RADIUS single
authentication.
Lior & Yegin Expires August 13, 2005 [Page 5]
Internet-Draft Interwokring of PANA and RADIUS February 2005
PaC NAS RADIUS
Server
a) < Discovery and handshake phase>
| | |
< Authentication Authorization phase>
|PANA-Auth-Request(x) | |
b) |<---------------------| |
|PANA-Auth-Answer(x) | |
c) |--------------------->| |
| |RADIUS Access-Request |
d) | |----------------------->|
| |RADIUS Challenge |
e) | |<-----------------------|
|PANA-Auth-Request(x+1)| |
f) |<---------------------|........................|
|PANA-Auth-Answer(x+1) | |
g) |--------------------->|........................|
| | RADIUS Access-Request |
h) | |----------------------->|
| | RADIUS Access-Accept |
i) | |<-----------------------|
|PANA-Bind-Request | |
j) |<---------------------| |
|PANA-Bind-Answer | |
k) |--------------------->| |
| |RADIUS Accounting(Start)|
l) | |----------------------->|
| | |
< PANA access phase >
| | |
a. Except when the PANA-Start-Answer contains an EAP Response
message (discussed below), PANA Discovery and Handshake takes
place between PAA (collocated in the NAS) and PaC and does not
involve RADIUS.
b. PANA Authentication phase starts after the Discovery phase, when
the PAA sends a PANA-Auth-Request to the PaC containing the EAP
Request/Identity.
c. The PaC responds with a PANA-Auth-Answer containing the EAP
Response/Identity.
d. The NAS sends RADIUS an Access-Request. Attributes from the PAR
are translated to RADIUS attributes. In particular, the
User-Name(1) attribute is constructed as described below. The
User-Name(1) will be used throughout the transaction. If
[I-D.zorn-radius-logoff] is supported, the PANA Session-id will
be sent in these and the other Access-Requests in the Session-Id
Lior & Yegin Expires August 13, 2005 [Page 6]
Internet-Draft Interwokring of PANA and RADIUS February 2005
attribute.
e. RADIUS responds with a RADIUS Access-Challenge. RADIUS
Access-Request and RADIUS Access-Challenge packets are used in
multi-step authentication scheme such as EAP. If the
authentication required one packet exchange then RADIUS would
have responded with an Access-Accept or an Access-Reject. These
packets include the EAP-Message(79) attribute(s) which contain
the EAP method.
f. Attributes from the RADIUS Access-Challenge packet are translated
into PANA attributes that are then forwarded to the PaC in a PAR.
In particular, the contents of the EAP-Message(79) attribute(s)
are copied in the EAP-Payload AVP(s).
g. The PaC response with an PAR which is then forwarded to the
RADIUS server in an Access request (as in step d).
h. As in step d, attributes in the PAR are translated to RADIUS
attributes and are sent to the RADIUS server in an
Access-Request.
i. The NAS receives a response from the RADIUS server. If the
response is a Access-Challenge packet, then Authentication is not
yet complete and steps f) and g) are repeated. If the packet
received is an Access-Accept or Access-Reject, then RADIUS
authentication and Authorization phase are over. In this case
the NAS saves the authorization attributes and the resulting
AAA-KEY(if any) which is carried in TBD or preferably in [KEY].
j. The PAA sends a PANA-Bind-Request(PBR) to the PaC. The PBR will
contain the EAP-Success or EAP-Failure response received in the
Access-Accept or Access-Reject packets respectively.
k. The PaC responds with an PANA-Bind-Answer (PBA).
l. The NAS sends a RADIUS Accounting-Request(Start) packet
confirming the start of the session. As the session continues,
the NAS may send RADIUS Accounting Request(Interims) packets as
required. When the Session terminates, the NAS will send a
RADIUS Accounting-Request(Stop). If the NAS supports
[I-D.zorn-radius-logoff] the NAS will send a
User-Logoff-Notification packet at this time as well.
For optimization reasons, PANA allows the PAA to start the EAP
conversation during the PANA Discovery Phase. In this case the PAA
will include the initial EAP Request in the PANA-Start-Request
message. The PaC will then include the EAP Response message (EAP
Response/Identity) in the PANA-Start-Answer(PSA)a message. In this
case the RADIUS Access-Request (step d) will be triggered by the
reception of the PSA message.
Lior & Yegin Expires August 13, 2005 [Page 7]
Internet-Draft Interwokring of PANA and RADIUS February 2005
3.2.2 PANA Multi-Authentication Call Flow
PaC NAS RADIUS
Server
| | |
a) |<Discovery Handshake> | |
| | |
b) |< PANA FIRST AUTHENTICATION > |
|<====================>|<======================>|
| | |
|PFER | |
c) |<---------------------| |
| PFEA | |
d) |--------------------->| |
| | |
e) |< PANA SECOND AUTHENTICATION > |
|<====================>|<======================>|
| | |
| PANA-Bind-Request | |
f) |<---------------------| |
| PANA-Bind-Answer | |
g) |--------------------->| |
| |RADIUS Accounting(Start)|
h) | |----------------------->|
| | |
| < PANA access phase >| |
a. During the discovery and handshake phase the PaC and PAA may
negotiate to perform separate NAP and ISP authentication.
b. The first authentication will either be the NAP Authentication or
the ISP authentication. Steps b) to i) described in the PANA
single authentication call flow are executed. The RADIUS
authorization attributes received in the Access-Accept if any are
saved. The Keys that are the result of the EAP method if
received in the Access-Accept must be saved. Keys are delivered
in the Access-Accept using MS-MPPE-Send-Key and MS-MPPE-Recv-Key
attributes [RFC2548]; or preferably, the Key attribute as defined
in [I-D.zorn-radius-keywrap].
c. Upon receiving an Access-Accept or Access-Reject the PAA sends a
PFER to the PaC. The PFER will contain the EAP Success/Failure
message received in the Access-Accept/Access-Reject packet
respectively.
d. The PFEA is received from the PaC.
e. The PANA second authentication starts. Note that the second
authentication may start even though the first authentication
phase has failed (matter of local policy). Steps b) to i)
described in the PANA single authentication call flow are
Lior & Yegin Expires August 13, 2005 [Page 8]
Internet-Draft Interwokring of PANA and RADIUS February 2005
executed. The RADIUS authorization attributes received in the
Access-Accept if any are saved. Any Key if received in the
Access-Accept is saved.
f. The PAA sends a PBR containing the EAP Success/Failure message
carried in the Access-Accept/Access-Reject.
g. The PaC responds with a PBA.
h. The session begins. This is signaled by sending of a RADIUS
Accounting(Start) packet. As the session continues, the NAS may
send RADIUS Accounting Request(Interims) as required. When the
Session terminates, the NAS will send a RADIUS
Accounting-Request(Stop).
When two PANA authentication are used, there are two distinct RADIUS
Authentication and Authorization conversations typically with
different NAIs. The same RADIUS server may participate in both
conversations, however, the endpoint will typically be different.
Each RADIUS Authorization may deliver RADIUS authorization attributes
to the NAS. It's a matter of local policies how these collection of
authorization attributes (which may overlap) are acted upon by the
NAS.
Multiple-authentications may result with the reception of two Keys
(or key pair) by the NAS. When there are two keys, the PAA and the
PaC create a compound key following the procedure defined in
[I-D.ietf-pana-pana].
Based on local policies the NAS may need to send two
Accounting-Request (Start) packets one for each RADIUS authentication
authorization conversation.
3.2.3 PANA Termination
Explicit termination can be initiated either from the PaC or from the
PAA.
PaC NAS RADIUS
Server
| | |
|< PANA access phase> | |
| PTR | |
a) |--------------------->| |
|PTA | |
b) |<---------------------| |
| |Accounting-Request(Stop)|
c) | |----------------------->|
Lior & Yegin Expires August 13, 2005 [Page 9]
Internet-Draft Interwokring of PANA and RADIUS February 2005
a. When the PaC initiates explicit termination, it sends the PAA a
PTR message.
b. The PAA acknowledges with a PTA message.
c. The NAS sends a RADIUS Accounting-Request (Stop) packet
indicating the end of the session.
[EDITOR'S NOTES: We can probably combine the above and below call
flow since there is no added value from the RADIUS perspective]
PaC NAS RADIUS
Server
| | |
| <PANA access phase> | |
| | |
a) [Termination-Trigger]
| PTR | |
b) |<---------------------| |
| PTA | |
c) |--------------------->| |
| |Accounting-Request(Stop)|
d) | |----------------------->|
| | |
In the case of the initiation from the PAA that can be as a result of
several events:
A local command was received by the NAS to trigger the termination;
A Session-Timeout , for example, received as part of the RADIUS
authorization attributes has expired.
If the NAS is metering resources, and these resources have expired,
then the NAS may terminate the session.
If the NAS supports [RFC3576], the arrival of a RADIUS disconnect
packet may cause the NAS to initiate the PANA termination phase.
Lior & Yegin Expires August 13, 2005 [Page 10]
Internet-Draft Interwokring of PANA and RADIUS February 2005
PaC NAS RADIUS
Server
| | |
|<PANA access phase> | |
| | DR |
a) | |<-----------------------|
| | D-ACK |
b) | |----------------------->|
| PTR | |
c) |<---------------------| |
| PTA | |
d) |--------------------->| |
| |Accounting-Request(Stop)|
e) | |----------------------->|
| | |
a. The NAS receives a RADIUS Disconnect-Request packet[RFC3576]
containing session identifiers.
b. The NAS responds with a Disconnect-ACK (D-ACK) packet[RFC3576].
c. The PAA sends a PANA termination requests to the PaC.
d. The PaC acknowledges the termination request.
e. The NAS sends an Accounting-Request (Stop) packet to signal the
termination of the session and deliver final usage data for the
session.
Note, if PANA multi-authentication was performed based on local
policies the NAS MAY send two Accounting-Request (Stop) packets.
If [I-D.zorn-radius-logoff] is supported, then depending on whether
single or multiple authentication was performed, the NAS will send
one or two User-Logoff-Notification packets.
3.2.4 Re-authentication
The PANA session in the access phase can enter the re-authentication
phase. Once re-authentication is completed successfully, PANA enters
the PANA access phase again.
Either the PaC or the PAA may initiate re-authentication phase. The
following call flow illustrates the PaC initiating.
Lior & Yegin Expires August 13, 2005 [Page 11]
Internet-Draft Interwokring of PANA and RADIUS February 2005
PaC NAS RADIUS
Server
| | |
|< PANA access phase > | |
|PRAR | |
a) |--------------------->| |
| PRAA | |
b) |<---------------------| |
| | |
|< PANA authentication phase > |
| | |
c) |<====================>|<======================>|
| | |
|< PANA access phase > | |
| | |
a. The PaC initiates re-authentication by sending a
PANA-Reauth-Request
b. The PAA responds a PANA-Reauth-Answer and enters the PANA
authentication phase.
c. The PANA authentication phase proceeds as described above. The
result will either be success and indicated by the reception of a
RADIUS Access-Accept packet containing an EAP Success message and
potentially a Key (or key pair); or the result may be reject as
indicated by the reception of an Access-Reject packet contains
the EAP Failure message.
Some authorization attributes maybe received from RADIUS. RADIUS
Session-Timeout maybe sent to change the lifetime of the session.
It's a matter of local policies.
If multiple re-authentication are indicated then (as described
above), these are conducted back to back. The disposition of the
session if one of the re-authentication fails is a matter of local
policies.
Note: Accounting packets are not exchanged because the data session
is not terminated.
If the PANA authentication phase results in a failure. Then the
session will be terminated and an Accounting-Request (Stop) packet
will be sent to the RADIUS server.
The RADIUS can instruct the NAS to initiate re-authentication after a
period of time by sending Session-Timeout and Terminate-Action set to
"RADIUS".
Lior & Yegin Expires August 13, 2005 [Page 12]
Internet-Draft Interwokring of PANA and RADIUS February 2005
4. PANA RADIUS Message Mapping
The following table lists the mapping between PANA messages and
RADIUS packets.
PANA message name RADIUS packet name
PANA-Start-Answer ----> RADIUS Access-Request [Note 1]
PANA-Auth-Answer ----> RADIUS Access-Request [Note 2]
PANA-Auth-Request -----> RADIUS Access-Request [Note 3]
PANA-Auth-Request <---- RADIUS Access-Challenge
PANA-Bind-Request <---- RADIUS Access-Accept, Access-Reject
PANA-Bind-Answer ----> RADIUS Accounting-Request (Start)
PANA-FirstAuth-End-Request <---- RADIUS Access-Accept, Access-Reject
PANA-Termination-Request <---- RADIUS Disconnect-Request
PANA-Termination-Answer -----> RADIUS Accounting-Request (Stop)
[Note 1] PANA-Start-Answer triggers a RADIUS Access-Request packet if
and only if the PANA-Start-Answer carries EAP-payload.
[Note 2] PANA-Auth-Answer triggers a RADIUS Access-Request if the
PANA-Auth-Answer carries EAP-payload.
[Note 3] RADIUS Access-Request is mapped to PANA-Auth-Request when
the PANA-Auth-Answer is strictly used as an acknowledgement to
PANA-Auth-Request. That is, when PANA-Auth-Answer is not carrying
any EAP payload.
4.1 RADIUS Access-Request
A RADIUS Access-Request packet is mapped to PANA-Auth-Answer message
and a PANA-Start-Answer (if the PANA-Start-Answer contains the
EAP-Payload).
The RADIUS Access-Request packets SHOULD contain a User-Name(1)
attribute. User-Name will be set as described below to ensure that
the Access-Request can be routed appropriately. How the value for
the User-Name is derived is discussed below.
Since the authentication is based on EAP, the Access-Request packet
MUST NOT contain User-Password(2), CHAP-Password(3),
CHAP-Challenge(60) or ARAP-Password(70). Instead, the Access-Request
MUST contain one or more EAP-Message(79) and the
Message-Authenticator(80) attribute. The EAP-Message attribute will
contain the contents of the PANA EAP-Payload attribute. The
Message-Authenticator is computed as described in [RFC3579].
The RADIUS Service-Type (6) attribute will be typically set to
Lior & Yegin Expires August 13, 2005 [Page 13]
Internet-Draft Interwokring of PANA and RADIUS February 2005
"Framed"(2). If the receipt of the PANA-Auth-Answer arrives in the
PANA re-authentication phase, then Service-Type(6) MUST be set to
"Authenticate Only".
Note: PANA-Auth-Answer contains a Session-Id AVP, which will be
included in the RADUIS Access-Request packet in the Session-Id
attribute (if [I-D.zorn-radius-logoff] is supported). However, when
the Access-Request packet is triggered by the PANA-Start-Answer
message, the Session-Id AVP is not present and therefore Session-Id
attribute will not be carried in the RADIUS Access-Request packet.
Note: there is no attribute in RADIUS to carry the contents of the
Notification AVP in an Access-Request packet.
4.2 Access-Challenge
EAP based authentication typically require several exchanges between
the EAP peer and the EAP authentication server. As described in
[RFC3579], a RADIUS server wishing to authenticate with EAP MUST
respond with an Access-Challenge packet containing EAP-Message(79)
attribute(s).
Access-Challenge packets map to PANA-Auth-Request message. The NAS
MUST validate the Message-Authenticator(80) as described in
[RFC3579]. If the packet is authentic the NAS will copy the contents
of the EAP-Message(79) attributes to the EAP-Payload AVP included in
the PANA-Auth-Request message to be sent to the PaC.
As per [RFC3579] if Session-Timeout(27) is present in an
Access-Challenge packet that also contains an EAP-Message, the value
of the Session-Timeout is used to set the EAP retransmission timer
for that EAP Request, and that Request alone. Once the EAP-Request
has been sent, the NAS sets the retransmission timer, and if it
expires without having received an EAP-Response corresponding to the
Request, then the EAP-Request is retransmitted.
As noted in [RFC3579] a RADIUS server determining that a non-fatal
error has occurred MAY send an Access-Challenge to the NAS including
EAP-Message attribute(s) as well as an Error-Cause attribute
[RFC3576] with value 202 (decimal), "Invalid EAP Packet (Ignored)".
[RFC3579] describes the recommended action to be taken by the NAS.
4.3 Access-Accept
The successful result of EAP authentication is carried in a RADIUS
Access-Accept packet. As per the call flows, the arrival of an
Access-Accept packet triggers a PANA-Bind-Request, or a
PANA-FirstAuth-End-Request.
Lior & Yegin Expires August 13, 2005 [Page 14]
Internet-Draft Interwokring of PANA and RADIUS February 2005
Upon receiving the Access-Accept, the NAS MUST validate the
Message-Authenticator(80) as described in [RFC3579].
The Access-Accept will contain the EAP-Success message in the
EAP-Message(79) attribute, which is copied to the EAP-Payload AVP to
be sent to the PaC. As well, the Result-Code AVP will be set to
PANA_SUCCESS (2001).
4.4 Access-Reject
When the EAP method fails the RADIUS server will reply with an
Access-Reject packet. The arrival of an Access-Accept packet
triggers a PANA-Bind-Request, or a PANA-FirstAuth-End-Request.
The Access-Reject packet will contain an EAP-Message(79) attribute
encapsulating EAP-Failure and MAY also contain Error-Cause(101). The
Access-Reject MUST also be protected with the RADIUS
Message-Authenticator(80) attribute.
Upon receiving the Access-Reject, the NAS MUST validate the
Message-Authenticator(80) as described in [RFC3579].
If the Access-Reject packet is authentic, it will set the Result-Code
AVP to PANA_AUTHENTICATION_REJECTED(4001) and respond with a
PANA-Bind-Request, or PANA-FirstAuth-End-Request as appropriate.
[EDITOR's NOTE: while RFC3579 indicates that the Access-Reject packet
contains Error-Cause it does not specify why or what values will be
set in it. ]
[EDITOR's NOTE: There seems to be a conflict between RFC3579 and PANA
when multiple authentication is used.
This is what RFC 3579 says:
The conversation continues until either a RADIUS Access-Reject or
Access-Accept packet is received from the RADIUS server. Reception
of a RADIUS Access-Reject packet MUST result in the NAS denying
access to the authenticating peer. A RADIUS Access-Accept packet
successfully ends the authentication phase. The NAS MUST NOT
"manufacture" a Success or Failure packet as the result of a timeout.
After a suitable number of timeouts have elapsed, the NAS SHOULD
instead end the EAP conversation.
This is clearly against the PANA specification. Which allows one AAA
authentication to fail and the other to succeed. ]
Lior & Yegin Expires August 13, 2005 [Page 15]
Internet-Draft Interwokring of PANA and RADIUS February 2005
4.5 Accounting-Request
The attributes contained in the Accounting-Request packets are
dependant on the deployment.
RADIUS Accounting-Request(Start) packet is used to indicate the start
of the session. The NAS will generate a RADIUS
Accounting-Request(Start) packet upon the receipt of an
PANA-Bind-Answer message.
RADIUS Accounting-Request(Stop) packet is used to indicate the end of
the session. The Accounting Request (Stop) will be generated when
the NAS receives a PANA-Termination-Answer message; or when the NAS
sends a PANA-Termination-Answer to the PaC. Acct-Terminate-Cause
will be set as described below.
RADIUS Accounting-Request(Interim) packets are used to deliver
interim accounting information to the RADIUS accounting
infrastructure. One possible PANA trigger for a Access-Request
(Interim-Update) is the reception of PANA-Ping-Answer message from
the PaC.
As well, it is also possible to use the RADIUS
Acct-Interim-Interval(85) [RFC2869] to specify how often should the
NAS generate the PANA-Ping-Request messages.
4.6 Disconnect-Request
The reception of a RADIUS Disconnect-Request packet that identify a
PANA session MUST trigger a RADIUS Disconnect-ACK packet followed by
PANA-Termination-Request message to be sent from the NAS to the PaC.
As per [RFC3576] Disconnect-Request requires that the session be
identified. In this case the session identifier could be
User-Name(1). However, in certain EAP methods, the User-Name(1) will
not suffice as a session identifier because it is not specific
enough. That is it may only contain enough information to route the
packet to the home network (see discussion on User-Name below).
Therefore other attributes such as Acct-Session-Id(31) or
Acct-Multi-Session-Id, or Session-Id [I-D.zorn-radius-logoff] may be
used to as a session-identifier for the Disconnect-Request packet.
5. RADIUS Attributes to PANA AVP Mapping
This section describes the mapping between the PANA AVP and RADIUS
attributes. The following table lists that PANA attributes and their
corresponding RADIUS attributes
Lior & Yegin Expires August 13, 2005 [Page 16]
Internet-Draft Interwokring of PANA and RADIUS February 2005
PANA AVP RADIUS attribute
======== =================
N/A User-Name(1)
EAP-Payload EAP-Message(79)
Session-Id Acct-Multi-Session-Id(50)
Session-Id(TBD) [Note a]
Session-Lifetime Session-Timeout(27)
Termination-Cause Acct-Terminate-Cause(49)
[Note 1]: Defined by [I-D.zorn-radius-logoff]
5.1 Consideration for User-Name
In PANA, the PaC typically provides its identity via an
EAP-Response/Identity message. In order to permit RADIUS proxies to
forward the Access-Request packet, the NAS MUST copy the contents of
the Typed-Data field of the EAP-Response/Identity received from the
PaC into the User-Name(1) attribute and MUST include the Type-Data
field of the EAP-Response/Identity in the User-Name(1) attribute in
very subsequent Access-Request.
If the peer identity cannot be determined from the EAP-Response, then
the User-Name attribute SHOULD be determined by another means.
The NAS SHOULD use the ISP-Information or NAP-Information received in
the PANA-Start-Answer to construct a value of the User-Name(1)
attribute. The construction which SHOULD follow
[I-D.ietf-radext-rfc2486bis] and SHOULD ensure that the
Access-Request is routed to the ISP or NAP identified by the
ISP-Information or NAP-Information respectively that was included in
the PANA-Start-Answer message received by the NAS from the PaC.
5.2 EAP-Message
In RADIUS EAP packets, as defined in [RFC3748] are carried in the
EAP-Message(79). In PANA, EAP packets are carried in the EAP-Payload
AVP. RADIUS attributes are limited to 253 octets and therefore when
copying the EAP packet from the EAP-Payload AVP to the EAP-Message
attribute, you may have to split the attribute at 253 octet
boundaries before sending the attribute. The receiving end, will be
able to reconstruct the EAP payload by concatenating the
EAP-Message(79) attributes in the order that they are received
(RADIUS maintains order of a given attribute).
Lior & Yegin Expires August 13, 2005 [Page 17]
Internet-Draft Interwokring of PANA and RADIUS February 2005
[RFC3579] Section 2.2. describes how the RADIUS server handles
invalid EAP packets passed to it by the NAS.
5.3 PANA Session
A PANA session begins with the handshake between the PaC and the PAA.
During the creation of a PANA session, the PAA creates a PANA Session
Identifier.
On the other hand RADIUS as described in [RFC2865] being stateless
does not require a session identifier. RADIUS accounting does
utilize a session identifier to help correlate accounting packets to
a single user session. We recommend therefore that the PANA
Session-Id AVP SHOULD be mapped to RADIUS Acct-Multi-Session-Id(50).
In many cases today, RADIUS is required to maintain a session state.
Therefore, in this case the PANA Session-Id AVP SHOULD be mapped in
the Session-Id as defined by [I-D.zorn-radius-logoff].
5.4 Session-Termination
Upon receipt of an Access-Accept message, that contains a
Session-Timeout(27) attribute without a Termination-Action(29)
attribute or with a Termination-Action attribute set to "Default",
the Session-Timeout(27) attribute specifies the maximum number of
seconds of service provided prior to session termination. The
Session-Timeout will then be copied into the Session-Lifetime AVP of
the PANA Bind-Request message. If the Session-Timeout(27) is equal
to zero, then the NAS SHALL immediately terminate the session.
When the Access-Accept packet contains a Session-Timeout(27)
attribute with a Termination-Action(29) attribute set to
RADIUS-Request, the Session-Timeout attribute specified the maximum
number of seconds of service provided prior to re-authentication. In
this case, the Session-Timeout value is used to instruct the NAS when
to initiate PANA Re-authentication. Therefore in this case the
Session-Lifetime AVP must be set longer then the value specified in
Session-Timeout(27) attribute. When sent with a Termination-Action
value of RADIUS-Request, a Session-Timeout value of zero indicates
the desire to perform another authentication (possibly of a different
type) immediately after the first authentication has successfully
completed.
5.5 Consideration Acct-Terminate-Cause
This attribute is included in the RADIUS Accounting-Request (Stop)
packets and indicates how the session was terminated[RFC2866]
Lior & Yegin Expires August 13, 2005 [Page 18]
Internet-Draft Interwokring of PANA and RADIUS February 2005
PANA Termination-Cause AVP RADIUS Acct-Terminate-Cause(49)
========================== ===========================
LOGOUT(1) "User Request" (1)
ADMINSITRATIVE "Admin Reset" (6)
SESSION_TIMEOUT "Session Timeout" (5)
5.6 RADIUS Table of Attributes
The following table provides a guide to which attributes may be found
in packets including EAP-Message attribute(s), and in what quantity
as they pertain to PANA interoperability. If a table entry is
omitted, the values found in [RFC2548], [RFC2865], [RFC2868],
[RFC2869], [RFC3162], [RFC3576] and [RFC3579] should be assumed.
Request Accept Reject Challenge # Attribute
0-1 0-1 0 0 1 User-Name
0 0 0 0 2 User-Password [Note 1]
0 0 0 0 3 CHAP-Password [Note 1]
0-1 0-1 0 0 6 Service-Type
0 0 0 0 18 Reply-Message
0 0-1 0 0-1 27 Session-Timeout
0 0-1 0 0-1 28 Idle-Timeout
0 0-1 0 0 29 Termination-Action
0 0 0 0 60 CHAP-Challenge [Note 1]
0 0 0 0 70 ARAP-Password [Note 1]
1+ 1+ 1+ 1+ 79 EAP-Message [Note 1]
1 1 1 1 80 Message-Authenticator[Note 1]
0 0 0-1 0-1 101 Error-Cause [Note 2]
[Note 1] An Access-Request that contains either a User-Password or
CHAP-Password or ARAP-Password or one or more EAP-Message
attributes MUST NOT contain more than one type of those four
attributes. If it does not contain any of those four attributes,
it SHOULD contain a Message-Authenticator. If any packet type
contains an EAP-Message attribute it MUST also contain a
Message-Authenticator. A RADIUS server receiving an
Access-Request not containing any of those four attributes and
also not containing a Message-Authenticator attribute SHOULD
silently discard it.
[Note 2] The Error-Cause attribute is defined in [RFC3576].
Lior & Yegin Expires August 13, 2005 [Page 19]
Internet-Draft Interwokring of PANA and RADIUS February 2005
The following table defines the meaning of the above table entries.
0 This attribute MUST NOT be present.
0+ Zero or more instances of this attribute MAY be present.
0-1 Zero or one instance of this attribute MAY be present.
1 Exactly one instance of this attribute MUST be present.
1+ One or more of these attributes MUST be present.
6. Error Handling
[EDITOR's NOTE: Need to go through all the PANA error conditions and
map them onto RADIUS etc.]
7. Security Considerations
For security consideration between the PaC and the PAA please refer
to [I-D.ietf-pana-pana].
For security consideration between the NAS and the RADIUS server
refer to [RFC3579], which specifically addresses security concerns
regarding the use of EAP over RADIUS.
[EDITOR's NOTE: Are there new security considerations that we need to
look at because of PANA and RADIUS?]
8. Acknowledgement
The authors would like to thank ...
9. References
9.1 Normative references
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2548] Zorn, G., "Microsoft Vendor-specific RADIUS Attributes",
RFC 2548, March 1999.
[RFC2865] Rigney, C., Willens, S., Rubens, A. and W. Simpson,
"Remote Authentication Dial In User Service (RADIUS)",
RFC 2865, June 2000.
[RFC2866] Rigney, C., "RADIUS Accounting", RFC 2866, June 2000.
[RFC2869] Rigney, C., Willats, W. and P. Calhoun, "RADIUS
Extensions", RFC 2869, June 2000.
Lior & Yegin Expires August 13, 2005 [Page 20]
Internet-Draft Interwokring of PANA and RADIUS February 2005
[RFC3576] Chiba, M., Dommety, G., Eklund, M., Mitton, D. and B.
Aboba, "Dynamic Authorization Extensions to Remote
Authentication Dial In User Service (RADIUS)", RFC 3576,
July 2003.
[RFC3579] Aboba, B. and P. Calhoun, "RADIUS (Remote Authentication
Dial In User Service) Support For Extensible
Authentication Protocol (EAP)", RFC 3579, September 2003.
[I-D.ietf-pana-pana]
Forsberg, D., Ohba, Y., Patil, B., Tschofenig, H. and A.
Yegin, "Protocol for Carrying Authentication for Network
Access (PANA)", Internet-Draft draft-ietf-pana-pana-07,
December 2004.
[I-D.ietf-radext-rfc2486bis]
Aboba, B., "The Network Access Identifier",
Internet-Draft draft-ietf-radext-rfc2486bis-03, December
2004.
[I-D.zorn-radius-logoff]
Zorn, G., "User Session Tracking in RADIUS",
Internet-Draft draft-zorn-radius-logoff-04, January 2005.
[I-D.zorn-radius-keywrap]
Zorn, G., "RADIUS Attributes for Key Delivery",
Internet-Draft draft-zorn-radius-keywrap-02, January 2005.
9.2 Informative references
[RFC2868] Zorn, G., Leifer, D., Rubens, A., Shriver, J., Holdrege,
M. and I. Goyret, "RADIUS Attributes for Tunnel Protocol
Support", RFC 2868, June 2000.
[RFC3162] Aboba, B., Zorn, G. and D. Mitton, "RADIUS and IPv6",
RFC 3162, August 2001.
[RFC3588] Calhoun, P., Loughney, J., Guttman, E., Zorn, G. and J.
Arkko, "Diameter Base Protocol", RFC 3588, September 2003.
[RFC3748] Aboba, B., Blunk, L., Vollbrecht, J., Carlson, J. and H.
Levkowetz, "Extensible Authentication Protocol (EAP)",
RFC 3748, June 2004.
Lior & Yegin Expires August 13, 2005 [Page 21]
Internet-Draft Interwokring of PANA and RADIUS February 2005
Authors' Addresses
Avi Lior
Bridgewater Systems Corporation
303 Terry Fox Drive
Ottawa, Ontario K2K 3J1
Canada
Phone: +1 613-591-6655
Email: avi@bridgewatersystems.com
Alper Yegin
Samsung Advanced Institute of Technology
75 West Plumeria Drive
San Jose, CA 95134
USA
Phone: +1 408 544 5656
Email: alper.yegin@samsung.com
Lior & Yegin Expires August 13, 2005 [Page 22]
Internet-Draft Interwokring of PANA and RADIUS February 2005
Intellectual Property Statement
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Disclaimer of Validity
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Copyright Statement
Copyright (C) The Internet Society (2005). This document is subject
to the rights, licenses and restrictions contained in BCP 78, and
except as set forth therein, the authors retain all their rights.
Acknowledgment
Funding for the RFC Editor function is currently provided by the
Internet Society.
Lior & Yegin Expires August 13, 2005 [Page 23]