DHC R. Droms Internet-Draft Cisco Systems, Inc. Expires:
February 27,May 22, 2004 August 29,November 22, 2003 Authentication of DHCP Relay Agent Options Using IPsec <draft-ietf-dhc-relay-agent-ipsec-00.txt><draft-ietf-dhc-relay-agent-ipsec-01.txt> Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. 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 February 27,May 22, 2004. Copyright Notice Copyright (C) The Internet Society (2003). All Rights Reserved. Abstract The DHCP Relay Agent Information Option (RFC 3046) conveys information between a DHCP relay agent and a DHCP server. This specification defines a mechanism for securing the messages exchanged between a relay agent and a server using IPsec (RFC 2401). Table of Contents1. Requirements Terminology . . . . . . . . . . . . . . . . . . . . 3The 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 RFC 2119 . 2. DHCP Terminology . . . . . . . . . . . . . . . . . . . . . . . . 3This document uses the terms "DHCP server" (or "server") and "DHCP client" (or "client") as defined in RFC 2131. The term "DHCP relay agent" refers to a "BOOTP relay agent" as defined in RFC 2131. 3. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 3 4. Use of IPsec to secureDHCP messages . . . . . . . . . . . . . . 3 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 5 6. Security Considerations . . . . . . . . . . . . . . . . . . . . 5 7. IPsec Considerations . . . . . . . . . . . . . . . . . . . . . . 5 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . 5 Normative references . . . . . . . . . . . . . . . . . . . . . . 5 Informative References . . . . . . . . . . . . . . . . . . . . . 5 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 6 Intellectual Property and Copyright Statements . . . . . . . . . 7 1. Requirements Terminology 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 RFC 2119 . 2. DHCP Terminology This document uses the terms "DHCP server" (or "server") and "DHCP client" (or "client") as defined in RFC 2131. The term "DHCP relay agent" refers to a "BOOTP relay agent" as defined in RFC 2131. 3. Introduction DHCP (RFC 2131 ) provides IP addresses and configuration information for DHCP clients. It includes a relay agent capability (RFC 951 , RFC 1542 ), in which processes within the network infrastructure receive broadcast(RFC 2131 ) provides IP addresses and configuration information for DHCP clients. It includes a relay agent capability (RFC 951 , RFC 1542 ), in which processes within the network infrastructure receive broadcast messages from clients and forward them to servers as unicast messages. In network environments like DOCSIS data-over-cable and xDSL, for example, it has proven useful for the relay agent to add information to the DHCP message before forwarding it, using the relay agent information option, RFC 3046 . The kind of information that a relay agent adds is often used in the server's decision making about the addresses and configuration parameters that the client should receive. The way that the relay agent data is used in server decision-making tends to make that data very important, and highlights the importance of the trust relationship between the relay agent and the server. The existing DHCP Authentication specification (RFC 3118)  only secures communication between the DHCP client and server. Because relay agent information is added after the client has signed its message, the DHCP Authentication specification explictlyexplicitly excludes relay agent data from that authentication. The goals of this specification is to define a method that a relay agent can use to: 1. protect the integrity of the data that the relay adds 2. provide replay protection for that data 3. leverage the existing IPsec mechanism 4.existing IPsec mechanism 4. Deployment of Relay Agents in a DHCP Service DHCP relay agents forward messages between DHCP clients and DHCP servers, so that the DHCP service can be provided without requiring a DHCP service on each network segment. Usually, there is a DHCP relay agent on the same network segment as the client, and the relay agent forwards messages directly between the client and DHCP server, as illustrated in Figure 1. .______ _____ / \ +------+ / \ +-------+ / \ +------+ | DHCP |--|Network|--| Relay |--| internet |--| DHCP | |client| |Segment| |Agent A| \ / |server| +------+ \_____/ +-------+ \______/ +------+ . Deployment of a DHCP relay agent to forward messages between a DHCP client and a DHCP server Figure 1 In some deployments, there may be more than one relay agent between the DHCP client and server. In Figure 2, relay agent A is configured to forward DHCP messages to relay agent B. Relay agent B is configured to forward DHCP messages to relay agent C, which is, in turn, configured to forward DHCP messages to the DHCP server In the case where multiple relay agents are deployed between the DHCP client and server, the responses from the server to the client are sent directly to the relay agent closest to the DHCP client. In Figure 2, the DHCP server will send its responses to the DHCP client directly to relay agent A. .______ _____ / \ +------+ / \ +-------+ / \ | DHCP |--|Network|--| Relay |--| internet | |client| |Segment| |Agent A| \ / +------+ \_____/ +-------+ \______/ | . | +-------+ | Relay | |Agent B| +-------+ | . | .______ / \ / \ | internet | \ / \______/ | . | +-------+ | Relay | |Agent C| +-------+ | | .______ / \ / \ | internet | \ / \______/ | . | +-------+ | Relay | |Agent D| +-------+ | | .______ / \ / \ +------+ | internet |--| DHCP | \ / |server| \______/ +------+ Deployment of multiple relay agents between a DHCP client and server Figure 2 5. Relay Agent Message Threat Model DHCP messages are forwarded by DHCP relay agents between DHCP clients and DHCP servers. The messages exchanged between relay agents and servers, in addition to carrying the contents of the messages between the clients and server, may carry additional information in relay agent information options. The information in the relay agent information options may be used by the relay agent, for example to track the physical interface to which a DHCP client is attached, and by the server, for example to affect the selection of an IP address and other configuration information to be assigned to the client. Because the information carried in the relay agent information option may affect the behavior of relay agents and servers, operation of a DHCP service may be disrupted through malicious attacks on DHCP messages carrying relay agent information options. The attacks available to a malicious attacker through the relay information option include inserting new relay information options, modifying the contents of existing relay information options or deleting relay information options. There is no attack available through examining the contents of relay information options so there is no requirement for privacy of the contents of relay information options. A malicious attacker might mount the following denial of service attacks against a DHCP client: o Change the contents of the Agent Circuit ID sub-option or the Agent Remote ID sub-option , causing the relay agent to be unable to return DHCP messages from the server to the client o Change the contents of the DOCSIS Device Class sub-option , causing the DHCP server to provide incorrect configuration parameters to a DOCSIS device o Change the contents of the Link Selection sub-option , causing the DHCP server to assign an IP address from an incorrect subnet to the DHCP client In some networks, hosts are assigned to different VLANs that provide different types of access to the network depending on the identity of the host or the user of that host. For example, a host might be assigned to an internal company VLAN or an isolated VLAN that provides only external Internet access depending on the identity of the host. A malicious attacker might mount the following attacks designed to gain unauthorized network access: o Change the contents of the Link Selection sub-option to cause the DHCP client to be assigned an IP address from an inappropriate VLAN o Change the contents of the RADIUS Attributes sub-option  to cause the DHCP client to be authorized to access inappropriate network resources o Replay an earlier DHCP message that contained a valid RADIUS Attriubtes sub-option to cause the DHCP client to be authorized to access inappropriate network resources 6. Use of IPsec to secure DHCP messages Relay agents and servers that exchange messages securelycan use IPsec mechanisms  to exchange messages securely as described in this section. If there is a single relay agent between the DHCP client, there MUST be an IPsec trust relationship established between the relay agent and the DHCP server. In Figure 1, relay agent A and the DHCP server must have an IPsec session through which DHCP messages are exchanged. If a client message is relayed through multiple relay agents, each of the relay agentsthere must have establishedbe independent, pairwise trust relationships. That is, if messages from client C will be relayed byIPsec sessions among the relay agent A toagents. In a deployment with multiple relay agent B and thenagents, the relay agents are assumed to belong to a single administrative domain or otherwise have the server,ability to establish IPsec sessions. For example, in Figure 2, there must be an IPsec session between pairs of relay agents A and B, B and C, and C and D. There must also be configured to use IPSec for the messages they exchange, andbe a IPsec session between relay agent BD and the serverDHCP server. In addition, there must be configured to use IPSec foran IPsec session between the DHCP server and relay agent A, for messages they exchange.that will be returned from the server directly to relay agent A. Relay agents and servers that support secure relay agent to server or relay agent to relay agent communication use IPsec under the following conditions: Selectors: Relay agents are manually configured with the addresses of the relay agent or server to which DHCP messages are to be forwarded. Each relay agent and server that will be using IPsec for securing DHCP messages must also be configured with a list of the relay agents to which messages will be returned. The selectors for the relay agents and servers will be the pairs of addresses defining relay agents and servers that exchange DHCP messages on the DHCP UDP ports 67 and 68. Mode: Relay agents and servers use transport mode and ESP . The information in DHCP messages is not generally considered confidential, so encryption need not be used (i.e., NULL encryption can be used). Key management: Because the relay agents and servers are used within an organization, public key schemes are not necessary. Because the relay agents and servers must be manually configured, manually configured key management may suffice, but does not provide defense against replayed messages. Accordingly, IKE with preshared secrets SHOULD be supported. IKE with public keys MAY be supported. Security policy: DHCP messages between relay agents and servers should only be accepted from DHCP peers as identified in the local configuration. Authentication: Shared keys, indexed to the source IP address of the received DHCP message, are adequate in this application. Availability: Appropriate IPsec implementations are likely to be available for servers and for relay agents in more featureful devices used in enterprise and core ISP networks. IPsec is less likely to be available for relay agents in low end devices primarily used in the home or small office markets. 5.7. IANA Considerations There are no IANA considerations for the authentication mechanisms described in this document. 6.8. Security Considerations ThisThe threat model for messages exchanged between DHCP relay agents and DHCP servers is described in Section 5. In Section 6, this specification describes a mechanism that can be used to provide authentication and message integrity protection to the messages between DHCP relay agents and DHCP servers. The authentication sub-option protocol requires configuration of relay agents and servers with shared secret keys. 7. IPsec Considerations Theuse of IPsec for securing relay agent options in DHCP messages requiresrequires: o the existence of an IPsec implementation available to the relay agents and DHCP servers. It also requiresservers o that the DHCP relay agents and servers be under appropriate administrative control so that IPsec sessions can be established among the relay agents and servers o manual configuration of the participants, including manual distribution of keys. 8.key 9. Acknowledgments The need for this specification was made clear by comments made by Thomas Narten and John Schnizlein at IETF 53. Normative references  Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.  Patrick, M., "DHCP Relay Agent Information Option", RFC 3046, January 2001.  Kent, S. and R. Atkinson, "Security Architecture for the Internet Protocol", RFC 2401, November 1998.  Kent, S. and R. Atkinson, "IP Encapsulating Security Payload (ESP)", RFC 2406, November 1998. Informative References  Droms, R., "Dynamic Host Configuration Protocol", RFC 2131, March 1997.  Croft, B. and J. Gilmore, "Bootstrap Protocol", RFC 951, September 1985.  Wimer, W., "Clarifications and Extensions for the Bootstrap Protocol", RFC 1542, October 1993.  Droms, R. and W. Arbaugh, "Authentication for DHCP Messages", RFC 3118, June 2001.  Jones, D. and R. Woundy, "The DOCSIS (Data-Over-Cable Service Interface Specifications) Device Class DHCP (Dynamic Host Configuration Protocol) Relay Agent Information Sub-option", RFC 3256, April 2002.  Kinnear, K., Stapp, M., Johnson, R. and J. Kumarasamy, "Link Selection sub-option for the Relay Agent Information Option for DHCPv4", RFC 3527, April 2003.  Droms, R. and J. Schnizlein, "RADIUS Attributes Sub-option for the DHCP Relay Agent Information Option", draft-ietf-dhc-agentopt-radius-02 (work in progress), November 2002. Author's Address Ralph Droms Cisco Systems, Inc. 1414 Massachusetts Ave. Boxborough, MA 01719 USA Phone: +1 978.936.1674 EMail: email@example.com Intellectual Property Statement The IETF takes no position regarding the validity or scope of any intellectual property 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; neither does it represent that it has made any effort to identify any such rights. Information on the IETF's procedures with respect to rights in standards-track and standards-related documentation can be found in BCP-11. Copies of claims of rights made available for publication 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 implementors or users of this specification can be obtained from the IETF Secretariat. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights which may cover technology that may be required to practice this standard. Please address the information to the IETF Executive Director. Full Copyright Statement Copyright (C) The Internet Society (2003). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assignees. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS 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. Acknowledgment Funding for the RFC Editor function is currently provided by the Internet Society.