RFC 5192 PROPOSED STANDARD DHCP · AUTHENTICATION · NETWORK ACCESS

DHCP Options for Protocol for Carrying Authentication for Network Access (PANA) Authentication Agents

Two DHCP options that hand a network client the addresses of its PANA authentication agents.

On rfc-editor.org ↗
PUBLISHED
May 2008
AUTHORS
L. Morand, A. Yegin, S. Kumar, S. Madanapalli
STREAM
IETF
DHCPV4 OPTION CODE
136
DHCPV6 OPTION CODE
40
DHCPV4 LENGTH MULTIPLE
4 octets
DHCPV6 LENGTH MULTIPLE
16 octets
DOI
10.17487/RFC5192

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Network Working Group                                          L. Morand
Request for Comments: 5192                            France Telecom R&D
Category: Standards Track                                       A. Yegin
                                                                 Samsung
                                                                S. Kumar
                                                       Tech Mahindra Ltd
                                                          S. Madanapalli
                                                                 Samsung
                                                                May 2008


       DHCP Options for Protocol for Carrying Authentication for
              Network Access (PANA) Authentication Agents

Status of This Memo

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.

Abstract

   This document defines new DHCPv4 and DHCPv6 options that contain a
   list of IP addresses to locate one or more PANA (Protocol for
   carrying Authentication for Network Access) Authentication Agents
   (PAAs).  This is one of the methods that a PANA Client (PaC) can use
   to locate PAAs.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . . . 2
   2.  Specification of Requirements . . . . . . . . . . . . . . . . . 2
   3.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . 2
   4.  PANA Authentication Agent DHCPv4 Option . . . . . . . . . . . . 3
   5.  PANA Authentication Agent DHCPv6 Option . . . . . . . . . . . . 4
   6.  IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 5
   7.  Security Considerations . . . . . . . . . . . . . . . . . . . . 5
   8.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . . . 5
   9.  References  . . . . . . . . . . . . . . . . . . . . . . . . . . 6
     9.1.  Normative References  . . . . . . . . . . . . . . . . . . . 6
     9.2.  Informative References  . . . . . . . . . . . . . . . . . . 6

1.  Introduction

   The Protocol for carrying Authentication for Network Access (PANA)
   [RFC5191] defines a new Extensible Authentication Protocol (EAP)
   [RFC3748] lower layer that uses IP between the protocol end-points.

   The PANA protocol is run between a PANA Client (PaC) and a PANA
   Authentication Agent (PAA) in order to perform authentication and
   authorization for the network access service.

   This document specifies DHCPv4 [RFC2131] and DHCPv6 [RFC3315] options
   that allow PANA clients (PaCs) to discover PANA Authentication Agents
   (PAAs).  This is one of the methods for locating PAAs.

   The DHCP options defined in this document are used only as a PAA
   discovery mechanism.  These DHCP options MUST NOT be used to perform
   any negotiation of the use of PANA between the PaC and a PAA.

2.  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].

3.  Terminology

   This document uses the DHCP terminology defined in [RFC2131],
   [RFC2132], and [RFC3315].

   This document uses the PANA terminology defined in [RFC5191].  In
   particular, the following terms are defined:

      PANA Client (PaC):

         The client side of the protocol that resides in the access
         device (e.g., laptop, PDA, etc.).  It is responsible for
         providing the credentials in order to prove its identity
         (authentication) for network access authorization.  The PaC and
         the EAP peer are co-located in the same access device.

      PANA Authentication Agent (PAA):

         The protocol entity in the access network whose responsibility
         it is to verify the credentials provided by a PANA client (PaC)
         and authorize network access to the access device.  The PAA and
         the EAP authenticator (and optionally the EAP server) are
         colocated in the same node.

4.  PANA Authentication Agent DHCPv4 Option

   This DHCPv4 option carries a list of 32-bit (binary) IPv4 addresses
   indicating PANA Authentication Agents (PAAs) available to the PANA
   client (PaC).

   The DHCPv4 option for PANA Authentication Agent has the format shown
   in Figure 1.

      0                   1
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |  option-code  | option-length |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                               |
      +      PAA IPv4 Address         +
      |                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |             ...               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         Figure 1: PAA DHCPv4 option

      option-code:        OPTION_PANA_AGENT (136).

      option-length:      Length of the 'options' field in octets;
                          MUST be a multiple of four (4).

      PAA IPv4 Address:   IPv4 address of a PAA for the client to use.
                          The PAAs are listed in the order of preference
                          for use by the client.


   A PaC (DHCPv4 client) SHOULD request the PAA DHCPv4 Option in a
   Parameter Request List, as described in [RFC2131] and [RFC2132].

   If configured with a (list of) PAA address(es), a DHCPv4 server
   SHOULD send a client the PAA DHCPv4 option, even if this option is
   not explicitly requested by the client.

   A PaC (DHCPv4 client) receiving the PAA DHCPv4 option SHOULD use the
   (list of) IP address(es) to locate PAA(s).

   The PaC (DHCPv4 client) MUST try the records in the order listed in
   the PAA DHCPv4 option received from the DHCPv4 server.

