| < draft-ietf-dhc-v4-threat-analysis-02.txt | draft-ietf-dhc-v4-threat-analysis-03.txt > | |||
|---|---|---|---|---|
| Network Working Group R. Hibbs | Network Working Group R. Hibbs | |||
| Internet-Draft Richard Barr Hibbs, P.E. | INTERNET-DRAFT Richard Barr Hibbs, P.E. | |||
| Expires: October 29, 2004 C. Smith | Category: Informational C. Smith | |||
| C & C Catering | Expires: December 15, 2006 C & C Catering | |||
| B. Volz | B. Volz | |||
| Cisco Systems, Inc. | Cisco Systems, Inc. | |||
| M. Zohar | M. Zohar | |||
| IBM T. J. Watson Research Center | IBM T. J. Watson Research Center | |||
| April 30, 2004 | June 13, 2006 | |||
| Dynamic Host Configuration Protocol for IPv4 (DHCPv4) Threat Analysis | Dynamic Host Configuration Protocol for IPv4 (DHCPv4) | |||
| draft-ietf-dhc-v4-threat-analysis-02 | Threat Analysis | |||
| Status of this Memo | <draft-ietf-dhc-v4-threat-analysis-03.txt> | |||
| Saved: Tuesday, June 13, 2006, 12:56:25 | ||||
| By submitting this Internet-Draft, I certify that any applicable | Intellectual Property Rights | |||
| patent or other IPR claims of which I am aware have been disclosed, | ||||
| and any of which I become aware will be disclosed, in accordance with | ||||
| RFC 3668. | ||||
| Internet-Drafts are working documents of the Internet Engineering | By submitting this Internet-Draft, each author represents that any | |||
| Task Force (IETF), its areas, and its working groups. Note that other | applicable patent or other IPR claims of which he or she is aware | |||
| groups may also distribute working documents as Internet-Drafts. | have been or will be disclosed, and any of which he or she becomes | |||
| aware will be disclosed, in accordance with Section 6 of BCP 79. | ||||
| Internet-Drafts are draft documents valid for a maximum of six months | Status of this Memo | |||
| 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:// | Internet-Drafts are working documents of the Internet Engineering | |||
| www.ietf.org/ietf/1id-abstracts.txt. | Task Force (IETF), its areas, and its working groups. Note that | |||
| other groups may also distribute working documents as Internet- | ||||
| Drafts. | ||||
| The list of Internet-Draft Shadow Directories can be accessed at | Internet-Drafts are draft documents valid for a maximum of six | |||
| http://www.ietf.org/shadow.html. | 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." | ||||
| This Internet-Draft will expire on October 29, 2004. | The list of current Internet-Drafts can be accessed at | |||
| http://www.ietf.org/1id-abstracts.html. | ||||
| Copyright Notice | The list of Internet-Draft Shadow Directories can be accessed at | |||
| http://www.ietf.org/shadow.html. | ||||
| Copyright (C) The Internet Society (2004). All Rights Reserved. | Comments are solicited and should be addressed to the working | |||
| group's mailing list at dhcwg@ietf.org and/or the author(s). | ||||
| Abstract | Copyright Notice | |||
| DHCPv4 (RFC 2131) is a stable, widely used protocol for configuration | Copyright (C) The Internet Society (2006). | |||
| 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 | Abstract | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 | DHCPv4 (RFC 2131) is a stable, widely used protocol for | |||
| 1.1 Issues for Consideration . . . . . . . . . . . . . . . . . 4 | configuration of host systems in a TCP/IPv4 network. It did not | |||
| 1.2 Assumptions . . . . . . . . . . . . . . . . . . . . . . . 4 | provide for authentication of clients and servers, nor did it | |||
| 1.3 Scope of this Memo . . . . . . . . . . . . . . . . . . . . 4 | provide for data confidentiality. This is reflected in the original | |||
| 1.4 Use of Key Words . . . . . . . . . . . . . . . . . . . . . 5 | "Security Considerations" section of RFC 2131, which identifies a | |||
| 2. General Threats to DHCPv4 . . . . . . . . . . . . . . . . . . 5 | few threats and leaves development of any defenses against those | |||
| 2.1 Denial-of-Service Attacks . . . . . . . . . . . . . . . . 5 | threats to future work. In about 1995, DHCP security began to | |||
| 2.1.1 Refusal to Configure Clients . . . . . . . . . . . . . 5 | attract attention from the Internet community, eventually resulting | |||
| 2.1.2 Impersonating Clients . . . . . . . . . . . . . . . . 5 | in the publication of RFC 3118 in 2001. Although RFC 3118 was a | |||
| 2.1.3 Flooding . . . . . . . . . . . . . . . . . . . . . . . 6 | mandatory prerequisite for the DHCPv4 Reconfigure Extension, RFC | |||
| 2.2 Client Misconfiguration . . . . . . . . . . . . . . . . . 6 | 3203, it has had no known usage by any commercial or private | |||
| 2.3 Theft of Network Service . . . . . . . . . . . . . . . . . 6 | implementation since its adoption. The DHC Working Group adopted a | |||
| 2.4 Packet Insertion, Deletion, or Modification . . . . . . . 7 | work item for 2003 to review and modify or replace RFC 3118 to | |||
| 3. Weaknesses of RFC 3118 . . . . . . . . . . . . . . . . . . . . 7 | afford a workable, easily deployed security mechanism for DHCPv4. | |||
| 3.1 Key Exposure . . . . . . . . . . . . . . . . . . . . . . . 7 | This memo provides a threat analysis of the Dynamic Host | |||
| 3.2 Key Distribution . . . . . . . . . . . . . . . . . . . . . 7 | Configuration Protocol for Ipv4 (DHCPv4) for use both as RFC 2131 | |||
| 3.3 Replay attacks . . . . . . . . . . . . . . . . . . . . . . 8 | advances from Draft Standard to Full Standard and to support our | |||
| 3.4 Protocol Agreement Difficulties . . . . . . . . . . . . . 8 | chartered work improving the acceptance and deployment of RFC 3118. | |||
| 4. DHCPv4 Security Requirements . . . . . . . . . . . . . . . . . 8 | ||||
| 4.1 Environments . . . . . . . . . . . . . . . . . . . . . . . 8 | ||||
| 4.2 Capabilities . . . . . . . . . . . . . . . . . . . . . . . 8 | ||||
| 4.3 Musings on the Key Distribution Problem . . . . . . . . . 9 | ||||
| 4.4 Data Confidentiality . . . . . . . . . . . . . . . . . . . 10 | ||||
| 4.4.1 "Public" Data in DHCP Packets . . . . . . . . . . . . 10 | ||||
| 4.4.2 Protecting Data in DHCP Options . . . . . . . . . . . 11 | ||||
| 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 | ||||
| 6. Security Considerations . . . . . . . . . . . . . . . . . . . 11 | ||||
| 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 11 | ||||
| 8. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . . 11 | ||||
| 8.1 01 Draft . . . . . . . . . . . . . . . . . . . . . . . . . 11 | ||||
| 8.2 02 Draft . . . . . . . . . . . . . . . . . . . . . . . . . 12 | ||||
| 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 12 | ||||
| 9.1 Normative References . . . . . . . . . . . . . . . . . . . . 12 | ||||
| 9.2 Informative References . . . . . . . . . . . . . . . . . . . 13 | ||||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 14 | ||||
| Intellectual Property and Copyright Statements . . . . . . . . 15 | ||||
| 1. Introduction | Table of Contents | |||
| DHCPv4 as defined in RFC 1541 [RFC1541] and RFC 2131 [RFC2131] does | 1 Introduction................................................4 | |||
| not provide any form of communication security, confidentiality, data | 1.1 Issues for Consideration...............................4 | |||
| integrity, or peer entity authentication. | 1.2 Exclusions.............................................4 | |||
| 2 Use of Key Words............................................5 | ||||
| 3 Applicability...............................................5 | ||||
| 3.1 Assumptions............................................5 | ||||
| 3.2 Scope of this Memo.....................................5 | ||||
| 4 General threats to DHCPv4...................................5 | ||||
| 4.1 Denial-of-Service Attacks..............................5 | ||||
| 4.1.1 Refusal to Configure Clients.....,...............5 | ||||
| 4.1.2 Impersonating Clients.............,..............5 | ||||
| 4.1.3 Flooding...........................,.............6 | ||||
| 4.2 Client Misconfiguration................................6 | ||||
| 4.3 Theft of Network Service...............................6 | ||||
| 4.4 Packet Insertion, Deletion, or Modification............7 | ||||
| 5 Weaknesses of RFC 3118......................................7 | ||||
| 5.1 Key Exposure...........................................7 | ||||
| 5.2 Key Distribution.......................................7 | ||||
| 5.3 Replay attacks.........................................8 | ||||
| 5.4 Protocol Agreement Difficulties........................8 | ||||
| 5.5 DHCPv4 Relay Agents Excluded...........................8 | ||||
| 5.6 Unanticipated Infrastructure Changes...................8 | ||||
| 6 DHCPv4 Security Requirements................................9 | ||||
| 6.1 Environments...........................................9 | ||||
| 6.2 Capabilities..........................................10 | ||||
| 6.3 Musings on the Key Distribution Problem...............10 | ||||
| 6.4 Data Confidentiality..................................11 | ||||
| 6.4.1 "Public" Data in DHCP Packets...................12 | ||||
| 6.4.2 Protecting Data in DHCP Options.................12 | ||||
| 6.5 Host versus User Authentication.......................12 | ||||
| 6.5.1 Why do we make this distinction?................13 | ||||
| 6.5.2 Is one mechanism sufficient?....................13 | ||||
| 7 IANA Considerations........................................14 | ||||
| 8 Security Considerations....................................14 | ||||
| 9 Acknowledgements...........................................14 | ||||
| 10 References................................................14 | ||||
| 10.1 Normative References.................................14 | ||||
| 10.2 Informative References...............................15 | ||||
| 1 Introduction | ||||
| A design team was formed at IETF-55 in Atlanta in November 2002 to | DHCPv4 as defined in [RFC1541] and [RFC2131] does not provide any | |||
| look at DHCPv4 and RFC 3118 [RFC3118] to document security | form of communication security, confidentiality, data integrity, or | |||
| requirements for DHCPv4. RFC 3118 defines the current security | peer entity authentication. | |||
| mechanisms for DHCPv4. | ||||
| Unfortunately, RFC 3118 has neither been implemented nor deployed to | A design team was formed at IETF-55 in Atlanta in November 2002 to | |||
| date. There is widespread feeling that its current restriction to | look at DHCPv4 and [RFC3118] to document security requirements for | |||
| manual keying of clients limits its deployment. The DHC Working Group | DHCPv4. [RFC3118] defines the current security mechanisms for | |||
| seeks to rectify this situation by defining security mechanisms for | DHCPv4. | |||
| DHCPv4 that have better deployment properties. | ||||
| 1.1 Issues for Consideration | 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. | ||||
| Specific issues to be considered include: | 1.1 Issues for Consideration | |||
| 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 | Specific issues to be considered include: | |||
| This document assumes that the reader is familiar with both the base | O Improved key management and scalability. | |||
| 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 | O Security for messages passed between relay agents and servers. | |||
| This document confines its analysis to DHCPv4, as defined in RFC 2131 | O The increased usage of DHCPv4 on insecure (e.g., wireless) and | |||
| and RFC 2132 [RFC2132] and DHCP Authentication, as defined in RFC | public LANs. | |||
| 3118. | ||||
| Excluded from our analysis are: | O The need for clients to be able to authenticate servers, without | |||
| o Securing messages between relay agents and servers: work is | simultaneously requiring client authentication by the server. | |||
| already underway on this, see [auth-subopt] and [relay-ipsec]. | ||||
| o 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 that work forward. | ||||
| o DHCP Failover Protocol, as defined in [failover]: the | ||||
| server-to-server protocol used differs significantly from DHCP. | ||||
| o DHCP-DNS Interaction, as defined in [fqdn]: securing communication | O Does use of the Relay Agent Information Option imply the need | |||
| between DHCP servers and DNS servers is a DNS update security | for authenticated messages between DHCP servers and relay | |||
| issue and therefore out of scope for the DHC working group. | agents? | |||
| 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 | ||||
| maturity. | ||||
| 1.4 Use of Key Words | 1.2 Exclusions | |||
| The key words "MUST," "MUST NOT," "REQUIRED," "SHALL," "SHALL NOT," | Excluded from our analysis are: | |||
| "SHOULD," "SHOULD NOT," "RECOMMENDED," "MAY," and "OPTIONAL" in this | ||||
| document are to be interpreted as described in RFC 2119 [RFC2119]. | ||||
| 2. General Threats to DHCPv4 | O Securing messages between relay agents and servers: work is | |||
| already underway on this, see [RFC4030] and [relay-ipsec]. | ||||
| These are the classes of threats to the base DHCPv4 protocol. Not all | O DHCP Reconfigure Extension (FORCERENEW) [RFC3203]: the authors | |||
| of these are DHCP-specific, nor can all the concerns listed be | believe it is appropriate to put the onus to provide the | |||
| addressed by DHCP authentication. | analysis on those who are interested in moving that work forward. | |||
| [Editor's note: despite repeated calls on the DHC Working Group | ||||
| mailing list to identify even a single implementation of | ||||
| FORCERENEW, we are unable to put forward an example of its use.] | ||||
| 2.1 Denial-of-Service Attacks | O DHCP Failover Protocol, as defined in [failover]: the server- | |||
| to-server protocol used differs significantly from DHCP, and | ||||
| there has been no recent work on the [failover] draft. | ||||
| 2.1.1 Refusal to Configure Clients | 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. | ||||
| A rogue DHCP server can refuse to configure clients by responding | O DHCPv6, as defined in [RFC3315]: while we believe that | |||
| with either partial information (i.e., missing the IP address, yet | authentication techniques developed for DHCPv4 would generally | |||
| containing other information) or a non-routable (or otherwise bad) IP | be applicable to DHCPv6, there are fundamental differences | |||
| address. Or, the server may respond to DHCPDISCOVER messages (with | between the two protocols and RFC 3118 specifies DHCPv4-style | |||
| DHCPOFFER messages) but then ignore the subsequent client DHCPREQUEST | message and options formats, so we have chosen to concentrate on | |||
| messages. This may cause a client to repeatedly fail to be | DHCPv4. | |||
| configured, though clients could take steps to ensure that they | ||||
| subsequently ignore such servers for a period of time. | ||||
| 2.1.2 Impersonating Clients | O DHCP Lease Query, as defined in [RFC4388]: because of lack of | |||
| maturity. | ||||
| A rogue client can impersonate a client or many clients, by using | 2 Use of Key Words | |||
| another client's client identifer (client identifier option) and/or | ||||
| hardware address (chaddr) or by generating these identifiers. This | ||||
| may be done to: | ||||
| o Obtain addresses when hardware address or client identifier | ||||
| restrictions (lists) are configured into the site's 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 identifiers and starts using them. | ||||
| o Simulate many clients to consume all available addresses. The | The key words "MUST," "MUST NOT," "REQUIRED," "SHALL," "SHALL NOT," | |||
| rogue client may either hold on to these addresses (until the | "SHOULD," "SHOULD NOT," "RECOMMENDED," "MAY," and "OPTIONAL" in this | |||
| leases expire) or decline the addresses (by sending a DHCPDECLINE) | document are to be interpreted as described in [RFC2119]. | |||
| in the hopes that the server will remove the declined address from | ||||
| use for a longer period of time. | ||||
| o Create havoc on the subnet by injecting fake messages on behalf of | ||||
| other clients that prematurely release (DHCPRELEASE) or decline | ||||
| (DHCPDECLINE) their addresses. A rogue client listens to DHCPv4 | ||||
| traffic and gleans client identity and address information and | ||||
| uses this information to inject fake messages. | ||||
| 2.1.3 Flooding | 3 Applicability | |||
| A rogue client can flood the network with (near-) continuous DHCPv4 | 3.1 Assumptions | |||
| request messages thereby consuming processing resources and network | ||||
| bandwidth. | ||||
| We mention this attack only for completeness, as there is little or | This document assumes that the reader is familiar with both the base | |||
| nothing that a DHCP server can do to prevent such an attack and the | DHCPv4 protocol as defined in [RFC2131] and the DHCPv4 | |||
| client could just as well send messages of other protocols; and we | authentication extension as defined in [RFC3118], and does not | |||
| will not discuss it further. | attempt to provide a tutorial on either. | |||
| 2.2 Client Misconfiguration | 3.2 Scope of this Memo | |||
| Rogue servers may give out bad configuration information (such as | This document confines its analysis to DHCPv4, as defined in | |||
| fake gateways or DNS servers), or relay agents or other network | [RFC2131] and [RFC2132] and DHCP Authentication, as defined in | |||
| elements may alter packets between a client and server, to cause the | [RFC3118]. | |||
| client to be misconfigured, or to enable future man-in-the-middle | ||||
| attacks. 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 Network Service | 4 General threats to DHCPv4 | |||
| By "theft of network service" we mean the taking of an unused address | These are the classes of threats to the base DHCPv4 protocol. Not | |||
| for network access or the use of an assigned address not belonging to | all of these are DHCP-specific, nor can all the concerns listed be | |||
| the client, in contrast with "client masquerading" (Section 2.1.2) | addressed by DHCP authentication. | |||
| 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 | 4.1 Denial-of-Service Attacks | |||
| resources or services is only partially preventable using | ||||
| client-server authentication techniques. We mention this attack only | ||||
| for completeness, as there is little or nothing that a DHCP server, | ||||
| itself, can do to prevent such an attack. 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 | 4.1.1 Refusal to Configure Clients | |||
| If a client (or server or relay agent) is known to crash or shut down | A rogue DHCP server can refuse to configure clients by responding | |||
| when invalid packets of some type are sent, this could be simply | with either partial information (i.e., missing the IP address, yet | |||
| another type of denial of service attack. Likewise, simply deleting | containing other information), or a non-routable (or otherwise bad) | |||
| certain packet types (DHCPREQUEST to renew or rebind a lease) would | IP address, or the server may respond to DHCPDISCOVER messages (with | |||
| eventually result in client lease expiration, a denial of service | DHCPOFFER messages) but then ignore the subsequent client | |||
| attack. A rogue relay agent or other host would typically use packet | DHCPREQUEST messages. This may cause a client to repeatedly fail to | |||
| insertion and deletion to interrupt service. In a different vein, the | be configured, though clients could take steps to ensure that they | |||
| modification of packets in the DHCP exchange may be used to | subsequently ignore such servers for some time. | |||
| facilitate many different types of attacks on either client or | ||||
| server. For example, a DHCPACK could be modified to a DHCPNAK, | ||||
| thereby denying the client a lease. | ||||
| 3. Weaknesses of RFC 3118 | 4.1.2 Impersonating Clients | |||
| An authentication mechanism for DHCPv4 protocol messages was | A rogue client can impersonate a client or many clients, by using | |||
| developed in RFC 3118, proposing two basic authentication mechanisms | another client's client identifier (client identifier option) and/or | |||
| and the means for extending the repertoire of methods as needed. The | hardware address (chaddr) or by generating these identifiers. This | |||
| configuration token method (protocol 0) relies on exchanging | may be done to: | |||
| clear-text authentication tokens between as yet unconfigured DHCPv4 | ||||
| clients and DHCPv4 servers. 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. | ||||
| 3.1 Key Exposure | O Obtain addresses when hardware address or client identifier | |||
| restrictions (lists) are configured into the site's 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 identifiers and starts using | ||||
| them. | ||||
| The configuration token protocol, protocol 0, utilizes clear-text | O Simulate many clients to consume all available addresses. The | |||
| authentication tokens (i.e., passwords), providing only weak entity | rogue client may either hold on to these addresses (until the | |||
| authentication and no message authentication. This protocol is | leases expire) or decline the addresses (by sending a | |||
| vulnerable to interception and provides only the most rudimentary | DHCPDECLINE) in the hopes that the server will remove the | |||
| protection against inadvertently instantiated DHCP servers. It also | declined address from use for a longer period. | |||
| leaks the key before knowing whether the server supports protocol 0. | ||||
| 3.2 Key Distribution | O Create havoc on the subnet by injecting fake messages on behalf | |||
| of other clients, prematurely releasing (DHCPRELEASE) or | ||||
| declining (DHCPDECLINE) their addresses. A rogue client listens | ||||
| to DHCPv4 traffic and gleams client identity and address | ||||
| information and uses this information to inject fake messages. | ||||
| Both protocols 0 and 1 suffer from the lack of a means to easily, | 4.1.3 Flooding | |||
| 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 such out-of-band methods to distribute and manage tens or | A rogue client can flood the network with (near-) continuous DHCPv4 | |||
| hundreds of thousands of tokens is a significant barrier to the | request messages thereby consuming processing resources and network | |||
| widespread implementation of either protocol 0 or 1. | bandwidth. | |||
| Key distribution presents a significant system management challenge | We mention this attack only for completeness, as there is little or | |||
| that is in marked contrast with DHCP itself, a protocol that has been | nothing that a DHCP server can do to prevent such an attack and the | |||
| successfully deployed in environments that make few demands or | client could just as well send messages of other protocols, so we | |||
| assumptions. If we are to hope for similarly successful deployment of | will not discuss it further. | |||
| authentication for DHCP, a means for mitigating (if not eliminating) | ||||
| these difficulties must be offered. | ||||
| 3.3 Replay attacks | 4.2 Client Misconfiguration | |||
| Since the configuration token protocol, protocol 0, passes a | Rogue servers may give out bad configuration information (such as | |||
| clear-text authentication token, the token would be visible to any | fake gateways or DNS servers), or relay agents or other network | |||
| host on the same subnet. Delayed authentication, protocol 1, is not | elements may alter packets between a client and server, to cause the | |||
| susceptible to replay attacks since it contains a nonce value | client to be misconfigured, or potentially worse cause future man- | |||
| generated by the source and a message authentication code (MAC) which | in-the-middle attacks. This category is usually part of another | |||
| provides both message and entity authentication. | attack, be it theft of service, business espionage, or business | |||
| interruption including denial of service. | ||||
| 3.4 Protocol Agreement Difficulties | 4.3 Theft of Network Service | |||
| An a priori agreement is presumed to have taken place between client | By "theft of network service", we mean the taking of an unused | |||
| and server on the authentication protocol to use. No mechanism is | address for network access or the use of an assigned address not | |||
| provided to allow for the discovery of supported protocols, nor is | belonging to the client, in contrast with "client masquerading" | |||
| there a facility for negotiation. The only way to express non-support | (Section 2.1.2) which refers specifically to the use of a legitimate | |||
| of a protocol is by failing to respond. | client's chaddr or client identifier. | |||
| 4. DHCPv4 Security Requirements | Instantiation of an unauthorized client for purposes of using | |||
| network resources or services is only partially preventable using | ||||
| client-server authentication techniques. We mention this attack | ||||
| only for completeness, as there is little or nothing a DHCP server | ||||
| itself can do to prevent such an attack. 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. | ||||
| DHCPv4 was developed in an era when computers were primarily used in | 4.4 Packet Insertion, Deletion, or Modification | |||
| 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 | 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 (DHCPREQUEST to renew or rebind a | ||||
| lease) 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. For example, a DHCPACK could be | ||||
| modified to a DHCPNAK, thereby denying the client a lease. | ||||
| The following environments can be expected for DHCPv4 | 5 Weaknesses of RFC 3118 | |||
| 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. | ||||
| o Movement between different media and networks. | ||||
| 4.2 Capabilities | 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. | ||||
| The configuration token method (protocol 0) relies on exchanging | ||||
| clear-text authentication tokens between unconfigured DHCPv4 clients | ||||
| and DHCPv4 servers. 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. | ||||
| The following are essential elements of DHCPv4 security: | 5.1 Key Exposure | |||
| o Clients MUST be able to authenticate servers (to prevent | The configuration token protocol, protocol 0, utilizes clear-text | |||
| misconfigured clients and assure that the correct servers are | authentication tokens (i.e., passwords), providing only weak entity | |||
| being contacted). | authentication and no message authentication. This protocol is | |||
| o Servers MUST be able to authenticate clients (use of hardware | vulnerable to interception and provides only the most rudimentary | |||
| addresses and client-IDs provides no real security but is all that | protection against inadvertently instantiated DHCP servers. It also | |||
| is easily possible today). Better mechanisms are needed for | leaks the key before knowing whether the server supports protocol 0. | |||
| 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. | ||||
| Not all capabilities may be needed or desired in all situations. | 5.2 Key Distribution | |||
| 4.3 Musings on the Key Distribution Problem | 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. | ||||
| The authors believe that only by addressing scalability issues with | Relying on such out-of-band methods to distribute and manage tens or | |||
| key distribution can RFC 3118 achieve wide deployment. While it is | hundreds of thousands of tokens is a significant barrier to the | |||
| not our intention to describe solutions in this document, we admit | widespread implementation of either protocol 0 or 1. | |||
| that we find the model used today by browsers and secure web servers | ||||
| attractive: trusted root 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 the client's identity. | ||||
| Analogously, DHCPv4 servers could make use of certificates just as | Key distribution presents a significant system management challenge | |||
| web servers do, while DHCPv4 clients could be distributed with | that is in marked contrast with DHCP itself, a protocol that has | |||
| appropriate certificate authority certificates (trust anchors). | been successfully deployed in environments that make few demands or | |||
| Self-signed certificates are, of course, a possibility, should an | assumptions. If we are to hope for similarly successful deployment | |||
| organization wish full control over its domain of trust. | of authentication for DHCP, a means for mitigating (if not | |||
| eliminating) these difficulties must be offered. | ||||
| Should this path be pursued, we believe that certificate revocation | 5.3 Replay attacks | |||
| will be a 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 | Since the configuration token protocol, protocol 0, passes a clear- | |||
| difficulty updating client configurations, as well as the inability | text authentication token, the token would be visible to any host on | |||
| of clients to rely on certificate revocation lists while in the | the same subnet. Delayed authentication, protocol 1, is not | |||
| process of performing IP address and configuration management. | 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. | ||||
| 4.4 Data Confidentiality | 5.4 Protocol Agreement Difficulties | |||
| Data Confidentiality was not provided for in the original DHCP | An a priori agreement is presumed to have taken place between client | |||
| protocol as defined in RFC 2131 or any of the subsequent RFCs. | and server on the authentication protocol to use. No mechanism is | |||
| Historically, DHCP was mainly used to assign IP addresses and return | provided to allow for the discovery of supported protocols, nor is | |||
| configuration options such as the local gateway and DNS information. | there a facility for negotiation. The only way to express non- | |||
| support of a protocol is by failing to respond. | ||||
| Over time the DHCP protocol has evolved, deployments are extending | 5.5 DHCPv4 Relay Agents Excluded | |||
| beyond physically secure intranets to public networks in hotspots, | ||||
| 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 | [RFC3118] is defined exclusively for client-server communication. | |||
| transport a great deal of configuration data that could be obtained | The role of relay agents has expanded somewhat from their earliest | |||
| in a variety of other ways. It is certainly possible that a client or | definition to include a DHCP option carrying relay agent information | |||
| server might wish to reveal some of these data only to a | via sub-options [RFC3046]. An authentication sub-option for the | |||
| properly-authenticated peer. | relay agent information option has been defined by [RFC4030], though | |||
| it only defines a single protocol, symmetrical shared-secret keys, | ||||
| to protect the contents of the messages between DHCP relay agents | ||||
| and servers. Work-in-progress to protect the interaction between | ||||
| relay agents and servers using IPSEC [relay-ipsec] seems to have | ||||
| halted, with no recent work. | ||||
| 4.4.1 "Public" Data in DHCP Packets | 5.6 Unanticipated Infrastructure Changes | |||
| We assume that any information that may be gleaned directly from the | Rapid commit, defined by [RFC4039], specifies how a two-message | |||
| network using, for example, Ethernet promiscuous mode is not | exchange between client and server can dramatically decrease the | |||
| confidential. It could be argued that over time more and more | elapsed time for address assignment, a feature becoming significant | |||
| communication will be switched, encrypted, or secured at the physical | as more and more highly mobile devices desire an abbreviated address | |||
| layer, so that less information could easily be gleaned from the | assignment phase for short duration communications. | |||
| network traffic. | ||||
| Taking encryption into consideration, the IP packet payload might be | While a two-message exchange by itself does not affect the overall | |||
| encrypted, but not the IP header itself since it is required for | security of the communications, it has two side effects. First, the | |||
| packet routing. As a result none of the IP header fields are | delayed authentication protocol simply cannot be used as the | |||
| confidential. IP addresses included in the header are therefore not | DHCPOFFER message required to return a nonce value to the client is | |||
| confidential. Similarly, the hardware addresses are also not | not present. Second, as noted by the authors of [RFC4039], without | |||
| confidential. | authentication it is considerably more likely to consume addresses, | |||
| increasing the risk of one type of denial of service attack. | ||||
| Although the IP packet payload (which would include the UDP or TCP | CableLabs client configuration [RFC3495] adds another two-tier | |||
| header) might normally be encrypted, some protocols have made | option to the DHCPv4 options list, defining an initial set of sub- | |||
| explicit decisions not to encrypt their exchanges, declaring their | options for passing configuration information specific to CableLabs | |||
| data public. DNS is such a protocol [dns-threats]. Thus we may also | VoIP and possible future services. Although several of the sub- | |||
| treat DNS domain and server information as public. | options contain potentially sensitive information regarding Kerberos | |||
| tickets to be used by cable modems and media terminal adapters. The | ||||
| option specification does not require used of DHCP authentication, | ||||
| although it would seem to be necessary. The authors of this memo do | ||||
| not wish to go so far as to recommend that DHCP authentication be a | ||||
| requirement for any or all DHCP options, but the CableLabs client | ||||
| configuration option will likely not be the last option that could | ||||
| benefit from a robust, workable authentication implementation. | ||||
| Commonly-used routing protocols such as BGP (RFC 1771) [RFC1771], RIP | Passive duplicate address detection [p-dad] is a relatively new | |||
| (RFC 1721) [RFC1721], and router discovery (RFC 1256) [RFC1256] also | proposal to replace the use of ICMPECHO and ARP messages by DHCP | |||
| normally send advertisements in the clear and we therefore extend our | clients and servers to improve the duplicate address detection | |||
| definition of public DHCP data to include routing information | process by passively listening to message traffic and developing a | |||
| options. | table of matches between chaddr, DHCP client identifier, and IP | |||
| address that would be periodically transmitted to interested DHCP | ||||
| servers. The presence of an entry for a particular IP address would | ||||
| signify that it is known to be in use, so a DHCP server could | ||||
| exclude the address from its pool of addresses available for | ||||
| assignment. | ||||
| 4.4.2 Protecting Data in DHCP Options | The address usage collector (AUC) defined by [p-dad] does not use | |||
| the DHCP client-server protocol, nor does it function by actively | ||||
| handling DHCP messages, so its implementation would not affect | ||||
| authenticated DHCP messages. However, DHC Working Group discussion | ||||
| of the [p-dad] draft raised the point that the AUC must capture the | ||||
| client identifiers used in DHCP message exchanges. If DHCP | ||||
| authentication were enabled, an AUC of necessity would be required | ||||
| to have the same authentication configuration data (protocol, | ||||
| algorithm, and key) as the clients and servers, certainly a | ||||
| consideration for scalability and risk assessment. | ||||
| Some DHCP options (e.g., relay agent options, RFC 3046 [RFC3046]) or | 6 DHCPv4 Security Requirements | |||
| 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. | ||||
| Other DHCPv4 options contain opaque data, not subject to | DHCPv4 was developed in an era when computers were primarily used in | |||
| interpretation by a DHCPv4 server. With no RFC-based definition of | business and university environments. Security was either not a | |||
| the data content of these options, we can offer no opinion of the | concern or was addressed by controlling physical access stemming | |||
| sensitivity of the data, and leave any confidentiality treatment to | from the belief that intrusion into critical systems was most likely | |||
| other work. | 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. | ||||
| Should some data require confidentiality, it may be possible to | 6.1 Environments | |||
| 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 | The following environments can be expected for DHCPv4 | |||
| implementations: | ||||
| None known. | O Network size, from a few hosts to hundreds of thousands of hosts. | |||
| 6. Security Considerations | O Network topology, from a single subnet to Class-A networks. | |||
| This entire memo presents a threat analysis of the DHCPv4 protocol. | O Network location, from a single room to international dispersion. | |||
| 7. Acknowledgements | O Wired, broadcast wireless, and directional wireless media. | |||
| This document is the result of work undertaken the by DHCP working | O Movement between different media and networks. | |||
| 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 Cisco Systems. And Bernard | ||||
| Aboba and Mark Stapp for their careful reviews and suggestions. | ||||
| 8. Change Log | 6.2 Capabilities | |||
| This section summaries the changes made to this Internet-Draft as it | The following are essential elements of DHCPv4 security: | |||
| has evolved. | ||||
| 8.1 01 Draft | 1. Clients MUST be able to authenticate servers (to prevent | |||
| misconfigured clients and assure that the correct servers are | ||||
| being contacted). | ||||
| No significant changes were made: | 2. Servers MUST be able to authenticate clients (use of hardware | |||
| o Updated author information. | addresses and client-IDs provides no real security but is all | |||
| o Converted to using xml2rfc to generate the draft. | that is easily possible today). Better mechanisms are needed | |||
| for servers to identify clients to whom they will offer service | ||||
| (to prevent IP address pool depletion, for example). | ||||
| o Removed unused references. | 3. Administrators MUST be able to choose between four | |||
| o Added the Change Log section. | authentication paradigms: | |||
| 8.2 02 Draft | a. No authentication required. | |||
| The following changes were made: | b. Mutual authentication required. | |||
| o Updated author information. | ||||
| o Added text to 1.3 to exclude security for messages passed between | ||||
| relay agents and servers as there are two Internet-Drafts on this | ||||
| subject. | ||||
| o Reworded several sections, particularily in section 2. | ||||
| o Revised and renamed section 2.1.2; now includes more attacks. | ||||
| o Revised section 2.1.3. | ||||
| o Minor revisions to section 3, 3.2, and 3.2. | ||||
| o Added more to section 4.4.2. | ||||
| o Other minor insertions, deletions, and modifications based on | ||||
| comments from Bernard Aboba and Mark Stapp and to otherwise | ||||
| improve the document. | ||||
| 9. References | c. Client authenticates server. | |||
| 9.1 Normative References | d. Server authenticates client. | |||
| [RFC1256] Deering, S., "ICMP Router Discovery Messages", RFC 1256, | 4. Integrity of DHCP packet exchanges MUST be assured. | |||
| September 1991. | ||||
| [RFC1541] Droms, R., "Dynamic Host Configuration Protocol", RFC | Not all capabilities may be needed or desired in all situations. | |||
| 1541, October 1993. | ||||
| [RFC1721] Malkin, G., "RIP Version 2 Protocol Analysis", RFC 1721, | 6.3 Musings on the Key Distribution Problem | |||
| November 1994. | ||||
| [RFC1771] Rekhter, Y. and T. Li, "A Border Gateway Protocol 4 | The authors believe that only by addressing scalability issues with | |||
| (BGP-4)", RFC 1771, March 1995. | 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 several models used today by browsers and secure web | ||||
| servers as well as token-based user authentication schemes such as | ||||
| the RSA SecureID token to be attractive. Trusted root 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 the client's identity. Security tokens that combine a | ||||
| secure seed value with the current time of day using a cryptographic | ||||
| algorithm to produce effectively a random one-time pad are | ||||
| relatively inexpensive and widely available. | ||||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | Analogously, DHCPv4 servers could make use of certificates just as | |||
| Requirement Levels", BCP 14, RFC 2119, March 1997. | 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. | ||||
| [RFC2131] Droms, R., "Dynamic Host Configuration Protocol", RFC | Should this path be pursued, we believe that certificate revocation | |||
| 2131, March 1997. | will be a 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. | ||||
| [RFC2132] Alexander, S. and R. Droms, "DHCP Options and BOOTP Vendor | Revocation of server certificates is more complex because of the | |||
| Extensions", RFC 2132, March 1997. | difficulty updating client configurations, as well as the inability | |||
| of clients to rely on certificate revocation lists while in the | ||||
| process of performing IP address and configuration management. | ||||
| [RFC3046] Patrick, M., "DHCP Relay Agent Information Option", RFC | Using a security token device today is mostly to identify a person | |||
| 3046, January 2001. | requesting access to a private resource. Key fobs, USB dongles, or | |||
| wallet cards are in the possession of a user, and in conjunction | ||||
| with a user name, password, and possibly other information confirms | ||||
| two of the three classic dimensions of provable identity (something | ||||
| you know--user name and password, something you have--the security | ||||
| token, and something you are--biometrics typically satisfy this | ||||
| dimension.) | ||||
| [RFC3118] Droms, R. and W. Arbaugh, "Authentication for DHCP | We envision a security token becoming part of the host system's | |||
| Messages", RFC 3118, June 2001. | hardware complement in the near future, such that the token then | |||
| becomes not a user identity validator, but a host system validator. | ||||
| It is common today to have a system service tag or serial number | ||||
| that is machine-readable. Some hardware configurations include | ||||
| processors with readable serial numbers as well. What we lack is a | ||||
| secure means to generate a cryptographically random key that cannot | ||||
| be easily defeated by software or component swapping. | ||||
| 9.2 Informative References | Either of these approaches offers a simple way to avoid the classic | |||
| key distribution problem, though neither is totally without cost. | ||||
| Somehow, somewhere, a token's identifiers (seed and algorithm) must | ||||
| be recorded by the DHCP and other interested servers, or the | ||||
| certificate infrastructure must be in place. We see no way to | ||||
| eliminate administrative issues associated with security, but we can | ||||
| see an end to passwords written on a sticky note. | ||||
| [RFC3203] T'Joens, Y., Hublet, C. and P. De Schrijver, "DHCP | An interesting Internet-Draft by Alper Yegin et al. [eap-auth] | |||
| reconfigure extension", RFC 3203, December 2001. | proposed the use of EAP for DHCP authentication using the delayed | |||
| method. Their draft required modifications to several components of | ||||
| an AAA solution, but illustrated how delayed authentication could be | ||||
| "bootstrapped" using tools at our disposal. | ||||
| [RFC3315] Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C. and | That idea is also suggested by [RFC4014] Ralph Droms and John | |||
| M. Carney, "Dynamic Host Configuration Protocol for IPv6 | Schnizlein, who define a DHCP option code for RADIUS information | |||
| (DHCPv6)", RFC 3315, July 2003. | provided by an NAS, similar to the mechanism in [eap-auth]. These | |||
| two documents taken together may provide a third solution to the key | ||||
| distribution problem. | ||||
| [auth-subopt] | 6.4 Data Confidentiality | |||
| Stapp, M. and T. Lemon, "The Authentication Suboption for | ||||
| the DHCP Relay Agent Option", | ||||
| draft-ietf-dhc-auth-suboption-03 (work in progress), | ||||
| February 2004. | ||||
| [dns-threats] | Data Confidentiality was not provided for in the original DHCP | |||
| Atkins, D. and R. Austein, "Threat Analysis Of The Domain | protocol as defined in RFC 2131 or any of the subsequent RFCs. | |||
| Name System", draft-ietf-dnsext-dns-threats-06 (work in | Historically, DHCP was mainly used to assign IP addresses and return | |||
| progress), February 2004. | configuration options such as the local gateway and DNS information. | |||
| [failover] | Over time the DHCP protocol has evolved, deployments are extending | |||
| Droms, R. and K. Kinnear, "DHCP Failover Protocol", | beyond physically secure intranets to public networks in hotspots, | |||
| draft-ietf-dhc-failover-12 (work in progress), December | cafes, airports, and at home over broadband. We are seeing an | |||
| 2003. | accompanying proliferation of new configuration options. | |||
| [fqdn] Stapp, M. and Y. Rekhter, "The DHCP Client FQDN Option", | DHCP has, in fact, become so successful that it is now used to | |||
| draft-ietf-dhc-fqdn-option-06 (work in progress), October | transport a great deal of configuration data that could be obtained | |||
| 2003. | in a variety of other ways. It is certainly possible that a client | |||
| or server will wish to reveal some of these data only to a properly | ||||
| authenticated peer. | ||||
| [leasequery] | 6.4.1 "Public" Data in DHCP Packets | |||
| Woundy, R., "DHCP Lease Query", | ||||
| draft-ietf-dhc-leasequery-07 (work in progress), March | ||||
| 2004. | ||||
| [relay-ipsec] | We assume that any information that may be gleaned directly from the | |||
| Droms, R., "Authentication of DHCP Relay Agent Options | network using, for example, Ethernet promiscuous mode is not | |||
| Using IPsec", draft-ietf-dhc-relay-agent-ipsec-01 (work in | confidential. It could be argued that over time more and more | |||
| progress), November 2003. | communication will be switched, encrypted, or secured at the | |||
| physical layer, so that less information could easily be gleaned | ||||
| from the network traffic. | ||||
| Authors' Addresses | Taking encryption 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. Similarly, the hardware addresses are also not | ||||
| confidential. | ||||
| Richard Barr Hibbs | Although the IP packet payload (which would include the UDP or TCP | |||
| Richard Barr Hibbs, P.E. | header) might normally be encrypted, some protocols have made | |||
| 952 Sanchez Street | explicit decisions not to encrypt their exchanges, declaring their | |||
| San Francisco, California 94114-3362 | data public. DNS is such a protocol [dns-threats]. Thus, we may | |||
| USA | also treat DNS domain and server information as public. | |||
| Phone: +1 415 648 3920 | Commonly used routing protocols such as BGP [RFC1771], RIP [RFC1721], | |||
| Fax: +1 415 648 9017 | and router discovery [RFC1256] also normally send advertisements in | |||
| EMail: rbhibbs@pacbell.net | the clear and we therefore extend our treatment of public DHCP data | |||
| to routing information. | ||||
| Carl Smith | 6.4.2 Protecting Data in DHCP Options | |||
| C & C Catering | ||||
| 1121 Holly St | ||||
| Alameda, California 94502 | ||||
| USA | ||||
| EMail: islandia@alumni.ucsd.edu | Some DHCP options (e.g., relay agent options, [RFC3046]) or option | |||
| families (site or vendor options) admit no analysis because the data | ||||
| carried by them may be of unknown sensitivity. Users must do their | ||||
| own analysis of confidentiality. | ||||
| Bernard Volz | Should some data require confidentiality, it may be possible to | |||
| Cisco Systems, Inc. | exploit the "public" data above to allow a two-step configuration | |||
| 1414 Massachusetts Ave. | process in which sufficient client configuration is first obtained | |||
| Boxborough, MA 01719 | by the normal DHCPDISCOVER/OFFER/REQUEST/ACK exchange, and private | |||
| USA | data subsequently transmitted over a secure communications channel | |||
| (such as IPsec) using DHCPINFORM. | ||||
| Phone: +1 978 936 0382 | 6.5 Host versus User Authentication | |||
| EMail: volz@cisco.com | ||||
| Mimi Zohar | [RFC3118] is concerned specifically with DHCP clients and servers | |||
| IBM T. J. Watson Research Center | authenticating themselves to each other if required by an | |||
| 19 Skyline Drive | administrative domain. This is not the same thing as authenticating | |||
| Hawthorne, New York 10532-2134 | users for establishing their Identity, access rights, permissions, | |||
| USA | or other matters relating to what they can view or do once connected | |||
| to the network. | ||||
| Phone: +1 914 784 7606 | 6.5.1 Why do we make this distinction? | |||
| EMail: zohar@us.ibm.com | ||||
| Intellectual Property Statement | Host authentication provides only assurance that the hosts | |||
| connecting to a network are recognized. This may be for several | ||||
| reasons, including: | ||||
| The IETF takes no position regarding the validity or scope of any | O Requirement to restrict network access from "foreign" hosts to | |||
| Intellectual Property Rights or other rights that might be claimed to | ensure consistent technical support or meet other regulatory | |||
| pertain to the implementation or use of the technology described in | requirements such as double-insulation or non-sparking. | |||
| 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 IETF's procedures with respect to rights in IETF Documents can | ||||
| be found in BCP 78 and BCP 79. | ||||
| Copies of IPR disclosures made to the IETF Secretariat and any | O Requirement to restrict network access from "unsecured" (for | |||
| assurances of licenses to be made available, or the result of an | instance, non-TEMPEST compliant) hosts in a high security | |||
| attempt made to obtain a general license or permission for the use of | network. | |||
| 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 | O Requirement to restrict network access from unknown hosts whose | |||
| copyrights, patents or patent applications, or other proprietary | identity has not been recorded by existing administrative | |||
| rights that may cover technology that may be required to implement | procedures, saving troubleshooting and administrative effort. | |||
| this standard. Please address the information to the IETF at | ||||
| ietf-ipr@ietf.org. | ||||
| Disclaimer of Validity | User authentication focuses on the individual users of a host system, | |||
| seeking to uniquely identify someone to establish their rights to | ||||
| view, print, add, alter, delete, edit, modify, copy, or manipulate | ||||
| any data maintained by an organization, run software programs, or | ||||
| affect changes in the environment. This may be for such reasons as: | ||||
| This document and the information contained herein are provided on an | O Requirement to be compliant with regulations such as HIPAA, SOX, | |||
| "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS | and GLBA designed to safeguard and protect confidentiality and | |||
| OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET | various reporting requirements. | |||
| 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. | ||||
| Copyright Statement | O Requirement to maintain reasonable controls over access to | |||
| certain critical systems such as utility power grids, water and | ||||
| sewage treatment plants, the network infrastructure itself, and | ||||
| life safety systems of all sorts. | ||||
| Copyright (C) The Internet Society (2004). This document is subject | O Requirement to maintain administrative controls over certain | |||
| to the rights, licenses and restrictions contained in BCP 78, and | sensitive information such as trade secrets and personnel data | |||
| except as set forth therein, the authors retain all their rights. | ||||
| Acknowledgment | 6.5.2 Is one mechanism sufficient? | |||
| Funding for the RFC Editor function is currently provided by the | Full discussion of this question is beyond the scope of this memo, | |||
| Internet Society. | but the simple answer is, "probably not." This has a significant | |||
| implication for the claims of certain techniques such as | ||||
| "sandboxing" of unverified users, restricting their network access | ||||
| to a user registration web site until their identity has been | ||||
| established. Simply put, limiting network access is not DHCP | ||||
| authentication, although it does represent a very workable approach | ||||
| to user authentication in many cases. | ||||
| Recall that a user can be identified by "something they know," | ||||
| "something they have," and "something they are." While the same | ||||
| could be said to be true of host systems, the authors point out that | ||||
| while we do not pretend to understand all of the ways that future | ||||
| developers might imbue hosts with the tools to independently create | ||||
| attacks on our infrastructure, we will assert that users will be the | ||||
| greatest risk for some time still. | ||||
| DHCP Authentication addresses only host authentication from the | ||||
| belief that other, existing mechanisms such as IPSEC, SSL, and VPN | ||||
| can protect the content of communications, with Identity Management | ||||
| and other technologies can protect applications and data. | ||||
| A properly authenticated host could still launch a denial of service | ||||
| attack, corrupt sensitive data, or wreak other havoc, which | ||||
| underscores our point that host and user authentication are | ||||
| different. | ||||
| A well-secured network needs both. | ||||
| 7 IANA Considerations | ||||
| None known. | ||||
| 8 Security Considerations | ||||
| This entire memo presents a threat analysis of the DHCPv4 protocol. | ||||
| 9 Acknowledgements | ||||
| This document is the result of work undertaken the by DHCP working | ||||
| group, beginning at the 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, Ralph Droms of Cisco Systems, | ||||
| Bernard Aboba of Microsoft, and Mark Stapp of Cisco Systems for | ||||
| their careful reviews and helpful suggestions. | ||||
| 10 References | ||||
| 10.1 Normative References | ||||
| [RFC1256] Deering, S., "ICMP Router Discovery Messages," RFC 1256, | ||||
| September 1991. | ||||
| [RFC1541] Droms, R., "Dynamic Host Configuration Protocol," RFC 1541, | ||||
| October 1993. | ||||
| [RFC1721] Malkin, G., "RIP Version 2 Protocol Analysis," RFC 1721, | ||||
| November 1994. | ||||
| [RFC1771] Rekhter, Y. and T. Li, "A Border Gateway Protocol 4 (BGP- | ||||
| 4)," RFC 1771, March 1995. | ||||
| [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. | ||||
| [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. | ||||
| [RFC4014] Droms, R. and J. Schnizlein, " Remote Authentication Dial- | ||||
| In User Service (RADIUS) Attributes Suboption for the Dynamic | ||||
| Host Configuration Protocol (DHCP) Relay Agent Information | ||||
| Option," RFC 4014, February 2005. | ||||
| 10.2 Informative References | ||||
| [RFC2026] Bradner, S., "The Internet Standards Process -- Revision | ||||
| 3," RFC 2026, BCP 9, October 1996. | ||||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | ||||
| Requirement Levels", BCP 14, RFC 2119, March 1997. | ||||
| [RFC3203] T'Joens, Y., C. Hublet and P. De Schrijver, "DHCP | ||||
| Reconfigure Extension," RFC 3203, December 2001. | ||||
| [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. | ||||
| [RFC3495] Beser, B. and P. Duffy, "Dynamic Host Configuration | ||||
| Protocol (DHCP) Option for CableLabs Client Configuration," RFC | ||||
| 3495, March 2003. | ||||
| [RFC3594] Duffy, P., PacketCable Security Ticket Control Sub-Option | ||||
| for the DHCP CableLabs Client Configuration (CCC) Option"," RFC | ||||
| 3594, September 2003. | ||||
| [RFC3978] Bradner, S., "IETF Rights in Contributions," RFC 3978, BCP | ||||
| 78, March 2005. | ||||
| [RFC3979] Bradner, S., "Intellectual Property Rights in IETF | ||||
| Technology," RFC 3979, BCP 79, March 2005. | ||||
| [RFC4030] Stapp, M. and T. Lemon, "The Authentication Suboption for | ||||
| the DHCP Relay Agent Option," draft-ietf-dhc-auth-suboption-03), | ||||
| RFC 4030, March 2005. | ||||
| [RFC4039] Park, S., P. Kim and B. Volz, "Rapid Commit Option for the | ||||
| Dynamic Host Configuration Protocol version 4 (DHCPv4)," RFC | ||||
| 4039, March 2005. | ||||
| [RFC4388] Woundy, R., and Kinnear, K., "Dynamic Host Configuration | ||||
| Protocol (DHCP) Leasequery," February 2006. | ||||
| [dns-threats] Atkins, D. and R. Austein, "Threat Analysis Of The | ||||
| Domain Name System," draft-ietf-dnsext-dns-threats-07 (work in | ||||
| progress), April 2004. | ||||
| [draft2223bis] Reynolds, J. and R. Braden, "Instructions to Request | ||||
| for Comments (RFC) Authors," draft-rfc-editor-rfc2223bis-08.txt | ||||
| (work in progress), August 2004. | ||||
| [eap-auth] Yegin, A., H. Tschofenig and D. Forsberg, "Bootstrapping | ||||
| RFC3118 Delayed DHCP Authentication Using EAP-based Network | ||||
| Access Authentication," draft-yegin-eap-boot-rfc3118-02, (work | ||||
| in progress), March 2006. | ||||
| [failover] Droms, R. and K. Kinnear, "DHCP Failover Protocol," | ||||
| draft-ietf-dhc-failover-12 (work in progress), December 2003. | ||||
| [Editor's note: at the time of publication of this memo, the | ||||
| Failover Internet-Draft has expired.] | ||||
| [fqdn] Stapp, M., Volz, B., and Y. Rekhter, "The DHCP Client FQDN | ||||
| Option," draft-ietf-dhc-fqdn-option-13 (work in progress), March | ||||
| 2006. | ||||
| [p-dad] Forte, A., S. Shin and H. Schulzrinne, "Passive Duplicate | ||||
| Address Detection for Dynamic Host Configuration Protocol | ||||
| (DHCP)," draft-forte-dhc-passive-dad-02 (work-in-progress), June | ||||
| 2006. | ||||
| [relay-ipsec] Droms, R., "Authentication of DHCP Relay Agent Options | ||||
| Using Ipsec," draft-ietf-dhc-relay-agent-ipsec-02 (work in | ||||
| progress), May 2005. [Editor's note: at the time of | ||||
| publication of this memo, the Relay IPSEC Internet-Draft has | ||||
| expired.] | ||||
| 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 | ||||
| E-Mail: rbhibbs@pacbell.net | ||||
| Carl Smith | ||||
| C & C Catering | ||||
| 1121 Holly Street | ||||
| Alameda, California 94502 | ||||
| USA | ||||
| E-Mail: islandia@alumni.ucsd.edu | ||||
| Bernard Volz | ||||
| Cisco Systems, Inc. | ||||
| 1414 Massachusetts Avenue | ||||
| Boxborough, Massachusetts 01719 | ||||
| USA | ||||
| Phone: +1 978 936 0382 | ||||
| E-Mail: volz@cisco.com | ||||
| Mimi Zohar | ||||
| IBM T. J. Watson Research Center | ||||
| 19 Skyline Drive | ||||
| Hawthorne, New York 10532-2134 | ||||
| USA | ||||
| Phone: +1 914 784 7606 | ||||
| E-Mail: zohar@us.ibm.com | ||||
| Full Copyright Statement | ||||
| Copyright (C) The Internet Society (2006). All rights reserved. | ||||
| 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 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). | ||||
| APPENDIX: NOTES | ||||
| This appendix will be removed in its entirety before the memo goes | ||||
| to Working Group Last Call. | ||||
| ISSUES LIST | ||||
| This section summarizes issues raised in this memo that require | ||||
| resolution by the DHC Working Group. | ||||
| 1. Because of the specific exception for inclusion of the Relay | ||||
| Agent Information Option [RFC3046] in cases where it does not | ||||
| fit in the main payload portion of a DHCP response packet, | ||||
| should the use of DHCP Authentication be mandated in place of | ||||
| the Relay Agent Authentication suboption? | ||||
| 2. Does the CableLabs Client Configuration option [RFC3495] require | ||||
| the use of DHCP Authentication to protect sensitive information | ||||
| about Kerberos domains and keys? | ||||
| 3. Should the DHC Working Group promote the development of a new | ||||
| authentication protocol based on the use of certificates? | ||||
| 4. Should the DHC Working Group solicit an update from the authors | ||||
| of the EAP-based authentication protocol [eap-auth] and develop | ||||
| it as a new authentication protocol? | ||||
| 5. Should the DHC Working Group promote the development of a new | ||||
| authentication protocol based on hardware security tokens? | ||||
| CHANGE LOG | ||||
| This section summarizes the changes made to this memo as it has | ||||
| evolved. | ||||
| "-01" Draft | ||||
| No significant changes were made from initial ("-0") version: | ||||
| O Updated author information. | ||||
| O Removed unused references. | ||||
| O Added the Change Log section. | ||||
| "-02" Draft | ||||
| The following changes were made: | ||||
| O Updated author information. | ||||
| O Added text to 1.3 to exclude security for messages passed | ||||
| between relay agents and servers, as there are two Internet- | ||||
| Drafts on this subject. | ||||
| O Reworded several sections in section 2. | ||||
| O Revised and renamed section 2.1.2. Now includes more attacks. | ||||
| O Revised section 2.1.3. | ||||
| O Minor revisions to section 3, 3.2, and 3.2. | ||||
| O Other minor insertions, deletions, and modifications based on | ||||
| comments from Bernard Aboba and Mark Stapp and to otherwise | ||||
| improve the document. | ||||
| "-03" Draft | ||||
| The draft was updated, correcting minor spelling, grammatical, and | ||||
| typographical errors, and modified in the following ways: | ||||
| O Removed Section 8, "Change Log," to APPENDIX and added an issues | ||||
| list section. | ||||
| O Replaced all Internet-Draft boilerplate with the most current | ||||
| versions. | ||||
| O Renumbered document sections. | ||||
| O Updated author information. | ||||
| O Updated references for I-Ds advanced to RFCs. | ||||
| O Added normative and informative references. | ||||
| O Added discussion of Relay Agents (section 3.5.) | ||||
| O Added section 3.6, discussing the side effects of infrastruture | ||||
| changes from the Rapid Commit and CableLabs configuration | ||||
| options, and the newly proposed Address Usage Collector (AUC) | ||||
| for passive duplicate address detection. | ||||
| O Expanded section 4.3, "Musings on the Key Distribution Problem" | ||||
| to include description of hardware-based key generation tokens. | ||||
| O Added section 4.5, "Host versus User Authentication," to help | ||||
| clarify the problem [RFC3118] is intended to address. | ||||
| O Added discussion of the RADIUS-based authentication proposal | ||||
| described in [RFC4014]. | ||||
| O Added discussion of the EAP-based authentication protocol | ||||
| proposed by A. Yegin et al. | ||||
| O Inserted Intellectual Property Rights statement on first page. | ||||
| O Performed general spelling, grammar, and typography update of | ||||
| entire memo text. | ||||
| O Reviewed all drafts used as references, updated as necessary. | ||||
| End of changes. 137 change blocks. | ||||
| 521 lines changed or deleted | 518 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||