PANA Pre-Authentication: Pre-Authentication Support for the Protocol for Carrying Authentication for Network Access (PANA)
Authenticate with a future network before switching to it.
Ohba, Y. and A. Yegin, "Pre-Authentication Support for the Protocol for Carrying Authentication for Network Access (PANA)", RFC 5873, DOI 10.17487/RFC5873, May 2010, <https://www.rfc-editor.org/info/rfc5873>.
@misc{rfc5873,
series = {Request for Comments},
number = 5873,
howpublished = {RFC 5873},
publisher = {RFC Editor},
doi = {10.17487/RFC5873},
url = {https://www.rfc-editor.org/info/rfc5873},
author = {Y. Ohba and A. Yegin},
title = {{Pre-Authentication Support for the Protocol for Carrying Authentication for Network Access (PANA)}},
pagetotal = 8,
year = 2010,
month = may,
} RFC text
Contents
Internet Engineering Task Force (IETF) Y. Ohba
Request for Comments: 5873 Toshiba
Category: Experimental A. Yegin
ISSN: 2070-1721 Samsung
May 2010
Pre-Authentication Support for the Protocol for
Carrying Authentication for Network Access (PANA)
Abstract
This document defines an extension to the Protocol for Carrying
Authentication for Network Access (PANA) for proactively establishing
a PANA Security Association between a PANA Client in one access
network and a PANA Authentication Agent in another access network to
which the PANA Client may move.
Status of This Memo
This document is not an Internet Standards Track specification; it is
published for examination, experimental implementation, and
evaluation.
This document defines an Experimental Protocol for the Internet
community. This document is a product of the Internet Engineering
Task Force (IETF). It has been approved for publication by the
Internet Engineering Steering Group (IESG). Not all documents
approved by the IESG are a candidate for any level of Internet
Standard; see Section 2 of RFC 5741.
Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
http://www.rfc-editor.org/info/rfc5873.
Copyright Notice
Copyright (c) 2010 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Specification of Requirements . . . . . . . . . . . . . . . 2
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Pre-Authentication Procedure . . . . . . . . . . . . . . . . . 3
4. PANA Extensions . . . . . . . . . . . . . . . . . . . . . . . . 5
5. Backward Compatibility . . . . . . . . . . . . . . . . . . . . 6
6. Security Considerations . . . . . . . . . . . . . . . . . . . . 6
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 7
8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . 7
9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 7
9.1. Normative References . . . . . . . . . . . . . . . . . . . 7
9.2. Informative References . . . . . . . . . . . . . . . . . . 7
1. Introduction
The Protocol for Carrying Authentication for Network Access (PANA)
[RFC5191] carries Extensible Authentication Protocol (EAP) messages
between a PANA Client (PaC) and a PANA Authentication Agent (PAA) in
the access network. If the PaC is a mobile device and is capable of
moving from one access network to another while running its
applications, it is critical for the PaC to perform a handover
seamlessly without degrading the performance of the applications
during the handover period. When the handover requires the PaC to
establish a PANA session with the PAA in the new access network, the
signaling to establish the PANA session should be completed as fast
as possible. See [RFC5836] for the handover latency requirements.
This document defines an extension to the PANA protocol [RFC5191]
used for proactively executing EAP authentication and establishing a
PANA SA (Security Association) between a PaC in an access network and
a PAA in another access network to which the PaC may move. The
extension to the PANA protocol is designed to realize direct
pre-authentication defined in [RFC5836]. How to realize
authorization and accounting with the use of the pre-authentication
extension is out of the scope of this document.
1.1. Specification of Requirements
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. Terminology
The following terms are used in this document, in addition to the
terms defined in [RFC5191].
Serving Network: The access network to which the host is currently
attached.
Candidate Network: An access network that is a potential target of
the host's handover.
Serving PAA (SPAA): A PAA that resides in the serving network and
provides network access authentication for a particular PaC.
Candidate PAA (CPAA): A PAA that resides in a candidate network to
which the PaC may move. A CPAA for a particular PaC may be a SPAA
for another PaC.
Pre-authentication: Pre-authentication refers to EAP
pre-authentication and is defined as the utilization of EAP to
pre-establish EAP keying material on an authenticator prior to
arrival of the peer at the access network served by that
authenticator [RFC5836]. In this document, EAP pre-authentication
is performed between a PaC and a CPAA.
3. Pre-Authentication Procedure
A PaC that supports pre-authentication may establish a PANA session
for each CPAA.
There may be several mechanisms for a PaC to discover a CPAA. An IP
address of the discovered CPAA is the output of those mechanisms.
PANA pre-authentication is performed between the PaC and CPAA using
the discovered IP address of the CPAA. IEEE 802.21 [802.21]
Information Service MAY be used as a CPAA discovery mechanism.
There may be a number of criteria for CPAA selection, the timing to
start pre-authentication, and the timing as to when the CPAA becomes
the SPAA. Such criteria can be implementation-specific and thus are
outside the scope of this document.
Pre-authentication is initiated by a PaC in a way similar to normal
authentication. A new 'E' (prE-authentication) bit is defined in the
PANA header. When pre-authentication is performed, the 'E'
(prE-authentication) bit of PANA messages is set in order to indicate
that this PANA run is for pre-authentication. Use of
pre-authentication is negotiated as follows.
o When a PaC initiates pre-authentication, it sends a PANA-Client-
Initiation (PCI) message with the 'E' (prE-authentication) bit
set. The CPAA responds with a PANA-Auth-Request (PAR) message
with the 'S' (Start) and 'E' (prE-authentication) bits set only if
it supports pre-authentication. Otherwise, the 'E'
(prE-authentication) bit of the PAR message will be cleared
according to Section 6.2 of [RFC5191], which results in a
negotiation failure.
o Once the PaC and CPAA have successfully negotiated on performing
pre-authentication using the 'S' (Start) and 'E'
(prE-authentication) bits, the subsequent PANA messages exchanged
between them MUST have the 'E' (prE-authentication) bit set until
the CPAA becomes the SPAA of the PaC. The PaC may conduct this
exchange with more than one CPAA. If the PaC and CPAA have failed
to negotiate on performing pre-authentication, the PaC or CPAA
that sent a message with both the 'S' (Start) and 'E'
(prE-authentication) bits set MUST discard the message received
from the peer with 'S' (Start) bit set and the 'E'
(prE-authentication) bit cleared, which will eventually result in
PANA session termination.
If IP reconfiguration is needed in the access network associated with
the CPAA, the 'I' (IP Reconfiguration) bit in PAR messages used for
pre-authentication between the PaC and CPAA is also set. The 'I' (IP
Reconfiguration) bit in these messages takes effect only after the
CPAA becomes the SPAA.
When a CPAA of the PaC becomes the SPAA, e.g., due to movement of the
PaC, the PaC informs the PAA of the change using PANA-Notification-
Request (PNR) and PANA-Notification-Answer (PNA) messages with the
'P' (Ping) bit set and the 'E' (prE-authentication) bit cleared. The
'E' (prE-authentication) bit MUST be cleared in subsequent PANA
messages.
A PANA SA is required for pre-authentication in order to securely
associate the PNR/PNA exchange to the earlier authentication.
The PANA session between the PaC and a CPAA is deleted by entering
the termination phase of the PANA protocol.
An example call flow for pre-authentication is shown in Figure 1.
Note that EAP authentication is performed over PAR and
PANA-Auth-Answer (PAN) exchanges, including the one with the 'C'
(Complete) bit set.
PaC CPAA
| |
+------------------+ |
|Pre-authentication| |
|trigger | |
+------------------+ |
| PCI w/'E' bit set |
|------------------------------------------------>|
| PAR w/'S' and 'E' bits set |
|<------------------------------------------------|
| PAN w/'S' and 'E' bits set |
|------------------------------------------------>|
| PAR-PAN exchange w/'E' bit set |
|<----------------------------------------------->|
| PAR w/'C' and 'E' bits set |
|<------------------------------------------------|
| PAN w/'C' and 'E' bits set |
|------------------------------------------------>|
. . .
. . .
+----------+ |
| Movement | |
+----------+ |
| PNR w/ 'P' bit set and w/o 'E' bit set |
|------------------------------------------------>|
| +-----------------+
| |CPAA becomes SPAA|
| +-----------------+
| PNA w/ 'P' bit set and w/o 'E' bit set |
|<------------------------------------------------|
| |
Figure 1: Pre-Authentication Call Flow
4. PANA Extensions
A new 'E' (prE-authentication) bit is defined in the Flags field of
the PANA header as follows.
0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|R S C A P I E r r r r r r r r r|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
'E' (prE-authentication) bit: When pre-authentication is performed,
the 'E' (prE-authentication) bit of PANA messages is set in order
to indicate whether this PANA run is for pre-authentication. The
exact usage of this bit is described in Section 3. Bit 6 has been
assigned by IANA.
5. Backward Compatibility
Backward compatibility between a PANA entity that does not support
the pre-authentication extension and another PANA entity that
supports the pre-authentication extension is maintained as follows.
When a PaC that supports the pre-authentication extension initiates
PANA pre-authentication by sending a PCI message with the 'E'
(prE-authentication) bit set to a PAA that does not support the
pre-authentication extension, the PAA will ignore the 'E'
(prE-authentication) bit according to Section 6.2 of [RFC5191], and
try to process the message as a normal authentication attempt. As a
result, the PaC will receive a PAR message with the 'E'
(prE-authentication) bit cleared. In this case, the negotiation on
the use of pre-authentication will fail, and eventually the PANA
session will be terminated as described in Section 3.
6. Security Considerations
This specification is based on the PANA protocol, and it exhibits the
same security properties, except for one important difference:
Pre-authenticating PaCs are not physically connected to an access
network associated with the PAA, but they are connected to some other
network somewhere else on the Internet. This distinction can create
greater denial-of-service (DoS) vulnerability for systems using PANA
pre-authentication if appropriate measures are not taken. An
unprotected PAA can be forced to create state by an attacker PaC that
merely sends PCI messages.
[RFC5191] describes how the PAA can stay stateless while responding
to incoming PCIs. PAAs using pre-authentication SHOULD be following
those guidelines (see [RFC5191], Section 4.1).
Furthermore, it is recommended that PANA pre-authentication messages
be only accepted from PaCs originating from well-known IP networks
(e.g., physically adjacent networks) for a given PAA. These IP
networks can be used with a whitelist implemented on either the
firewall protecting the perimeter around the PAA or the PAA itself.
This prevention measure SHOULD be used whenever it can be practically
applied to a given deployment.
7. IANA Considerations
As described in Section 4, and following the new IANA allocation
policy on PANA messages [RFC5872], bit 6 of the Flags field of the
PANA header has been assigned by IANA for the 'E'
(prE-authentication) bit.
8. Acknowledgments
The authors would like to thank Basavaraj Patil, Ashutosh Dutta,
Julien Bournelle, Sasikanth Bharadwaj, Subir Das, Rafa Marin Lopez,
Lionel Morand, Victor Fajardo, Glen Zorn, Qin Wu, Jari Arkko,
Pasi Eronen, and Joseph Salowey for their support and valuable
feedback.
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.
[RFC5191] Forsberg, D., Ohba, Y., Patil, B., Tschofenig, H., and A.
Yegin, "Protocol for Carrying Authentication for Network
Access (PANA)", RFC 5191, May 2008.
[RFC5872] Arkko, J. and A. Yegin, "IANA Rules for the Protocol for
Carrying Authentication for Network Access (PANA)",
RFC 5872, May 2010.
9.2. Informative References
[RFC5836] Ohba, Y., Ed., Wu, Q., Ed., and G. Zorn, Ed., "Extensible
Authentication Protocol (EAP) Early Authentication Problem
Statement", RFC 5836, April 2010.
[802.21] IEEE, "Standard for Local and Metropolitan Area Networks:
Media Independent Handover Services", LAN MAN Standards
Committee of the IEEE Computer Society 802.21, 2008.
Authors' Addresses
Yoshihiro Ohba
Toshiba Corporate Research and Development Center
1 Komukai-Toshiba-cho
Saiwai-ku, Kawasaki, Kanagawa 212-8582
Japan
Phone: +81 44 549 2230
EMail: yoshihiro.ohba@toshiba.co.jp
Alper Yegin
Samsung
Istanbul
Turkey
EMail: alper.yegin@yegin.org
AI ELI5
On this page
§1What is PANA Pre-Authentication
PANA (Protocol for Carrying Authentication for Network Access) is a protocol that carries EAP (Extensible Authentication Protocol) messages between a client and an authentication agent in an access network. The RFC extends PANA to support pre-authentication: a PANA Client can start authentication with a Candidate Authentication Agent in another network before physically moving there.
When a mobile device is in one access network but can see other potential networks nearby, it can use pre-authentication to negotiate security credentials with the new network in advance. Once the device moves and connects to that network, authentication is already complete, eliminating handover latency.
You contact the security office at the next building and show your badge while you are still in the current one. When you walk over, they already know who you are.
§2Key Concepts
The RFC introduces several terms for this process. The Serving Network is the access network the client is currently attached to. The Candidate Network is a potential target network for future handover. The Serving PAA (Serving PANA Authentication Agent) is the current authenticator, and the Candidate PAA (Candidate PANA Authentication Agent) is the future authenticator in the target network.
The pre-authentication process uses the same EAP exchange as normal authentication but with an extra marker in the PANA header. The device may conduct pre-authentication with multiple networks at once to prepare for a choice of where to move.
You have a PAA at your current building and a PAA at the next building. Pre-authentication means you talk to the next building's PAA while still in the current one.
§3The Pre-Authentication Procedure
Pre-authentication is initiated by the client sending a PANA-Client-Initiation (PCI) message with a new 'E' (pre-authentication) bit set. The Candidate PAA responds with a PANA-Auth-Request (PAR) message, also with the 'E' bit set, indicating that it supports and accepts pre-authentication.
Once both sides agree to pre-authenticate, all subsequent messages between the client and the Candidate PAA carry the 'E' bit set. The client and PAA complete the full EAP authentication exchange. A PANA Security Association is established and stored on the client and PAA, but not yet activated for the data path.
When the client actually moves to the new network and detects the switch, it sends a Notification message with the 'E' bit cleared. At this point, the Candidate PAA becomes the Serving PAA and the pre-established security association takes effect immediately. The client can begin using the network without re-authenticating.
Step 1: You send a message saying 'I want to pre-authenticate.' Step 2: The next building says 'OK, go ahead.' Step 3: You do the full sign-in process while still in the current building. Step 4: When you walk to the new building, you just notify them you are here, and you are logged in.
§4PANA Header Extension
The PANA message header uses a Flags field with bits to indicate different message properties. The RFC allocates bit 6 of this field as the new 'E' (pre-authentication) bit. When set to 1, this bit indicates that the PANA message is part of a pre-authentication exchange.
The 'E' bit is set in both PCI messages from the client and PAR messages from the Candidate PAA when they agree to pre-authenticate. It remains set in all messages of the pre-authentication exchange until the client actually moves and sends a notification message clearing the bit.
A single bit in the PANA message header acts as a flag saying 'this is pre-authentication, not regular authentication.' Both sides check this bit to know what mode they are in.
§5Compatibility with Existing PANA Implementations
When a client sends a PCI message with the 'E' bit set to a PAA that does not support pre-authentication, the PAA ignores the unfamiliar bit and treats it as a normal authentication attempt. The PAA responds with a PAR message without the 'E' bit set.
The client detects this mismatch and terminates the connection, as per the RFC. This ensures that pre-authentication is only used when both sides support it. The mechanism has been designed so that adding support for pre-authentication does not break existing PANA deployments.
If the new building's office does not understand your pre-authentication request, they ignore it and treat it as a normal sign-in. You notice the mismatch and try something else. Nothing breaks.
§6Security and Denial-of-Service Protection
Pre-authentication creates a potential security risk: an attacker can send PCI messages from anywhere on the Internet, not just from physically adjacent networks, and force a PAA to create state for every attack message. This could be a denial-of-service vector.
The RFC recommends that PAAs follow PANA best practices to stay stateless when possible (as described in RFC 5191). Additionally, it suggests that PAAs should only accept pre-authentication messages from clients on known, well-trusted networks. For example, a PAA could whitelist certain IP ranges or ASNs from which pre-authentication is permitted. This geolocation-based filtering can prevent attacks from distant networks while still allowing legitimate handover scenarios.
A bad person could pretend to be in the next building and trick it into setting up lots of fake authentication sessions. So the building should only accept pre-authentication requests from people who are visibly in certain nearby networks.