5.  PANA Authentication Agent DHCPv6 Option

   This DHCPv6 option carries a list of 128-bit (binary) IPv6 addresses
   indicating PANA Authentication Agents (PAAs) available to the PANA
   client (PaC).

   The DHCPv6 option for PANA Authentication Agent has the format shown
   in Figure 2.

      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |       option-code             |       option-length           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      +                                                               +
      |                                                               |
      +                         PAA IPv6 Address                      +
      |                                                               |
      +                                                               +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                          ....                                 |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                        Figure 2: PAA DHCPv6 option

      option-code:        OPTION_PANA_AGENT (40).

      option-length:      Length of the 'options' field in octets;
                          MUST be a multiple of sixteen (16).

      PAA IPv6 Address:   IPv6 address of a PAA for the client to use.
                          The PAAs are listed in the order of preference
                          for use by the client.

   A PaC DHCPv6 client SHOULD request the PAA DHCPv6 option in an
   Options Request Option (ORO) as described in the DHCPv6 specification
   [RFC3315].

   If configured with a (list of) PAA address(es), a DHCPv6 server
   SHOULD send a client the PAA DHCPv6 option, even if this option is
   not explicitly requested by the client.

   A PaC (DHCPv6 client) receiving the PAA DHCPv6 option SHOULD use the
   (list of) IP address(es) to locate PAA(s).

   The PaC (DHCPv6 client) MUST try the records in the order listed in
   the PAA DHCPv6 option received from the DHCPv6 server.

6.  IANA Considerations

   The following DHCPv4 option code for PANA Authentication Agent
   options has been assigned by IANA:

      Option  Name           Value       Described in
      -----------------------------------------------
      OPTION_PANA_AGENT       136         Section 4

   The following DHCPv6 option code for PANA Authentication Agent
   options has been assigned by IANA:

      Option  Name            Value       Described in
      ------------------------------------------------
      OPTION_PANA_AGENT        40         Section 5

7.  Security Considerations

   The security considerations in [RFC2131], [RFC2132], and [RFC3315]
   apply.  If an adversary manages to modify the response from a DHCP
   server or insert its own response, a PANA Client could be led to
   contact a rogue PANA Authentication Agent, possibly one that then
   intercepts authentication requests and/or denies network access to
   the access device.

   In most networks, the DHCP exchange that delivers the options prior
   to network access authentication is neither integrity protected nor
   origin authenticated.  Therefore, the options defined in this
   document MUST NOT be used to perform any negotiation on the use of
   PANA between the PANA Client and a PANA Authentication Agent.  Using
   the presence (or absence) of these DHCP options as an indication of
   network mandating PANA authentication (or not) is an example of such
   a negotiation mechanism.  This negotiation would allow bidding-down
   attacks by making the clients choose to use a lower-grade security
   mechanism (or even no security at all).

8.  Acknowledgements

   We would like to thank Ralph Droms, Stig Venaas, Ted Lemon, Andre
   Kostur and Bernie Volz for their valuable comments.  We would also
   like to thank Jari Arkko, Thomas Narten and Bernard Aboba that
   provided several reviews, as well as all members of the PANA and DHC
   working groups that contribute to improve this document.

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.

   [RFC2131]  Droms, R., "Dynamic Host Configuration Protocol",
              RFC 2131, March 1997.

   [RFC2132]  Alexander, S. and R. Droms, "DHCP Options and BOOTP Vendor
              Extensions", RFC 2132, March 1997.

   [RFC3315]  Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C.,
              and M. Carney, "Dynamic Host Configuration Protocol for
              IPv6 (DHCPv6)", RFC 3315, July 2003.

   [RFC5191]  Forsberg, D., Ohba, Y., Patil, B., Tschofenig, H., and A.
              Yegin, "Protocol for Carrying Authentication for Network
              Access (PANA)", RFC 5191, May 2008.

9.2.  Informative References

   [RFC3748]  Aboba, B., Blunk, L., Vollbrecht, J., Carlson, J., and H.
              Levkowetz, "Extensible Authentication Protocol (EAP)",
              RFC 3748, June 2004.

