draft-ietf-dhc-dhcpv6-unknown-msg-08.txt   rfc7283.txt 
DHC Working Group Y. Cui Internet Engineering Task Force (IETF) Y. Cui
Internet-Draft Q. Sun Request for Comments: 7283 Q. Sun
Updates: 3315 (if approved) Tsinghua University Updates: 3315 Tsinghua University
Intended status: Standards Track T. Lemon Category: Standards Track T. Lemon
Expires: September 28, 2014 Nominum, Inc. ISSN: 2070-1721 Nominum, Inc.
March 27, 2014 July 2014
Handling Unknown DHCPv6 Messages Handling Unknown DHCPv6 Messages
draft-ietf-dhc-dhcpv6-unknown-msg-08
Abstract Abstract
DHCPv6 is not specific about handling messages with unknown types. DHCPv6 is not specific about handling messages with unknown types.
This memo describes the problems and defines how a DHCPv6 server, This memo describes the problems associated with receiving DHCPv6
client or relay agent should behave when receiving unknown DHCPv6 messages with unknown types, and defines how a DHCPv6 server, client,
messages. This document also provides advice for authors of future or relay agent should behave when receiving unknown DHCPv6 messages.
documents defining new messages sent from DHCP servers to DHCP relay This document also provides advice for authors of future documents
agents, and should be read by potential authors of such documents. that define new messages to be sent from DHCP servers to DHCP relay
This document updates RFC3315. agents. This document updates RFC 3315.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This is an Internet Standards Track document.
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months This document is a product of the Internet Engineering Task Force
and may be updated, replaced, or obsoleted by other documents at any (IETF). It represents the consensus of the IETF community. It has
time. It is inappropriate to use Internet-Drafts as reference received public review and has been approved for publication by the
material or to cite them other than as "work in progress." Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 5741.
This Internet-Draft will expire on September 28, 2014. Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
http://www.rfc-editor.org/info/rfc7283.
Copyright Notice Copyright Notice
Copyright (c) 2014 IETF Trust and the persons identified as the Copyright (c) 2014 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 23 skipping to change at page 2, line 34
modifications of such material outside the IETF Standards Process. modifications of such material outside the IETF Standards Process.
Without obtaining an adequate license from the person(s) controlling Without obtaining an adequate license from the person(s) controlling
the copyright in such materials, this document may not be modified the copyright in such materials, this document may not be modified
outside the IETF Standards Process, and derivative works of it may outside the IETF Standards Process, and derivative works of it may
not be created outside the IETF Standards Process, except to format not be created outside the IETF Standards Process, except to format
it for publication as an RFC or to translate it into languages other it for publication as an RFC or to translate it into languages other
than English. than English.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Requirements Language . . . . . . . . . . . . . . . . . . . . 2 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 3
3. Problem Statement . . . . . . . . . . . . . . . . . . . . . . 3 3. Problem Statement . . . . . . . . . . . . . . . . . . . . . . 3
4. Relay Agent Behavior Update . . . . . . . . . . . . . . . . . 3 4. Relay Agent Behavior Update . . . . . . . . . . . . . . . . . 3
4.1. A Valid Message for Constructing a New Relay-forward 4.1. A Valid Message for Constructing a New Relay-forward
Message . . . . . . . . . . . . . . . . . . . . . . . . . 3 Message . . . . . . . . . . . . . . . . . . . . . . . . . 4
4.2. Relaying a Message toward Server . . . . . . . . . . . . 4 4.2. Relaying a Message toward the Server . . . . . . . . . . 5
4.3. Relaying a Message toward Client . . . . . . . . . . . . 4 4.3. Relaying a Message toward the Client . . . . . . . . . . 5
5. Client and Server Behavior Update . . . . . . . . . . . . . . 5 5. Client and Server Behavior Update . . . . . . . . . . . . . . 5
6. Security Considerations . . . . . . . . . . . . . . . . . . . 5 6. Security Considerations . . . . . . . . . . . . . . . . . . . 5
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 7. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 6
8. Contributors List . . . . . . . . . . . . . . . . . . . . . . 6 8. Normative References . . . . . . . . . . . . . . . . . . . . 6
9. Normative References . . . . . . . . . . . . . . . . . . . . 6
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 6
1. Introduction 1. Introduction
DHCPv6 [RFC3315] provides a framework for conveying IPv6 DHCPv6 [RFC3315] provides a framework for conveying IPv6
configuration information to hosts on a TCP/IP network. But configuration information to hosts on a TCP/IP network. But
[RFC3315] is not specific about how to deal with messages with [RFC3315] is not specific about how to deal with messages with
unrecognized types. This document describes the problems and defines unrecognized types. This document describes the problems associated
the behavior of a DHCPv6 server, client or relay agent when handling with receiving DHCPv6 messages with unknown types, and defines the
behavior of a DHCPv6 server, client, or relay agent when handling
unknown DHCPv6 messages. unknown DHCPv6 messages.
2. Requirements Language 2. Requirements Language
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 [RFC2119]. document are to be interpreted as described in [RFC2119].
3. Problem Statement 3. Problem Statement
When a relay agent receives a message, it decides to send the message When a relay agent receives a message, it sends the message toward
either toward the server or toward the client. It decides on the either the server or the client. The relay agent decides on the
direction to forward based on the message type. Since RFC3315 was direction to forward based on the message type. Since RFC 3315 was
published new message types have been defined. More such messages published, new message types have been defined. Additional message
may be defined in the future. RFC3315 does not specify the what to types may be defined in the future. RFC 3315 does not specify what
do when a DHCP agent does not recognize the type of message it has to do when a DHCP agent does not recognize the type of message it has
received. This may lead to relay agents inappropriately dropping received. This may lead to relay agents inappropriately dropping
such messages, and to other DHCP agents inappropriately processing these messages and to other DHCP agents inappropriately processing
such messages. these messages.
In addition, there is no specific requirement for dealing with In addition, there is no specific requirement for dealing with
unknown messages by the client or server in RFC3315. unknown messages by the client or server in RFC 3315.
Note it is expected that most future DHCPv6 messages will not be used Note that it is expected that most future DHCPv6 messages will not be
to communicate directly with relay agents (though they may need to be used to communicate directly with relay agents (though they may need
relayed by relay agents). to be relayed by relay agents).
4. Relay Agent Behavior Update 4. Relay Agent Behavior Update
Relay agents relay messages toward servers and clients according to Relay agents relay messages toward servers and clients according to
the message type. The Relay-reply message is sent toward the client. the message type. The Relay-reply message is sent toward the client.
The Relay-forward message and other types of messages are sent toward The Relay-forward message and other types of messages are sent toward
the server. the server.
We say "toward the client" and "toward the server" because relay We say "toward the client" and "toward the server" because relay
agents may be chained together, so a relay message may be sent agents may be chained together, so a relay message may be sent
through multiple relay agents along the path to its destination. through multiple relay agents along the path to its destination.
Relay-reply messages specify a destination address; the relay agent Relay-reply messages specify a destination address; the relay agent
extracts the encapsulated message and sends it to the specified extracts the encapsulated message and sends it to the specified
destination address. Any message other than a Relay-reply does not destination address. Any message other than a Relay-reply does not
have such a specified destination, so it follows the default have such a specified destination, so it follows the default
forwarding path configured on the relay agent, which is always toward forwarding path configured on the relay agent, which is always toward
the server. the server.
The sole purpose of requiring relay agents to relay unknown messages The sole purpose of requiring relay agents to relay unknown messages
is to ensure that when legitimate new messages are defined in the is to ensure that when legitimate new messages are defined in the
protocol, relay agents, even if they were manufactured prior to the protocol, relay agents (even if they were manufactured prior to the
definition of these new messages, will, by default, succeed in definition of these new messages) will, by default, succeed in
relaying such messages. relaying such messages.
4.1. A Valid Message for Constructing a New Relay-forward Message 4.1. A Valid Message for Constructing a New Relay-forward Message
Section 20.1 of [RFC3315] states that: Section 20.1 of [RFC3315] states that:
"When a relay agent receives a valid message to be relayed, it When a relay agent receives a valid message to be relayed, it
constructs a new Relay-forward message." constructs a new Relay-forward message.
It does not define which types of messages are valid for constructing It does not define which types of messages are valid for constructing
Relay-Forward messages. In this document, we specify the definition Relay-forward messages. In this document, we specify the definition
as follows. as follows.
The message is valid for constructing a new Relay-forward message: The message is valid for constructing a new Relay-forward message:
(a) if the message is a Relay-forward message, or (a) if the message is a Relay-forward message, or
(b) if the relay agent recognizes the message type and is not the (b) if the relay agent recognizes the message type and is not the
intended target, or intended target, or
(c) if the relay agent does not recognize the message type. (c) if the relay agent does not recognize the message type.
New DHCP message types may be defined in future that are sent, New DHCP message types may be defined in the future that are sent,
unsolicited, to relay agents. Relay agents that do not implement unsolicited, to relay agents. Relay agents that do not implement
these messages will not recognize such messages as being intended for these messages will not recognize the messages as being intended for
them. A relay agent that implements this specification will them. Therefore, a relay agent that implements this specification
therefore forward such messages to the DHCP servers to which it is will forward such messages to the DHCP servers to which it is
configured to relay client messages. configured to relay client messages.
At this time, no such message types have been specified. If such a At this time, no such message types have been specified. If such a
message is specified in the future, it is possible that this would message is specified in the future, it is possible that this would
result in needless load on DHCP servers. If such a message type is result in needless load on DHCP servers. If such a message type is
defined in a future specification, authors may need to consider some defined in a future specification, authors may need to consider a
strategy for identifying non-conforming relays and not sending such strategy for identifying non-conforming relays and not sending such
messages to them. messages to those relay agents.
However, since DHCP servers do not respond to unknown messages, this However, since DHCP servers do not respond to unknown messages, this
is unlikely to create significant load, and therefore is likely to be is unlikely to create significant load and is therefore likely to be
unnecessary. unnecessary.
4.2. Relaying a Message toward Server 4.2. Relaying a Message toward the Server
If the relay agent receives a Relay-forward message, Section 20.1.2 If the relay agent receives a Relay-forward message, Section 20.1.2
of [RFC3315] defines the required behavior. If the relay agent of [RFC3315] defines the required behavior. If the relay agent
receives messages other than Relay-forward and Relay-reply and the receives messages other than Relay-forward and Relay-reply and the
relay agent does not recognize its message type, it MUST forward them relay agent does not recognize its message type, it MUST forward them
as is described in Section 20.1.1 of [RFC3315]. as described in Section 20.1.1 of [RFC3315].
4.3. Relaying a Message toward Client 4.3. Relaying a Message toward the Client
If the relay agent receives a Relay-reply message, it MUST process If the relay agent receives a Relay-reply message, it MUST process
the message as is defined in Section 20.2 of [RFC3315], regardless of the message as defined in Section 20.2 of [RFC3315], regardless of
the type of the message encapsulated in the Relay Message Option. the type of message encapsulated in the Relay Message option.
5. Client and Server Behavior Update 5. Client and Server Behavior Update
A client or server MUST silently discard any received DHCPv6 message A client or server MUST silently discard any received DHCPv6 message
with an unknown message type. with an unknown message type.
6. Security Considerations 6. Security Considerations
This document creates no new security issues that are not already This document creates no new security issues that are not already
present in RFC3315. By explicitly documenting the correct handling present in RFC 3315. By explicitly documenting the correct handling
of unknown messages, this document, if implemented, reduces any of unknown messages, this document, if implemented, reduces any
security exposure that might result from incorrect handling of security exposure that might result from incorrect handling of
unknown messages. The following issues are issues that could already unknown messages. The following issues are already present with
be present with section 23 of [RFC3315], but we discuss them in Section 23 of [RFC3315], but we discuss them in detail here as
detail here as guidance for implementors. guidance for implementors.
As the relay agent will forward all unknown types of DHCPv6 messages, As the relay agent will forward all unknown types of DHCPv6 messages,
a malicious attacker can interfere with the relaying function by a malicious attacker can interfere with the relaying function by
constructing fake DHCPv6 messages with arbitrary type code. The same constructing fake DHCPv6 messages with an arbitrary type code. The
problem may happen in current DHCPv4 and DHCPv6 practice where the same problem may occur in current DHCPv4 and DHCPv6 practice, where
attacker constructs the fake DHCP message with a known type code. the attacker constructs the fake DHCP message with a known type code.
Clients and servers that implement this specification will discard Clients and servers that implement this specification will discard
unknown DHCPv6 messages. Since RFC3315 did not specify either relay unknown DHCPv6 messages. Since RFC 3315 did not specify relay agent,
agent, client or server behavior in the presence of unknown messages, client, or server behavior in the presence of unknown messages, it is
it is possible that some servers or clients that have not been possible that some servers or clients that have not been updated to
updated to conform to this specification might be made vulnerable to conform to this specification will become vulnerable to attacks
client attacks through the relay agent. through the relay agent as a result of this change.
For this reason, we recommend that relay agents, clients and servers For this reason, we recommend that relay agents, clients, and servers
be updated to follow this new specification. However, in most be updated to follow this new specification. However, in most
deployment scenarios, it will be much easier to attack clients deployment scenarios, it will be much easier to attack clients
directly than through a relay agent; furthermore, attacks using directly than through a relay agent. Furthermore, attacks using
unknown message types are already possible on the local wire. unknown message types are already possible on the local wire.
So in most cases, if clients are not upgraded there should be minimal So, in most cases, if clients are not upgraded, there should be
additional risk; at sites where only servers and relay agents can be minimal additional risk. At sites where only servers and relay
upgraded, the incremental benefit of doing so most likely exceeds any agents can be upgraded, the incremental benefit of doing so most
risk due to vulnerable clients. likely exceeds any risk of vulnerable clients.
Nothing in this update should be construed to mean that relay agents Nothing in this update should be construed to mean that relay agents
may not be administratively configurable to drop messages on the may not be administratively configurable to drop messages based on
basis of the message type, for security reasons (e.g., in a the message type, for security reasons (e.g., in a firewall).
firewall).
7. IANA Considerations
This document does not include an IANA request.
8. Contributors List 7. Contributors
Many thanks to Bernie Volz, Tomek Mrugalski, Sheng Jiang, Cong Liu Many thanks to Bernie Volz, Tomek Mrugalski, Sheng Jiang, Cong Liu,
and Yuchi Chen for their contributions to the document. and Yuchi Chen for their contributions to the document.
9. Normative References 8. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3315] Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C., [RFC3315] Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C.,
and M. Carney, "Dynamic Host Configuration Protocol for and M. Carney, "Dynamic Host Configuration Protocol for
IPv6 (DHCPv6)", RFC 3315, July 2003. IPv6 (DHCPv6)", RFC 3315, July 2003.
Authors' Addresses Authors' Addresses
Yong Cui Yong Cui
Tsinghua University Tsinghua University
Beijing 100084 Beijing 100084
P.R.China P.R. China
Phone: +86-10-6260-3059 Phone: +86-10-6260-3059
Email: yong@csnet1.cs.tsinghua.edu.cn EMail: yong@csnet1.cs.tsinghua.edu.cn
Qi Sun Qi Sun
Tsinghua University Tsinghua University
Beijing 100084 Beijing 100084
P.R.China P.R. China
Phone: +86-10-6278-5822 Phone: +86-10-6278-5822
Email: sunqi@csnet1.cs.tsinghua.edu.cn EMail: sunqi@csnet1.cs.tsinghua.edu.cn
Ted Lemon Ted Lemon
Nominum, Inc. Nominum, Inc.
2000 Seaport Blvd 2000 Seaport Blvd
Redwood City, CA 94063 Redwood City, CA 94063
USA USA
Phone: +1-650-381-6000 Phone: +1-650-381-6000
Email: Ted.Lemon@nominum.com EMail: Ted.Lemon@nominum.com
 End of changes. 46 change blocks. 
102 lines changed or deleted 92 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/