draft-ietf-dhc-v4-threat-analysis-01.txt   draft-ietf-dhc-v4-threat-analysis-02.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: September 28, 2004 C. Smith Expires: October 29, 2004 C. Smith
Sun Microsystems, Inc. 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
March 30, 2004 April 30, 2004
Dynamic Host Configuration Protocol for IPv4 (DHCPv4) Threat Analysis Dynamic Host Configuration Protocol for IPv4 (DHCPv4) Threat Analysis
draft-ietf-dhc-v4-threat-analysis-01 draft-ietf-dhc-v4-threat-analysis-02
Status of this Memo Status of this Memo
This document is an Internet-Draft and is in full conformance with By submitting this Internet-Draft, I certify that any applicable
all provisions of Section 10 of RFC2026. 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 Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that other Task Force (IETF), its areas, and its working groups. Note that other
groups may also distribute working documents as Internet-Drafts. groups may also distribute working documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at http:// The list of current Internet-Drafts can be accessed at http://
www.ietf.org/ietf/1id-abstracts.txt. www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on September 28, 2004. This Internet-Draft will expire on October 29, 2004.
Copyright Notice Copyright Notice
Copyright (C) The Internet Society (2004). All Rights Reserved. Copyright (C) The Internet Society (2004). All Rights Reserved.
Abstract Abstract
DHCPv4 (RFC 2131) is a stable, widely used protocol for configuration DHCPv4 (RFC 2131) is a stable, widely used protocol for configuration
of host systems in a TCP/IPv4 network. It did not provide for of host systems in a TCP/IPv4 network. It did not provide for
authentication of clients and servers, nor did it provide for data authentication of clients and servers, nor did it provide for data
skipping to change at page 2, line 18 skipping to change at page 3, line 7
its adoption. The DHC Working Group has adopted a work item for 2003 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 to review and modify or replace RFC 3118 to afford a workable, easily
deployed security mechanism for DHCPv4. This memo provides a deployed security mechanism for DHCPv4. This memo provides a
comprehensive threat analysis of the Dynamic Host Configuration comprehensive threat analysis of the Dynamic Host Configuration
Protocol for use both as RFC 2131 advances from Draft Standard to Protocol for use both as RFC 2131 advances from Draft Standard to
Full Standard and to support our chartered work improving the Full Standard and to support our chartered work improving the
acceptance and deployment of RFC 3118. acceptance and deployment of RFC 3118.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1 Issues for Consideration . . . . . . . . . . . . . . . . . . 3 1.1 Issues for Consideration . . . . . . . . . . . . . . . . . 4
1.2 Assumptions . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 Assumptions . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Scope of this Memo . . . . . . . . . . . . . . . . . . . . . 3 1.3 Scope of this Memo . . . . . . . . . . . . . . . . . . . . 4
1.4 Use of Key Words . . . . . . . . . . . . . . . . . . . . . . 4 1.4 Use of Key Words . . . . . . . . . . . . . . . . . . . . . 5
2. General threats to DHCPv4 . . . . . . . . . . . . . . . . . 4 2. General Threats to DHCPv4 . . . . . . . . . . . . . . . . . . 5
2.1 Denial-of-Service Attacks . . . . . . . . . . . . . . . . . 4 2.1 Denial-of-Service Attacks . . . . . . . . . . . . . . . . 5
2.1.1 Refusal to Configure Clients . . . . . . . . . . . . . . . . 4 2.1.1 Refusal to Configure Clients . . . . . . . . . . . . . 5
2.1.2 Client Masquerading . . . . . . . . . . . . . . . . . . . . 4 2.1.2 Impersonating Clients . . . . . . . . . . . . . . . . 5
2.1.3 Flooding . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.1.3 Flooding . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Client Misconfiguration . . . . . . . . . . . . . . . . . . 5 2.2 Client Misconfiguration . . . . . . . . . . . . . . . . . 6
2.3 Theft of Service . . . . . . . . . . . . . . . . . . . . . . 5 2.3 Theft of Network Service . . . . . . . . . . . . . . . . . 6
2.4 Packet Insertion, Deletion, or Modification . . . . . . . . 5 2.4 Packet Insertion, Deletion, or Modification . . . . . . . 7
3. Weaknesses of RFC 3118 . . . . . . . . . . . . . . . . . . . 6 3. Weaknesses of RFC 3118 . . . . . . . . . . . . . . . . . . . . 7
3.1 Key Exposure . . . . . . . . . . . . . . . . . . . . . . . . 6 3.1 Key Exposure . . . . . . . . . . . . . . . . . . . . . . . 7
3.2 Key Distribution . . . . . . . . . . . . . . . . . . . . . . 6 3.2 Key Distribution . . . . . . . . . . . . . . . . . . . . . 7
3.3 Replay attacks . . . . . . . . . . . . . . . . . . . . . . . 6 3.3 Replay attacks . . . . . . . . . . . . . . . . . . . . . . 8
3.4 Protocol Agreement Difficulties . . . . . . . . . . . . . . 7 3.4 Protocol Agreement Difficulties . . . . . . . . . . . . . 8
4. DHCPv4 Security Requirements . . . . . . . . . . . . . . . . 7 4. DHCPv4 Security Requirements . . . . . . . . . . . . . . . . . 8
4.1 Environments . . . . . . . . . . . . . . . . . . . . . . . . 7 4.1 Environments . . . . . . . . . . . . . . . . . . . . . . . 8
4.2 Capabilities . . . . . . . . . . . . . . . . . . . . . . . . 7 4.2 Capabilities . . . . . . . . . . . . . . . . . . . . . . . 8
4.3 Musings on the Key Distribution Problem . . . . . . . . . . 8 4.3 Musings on the Key Distribution Problem . . . . . . . . . 9
4.4 Data Confidentiality . . . . . . . . . . . . . . . . . . . . 8 4.4 Data Confidentiality . . . . . . . . . . . . . . . . . . . 10
4.4.1 "Public" Data in DHCP Packets . . . . . . . . . . . . . . . 9 4.4.1 "Public" Data in DHCP Packets . . . . . . . . . . . . 10
4.4.2 Protecting Other Data in DHCP Options . . . . . . . . . . . 9 4.4.2 Protecting Data in DHCP Options . . . . . . . . . . . 11
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . 9 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11
6. Security Considerations . . . . . . . . . . . . . . . . . . 10 6. Security Considerations . . . . . . . . . . . . . . . . . . . 11
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 10 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 11
8. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . 10 8. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . . 11
8.1 01 Draft . . . . . . . . . . . . . . . . . . . . . . . . . . 10 8.1 01 Draft . . . . . . . . . . . . . . . . . . . . . . . . . 11
Normative References . . . . . . . . . . . . . . . . . . . . 10 8.2 02 Draft . . . . . . . . . . . . . . . . . . . . . . . . . 12
Informative References . . . . . . . . . . . . . . . . . . . 11 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . 11 9.1 Normative References . . . . . . . . . . . . . . . . . . . . 12
Intellectual Property and Copyright Statements . . . . . . . 13 9.2 Informative References . . . . . . . . . . . . . . . . . . . 13
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 14
Intellectual Property and Copyright Statements . . . . . . . . 15
1. Introduction 1. Introduction
DHCPv4 as defined in RFC 1541 [RFC1541] and RFC 2131 [RFC2131] does DHCPv4 as defined in RFC 1541 [RFC1541] and RFC 2131 [RFC2131] does
not provide any form of communication security, confidentiality, data not provide any form of communication security, confidentiality, data
integrity, or peer entity authentication. integrity, or peer entity authentication.
A design team was formed at IETF-55 in Atlanta in November 2002 to A design team was formed at IETF-55 in Atlanta in November 2002 to
look at DHCPv4 and RFC 3118 [RFC3118] to document security look at DHCPv4 and RFC 3118 [RFC3118] to document security
requirements for DHCPv4. RFC 3118 defines the current security requirements for DHCPv4. RFC 3118 defines the current security
mechanisms for DHCPv4. mechanisms for DHCPv4.
Unfortunately, RFC 3118 has neither been implemented nor deployed to Unfortunately, RFC 3118 has neither been implemented nor deployed to
date. There is widespread feeling that its current restriction to date. There is widespread feeling that its current restriction to
manual keying of clients limits its deployment. The DHC Working manual keying of clients limits its deployment. The DHC Working Group
Group seeks to rectify this situation by defining security mechanisms seeks to rectify this situation by defining security mechanisms for
for DHCPv4 that have better deployment properties. DHCPv4 that have better deployment properties.
1.1 Issues for Consideration 1.1 Issues for Consideration
Specific issues to be considered include: Specific issues to be considered include:
o Improved key management and scalability. o Improved key management and scalability.
o Security for messages passed between relay agents and servers. o Security for messages passed between relay agents and servers.
o The increased usage of DHCPv4 on insecure (e.g., wireless) and o The increased usage of DHCPv4 on insecure (e.g., wireless) and
public LANs. public LANs.
o The need for clients to be able to authenticate servers, without o The need for clients to be able to authenticate servers, without
simultaneously requiring client authentication by the server. simultaneously requiring client authentication by the server.
skipping to change at page 3, line 46 skipping to change at page 4, line 46
extension as defined in RFC 3118, and does not attempt to provide a extension as defined in RFC 3118, and does not attempt to provide a
tutorial on either. tutorial on either.
1.3 Scope of this Memo 1.3 Scope of this Memo
This document confines its analysis to DHCPv4, as defined in RFC 2131 This document confines its analysis to DHCPv4, as defined in RFC 2131
and RFC 2132 [RFC2132] and DHCP Authentication, as defined in RFC and RFC 2132 [RFC2132] and DHCP Authentication, as defined in RFC
3118. 3118.
Excluded from our analysis are: Excluded from our analysis are:
o The DHCP Reconfigure Extension (FORCERENEW), RFC 3203 [RFC3203]: o Securing messages between relay agents and servers: work is
the authors believe it is appropriate to put the onus to provide already underway on this, see [auth-subopt] and [relay-ipsec].
the analysis on those who are interested in moving it forward. 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 o DHCP Failover Protocol, as defined in [failover]: the
server-to-server protocol it uses differs significantly from DHCP. server-to-server protocol used differs significantly from DHCP.
o DHCP-DNS Interaction, as defined in [fqdn]: securing communication o DHCP-DNS Interaction, as defined in [fqdn]: securing communication
between DHCP servers and DNS servers is a DNS update security between DHCP servers and DNS servers is a DNS update security
issue and therefore out of scope for the DHC working group. issue and therefore out of scope for the DHC working group.
o DHCPv6, as defined in RFC 3315 [RFC3315]: while we believe that o DHCPv6, as defined in RFC 3315 [RFC3315]: while we believe that
authentication techniques developed for DHCPv4 would generally be authentication techniques developed for DHCPv4 would generally be
applicable to DHCPv6, there are fundamental differences between applicable to DHCPv6, there are fundamental differences between
the two protocols and RFC 3118 specifies DHCPv4-style message and the two protocols and RFC 3118 specifies DHCPv4-style message and
options formats, so we have chosen to concentrate on DHCPv4. options formats, so we have chosen to concentrate on DHCPv4.
o DHCP Lease Query, as defined in [leasequery]: because of lack of o DHCP Lease Query, as defined in [leasequery]: because of lack of
maturity. maturity.
1.4 Use of Key Words 1.4 Use of Key Words
The key words "MUST," "MUST NOT," "REQUIRED," "SHALL," "SHALL NOT," The key words "MUST," "MUST NOT," "REQUIRED," "SHALL," "SHALL NOT,"
"SHOULD," "SHOULD NOT," "RECOMMENDED," "MAY," and "OPTIONAL" in this "SHOULD," "SHOULD NOT," "RECOMMENDED," "MAY," and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119]. document are to be interpreted as described in RFC 2119 [RFC2119].
2. General threats to DHCPv4 2. General Threats to DHCPv4
These are the classes of threats to the base DHCPv4 protocol. Not These are the classes of threats to the base DHCPv4 protocol. Not all
all of these are DHCP-specific, nor can all the concerns listed be of these are DHCP-specific, nor can all the concerns listed be
addressed by DHCP authentication. addressed by DHCP authentication.
2.1 Denial-of-Service Attacks 2.1 Denial-of-Service Attacks
2.1.1 Refusal to Configure Clients 2.1.1 Refusal to Configure Clients
This includes rogue servers that don't give addresses or give bad A rogue DHCP server can refuse to configure clients by responding
addresses in addition to simply ignoring client requests. with either partial information (i.e., missing the IP address, yet
containing other information) or a non-routable (or otherwise bad) IP
address. Or, the server may respond to DHCPDISCOVER messages (with
DHCPOFFER messages) but then ignore the subsequent client DHCPREQUEST
messages. This may cause a client to repeatedly fail to be
configured, though clients could take steps to ensure that they
subsequently ignore such servers for a period of time.
A rogue server could respond with either partial information (i.e., 2.1.2 Impersonating Clients
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 A rogue client can impersonate a client or many clients, by using
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.
This includes clients that send out bogus requests or masquerade as o Simulate many clients to consume all available addresses. The
legal clients to use up addresses, or just consume server/network rogue client may either hold on to these addresses (until the
resources. The term "legal clients," in this case, refers to client leases expire) or decline the addresses (by sending a DHCPDECLINE)
hardware ("chaddr") address or client identifier (client-ID) in the hopes that the server will remove the declined address from
restrictions (lists) configured into the server through some use for a longer period of time.
mechanism not described in RFC 2131. Some sites may use such a o Create havoc on the subnet by injecting fake messages on behalf of
mechanism to restrict the clients that are allowed addresses. A other clients that prematurely release (DHCPRELEASE) or decline
rogue client listens to DHCPv4 traffic and captures a few chaddrs or (DHCPDECLINE) their addresses. A rogue client listens to DHCPv4
client-IDs and starts using them. traffic and gleans client identity and address information and
uses this information to inject fake messages.
2.1.3 Flooding 2.1.3 Flooding
A rogue client can flood the network with (near-) continuous DHCPv4 A rogue client can flood the network with (near-) continuous DHCPv4
request messages, depleting the IP addresses and consuming bandwidth. request messages thereby consuming processing resources and network
As most servers are implemented as a stateless query-response model, bandwidth.
network traffic is effectively doubled with the message pair. DHCPv4
is particularly susceptible to such attacks because initial packet We mention this attack only for completeness, as there is little or
exchanges are broadcast. We mention this attack only for nothing that a DHCP server can do to prevent such an attack and the
completeness, as there is little or nothing that a DHCP server can do client could just as well send messages of other protocols; and we
to prevent such an attack and we will not discuss it further. will not discuss it further.
2.2 Client Misconfiguration 2.2 Client Misconfiguration
This includes rogue servers that give out bad configuration Rogue servers may give out bad configuration information (such as
information, or relay agents or elements that alter packets between fake gateways or DNS servers), or relay agents or other network
client and server. The result is misconfiguration (such as fake elements may alter packets between a client and server, to cause the
gateways or DNS servers) of clients and potentially worse attacks by client to be misconfigured, or to enable future man-in-the-middle
directing traffic through a bogus router or web spoofing or other attacks. This category is usually part of another attack, be it theft
traffic interception or redirection. This category is usually part of service, business espionage, or business interruption including
of another attack, be it theft of service, business espionage, or denial of service.
business interruption including denial of service.
2.3 Theft of Service 2.3 Theft of Network Service
By "theft of service" we mean the taking of an unused address for By "theft of network service" we mean the taking of an unused address
network access or the use of an assigned address not belonging to the for network access or the use of an assigned address not belonging to
client, in contrast with "client masquerading" (Section 2.1.2) which the client, in contrast with "client masquerading" (Section 2.1.2)
refers specifically to the use of a legitimate client's chaddr or which refers specifically to the use of a legitimate client's chaddr
client identifier. or client identifier.
Instantiation of an unauthorized client for purposes of using network Instantiation of an unauthorized client for purposes of using network
resources or services is only partially preventable using resources or services is only partially preventable using
client-server authentication techniques. Additional host and 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 application security is required to prevent theft of service, and
such layer 5 and higher functions are declared out of scope for this such layer 5 and higher functions are declared out of scope for this
analysis. analysis.
2.4 Packet Insertion, Deletion, or Modification 2.4 Packet Insertion, Deletion, or Modification
If a client (or server or relay agent) is known to crash or shut down 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 when invalid packets of some type are sent, this could be simply
another type of denial of service attack. Likewise, simply deleting another type of denial of service attack. Likewise, simply deleting
certain packet types would eventually result in client lease certain packet types (DHCPREQUEST to renew or rebind a lease) would
expiration, a denial of service attack. A rogue relay agent or other eventually result in client lease expiration, a denial of service
host would typically use packet insertion and deletion to interrupt attack. A rogue relay agent or other host would typically use packet
service. In a different vein, the modification of packets in the insertion and deletion to interrupt service. In a different vein, the
DHCP exchange may be used to facilitate many different types of modification of packets in the DHCP exchange may be used to
attacks on either client or server. 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 3. Weaknesses of RFC 3118
An authentication mechanism for DHCPv4 protocol messages was An authentication mechanism for DHCPv4 protocol messages was
developed in RFC 3118, proposing two basic authentication mechanisms developed in RFC 3118, proposing two basic authentication mechanisms
and the means for extending the repertoire of methods as needed. and the means for extending the repertoire of methods as needed. The
Because the configuration token method (protocol 0) relies on configuration token method (protocol 0) relies on exchanging
exchanging clear-text authentication tokens between as yet clear-text authentication tokens between as yet unconfigured DHCPv4
unconfigured DHCPv4 clients and DHCPv4 servers, it does not scale clients and DHCPv4 servers. It is also vulnerable to message
well beyond relatively small networks. It is also vulnerable to interception. Delayed authentication (protocol 1) focuses on solving
message interception. Delayed authentication (protocol 1) focuses on the intradomain authentication problem where the out-of-band exchange
solving the intradomain authentication problem where the out-of-band of a shared secret is feasible.
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 3.1 Key Exposure
The configuration token protocol, protocol 0, utilizes clear-text The configuration token protocol, protocol 0, utilizes clear-text
authentication tokens (i.e., passwords), providing only weak entity authentication tokens (i.e., passwords), providing only weak entity
authentication and no message authentication. This protocol is authentication and no message authentication. This protocol is
vulnerable to interception and provides only the most rudimentary vulnerable to interception and provides only the most rudimentary
protection against inadvertently instantiated DHCP servers. It also protection against inadvertently instantiated DHCP servers. It also
leaks the key before knowing whether the server supports protocol 0. leaks the key before knowing whether the server supports protocol 0.
3.2 Key Distribution 3.2 Key Distribution
Both protocols 0 and 1 suffer from the lack of a means to easily, Both protocols 0 and 1 suffer from the lack of a means to easily,
quickly, and reliably distribute authentication tokens used in the quickly, and reliably distribute authentication tokens used in the
protocols. In many environments, some existing key distribution protocols. In many environments, some existing key distribution
mechanism is presumed to be trusted and reliable, with strong mechanism is presumed to be trusted and reliable, with strong
administrative procedures and a security-conscious user population in administrative procedures and a security-conscious user population in
place, leaving only the selection and specification of an appropriate place, leaving only the selection and specification of an appropriate
cryptographic algorithm as a concern of the protocol designer. cryptographic algorithm as a concern of the protocol designer.
Relying on out-of-band methods to distribute and manage tens or Relying on such out-of-band methods to distribute and manage tens or
hundreds of thousands of tokens is a significant barrier to hundreds of thousands of tokens is a significant barrier to the
widespread implementation of either protocol 0 or 1. widespread implementation of either protocol 0 or 1.
Key distribution presents a significant system management challenge Key distribution presents a significant system management challenge
that is in marked contrast with DHCP itself, a protocol that has been that is in marked contrast with DHCP itself, a protocol that has been
successfully deployed in environments that make few demands or successfully deployed in environments that make few demands or
assumptions. If we are to hope for similarly successful deployment assumptions. If we are to hope for similarly successful deployment of
of authentication for DHCP, a means for mitigating (if not authentication for DHCP, a means for mitigating (if not eliminating)
eliminating) these difficulties must be offered. these difficulties must be offered.
3.3 Replay attacks 3.3 Replay attacks
Since the configuration token protocol, protocol 0, passes a Since the configuration token protocol, protocol 0, passes a
clear-text authentication token, any host on the same subnet would be clear-text authentication token, the token would be visible to any
able to capture it. Delayed authentication, protocol 1, is not host on the same subnet. Delayed authentication, protocol 1, is not
susceptible to replay attacks since it contains a nonce value susceptible to replay attacks since it contains a nonce value
generated by the source and a message authentication code (MAC) which generated by the source and a message authentication code (MAC) which
provides both message and entity authentication. provides both message and entity authentication.
3.4 Protocol Agreement Difficulties 3.4 Protocol Agreement Difficulties
An a priori agreement is presumed to have taken place between client An a priori agreement is presumed to have taken place between client
and server on the authentication protocol to use. No mechanism is and server on the authentication protocol to use. No mechanism is
provided to allow for the discovery of supported protocols, nor is provided to allow for the discovery of supported protocols, nor is
there a facility for negotiation. The only way to express there a facility for negotiation. The only way to express non-support
non-support of a protocol is by failing to respond. of a protocol is by failing to respond.
4. DHCPv4 Security Requirements 4. DHCPv4 Security Requirements
DHCPv4 was developed in an era when computers were primarily used in DHCPv4 was developed in an era when computers were primarily used in
business and university environments. Security was either not a business and university environments. Security was either not a
concern or was addressed by controlling physical access stemming from concern or was addressed by controlling physical access stemming from
the belief that intrusion into critical systems was most likely to the belief that intrusion into critical systems was most likely to
come from an external source. Now, with wireless access points and come from an external source. Now, with wireless access points and
ubiquitous networking, physical access control mechanisms are no ubiquitous networking, physical access control mechanisms are no
longer sufficient, and security and privacy issues are a major longer sufficient, and security and privacy issues are a major
concern. concern.
4.1 Environments 4.1 Environments
The following environments can be expected for DHCPv4 The following environments can be expected for DHCPv4
implementations: implementations:
o Network size from a few hosts to hundreds of thousands of hosts. 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 topology from a single subnet to Class-A networks.
o Network location from a single room to international dispersion. o Network location from a single room to international dispersion.
o Wired, broadcast wireless, and directional wireless media. o Wired, broadcast wireless, and directional wireless media.
o Movement between different media and networks.
4.2 Capabilities 4.2 Capabilities
The following are essential elements of DHCPv4 Security: The following are essential elements of DHCPv4 security:
o Clients MUST be able to authenticate servers (to prevent o Clients MUST be able to authenticate servers (to prevent
misconfigured clients and assure that the correct servers are misconfigured clients and assure that the correct servers are
being contacted). being contacted).
o Servers MUST be able to authenticate clients (use of hardware o Servers MUST be able to authenticate clients (use of hardware
addresses and client-IDs provides no real security but is all that addresses and client-IDs provides no real security but is all that
is easily possible today). Better mechanisms are needed for is easily possible today). Better mechanisms are needed for
servers to identify clients to which they will offer service (to servers to identify clients to which they will offer service (to
prevent IP address pool depletion, for example). prevent IP address pool depletion, for example).
o Administrators MUST be able to choose between four authentication o Administrators MUST be able to choose between four authentication
paradigms: paradigms:
skipping to change at page 8, line 4 skipping to change at page 9, line 15
o Clients MUST be able to authenticate servers (to prevent o Clients MUST be able to authenticate servers (to prevent
misconfigured clients and assure that the correct servers are misconfigured clients and assure that the correct servers are
being contacted). being contacted).
o Servers MUST be able to authenticate clients (use of hardware o Servers MUST be able to authenticate clients (use of hardware
addresses and client-IDs provides no real security but is all that addresses and client-IDs provides no real security but is all that
is easily possible today). Better mechanisms are needed for is easily possible today). Better mechanisms are needed for
servers to identify clients to which they will offer service (to servers to identify clients to which they will offer service (to
prevent IP address pool depletion, for example). prevent IP address pool depletion, for example).
o Administrators MUST be able to choose between four authentication o Administrators MUST be able to choose between four authentication
paradigms: paradigms:
* No authentication required. * No authentication required.
* Mutual authentication required. * Mutual authentication required.
* Client authenticates server. * Client authenticates server.
* Server authenticates client. * Server authenticates client.
o Integrity of DHCP packet exchanges MUST be assured. o Integrity of DHCP packet exchanges MUST be assured.
Not all capabilities may be needed or desired in all situations.
4.3 Musings on the Key Distribution Problem 4.3 Musings on the Key Distribution Problem
The authors believe that only by addressing scalability issues with The authors believe that only by addressing scalability issues with
key distribution can RFC 3118 achieve wide deployment. While it is key distribution can RFC 3118 achieve wide deployment. While it is
not our intention to describe solutions in this document, we admit not our intention to describe solutions in this document, we admit
that we find the model used today by browsers and secure web servers that we find the model used today by browsers and secure web servers
attractive: certificates are distributed with the client attractive: trusted root certificates are distributed with the client
implementation (web browser); users have the ability to extend the implementation (web browser); users have the ability to extend the
certificates that they will accept, install their own certificates certificates that they will accept, install their own certificates
(should client identification be required), and choose which (should client identification be required), and choose which
certificate to present to servers requesting a client's identity. certificate to present to servers requesting the client's identity.
Analogously, DHCPv4 servers could make use of certificates just as Analogously, DHCPv4 servers could make use of certificates just as
web servers do, while DHCPv4 clients could be distributed with web servers do, while DHCPv4 clients could be distributed with
appropriate certificate authority certificates (trust anchors). appropriate certificate authority certificates (trust anchors).
Self-signed certificates are, of course, a possibility, should an Self-signed certificates are, of course, a possibility, should an
organization wish full control over its domain of trust. organization wish full control over its domain of trust.
Should this path be pursued, we believe that certificate revocation Should this path be pursued, we believe that certificate revocation
will be the major problem to confront, just as it is in the browser/ will be a major problem to confront, just as it is in the browser/
web server environment today. Revocation of client certificates web server environment today. Revocation of client certificates
(which we believe would occur, on the whole, much more frequently (which we believe would occur, on the whole, much more frequently
than revocation of server certificates), would require only ordinary than revocation of server certificates), would require only ordinary
care in certificate validation by the DHCP server. care in certificate validation by the DHCP server.
Revocation of server certificates is more complex because of the Revocation of server certificates is more complex because of the
difficulty updating client configuration, as well as the inability of difficulty updating client configurations, as well as the inability
clients to rely on certificate revocation lists while in the process of clients to rely on certificate revocation lists while in the
of performing IP address and configuration management. process of performing IP address and configuration management.
4.4 Data Confidentiality 4.4 Data Confidentiality
Data Confidentiality was not provided for in the original DHCP Data Confidentiality was not provided for in the original DHCP
protocol as defined in RFC 2131 or any of the subsequent RFCs. protocol as defined in RFC 2131 or any of the subsequent RFCs.
Historically, DHCP was mainly used to assign IP addresses and return Historically, DHCP was mainly used to assign IP addresses and return
configuration options such as the local gateway and DNS information. configuration options such as the local gateway and DNS information.
Over time the DHCP protocol has evolved, deployments are extending Over time the DHCP protocol has evolved, deployments are extending
beyond physically secure intranets to public networks in hotspots, beyond physically secure intranets to public networks in hotspots,
cafes, airports, and at home over broadband. and we are seeing an cafes, airports, and at home over broadband. And we are seeing an
accompanying proliferation of new configuration options. accompanying proliferation of new configuration options.
DHCP has, in fact, become so successful that it is now used to DHCP has, in fact, become so successful that it is now used to
transport a great deal of configuration data that could be obtained transport a great deal of configuration data that could be obtained
in a variety of other ways. It is certainly possible that a client in a variety of other ways. It is certainly possible that a client or
or server might wish to reveal some of these data only to a server might wish to reveal some of these data only to a
properly-authenticated peer. properly-authenticated peer.
4.4.1 "Public" Data in DHCP Packets 4.4.1 "Public" Data in DHCP Packets
We assume that any information that may be gleaned directly from the We assume that any information that may be gleaned directly from the
network using, for example, Ethernet promiscuous mode is not network using, for example, Ethernet promiscuous mode is not
confidential. It could be argued that over time more and more confidential. It could be argued that over time more and more
communication will be encrypted, so that less information could be communication will be switched, encrypted, or secured at the physical
gleaned from the network traffic. Taking this into consideration, layer, so that less information could easily be gleaned from the
the IP packet payload might be encrypted, but not the IP header network traffic.
itself since it is required for packet routing. As a result none of
the IP header fields are confidential. IP addresses included in the Taking encryption into consideration, the IP packet payload might be
header are therefore not confidential. 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.
Although the IP packet payload (which would include the UDP or TCP Although the IP packet payload (which would include the UDP or TCP
header) might normally be encrypted, some protocols have made header) might normally be encrypted, some protocols have made
explicit decisions not to encrypt their exchanges, declaring their explicit decisions not to encrypt their exchanges, declaring their
data public. DNS is such a protocol [dns-threats]. Thus we may also data public. DNS is such a protocol [dns-threats]. Thus we may also
treat DNS domain and server information as public. treat DNS domain and server information as public.
Commonly-used routing protocols such as BGP (RFC 1771) [RFC1771], RIP Commonly-used routing protocols such as BGP (RFC 1771) [RFC1771], RIP
(RFC 1721) [RFC1721], and router discovery (RFC 1256) [RFC1256] also (RFC 1721) [RFC1721], and router discovery (RFC 1256) [RFC1256] also
normally send advertisements in the clear and we therefore extend our normally send advertisements in the clear and we therefore extend our
treatment of public DHCP data to routing information. definition of public DHCP data to include routing information
options.
4.4.2 Protecting Other Data in DHCP Options 4.4.2 Protecting Data in DHCP Options
Some DHCP options (e.g., relay agent options, RFC 3046 [RFC3046]) or Some DHCP options (e.g., relay agent options, RFC 3046 [RFC3046]) or
option families (site or vendor options) admit no analysis because option families (site or vendor options) admit no analysis because
the data carried by them may be of unknown sensitivity. Analysis of the data carried by them may be of unknown sensitivity. Analysis of
their confidentiality requirements must be done by their users. their confidentiality requirements must be done by their users.
Other DHCPv4 options contain opaque data, not subject to
interpretation by a DHCPv4 server. With no RFC-based definition of
the data content of these options, we can offer no opinion of the
sensitivity of the data, and leave any confidentiality treatment to
other work.
Should some data require confidentiality, it may be possible to Should some data require confidentiality, it may be possible to
exploit the "public" data above to allow a two-step configuration exploit the "public" data above to allow a two-step configuration
process in which sufficient client configuration is first obtained by process in which sufficient client configuration is first obtained by
the normal DHCPDISCOVER/OFFER/REQUEST/ACK exchange, and private data the normal DHCPDISCOVER/OFFER/REQUEST/ACK exchange, and private data
subsequently transmitted over a secure communications channel (such subsequently transmitted over a secure communications channel (such
as IPsec) using DHCPINFORM. as IPsec) using DHCPINFORM.
5. IANA Considerations 5. IANA Considerations
None known. None known.
skipping to change at page 10, line 15 skipping to change at page 11, line 39
6. Security Considerations 6. Security Considerations
This entire memo presents a threat analysis of the DHCPv4 protocol. This entire memo presents a threat analysis of the DHCPv4 protocol.
7. Acknowledgements 7. Acknowledgements
This document is the result of work undertaken the by DHCP working This document is the result of work undertaken the by DHCP working
group, beginning at 55th IETF meeting in Atlanta. The authors would group, beginning at 55th IETF meeting in Atlanta. The authors would
also like to acknowledge contributions from others not directly also like to acknowledge contributions from others not directly
involved in writing this memo, including John Beatty and Vipul Gupta involved in writing this memo, including John Beatty and Vipul Gupta
of Sun Microsystems, and Ralph Droms of Cisco Systems. of Sun Microsystems, and Ralph Droms of Cisco Systems. And Bernard
Aboba and Mark Stapp for their careful reviews and suggestions.
8. Change Log 8. Change Log
This section summaries the changes made to this Internet-Draft as it This section summaries the changes made to this Internet-Draft as it
has evolved. has evolved.
8.1 01 Draft 8.1 01 Draft
No significant changes were made: No significant changes were made:
o Updated author information. o Updated author information.
skipping to change at page 10, line 27 skipping to change at page 12, line 4
8. Change Log 8. Change Log
This section summaries the changes made to this Internet-Draft as it This section summaries the changes made to this Internet-Draft as it
has evolved. has evolved.
8.1 01 Draft 8.1 01 Draft
No significant changes were made: No significant changes were made:
o Updated author information. o Updated author information.
o Converted to using xml2rfc to generate the draft. o Converted to using xml2rfc to generate the draft.
o Removed unused references. o Removed unused references.
o Added the Change Log section. o Added the Change Log section.
Normative References 8.2 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, 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
9.1 Normative References
[RFC1256] Deering, S., "ICMP Router Discovery Messages", RFC 1256, [RFC1256] Deering, S., "ICMP Router Discovery Messages", RFC 1256,
September 1991. September 1991.
[RFC1541] Droms, R., "Dynamic Host Configuration Protocol", RFC [RFC1541] Droms, R., "Dynamic Host Configuration Protocol", RFC
1541, October 1993. 1541, October 1993.
[RFC1721] Malkin, G., "RIP Version 2 Protocol Analysis", RFC 1721, [RFC1721] Malkin, G., "RIP Version 2 Protocol Analysis", RFC 1721,
November 1994. November 1994.
skipping to change at page 11, line 11 skipping to change at page 13, line 6
[RFC2132] Alexander, S. and R. Droms, "DHCP Options and BOOTP Vendor [RFC2132] Alexander, S. and R. Droms, "DHCP Options and BOOTP Vendor
Extensions", RFC 2132, March 1997. Extensions", RFC 2132, March 1997.
[RFC3046] Patrick, M., "DHCP Relay Agent Information Option", RFC [RFC3046] Patrick, M., "DHCP Relay Agent Information Option", RFC
3046, January 2001. 3046, January 2001.
[RFC3118] Droms, R. and W. Arbaugh, "Authentication for DHCP [RFC3118] Droms, R. and W. Arbaugh, "Authentication for DHCP
Messages", RFC 3118, June 2001. Messages", RFC 3118, June 2001.
Informative References 9.2 Informative References
[RFC3203] T'Joens, Y., Hublet, C. and P. De Schrijver, "DHCP [RFC3203] T'Joens, Y., Hublet, C. and P. De Schrijver, "DHCP
reconfigure extension", RFC 3203, December 2001. reconfigure extension", RFC 3203, December 2001.
[RFC3315] Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C. and [RFC3315] Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C. and
M. Carney, "Dynamic Host Configuration Protocol for IPv6 M. Carney, "Dynamic Host Configuration Protocol for IPv6
(DHCPv6)", RFC 3315, July 2003. (DHCPv6)", RFC 3315, July 2003.
[auth-subopt]
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] [dns-threats]
Atkins, D. and R. Austein, "Threat Analysis Of The Domain Atkins, D. and R. Austein, "Threat Analysis Of The Domain
Name System", draft-ietf-dnsext-dns-threats-06 (work in Name System", draft-ietf-dnsext-dns-threats-06 (work in
progress), February 2004. progress), February 2004.
[failover] [failover]
Droms, R. and K. Kinnear, "DHCP Failover Protocol", Droms, R. and K. Kinnear, "DHCP Failover Protocol",
draft-ietf-dhc-failover-12 (work in progress), December draft-ietf-dhc-failover-12 (work in progress), December
2003. 2003.
[fqdn] Stapp, M. and Y. Rekhter, "The DHCP Client FQDN Option", [fqdn] Stapp, M. and Y. Rekhter, "The DHCP Client FQDN Option",
draft-ietf-dhc-fqdn-option-06 (work in progress), October draft-ietf-dhc-fqdn-option-06 (work in progress), October
2003. 2003.
[leasequery] [leasequery]
Woundy, R., "DHCP Lease Query", Woundy, R., "DHCP Lease Query",
draft-ietf-dhc-leasequery-07 (work in progress), March draft-ietf-dhc-leasequery-07 (work in progress), March
2004. 2004.
[relay-ipsec]
Droms, R., "Authentication of DHCP Relay Agent Options
Using IPsec", draft-ietf-dhc-relay-agent-ipsec-01 (work in
progress), November 2003.
Authors' Addresses Authors' Addresses
Richard Barr Hibbs Richard Barr Hibbs
Richard Barr Hibbs, P.E. Richard Barr Hibbs, P.E.
952 Sanchez Street 952 Sanchez Street
San Francisco, California 94114-3362 San Francisco, California 94114-3362
USA USA
Phone: +1 415 648 3920 Phone: +1 415 648 3920
Fax: +1 415 648 9017 Fax: +1 415 648 9017
skipping to change at page 12, line 4 skipping to change at page 14, line 16
Richard Barr Hibbs Richard Barr Hibbs
Richard Barr Hibbs, P.E. Richard Barr Hibbs, P.E.
952 Sanchez Street 952 Sanchez Street
San Francisco, California 94114-3362 San Francisco, California 94114-3362
USA USA
Phone: +1 415 648 3920 Phone: +1 415 648 3920
Fax: +1 415 648 9017 Fax: +1 415 648 9017
EMail: rbhibbs@pacbell.net EMail: rbhibbs@pacbell.net
Carl Smith Carl Smith
Sun Microsystems, Inc. C & C Catering
901 San Antonio Road 1121 Holly St
Palo Alto, California 94303-4900 Alameda, California 94502
USA USA
EMail: cs@eng.sun.com EMail: islandia@alumni.ucsd.edu
Bernard Volz Bernard Volz
Cisco Systems, Inc. Cisco Systems, Inc.
1414 Massachusetts Ave. 1414 Massachusetts Ave.
Boxborough, MA 01719 Boxborough, MA 01719
USA USA
Phone: +1 978 936 0382 Phone: +1 978 936 0382
EMail: volz@cisco.com EMail: volz@cisco.com
skipping to change at page 13, line 8 skipping to change at page 15, line 8
19 Skyline Drive 19 Skyline Drive
Hawthorne, New York 10532-2134 Hawthorne, New York 10532-2134
USA USA
Phone: +1 914 784 7606 Phone: +1 914 784 7606
EMail: zohar@us.ibm.com EMail: zohar@us.ibm.com
Intellectual Property Statement Intellectual Property Statement
The IETF takes no position regarding the validity or scope of any The IETF takes no position regarding the validity or scope of any
intellectual property or other rights that might be claimed to Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights this document or the extent to which any license under such rights
might or might not be available; neither does it represent that it might or might not be available; nor does it represent that it has
has made any effort to identify any such rights. Information on the made any independent effort to identify any such rights. Information
IETF's procedures with respect to rights in standards-track and on the IETF's procedures with respect to rights in IETF Documents can
standards-related documentation can be found in BCP-11. Copies of be found in BCP 78 and BCP 79.
claims of rights made available for publication and any assurances of
licenses to be made available, or the result of an attempt made to Copies of IPR disclosures made to the IETF Secretariat and any
obtain a general license or permission for the use of such assurances of licenses to be made available, or the result of an
proprietary rights by implementors or users of this specification can attempt made to obtain a general license or permission for the use of
be obtained from the IETF Secretariat. 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 The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary copyrights, patents or patent applications, or other proprietary
rights which may cover technology that may be required to practice rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF Executive this standard. Please address the information to the IETF at
Director. ietf-ipr@ietf.org.
Full Copyright Statement
Copyright (C) The Internet Society (2004). All Rights Reserved. Disclaimer of Validity
This document and translations of it may be copied and furnished to This document and the information contained herein are provided on an
others, and derivative works that comment on or otherwise explain it "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
or assist in its implementation may be prepared, copied, published OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
and distributed, in whole or in part, without restriction of any ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
kind, provided that the above copyright notice and this paragraph are INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
included on all such copies and derivative works. However, this INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
document itself may not be modified in any way, such as by removing WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
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 Copyright Statement
revoked by the Internet Society or its successors or assignees.
This document and the information contained herein is provided on an Copyright (C) The Internet Society (2004). This document is subject
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING to the rights, licenses and restrictions contained in BCP 78, and
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING except as set forth therein, the authors retain all their rights.
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Acknowledgment Acknowledgment
Funding for the RFC Editor function is currently provided by the Funding for the RFC Editor function is currently provided by the
Internet Society. Internet Society.
 End of changes. 

This html diff was produced by rfcdiff 1.23, available from http://www.levkowetz.com/ietf/tools/rfcdiff/