Network Working Group R. Hibbs Internet-Draft Richard Barr Hibbs, P.E. Expires:
December 12, 2003September 28, 2004 C. Smith Sun MicrosystemsMicrosystems, Inc. B. Volz EricssonCisco Systems, Inc. M. Zohar IBM June 13, 2003T. J. Watson Research Center March 30, 2004 Dynamic Host Configuration Protocol for IPv4 (DHCPv4) Threat Analysis draft-ietf-dhc-v4-threat-analysis-00draft-ietf-dhc-v4-threat-analysis-01 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 December 12, 2003.September 28, 2004. Copyright Notice Copyright (C) The Internet Society (2003).(2004). All Rights Reserved. Abstract DHCPv4 (RFC 2131) is a stable, widely used protocol for configuration of host systems in a TCP/IPv4 network. It did not provide for authentication of clients and servers, nor did it provide for data confidentiality. This is reflected in the original "Security Considerations" section of RFC 2131, which identifies a few threats and leaves development of any defenses against those threats to future work. Beginning in about 1995 DHCP security began to attract attention from the Internet community, eventually resulting in the publication of RFC 3118 in 2001. Although RFC 3118 was a mandatory prerequisite for the DHCPv4 Reconfigure Extension, RFC 3203, it has had no known usage by any commercial or private implementation since its adoption. The DHC Working Group has adopted a work item for 2003 to review and modify or replace RFC 3118 to afford a workable, easily deployed security mechanism for DHCPv4. This memo provides a comprehensive threat analysis of the Dynamic Host Configuration Protocol for use both as RFC 2131 advances from Draft Standard to Full Standard and to support our chartered work improving the acceptance and deployment of RFC 3118. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1 Issues for Consideration . . . . . . . . . . . . . . . . . . 3 1.2 Assumptions . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 Scope of this Memo . . . . . . . . . . . . . . . . . . . . . 3 1.4 Use of Key Words . . . . . . . . . . . . . . . . . . . . . . 4 2. General threats to DHCPv4 . . . . . . . . . . . . . . . . . 54 2.1 Denial-of-Service Attacks . . . . . . . . . . . . . . . . . 54 2.1.1 Refusal to Configure Clients . . . . . . . . . . . . . . . . 54 2.1.2 Client Masquerading . . . . . . . . . . . . . . . . . . . . 54 2.1.3 Flooding . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2 Client Misconfiguration . . . . . . . . . . . . . . . . . . 5 2.3 Theft of Service . . . . . . . . . . . . . . . . . . . . . . 65 2.4 Packet Insertion, Deletion, or Modification . . . . . . . . 65 3. Weaknesses of RFC 3118 . . . . . . . . . . . . . . . . . . . 76 3.1 Key Exposure . . . . . . . . . . . . . . . . . . . . . . . . 76 3.2 Key Distribution . . . . . . . . . . . . . . . . . . . . . . 76 3.3 Replay attacks . . . . . . . . . . . . . . . . . . . . . . . 76 3.4 Protocol Agreement Difficulties . . . . . . . . . . . . . . 87 4. DHCPv4 Security Requirements . . . . . . . . . . . . . . . . 97 4.1 Environments . . . . . . . . . . . . . . . . . . . . . . . . 97 4.2 Capabilities . . . . . . . . . . . . . . . . . . . . . . . . 97 4.3 Musings on the Key Distribution Problem . . . . . . . . . . 108 4.4 Data Confidentiality . . . . . . . . . . . . . . . . . . . . 108 4.4.1 "Public" Data in DHCP Packets . . . . . . . . . . . . . . . 119 4.4.2 Protecting Other Data in DHCP Options . . . . . . . . . . . 119 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . 129 6. Security Considerations . . . . . . . . . . . . . . . . . . 1310 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 1410 8. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . 10 8.1 01 Draft . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Normative References . . . . . . . . . . . . . . . . . . . . 1510 Informative References . . . . . . . . . . . . . . . . . . . 1611 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . 1611 Intellectual Property and Copyright Statements . . . . . . . 1813 1. Introduction DHCPv4 as defined in RFC 1541 [RFC1541] and RFC 2131 [RFC2131] does not provide any form of communication security, confidentiality, data integrity, or peer entity authentication. A design team was formed at IETF-55 in Atlanta in November 2002 to look at DHCPv4 and RFC 3118 [RFC3118] to document security requirements for DHCPv4. RFC 3118 defines the current security mechanisms for DHCPv4. Unfortunately, RFC 3118 has neither been implemented nor deployed to date. There is widespread feeling that its current restriction to manual keying of clients limits its deployment. The DHC Working Group seeks to rectify this situation by defining security mechanisms for DHCPv4 that have better deployment properties. 1.1 Issues for Consideration Specific issues to be considered include: o Improved key management and scalability. o Security for messages passed between relay agents and servers. o The increased usage of DHCPv4 on insecure (e.g., wireless) and public LANs. o The need for clients to be able to authenticate servers, without simultaneously requiring client authentication by the server. 1.2 Assumptions This document assumes that the reader is familiar with both the base DHCPv4 protocol as defined in RFC 2131 and the DHCPv4 authentication extension as defined in RFC 3118, and does not attempt to provide a tutorial on either. 1.3 Scope of this Memo This document confines its analysis to DHCPv4, as defined in RFC 2131 and RFC 2132 [RFC2132] and DHCP Authentication, as defined in RFC 3118. Excluded from our analysis areare: o The DHCP Reconfigure Extension (FORCERENEW), RFC 3203 :[RFC3203]: the authors believe it is appropriate to put the onus to provide the analysis on those who are interested in moving it forward. o DHCP Failover Protocol, as defined in :[failover]: the server-to-server protocol it uses differs significantly from DHCP. o DHCP-DNS Interaction, as defined in :[fqdn]: securing communication between DHCP servers and DNS servers is a DNS update security issue and therefore out of scope for the DHC working group. o DHCPv6, as defined in :RFC 3315 [RFC3315]: while we believe that authentication techniques developed for DHCPv4 would generally be applicable to DHCPv6, there are fundamental differences between the two protocols and RFC 3118 specifies DHCPv4-style message and options formats, so we have chosen to concentrate on DHCPv4. o DHCP Lease Query, as defined in :[leasequery]: because of lack of maturitymaturity. 1.4 Use of Key Words 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. 2119 [RFC2119]. 2. General threats to DHCPv4 These are the classes of threats to the base DHCPv4 protocol. Not all of these are DHCP-specific, nor can all the concerns listed be addressed by DHCP authentication. 2.1 Denial-of-Service Attacks 2.1.1 Refusal to Configure Clients This includes rogue servers that don't give addresses or give bad addresses in addition to simply ignoring client requests. A rogue server could respond with either partial information (i.e., missing the IP address, yet containing other information) or a non-routable (or otherwise bad) IP address. Another possibility is a rogue server that responds to DHCPDISCOVER messages (with DHCPOFFER messages) but fails to respond to DHCPREQUEST messages. This might cause a client to repeatedly fail to be configured. Clients should take steps to ensure that they subsequently ignore such servers. 2.1.2 Client Masquerading This includes clients that send out bogus requests or masquerade as legal clients to use up addresses, or just consume server/network resources. The term "legal clients," in this case, refers to client hardware ("chaddr") address or client identifier (client-ID) restrictions (lists) configured into the server through some mechanism not described in RFC 2131. Some sites may use such a mechanism to restrict the clients that are allowed addresses. A rogue client listens to DHCPv4 traffic and captures a few chaddrs or client-IDs and starts using them. 2.1.3 Flooding A rogue client can flood the network with (near-) continuous DHCPv4 request messages, depleting the IP addresses and consuming bandwidth. As most servers are implemented as a stateless query-response model, network traffic is effectively doubled with the message pair. DHCPv4 is particularly susceptible to such attacks because initial packet exchanges are broadcast. We mention this attack only for completeness, as there is little or nothing that a DHCP server can do to prevent such an attack and we will not discuss it further. 2.2 Client Misconfiguration This includes rogue servers that give out bad configuration information, or relay agents or elements that alter packets between client and server. The result is misconfiguration (such as fake gateways or DNS servers) of clients and potentially worse attacks by directing traffic through a bogus router or web spoofing or other traffic interception or redirection. This category is usually part of another attack, be it theft of service, business espionage, or business interruption including denial of service. 2.3 Theft of Service By "theft of service" we mean the taking of an unused address for network access or the use of an assigned address not belonging to the client, in contrast with "client masquerading" (Section 2.1.2) which refers specifically to the use of a legitimate client's chaddr or client identifier. Instantiation of an unauthorized client for purposes of using network resources or services is only partially preventable using client-server authentication techniques. Additional host and application security is required to prevent theft of service, and such layer 5 and higher functions are declared out of scope for this analysis. 2.4 Packet Insertion, Deletion, or Modification If a client (or server or relay agent) is known to crash or shut down when invalid packets of some type are sent, this could be simply another type of denial of service attack. Likewise, simply deleting certain packet types would eventually result in client lease expiration, a denial of service attack. A rogue relay agent or other host would typically use packet insertion and deletion to interrupt service. In a different vein, the modification of packets in the DHCP exchange may be used to facilitate many different types of attacks on either client or server. 3. Weaknesses of RFC 3118 An authentication mechanism for DHCPv4 protocol messages was developed in RFC 3118, proposing two basic authentication mechanisms and the means for extending the repertoire of methods as needed. Because the configuration token method (protocol 0) relies on exchanging clear-text authentication tokens between as yet unconfigured DHCPv4 clients and DHCPv4 servers, it does not scale well beyond relatively small networks. It is also vulnerable to message interception. Delayed authentication (protocol 1) focuses on solving the intradomain authentication problem where the out-of-band exchange of a shared secret is feasible. Methods that are more computationally intensive are particularly susceptible to Denial of Service attacks through flooding. 3.1 Key Exposure The configuration token protocol, protocol 0, utilizes clear-text authentication tokens (i.e., passwords), providing only weak entity authentication and no message authentication. This protocol is vulnerable to interception and provides only the most rudimentary protection against inadvertently instantiated DHCP servers. It also leaks the key before knowing whether the server supports protocol 0. 3.2 Key Distribution Both protocols 0 and 1 suffer from the lack of a means to easily, quickly, and reliably distribute authentication tokens used in the protocols. In many environments, some existing key distribution mechanism is presumed to be trusted and reliable, with strong administrative procedures and a security-conscious user population in place, leaving only the selection and specification of an appropriate cryptographic algorithm as a concern of the protocol designer. Relying on out-of-band methods to distribute and manage tens or hundreds of thousands of tokens is a significant barrier to widespread implementation of either protocol 0 or 1. Key distribution presents a significant system management challenge that is in marked contrast with DHCP itself, a protocol that has been successfully deployed in environments that make few demands or assumptions. If we are to hope for similarly successful deployment of authentication for DHCP, a means for mitigating (if not eliminating) these difficulties must be offered. 3.3 Replay attacks Since the configuration token protocol, protocol 0, passes a clear-text authentication token, any host on the same subnet would be able to capture it. Delayed authentication, protocol 1, is not susceptible to replay attacks since it contains a nonce value generated by the source and a message authentication code (MAC) which provides both message and entity authentication. 3.4 Protocol Agreement Difficulties An a priori agreement is presumed to have taken place between client and server on the authentication protocol to use. No mechanism is provided to allow for the discovery of supported protocols, nor is there a facility for negotiation. The only way to express non-support of a protocol is by failing to respond. 4. DHCPv4 Security Requirements DHCPv4 was developed in an era when computers were primarily used in business and university environments. Security was either not a concern or was addressed by controlling physical access stemming from the belief that intrusion into critical systems was most likely to come from an external source. Now, with wireless access points and ubiquitous networking, physical access control mechanisms are no longer sufficient, and security and privacy issues are a major concern. 4.1 Environments The following environments can be expected for DHCPv4 implementations: o Network size from a few hosts to hundreds of thousands of hosts. o Network topology from a single subnet to Class-A networks. o Network location from a single room to international dispersion. o Wired, broadcast wireless, and directional wireless media. 4.2 Capabilities The following are essential elements of DHCPv4 Security: o Clients MUST be able to authenticate servers (to prevent misconfigured clients and assure that the correct servers are being contacted). o Servers MUST be able to authenticate clients (use of hardware addresses and client-IDs provides no real security but is all that is easily possible today). Better mechanisms are needed for servers to identify clients to which they will offer service (to prevent IP address pool depletion, for example). o Administrators MUST be able to choose between four authentication paradigms: * No authentication required. * Mutual authentication required. * Client authenticates server. * Server authenticates client. o Integrity of DHCP packet exchanges MUST be assured. 4.3 Musings on the Key Distribution Problem The authors believe that only by addressing scalability issues with key distribution can RFC 3118 achieve wide deployment. While it is not our intention to describe solutions in this document, we admit that we find the model used today by browsers and secure web servers attractive: certificates are distributed with the client implementation (web browser); users have the ability to extend the certificates that they will accept, install their own certificates (should client identification be required), and choose which certificate to present to servers requesting a client's identity. Analogously, DHCPv4 servers could make use of certificates just as web servers do, while DHCPv4 clients could be distributed with appropriate certificate authority certificates (trust anchors). Self-signed certificates are, of course, a possibility, should an organization wish full control over its domain of trust. Should this path be pursued, we believe that certificate revocation will be the major problem to confront, just as it is in the browser/ web server environment today. Revocation of client certificates (which we believe would occur, on the whole, much more frequently than revocation of server certificates), would require only ordinary care in certificate validation by the DHCP server. Revocation of server certificates is more complex because of the difficulty updating client configuration, as well as the inability of clients to rely on certificate revocation lists while in the process of performing IP address and configuration management. 4.4 Data Confidentiality Data Confidentiality was not provided for in the original DHCP protocol as defined in RFC 2131 or any of the subsequent RFCs. Historically, DHCP was mainly used to assign IP addresses and return configuration options such as the local gateway and DNS information. Over time the DHCP protocol has evolved, deployments are extending beyond physically secure intranets to public networks in hotspots, caf‰s,cafes, airports, and at home over broadband. and we are seeing an accompanying proliferation of new configuration options. DHCP has, in fact, become so successful that it is now used to transport a great deal of configuration data that could be obtained in a variety of other ways. It is certainly possible that a client or server might wish to reveal some of these data only to a properly-authenticated peer. 4.4.1 "Public" Data in DHCP Packets We assume that any information that may be gleaned directly from the network using, for example, Ethernet promiscuous mode is not confidential. It could be argued that over time more and more communication will be encrypted, so that less information could be gleaned from the network traffic. Taking this into consideration, the IP packet payload might be encrypted, but not the IP header itself since it is required for packet routing. As a result none of the IP header fields are confidential. IP addresses included in the header are therefore not confidential. Although the IP packet payload (which would include the UDP or TCP header) might normally be encrypted, some protocols have made explicit decisions not to encrypt their exchanges, declaring their data public. DNS is such a protocol .[dns-threats]. Thus we may also treat DNS domain and server information as public. Commonly-used routing protocols such as BGP (RFC 1771) ,[RFC1771], RIP (RFC 1721) ,[RFC1721], and router discovery (RFC 1256) [RFC1256] also normally send advertisements in the clear and we therefore extend our treatment of public DHCP data to routing information. 4.4.2 Protecting Other Data in DHCP Options Some DHCP options (e.g., relay agent options, RFC 3046 )[RFC3046]) or option families (site or vendor options) admit no analysis because the data carried by them may be of unknown sensitivity. Analysis of their confidentiality requirements must be done by their users. Should some data require confidentiality, it may be possible to exploit the "public" data above to allow a two-step configuration process in which sufficient client configuration is first obtained by the normal DHCPDISCOVER/OFFER/REQUEST/ACK exchange, and private data subsequently transmitted over a secure communications channel (such as IPsec) using DHCPINFORM. 5. IANA Considerations None known. 6. Security Considerations This entire memo presents a threat analysis of the DHCPv4 protocol. 7. Acknowledgements This document is the result of work undertaken the by DHCP working group, beginning at 55th IETF meeting in Atlanta. The authors would also like to acknowledge contributions from others not directly involved in writing this memo, including John Beatty and Vipul Gupta of Sun Microsystems, and Ralph Droms of ciscoCisco Systems. 8. Change Log This section summaries the changes made to this Internet-Draft as it has evolved. 8.1 01 Draft No significant changes were made: o Updated author information. o Converted to using xml2rfc to generate the draft. o Removed unused references. o Added the Change Log section. Normative References [RFC1256] Deering, S., "ICMP Router Discovery Messages", RFC 1256, September 1991. [RFC1541] Droms, R., "Dynamic Host Configuration Protocol", RFC 1541, October 1993.  Droms, R., "Dynamic Host Configuration Protocol", RFC 2131, March 1997.  Droms, R. and W. Arbaugh, "Authentication for DHCP Messages",[RFC1721] Malkin, G., "RIP Version 2 Protocol Analysis", RFC 3118, June 2001.  Alexander, S. and R. Droms, "DHCP Options1721, November 1994. [RFC1771] Rekhter, Y. and BOOTP Vendor Extensions",T. Li, "A Border Gateway Protocol 4 (BGP-4)", RFC 2132,1771, March 1997. 1995. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.  Rekhter, Y. and T. Li, "A Border Gateway Protocol 4 (BGP-4)",[RFC2131] Droms, R., "Dynamic Host Configuration Protocol", RFC 1771,2131, March 1995.  Malkin, G., "RIP Version 2 Protocol Analysis", RFC 1721, November 1994.  Deering, S., "ICMP Router Discovery Messages",1997. [RFC2132] Alexander, S. and R. Droms, "DHCP Options and BOOTP Vendor Extensions", RFC 1256, September 1991. 2132, March 1997. [RFC3046] Patrick, M., "DHCP Relay Agent Information Option", RFC 3046, January 2001. [RFC3118] Droms, R. and W. Arbaugh, "Authentication for DHCP Messages", RFC 3118, June 2001. Informative References [RFC3203] T'Joens, Y., Hublet, C. and P. De Schrijver, "DHCP reconfigure extension", RFC 3203, December 2001. [RFC3315] Droms, R. and K. Kinnear, "DHCP Failover Protocol", draft-ietf-dhc-failover-12 (work in progress), March 2003.  Rekhter, Y.R., Bound, J., Volz, B., Lemon, T., Perkins, C. and M. Stapp, "The DHCP Client FQDN Option", draft-ietf-dhc-fqdn-option-05 (work in progress), November 2002.  Droms, R.,Carney, "Dynamic Host Configuration Protocol for IPv6 (DHCPv6)", draft-ietf-dhc-dhcpv6-28 (work in progress), November 2002.  Woundy, R. and K. Kinnear, "DHCP Lease Query", draft-ietf-dhc-leasequery-04 (work in progress), November 2002. RFC 3315, July 2003. [dns-threats] Atkins, D. and R. Austein, "Threat Analysis Of The Domain Name System", draft-ietf-dnsext-dns-threats-02draft-ietf-dnsext-dns-threats-06 (work in progress), November 2002.  Haller, N. andFebruary 2004. [failover] Droms, R. Atkinson, "On Internet Authentication", RFC 1704, October 1994.  Rescorla, E.and B. Korver, "Guidelines for Writing RFC Text on Security Considerations", draft-iab-sec-cons-03K. Kinnear, "DHCP Failover Protocol", draft-ietf-dhc-failover-12 (work in progress), FebruaryDecember 2003.  Schnizlein, J., Polk, J. and[fqdn] Stapp, M. Linsner, "DHC Location Object within GEOPRIV", draft-ietf-geopriv-dhcp-lo-option-00and Y. Rekhter, "The DHCP Client FQDN Option", draft-ietf-dhc-fqdn-option-06 (work in progress), JanuaryOctober 2003.  Morris,[leasequery] Woundy, R., "A Weakness"DHCP Lease Query", draft-ietf-dhc-leasequery-07 (work in the 4.2 BSD UNIX TCP/IP Software", CSTR 117, 1985.progress), March 2004. Authors' Addresses Richard Barr Hibbs Richard Barr Hibbs, P.E. 952 Sanchez Street San Francisco, California 94114-3362 USA Phone: +1 415 648 3920 Fax: +1 415 648 9017 EMail: firstname.lastname@example.org Carl Smith Sun Microsystems, Inc. 901 San Antonio Road Palo Alto, California 94303-4900 USA EMail: email@example.com BernieBernard Volz Ericsson 959 Concord Street Framingham,Cisco Systems, Inc. 1414 Massachusetts 01701-4682Ave. Boxborough, MA 01719 USA Phone: +1 508 875 3162978 936 0382 EMail: Bernie.Volz@firstname.lastname@example.org Mimi Zohar IBM T. J. Watson Research Center 19 Skyline Drive Hawthorne, New York 10532-2134 USA Phone: 1+1 914 784 7606 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. 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.Full Copyright Statement Copyright (C) The Internet Society (2003).(2004). 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. AcknowledgementAcknowledgment Funding for the RFC Editor function is currently provided by the Internet Society.