Network Working Group                                         R. Johnson
Request for Comments: 5107                                 J. Jumarasamy
Category: Standards Track                                     K. Kinnear
                                                                M. Stapp
                                                     Cisco Systems, Inc.
                                                            January 2008

               DHCP Server Identifier Override Suboption

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.

Copyright Notice

   Copyright (C) The IETF Trust (2008).

Abstract

   This memo defines a new suboption of the DHCP relay information
   option that allows the DHCP relay to specify a new value for the
   Server Identifier option, which is inserted by the DHCP Server.  This
   allows the DHCP relay to act as the actual DHCP server such that
   RENEW DHCPREQUESTs will come to the relay instead of going to the
   server directly.  This gives the relay the opportunity to include the
   Relay Agent option with appropriate suboptions even on DHCP RENEW
   messages.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . . . 2 3
   2.  Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . 2 3
   3.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . 3
   4.  Server Identifier Override Suboption Definition . . . . . . . . 2
   4. 4
   5.  Security Considerations . . . . . . . . . . . . . . . . . . . . 4
   5. 5
   6.  IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 4
   6. 6
   7.  Intellectual Property Rights and Copyright  . . . . . . . . . . 5
   7. 6
   8.  References  . . . . . . . . . . . . . . . . . . . . . . . . . . 5
     7.1. 6
     8.1.  Normative References  . . . . . . . . . . . . . . . . . . . 5
     7.2. 6
     8.2.  Informative References  . . . . . . . . . . . . . . . . . . 5 6

1.  Introduction

   There are many situations where the a DHCP relay agent is involved, and
   it can easily insert a relay agent Relay Agent Information option [3] with
   appropriate suboptions into DHCP DISCOVER DHCPDISCOVER messages.  Once the lease
   has been granted, however, future DHCP RENEWAL DHCPREQUEST messages sent by a
   client in RENEWING state are sent directly to the DHCP Server, server, as
   specified in the Server Identifier option.  This
   means that  In this case, the relay
   may not see the DHCP RENEWAL these DHCPREQUEST messages (depending upon network
   topology) and thus cannot provide insert the same relay agent Relay Agent Information option information
   in the RENEWAL DHCPREQUEST messages.

   This new DHCP relay agent suboption, Server Identifier override, Override, allows
   the relay agent to tell the DHCP server what value to place into the
   Server Identifier option [5].  Using this, the relay agent can force
   RENEWAL messages
   a host in RENEWING state to come send DHCPREQUEST messages to it the relay
   agent instead of directly to the server.  The relay may agent then has
   the opportunity to insert the relay agent Relay Agent Information option with
   appropriate suboptions and relay the DHCPREQUEST to the actual
   server.  In this fashion, the DHCP server will be provided with the
   same relay agent information upon renewals (such as Circuit-ID,
   Remote-ID, Device Class, etc.) as was provided in the initial DISCOVER
   DHCPDISCOVER message.

   In effect, this makes
   a RENEWAL into a REBINDING.

   This new suboption could also be used by the DHCP relay in order to
   allow the relay to appear as the actual DHCP server to the client.
   This has the advantage that the relay can more easily keep up-to-date
   information about leases granted, etc.

   In short, this new suboption allows the DHCPv4 relay to function in
   the same fashion as the DHCPv6 relay [7] currently does.

2.  Conventions

   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 [1].

3.  Terminology

   This document uses DHCP terminology as defined in section 1.5 of RFC
   2131 [2], with the exception of the term "DHCP relay agent" replacing
   "BOOTP relay agent".

   Other terms used in this document:

   o  RENEW DHCPREQUEST - a DHCPREQUEST message sent by a client in
      RENEWING state

4.  Server Identifier Override Suboption Definition

   The format of the suboption is:

   Code   Len    Overriding Server Identifier Address
   +-----+-----+-----+-----+-----+-----+
   | 11  |  n  | a1  | a2  | a3  | a4  |
   +-----+-----+-----+-----+-----+-----+

                                 Figure 1

   The option length (n) is 4.  The octets "a1" through "a4" specify the
   value that MUST be inserted into the Server Identifier option by the
   DHCP Server upon reply.

   DHCP Servers servers that implement this Relay Suboption Agent Information suboption
   MUST use this value, if present, present in a DHCP message received from a
   client, as the value to insert into the Server Identifier option
   whenever responding in
   the corresponding response.  The DHCP server must also record the
   address in the suboption for use in subsequent messages to a the DHCP
   client until the next DHCP message is received from the DHCP Client. relay
   agent.

   If a DHCP Server server does not understand/implement this Relay Suboption, Information
   suboption, it will ignore the Suboption, suboption, and thus it will insert it's its
   own appropriate interface address as in the Server Identifier address. option.
   In this case, the DHCP Relay will not receive RENEW DHCPREQUEST packets
   messages from the client.  When configuring a DHCP Relay relay agent to use
   this
   Suboption, suboption, the administrator of the Relay relay agent should take into
   account whether or not the DHCP Server server to which the packet message will be
   relayed will correctly understand this Suboption. suboption.

   When servicing a DHCPREQUEST packet, message, the DHCP Server server would normally
   look at the Server Identifier option for verification that the
   address specified there is one of the addresses associated with the
   DHCP Server, server, silently ignoring the DHCPREQUEST if it does not match a
   configured DHCP Server server interface address.  If the DHCPREQUEST packet message
   contains a Server Identifier Override Suboption, suboption, however, comparison
   should be made between the address in this suboption and the Server
   Identifier option.  If both the Server Identifier Override Suboption suboption
   and the Server Identifier Option option specify the same address, then the Server
   server should accept the DHCPREQUEST packet message for processing,
   regardless of whether or not the Server Identifier Option option matches a
   DHCP Server server interface.

   The DHCP Relay relay agent should fill in the giaddr field when relaying
   the
   packet, message, just as it normally would do.

   In a situation where the DHCP Relay relay agent is configured to forward packets
   messages to more than one server, the DHCP Relay relay agent SHOULD forward
   all DHCP
   packets messages to all servers.  This applies to DHCP RENEW packets DHCPREQUEST
   messages as well.  The intent is that the DHCP Relay relay agent should not
   need to maintain state information about the DHCP lease.

   DHCP Relays using relay agents implementing this suboption SHOULD also implement
   and use the DHCPv4 Relay Agent Flags Suboption [4] in order to
   specify whether the DHCP Relay relay agent received the original packet message as
   a broadcast or unicast.  The DHCP Server server receiving a packet message
   containing the Server Identifier Override Suboption may use this
   additional information in processing the packet. message.

   Note that if the DHCP Relay relay agent becomes inaccessible by the DHCP Client
   client or loses network access to the DHCP Server, server, further DHCP RENEW
   packets
   DHCPREQUEST messages from the DHCP Client client may not be properly
   processed and the DHCP Client's client's lease may time out.

