One document matched: draft-jinmei-dhc-dhcpv6-clarify-auth-00.txt
Network Working Group T. Jinmei
Internet-Draft Toshiba
Expires: January 10, 2005 July 12, 2004
Clarifications on DHCPv6 Authentication
draft-jinmei-dhc-dhcpv6-clarify-auth-00.txt
Status of this Memo
By submitting this Internet-Draft, I certify that any applicable
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
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as
Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on January 10, 2005.
Copyright Notice
Copyright (C) The Internet Society (2004). All Rights Reserved.
Abstract
This document describes issues about the DHCPv6 authentication
mechanism identified from implementation experiences. It also tries
to propose resolutions to some of the issues.
1. Introduction
Several questions arose on the authentication mechanism of DHCPv6
[RFC3315] from implementation experiences, particularly on its
delayed authentication protocol. Some of the questions may require a
change or addition to the current protocol, and one of them may even
Jinmei Expires January 10, 2005 [Page 1]
Internet-Draft Clarifications on DHCPv6 Authentication July 2004
cause discussions on a security threat.
This document describes the issues based on the questions, and tries
to propose resolutions for some of them, hoping the resolutions will
be merged, if valid and accepted, to the next version of the base
specification.
2. Usage with Information-Request
According to [RFC3315], it seems possible to use the authentication
mechanism for Information-request and Reply exchanges. The RFC says
in Section 21.4.4.4 as follows:
If the server has selected a key for the client in a previous
message exchange (see section 21.4.5.1), the client MUST use the
same key to generate the authentication information throughout the
session.
However, this description is not really clear. Section 21.4.5.1,
which is referred from the above part, actually describes the case of
Solicit and Advertise exchange:
21.4.5.1. Receiving Solicit Messages and Sending Advertise
Messages
The server selects a key for the client and includes
authentication information in the Advertise message returned to
the client as specified in section 21.4. [...]
It does not necessarily mean contradiction because the client and the
server may have exchanged Solicit and Advertised with authentication
before starting the Information-request and Reply exchange. However,
it then restricts the usage scenario of the authentication mechanism
for Information-request and Reply exchanges. In particular, this
assumption prohibits the use of the mechanism with the "stateless"
service using DHCPv6 [RFC3736]. Whereas the specification allows an
implementation that only supports the stateless service and does not
support Solicit and Advertise messages, the authentication mechanism
depends on Solicit and Advertise exchanges.
This fact can (partly) invalidate a security consideration in
[RFC3736]:
Authenticated DHCP, as described in sections 21 and 22.11 of the
DHCP specification [1], can be used to avoid attacks mounted
through the stateless DHCP service.
(where [1] refers to [RFC3315].) In fact, as was just shown above,
Jinmei Expires January 10, 2005 [Page 2]
Internet-Draft Clarifications on DHCPv6 Authentication July 2004
authenticated DHCP cannot be used unless the implementations also
support Solicit and Advertise messages (or the entire [RFC3315] in
general).
It should also be noted that [RFC3315] does not define how the server
should do when it receives an Information-request message containing
an authentication option; Section 21.4.5.2 excludes the
Information-request message.
2.1 Suggested Resolution
Considering the fact that [RFC3736] allows implementations that only
support the subset of the full specification [RFC3315], it should
make sense to define the authentication usage for Information-request
and Reply exchanges separately.
One significant difference between Information-request and other
"stateful" cases is that there is no explicit notion of "session" in
the former. In some cases, however, the same client and server may
exchange Information-request and Reply multiple times, where the
entire exchanges can be regarded as a "session". For example, the
client may want to get different configuration information in
multiple exchanges. Also, if the client and the server use the
lifetime option, [I-D.ietf-dhc-lifetime] they will restart exchanges
when the lifetime expires.
The proposed revision of Section 21.4.4.4 is therefore as follows:
21.4.4.4. Sending Information-request Messages
When the client sends an Information-request message and wishes to
use authentication, it includes an Authentication option with the
desired protocol, algorithm and RDM as described in section 21.4.
The client does not include any replay detection or authentication
information in the Authentication option.
If the client authenticated past exchanges of Information-request
and Reply, the client MAY reuse the same key used in the previous
exchanges to generate the authentication information. In this
case, the client generates authentication information for the
Information-request message as described in section 21.4.
Note that the keys used for these exchanges are separately managed
from the keys used for the other exchanges beginning with the
Solicit message when the two types of exchanges run concurrently,
while the two keys may happen to be the same. For example, replay
detection should be performed separately, and validation failure
for one type of exchanges does not affect the other.
Jinmei Expires January 10, 2005 [Page 3]
Internet-Draft Clarifications on DHCPv6 Authentication July 2004
Section 21.4.4.5 will also need to be revised. However, since this
section has a separate issue per se as will be discussed in Section
6, we do not discuss further details on this here.
The server side behavior needs to be described, too. Along with the
change to Section 21.4.4.4 above, we propose to add a new subsection
of Section 21.4.5:
21.4.5.x. Receiving Information-request Messages and Sending
Reply Messages
If the Information-request message includes an authentication
option without authentication information, the server selects a
key for the client and includes authentication information in the
Reply message returned to the client as specified in section 21.4.
The server MUST record the identifier of the key selected for the
client so that it can validate further Information-request
messages from the client if the client reuses the same key for the
future exchanges.
If the Information-request message includes an authentication
option with authentication information, the server uses the key
identified in the message and validates the message as specified
in section 21.4.2. If the message fails to pass the validation
test, the key identified by the authentication information of the
message is not identical to the key that the server used in the
previous exchange, or the server has not recorded a key for the
client, the server MUST discard the message and MAY choose to log
the validation failure.
If the message passes the validation test, the server responds to
the Reply message as described in section 18.2.5. The server MUST
include authentication information generated using the key just
selected or identified in the received message, as specified in
section 21.4.
Note that the keys used for these exchanges are separately managed
from the keys used for the other exchanges beginning with the
Solicit message when the two types of exchanges run concurrently
(See Section 21.4.4.4).
3. What If Replay Is Detected
It is not clear what the receiver should do when an attempt of replay
attack is detected from either Section 21.3 or Section 21.4.2 of
[RFC3315].
Jinmei Expires January 10, 2005 [Page 4]
Internet-Draft Clarifications on DHCPv6 Authentication July 2004
3.1 Suggested Resolution
It should be natural to discard a DHCP message containing an
authentication option whose replay detection field indicates a replay
attack.
Instead of concentrating on this particular case, we propose to
revise the entire second paragraph of Section 21.4.2 as follows:
To validate an incoming message, the receiver first checks that
the value in the replay detection field is acceptable according to
the replay detection method specified by the RDM field. If no
replay is detected, then the receiver computes the MAC as
described in [8]. The entire DHCP message (setting the MAC field
of the authentication option to 0) is used as input to the
HMAC-MD5 computation function. If the MAC computed by the
receiver matches the MAC contained in the authentication option,
the message regarded as valid. If the above procedure fails at
any stage, the receiver MUST discard the DHCP message.
4. Definition of Unauthenticated Messages
[RFC3315] uses the phrase of "unauthenticated message(s)" in Sections
21.4.4.2 and 21.4.4.5 without formally defining the term. A
reasonable interpretation of the phrase is probably as follows: a
DHCPv6 message is called unauthenticated when it fails the validation
test described in Section 21.4.2, it does not contain an
authentication option, or when it includes an authentication option
but does not have authentication information when necessary.
In this document, we assume the above interpretation.
5. Inconsistent Behavior for Unauthenticated Messages
[RFC3315] says in Section 21.4.2 (Message Validation) as follows:
If the MAC computed by the receiver does not match the MAC
contained in the authentication option, the receiver MUST discard
the DHCP message.
On the other hand, Section 21.4.4.2 allows the client to respond to
an Advertise even if it fails to authenticate the message:
Client behavior, if no Advertise messages include authentication
information or pass the validation test, is controlled by local
policy on the client. According to client policy, the client MAY
choose to respond to an Advertise message that has not been
authenticated.
Jinmei Expires January 10, 2005 [Page 5]
Internet-Draft Clarifications on DHCPv6 Authentication July 2004
This seems to say, for example, that the client MAY accept an
Advertise message based on its local policy, even if the MAC computed
by the receiver does not match the MAC contained in the
authentication option. Apparently this contradicts with the
requirement in Section 21.4.2.
5.1 Suggested Resolution
There seems to be no valid reason for accepting an Advertise message
if it fails validation. On the other hand, it may make sense in some
cases that the client accepts the other type of unauthenticated
messages, that is, messages that do not include an authentication
option.
The suggested change to Section 21.4.4.2 is thus as follows. We use
a new term "non-authenticated messages" meaning DHCPv6 messages that
do not contain an authentication option.
[...]
Client behavior, if no Advertise messages include authentication
information is controlled by local policy on the client.
According to client policy, the client MAY choose to respond to a
non-authenticated Advertise message.
The decision to set local policy to accept non-authenticated
messages should be made with care. Accepting a non-authenticated
Advertise message can make the client vulnerable to spoofing and
other attacks. If local users are not explicitly informed that
the client has accepted a non-authenticated Advertise message, the
users may incorrectly assume that the client has received an
authenticated address and is not subject to DHCP attacks through
non-authenticated messages.
A client MUST be configurable to discard non-authenticated
messages, and SHOULD be configured by default to discard
non-authenticated messages if the client has been configured with
an authentication key or other authentication information. If a
client does accept a non-authenticated message, the client SHOULD
inform any local users and SHOULD log the event.
The second paragraph of Section 21.4.4.5 also needs a change:
If the client accepted a non-authenticated Advertise message, the
client MAY accept a non-authenticated Reply message from the
server.
If we take this suggestion, then we will not need the notion of
Jinmei Expires January 10, 2005 [Page 6]
Internet-Draft Clarifications on DHCPv6 Authentication July 2004
"unauthenticated message". As a result, the issue described in
Section 4 will become a non issue.
6. Possibility of Dos Attack
Section 21.4.4.5 of the RFC says as follows:
If the Reply fails to pass the validation test, the client MUST
restart the DHCP configuration process by sending a Solicit
message.
The purpose of this specification is probably to avoid a deadlock
scenario when the server suddenly reboots forgetting the
authentication key and/or the replay detection counter.
However, this behavior can easily cause denial of service (DoS)
attacks; the attacker can simply send an invalid Reply message at
some valid timing and can invalidate configuration information of the
client or can prevent the client from configuring itself.
As a side issue, this section seems to not consider
Information-request and Reply exchanges.
6.1 Discussion on Resolution
Even if a Reply message does not pass the validation tests, it is
probably reasonable to wait for an authenticated one until the first
timeout. Additionally, if the Reply message is a response to
Release, the client will not have to restart the configuration
process by Solicit. It can simply quit the session when the first
timeout occurs.
Reply messages to Information-request will need a separate
consideration. Obviously, it does not make sense to send a Solicit
message when the validation tests for a Reply message to
Information-request fail. The appropriate behavior is probably to
resend an Information-request message without including
authentication information based on the key previously used, and to
restart authentication.
7. Lack of Authentication from Client
It is not clear what the server should do when the client does not
include an authentication option while the server has previously sent
authentication information in the same session.
For messages other than Information-request, the appropriate behavior
depends on the resolution for the issue discussed in Section 5.
Jinmei Expires January 10, 2005 [Page 7]
Internet-Draft Clarifications on DHCPv6 Authentication July 2004
Assuming the proposed resolution is adopted, the server should
discard the message, since the client should have accepted the key as
long as it is valid and then must use the key for succeeding message
according to Section 21.4.4.3 of [RFC3315].
The appropriate behavior for Information-request depends on the
resolution discussed in Section 2. If we take the proposed
resolution, then the server should accept the message and select a
new key, which may be the same as the one used before though, for the
new exchanges as described in Section 2.
8. Key Consistency
[RFC3315] requests in Section 21.4.4.3 that the client use the same
key used by the server to generate the authentication information.
However, it is not clear from the RFC what the server should do if
the client breaks this rule. It says in Section 21.4.5.2 that
If the message [...] or the server does not know the key
identified by the 'key ID' field, the server MUST discard the
message and MAY choose to log the validation failure.
It is not clear whether "does not know the key" means a different key
from the one the server specified in the Advertise message. If this
is the intent, this sentence should be clarified as follows:
If the message [...] or the key identified by the authentication
information of the message is not identical to the key that the
server has been using in the session, the server MUST discard the
message and MAY choose to log the validation failure.
9. Security Considerations
This document specifically talks about security issues for DHCPv6.
It also points out a possibility of DoS attacks, and gives some
considerations on how to prevent them.
10. IANA Considerations
This document has no actions for IANA.
11. References
11.1 Normative References
[RFC3315] Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C. and
M. Carney, "Dynamic Host Configuration Protocol for IPv6
Jinmei Expires January 10, 2005 [Page 8]
Internet-Draft Clarifications on DHCPv6 Authentication July 2004
(DHCPv6)", RFC 3315, July 2003.
[RFC3736] Droms, R., "Stateless Dynamic Host Configuration Protocol
(DHCP) Service for IPv6", RFC 3736, April 2004.
11.2 Informative References
[I-D.ietf-dhc-lifetime]
Venaas, S. and T. Chown, "Lifetime Option for DHCPv6",
draft-ietf-dhc-lifetime-00 (work in progress), March 2004.
Author's Address
Tatuya Jinmei
Corporate Research & Development Center, Toshiba Corporation
1 Komukai Toshiba-cho, Saiwai-ku
Kawasaki-shi, Kanagawa 212-8582
Japan
Phone: +81 44-549-2230
EMail: jinmei@isl.rdc.toshiba.co.jp
Jinmei Expires January 10, 2005 [Page 9]
Internet-Draft Clarifications on DHCPv6 Authentication July 2004
Intellectual Property Statement
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.
Disclaimer of Validity
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.
Copyright Statement
Copyright (C) The Internet Society (2004). 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.
Acknowledgment
Funding for the RFC Editor function is currently provided by the
Internet Society.
Jinmei Expires January 10, 2005 [Page 10]
| PAFTECH AB 2003-2026 | 2026-04-24 12:53:28 |