Authors' Addresses

   Lionel Morand
   France Telecom R&D

   EMail: lionel.morand@orange-ftgroup.com


   Alper E. Yegin
   Samsung

   EMail: a.yegin@partner.samsung.com


   Suraj Kumar
   Tech Mahindra Ltd

   EMail: surajk@techmahindra.com


   Syam Madanapalli
   Samsung

   EMail: syam@samsung.com

Full Copyright Statement

   Copyright (C) The IETF Trust (2008).

   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.

   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, THE IETF TRUST 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.

Intellectual Property

   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.

AI ELI5

On this page
PROBLEMA PANA client joining a network needs to find a PANA Authentication Agent (PAA) to authenticate to, and needs some way to learn where one is.
MECHANISMRFC 5192 defines a DHCPv4 option (code 136) and a DHCPv6 option (code 40), each carrying an ordered list of PAA addresses that the client tries in order.
THE CATCHDHCP is only one of several ways to locate PAAs, and the options must not be used to negotiate whether PANA is used at all, because DHCP is usually unprotected.

§1Finding the Authentication Agent

RFC 5191 defines PANA, a lower layer for the Extensible Authentication Protocol (EAP) that runs over IP between a PANA Client (PaC) and a PANA Authentication Agent (PAA). Before they can talk, the client has to find a PAA.

RFC 5192 specifies DHCPv4 and DHCPv6 options that let a PaC discover PAAs. This is one of the methods for locating PAAs, not the only one.

The options are used only for discovery. They MUST NOT be used to negotiate whether PANA is used between the PaC and a PAA.

Before you can show your pass you must know where the guard is standing. This document is a note the network gives you with the guard's address.

§3PaC and PAA

The PANA Client (PaC) is the client side of the protocol and lives in the access device, such as a laptop or PDA. It provides the credentials that prove its identity so network access can be authorized. The PaC and the EAP peer sit in the same device.

The PANA Authentication Agent (PAA) is the entity in the access network that verifies the credentials and authorizes network access. The PAA and the EAP authenticator, and optionally the EAP server, are colocated in the same node.

The PaC is you with your pass. The PAA is the guard at the door who checks it.

§4The DHCPv4 Option

The DHCPv4 option carries a list of 32-bit IPv4 addresses of PAAs available to the client. Its option-code is OPTION_PANA_AGENT (136). The option-length is the length of the address list in octets and MUST be a multiple of four.

The addresses are listed in order of preference. A client SHOULD ask for the option in a Parameter Request List. A server that is configured with PAA addresses SHOULD send the option even if the client did not ask for it.

A client that receives the option SHOULD use the addresses to locate PAAs, and MUST try them in the order listed.

The network gives you a list of guard addresses, best one first. You ask them in that order.

§5The DHCPv6 Option

The DHCPv6 option works the same way but carries 128-bit IPv6 addresses. Its option-code is OPTION_PANA_AGENT (40), and the option-length MUST be a multiple of sixteen.

A DHCPv6 client SHOULD request the option in an Options Request Option (ORO). A configured server SHOULD send it even if it was not requested. The client SHOULD use the addresses to locate PAAs and MUST try them in the listed order.

Same note, but written with the longer kind of address used by the newer network.

DHCPV4 AND DHCPV6 PAA OPTIONS (RFC 5192)
ProtocolOption codeAddress sizeLength rule
DHCPv413632-bit IPv4Multiple of 4 octets
DHCPv640128-bit IPv6Multiple of 16 octets

§6IANA Option Codes

IANA assigned the option name OPTION_PANA_AGENT the value 136 for DHCPv4 (described in Section 4) and the value 40 for DHCPv6 (described in Section 5). The same name is used in both protocols, but the numbers differ because each protocol has its own option number space.

Each kind of network keeps its own phone book of option numbers, so the same option has a different number in each.

§7Rogue Agents and Bidding Down

The security considerations of the DHCP RFCs apply. If an attacker modifies a DHCP response or inserts its own, a PaC could be led to contact a rogue PAA, which might intercept authentication requests or deny the device network access.

In most networks the DHCP exchange before network access authentication is neither integrity protected nor origin authenticated. For that reason the options MUST NOT be used to negotiate PANA. Treating the presence or absence of the option as a signal that the network requires PANA (or not) is an example of what is forbidden, since it would allow bidding-down attacks that push clients to a weaker security mechanism, or none.

A stranger could slip you a note pointing to a fake guard. So the note may say where guards are, but must never decide whether you need to show a pass.

§7References