4.

5.  Security Considerations

   Message authentication in DHCP for intradomain use where the out-of-
   band exchange of a shared secret is feasible is defined in [6].
   Potential exposures to attack are discussed in Section 7 of the DHCP
   protocol specification in [2].

   The DHCP Relay Agent Information option depends on a trusted
   relationship between the DHCP relay agent and the DHCP server, as
   described in Section 5 of RFC 3046.  While the introduction of
   fraudulent relay-agent DHCP relay agent information options can be prevented by a
   perimeter defense that blocks these options unless the DHCP relay
   agent is trusted, a deeper defense using the authentication
   option suboption
   for DHCP relay agent options information option [8] SHOULD be deployed as
   well.

   If a rogue DHCP relay agent were inserted between the DHCP client and
   the DHCP server, it could redirect clients to it itself using this
   suboption.  This would allow such a system to later deny RENEW DHCPREQUEST
   DHCPREQUESTs and thus force clients to discontinue use of their
   allocated address. addresses.  It could also allow the rogue relay to change,
   insert, or delete DHCP options in DHCPACK messages and extend leases
   beyond what the server has allowed.  This interception, however, would need to be done
   during the initial DISCOVER and OFFER phase since the suboption value
   SHOULD be ignored by the server during RENEWAL state.  DHCP
   Authentication authentication [6] and/or
   DHCP Relay Agent Information option authentication [8] would address
   this case.  (Note that, as is always the case, lack of DHCP Authentication
   authentication would allow a rogue DHCP relay agent to change the
   Server-ID
   Server Identifier Override option in the DHCPOFFER and DHCPACK packets
   messages without detection.  This threat is not new to the Server-ID-Override Server
   Identifier Override suboption.)
   This document does not add any new vulnerabilities that were not
   already present, except in the case where DHCP authentication is
   already in place, and DHCP clients require its use.  It is suggested
   that DHCP Authentication and DHCP Relay Agent Option Authentication
   SHOULD be deployed when this option is used, or protection should be
   provided against the insertion of rogue DHCP relays relay agents between the
   client and server.

   This relay sub-option suboption is not intended, by itself, to provide any
   additional security benefits.

5.

6.  IANA Considerations

   IANA has assigned a suboption number (11) for the Server Identifier
   Override Suboption from the DHCP Relay Agent Information Option [3]
   suboption number space.

6.

7.  Intellectual Property Rights and Copyright

   The IETF has been notified of intellectual property rights claimed in
   regard to some or all of the specification contained in this
   document.  For more information consult the online list of claimed
   rights.

7.

8.  References

7.1.

8.1.  Normative References

   [1]  Bradner, S., "Key words for use in RFCs to Indicate Requirement
        Levels", BCP 14, RFC 2119, March 1997.

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

   [3]  Patrick, M., "DHCP Relay Agent Information Option", RFC 3046,
        January 2001.

   [4]  Kinnear, K., Normoyle, M., and M. Stapp, "The Dynamic Host
        Configuration Protocol Version 4 (DHCPv4) Relay Agent Flags
        Suboption", RFC 5010, September 2007.

7.2.

8.2.  Informative References

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

   [6]  Droms, R. and W. Arbaugh, "Authentication for DHCP Messages",
        RFC 3118, June 2001.

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

   [8]  Stapp, M. and T. Lemon, "The Authentication Suboption for the
        Dynamic Host Configuration Protocol (DHCP) Relay Agent Option",
        RFC 4030, March 2005.

Authors' Addresses

   Richard A. Johnson
   Cisco Systems, Inc.
   170 W. Tasman Dr.
   San Jose, CA  95134
   US

   Phone: +1 408 526 4000
   EMail: raj@cisco.com

   Jay Kumarasamy
   Cisco Systems, Inc.
   170 W. Tasman Dr.
   San Jose, CA  95134
   US

   Phone: +1 408 526 4000
   EMail: jayk@cisco.com

   Kim Kinnear
   Cisco Systems, Inc.
   170 W. Tasman Dr.
   San Jose, CA  95134
   US

   Phone: +1 408 526 4000
   EMail: kkinnear@cisco.com
   Mark Stapp
   Cisco Systems, Inc.
   170 W. Tasman Dr.
   San Jose, CA  95134
   US

   Phone: +1 408 526 4000
   EMail: mjs@cisco.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.

Acknowledgement

   Funding for the RFC Editor function is provided by the IETF
   Administrative Support Activity (IASA).