Internet DRAFT - draft-yiu-dhc-dhcpv6-sa
draft-yiu-dhc-dhcpv6-sa
DHC Working Group Y. Lee
Internet-Draft Comcast
Intended status: Informational Y. Cui
Expires: September 9, 2015 Z. Liu
L. Sun
Tsinghua University
March 8, 2015
Secure Access Mechanism for DHCPv6
draft-yiu-dhc-dhcpv6-sa-00
Abstract
DHCPv6 [RFC3315] provides configuration parameters such as IPv6
network addresses for hosts. The unencrypted nature and use of
various identifiers make its privacy and security become more
vulnerable. With appropriate protection mechanisms, the privacy and
security can be improved to some extent. This document specifies
such a mechanism that builds a trusted relationship between DHCPv6
clients and servers before solicitation. The mechanism enables a
valid client to find and access the legitimate server or reject and
blacklist a rogue server.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
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
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on September 9, 2015.
Copyright Notice
Copyright (c) 2015 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
Lee, et al. Expires September 9, 2015 [Page 1]
Internet-Draft Secure Access Mechanism for DHCPv6 March 2015
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Related Works . . . . . . . . . . . . . . . . . . . . . . . . 3
4. Overview of Secure Access Mechanism . . . . . . . . . . . . . 4
5. New DHCPv6 Messages . . . . . . . . . . . . . . . . . . . . . 5
6. Behaviour . . . . . . . . . . . . . . . . . . . . . . . . . . 6
6.1. Client Behaviour . . . . . . . . . . . . . . . . . . . . 6
6.2. Server Behaviour . . . . . . . . . . . . . . . . . . . . 7
6.3. Behaviour in Lightweight Mode . . . . . . . . . . . . . . 8
7. Further Protection Considerations . . . . . . . . . . . . . . 8
7.1. Unicast . . . . . . . . . . . . . . . . . . . . . . . . . 8
7.2. Encryption . . . . . . . . . . . . . . . . . . . . . . . 9
8. Security Considerations . . . . . . . . . . . . . . . . . . . 9
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 9
10.1. Normative References . . . . . . . . . . . . . . . . . . 10
10.2. Informative References . . . . . . . . . . . . . . . . . 10
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10
1. Introduction
[RFC3315] specifies the Dynamic Host Configuration Protocol for IPv6.
[I-D.ietf-dhc-dhcpv6-privacy] analyzes the DHCPv6 privacy issues and
discusses how various identifiers used in DHCPv6 could become a
source for gleaning additional information of an individual. Such
identifiers are included in various DHCPv6 messages. In other words,
there are important client information embedded in DHCPv6 messages.
If the messages are sent to a rogue server or an invalid third party,
end users' privacy and security may be compromised.
Current authentication models include secure DHCPv6
[I-D.ietf-dhc-sedhcpv6] and authentication mechanism defined in
[RFC3315]. Both share the primary goal of validating the identity of
message sender. They were not designed to protect client privacy.
DHCPv6 messages such as SOLICIT contains sensitive client
information, these messages are not protected. Further, current
authentication mechanisms focus more on the identity of clients, they
do not provide full authentication of the DHCPv6 server (e.g. server
Lee, et al. Expires September 9, 2015 [Page 2]
Internet-Draft Secure Access Mechanism for DHCPv6 March 2015
authentication in secure DHCPv6 is based on leap of faith). Current
authentication mechanisms aim to protect the DHCPv6 server by
preventing invalid clients from launching attacks such as DoS attack.
However when considered client privacy, the authenticity of server
really matters.
Hence there is a requirement to design a mechanism that sets up a
trusted relationship between a client and a server before starting
the DHCPv6 transaction (i.e. before DHCPv6 solicitation). In this
document, we propose such a peer entity authentication called Secure
Access by defining two new DHCPv6 messages. The Secure Access
mechanism makes use of server and client certificates and achieves
authentication through Public Key Infrastructure ([RFC5280]). With
the designed mechanism, a valid client can find and access the
legitimate server or reject and blacklist a rogue entity before
standard DHCPv6 process.
The Secure Access mechanism specified in this document does not
affect the current DHCP design. It is more like an alternative
extension, only the client who wants to improve the privacy will use
it. Another benefit is that further data protection solution such as
encryption can be based on the trusted relationship built by this
mechanism.
2. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119].
3. Related Works
This section briefly introduces the existed authentication models and
discusses their pros and cons when compared with the design in this
document.
Authentication mechanism defined in [RFC3315] provides a basic
verification of DHCPv6 messages sender and contents through using an
Authentication option. The Authentication option can be treated as a
symmetric key, which is a simple but limited authentication pattern.
Two specific protocol, Delayed Authentication Protocol and
Reconfigure Key Authentication Protocol, are proposed along with this
option. This authentication framework also allows future separate
authentication protocols to be put forward but it seems not to be
deployable.
Secure DHCPv6 ([I-D.ietf-dhc-sedhcpv6]) enhance the security of
DHCPv6 by using server's public/private key pairs and client's
Lee, et al. Expires September 9, 2015 [Page 3]
Internet-Draft Secure Access Mechanism for DHCPv6 March 2015
certificates to authenticate. To ease the pre-configuration of
authentication, the client make a leap of faith to trust the server.
While the server provide full authentication of client through
validating its certificate. Secure DHCPv6 also enables the recipient
to check the message integrity and offers anti-replay protection
using timestamps. Compared with authentication mechanism in
[RFC3315], secure DHCPv6 is more lightweight and provide better
protection when refers to the authentication of DHCPv6 clients.
4. Overview of Secure Access Mechanism
The Secure Access mechanism defined in this document is mainly based
on the server and client's certificates. Similar to secure DHCPv6,
we also make use of PKI (Public Key Infrastructure) to authenticate
relevant entities. Since both certificates of client and server are
required, a full bidirectional authentication between client and
server is available. The certificates used in this document are all
X.509 v3 certificates whose details can be found in [RFC5280].
If a client desires to improve privacy when using DHCPv6, it can
initiate the Secure Access process to achieve a peer entity
authentication. The client applies for its public key certificate
from a CA (Certificate Authority) which is signed by the CA's private
key. Then the client implements a new DHCPv6 message called
Authenticate and multicasts it to the servers. The Authenticate
message MUST carry the Certificate option defined in
[I-D.ietf-dhc-sedhcpv6] to provide server with client's public key
certificate. It is RECOMMENDED that the Authenticate message does
not carry options other than Certificate option for the privacy.
A legitimate server also needs to get its own certificate from CA as
the client does. The server receives the Authenticate message needs
to verify the client's certificate. Typically it uses the CA's
public key to validate whether the client is trusted or not.
Detailed process of the authentication is described in [RFC5280] and
is out of scope of this document. If the client is valid, the server
will respond a new DHCPv6 message called Authenticate-reply message
which contains a Certificate option (carry the server's public key
certificate) and a Server Unicast option. It is possible for the
server to carry more information (more options) in the Authenticate-
reply message (e.g. Server Unicast option).
The initiated client MAY receive more than one Authenticate-reply
messages from different servers. It verifies each Authenticate-reply
message by validating corresponding server certificate through PKI.
If the Authenticate-reply message does not contain a Certificate
option or the verification fails, the client will discard the message
and further blacklist the server. The client remember those servers
Lee, et al. Expires September 9, 2015 [Page 4]
Internet-Draft Secure Access Mechanism for DHCPv6 March 2015
who pass the verification as legitimated ones. In this way, the
client can find legitimate servers and trigger the normal DHCPv6
process in a more protected way (e.g. unicast or encryption).
This mechanism provides an end-to-end authentication between DHCPv6
clients and servers. When a relay agent is involved, the only
function it performs is forwarding. Also the relay agent does not
allowed to add any additional options.
The Secure Access mechanism also supports another lightweight mode
which only based on the server's certificate. Since it is uncommon
for a client to obtain a certificate from the CA, we have to make the
mechanism applied to such a scenario that only server certificate is
available. This may sacrifice the security of a DHCPv6 server to
some extent but will not do harm to the client privacy. Since the
server responses usually do not contain much client information. In
this lightweight mode, the server responds an Authenticate-reply
message as soon as it received a Authenticate message from the
client. Then the client performs the same process as the common mode
has described.
5. New DHCPv6 Messages
Two new DHCPv6 messages are defined to achieve the peer entity
authentication between clients and servers before standard DHCPv6
process. The Authenticate message is always sent by the client to
carry its certificate and the Authenticate-reply message is sent by
the server for client to validate its legitimacy. This section
describe the two new messages formats and structures.
Both Authenticate and Authenticate-reply message use the Client/
Server message formats described in Section 6 of [RFC3315]. Two new
message codes are defined in the following.
AUTHENTICATE (TBA1): The client multicasts an Authenticate message to
available servers to request for legitimate servers. The
Authenticate message contains client's certificate for server to
check its validity.
AUTHENTICATE-REPLY (TBA2): The server sends an Authenticate-reply
message to requesting client to prove its legitimacy by carrying the
Certificate option. It also needs to include a Server Unicast option
to provide the client with its address.
Lee, et al. Expires September 9, 2015 [Page 5]
Internet-Draft Secure Access Mechanism for DHCPv6 March 2015
6. Behaviour
This section describes the behaviour of DHCPv6 clients and servers
when Secure Access mechanism is deployed. It is suitable for the
clients who are concerned about their privacy and are eager to
improve it. All the behaviours are prior to the standard DHCPv6
process, that is to say the Secure Access mechanism will be finished
before the DHCPv6 Solicit message is sent to the server.
6.1. Client Behaviour
If a client wants to improve its privacy by finding a legitimate
server to communicate, it will be more reasonable that the requesting
client is also valid. In the context of this document, only valid
clients can obtain their certificates from a trusted CA. That would
require the CA to judge whether a client is valid or not. A common
and simple solution is to make the trusted CA handled by the ISP. In
this way, the trusted CA could easily achieve the verification
through ISP's registration data. While there could be more extra
solutions and the actual CA implementation is out of scope of this
document. A valid client can only have one certificate which is
signed by the trusted CA.
Once the client obtains its certificate, it can trigger the Secure
Access mechanism by multicasting the Authenticate message to the
servers (i.e. using the multicast addresses defined in [RFC3315]).
The client MUST insert only one Certificate option in the
Authenticate message. The Certificate option is used to carry the
client's certificate and is defined in [I-D.ietf-dhc-sedhcpv6]. In
order not to leak any client information in the Secure Access phase,
it is also RECOMMENDED that the Authenticate message does not include
any other options except for Certificate option.
After sending out the Authenticate message, the client is waiting for
servers' response. During this period, it will discard any DHCPv6
message that the message type is not AUTHENTICATE-REPLY. The client
is not allowed to send any other message whose message type is not
AUTHENTICATE until it finds an authenticated server.
On receipt of servers' Authenticate-reply messages, it first checks
the options field. The client simply discards the message if it
includes neither Certificate option nor Server Unicast option. If
the Authenticate-reply message include a Server Unicast option but
not a Certificate option, the client will blacklist this server as a
rogue server. If the Authenticate-reply message include a
Certificate option but not a Server Unicast option, the client will
also discard the received message. When both Certificate option and
Server Unicast option exist, the client extracts the Certificate
Lee, et al. Expires September 9, 2015 [Page 6]
Internet-Draft Secure Access Mechanism for DHCPv6 March 2015
options then verifies it through PKI. If the verification fails, the
client will blacklist the server. The client remembers servers who
pass the verification as legitimate servers and choose one to build
trusted relationship. Based on the trusted relationship, the client
can employ further protection means to initiate a standard DHCPv6
process. The further protection means are discussed in Section 7.
The client should implement a timer locally. If it has not received
any Authenticate-reply message when the timer expires, it will reset
the timer and resend its Authenticate message. If it still could not
receive any Authenticate-reply in the second expiration, the client
would treat this condition as a failure of authentication. There
could be various solutions for the failure such as reporting to the
user or starting standard DHCPv6 process that ignores the failure
condition. Which solution is employed is dependent on the client
side policy. The timer expiration and client side policy would vary
in different scenarios, hence their implementations are out of scope
of this document.
6.2. Server Behaviour
If a server is legitimate and support the Secure Access mechanism
defined in this document, it should obtain its certificate from the
same trusted CA when it is configured. Such server should provide
services for both standard DHCPv6 process and DHCPv6 with Secure
Access. When it receives a standard DHCPv6 message (e.g. Solicit),
it just follows the procedure defined in [RFC3315].
When the server receives an Authenticate message, it is an indication
that the client wishes to build a trusted relationship with a
legitimate server. The server who is willing to be accessed by such
a client extracts the Certificate option to validate the client
through PKI. If there is no Certificate option or the authentication
fails, the server will simply discard this message. If the client
can be proved to be valid (i.e. its certificate is trusted), the
server will respond an Authenticate-reply message to the valid
client. The Authenticate-reply message MUST include only one
Certificate option to carry server's certificate and one Server
Unicast option. It should be noted that the only function of Server
Unicast option is to provide the client with the server's IP address,
whether to unicast a message in the following process is depend on
the client side.
The server is allowed to add more options in the Authenticate-reply
message to provide any other information that it is willing to
present to the client. If the server receives an Authenticate
message twice, it will resend an Authenticate-reply message.
Lee, et al. Expires September 9, 2015 [Page 7]
Internet-Draft Secure Access Mechanism for DHCPv6 March 2015
If a server does not support the Secure Access mechanism defined in
this document, it will simply discard the received Authenticate
message and do nothing else.
6.3. Behaviour in Lightweight Mode
The Secure Access mechanism also supports a lightweight mode that the
authentication is only based on server certificates. Under this
circumstance, the server does not need to validate the client's
certificate. If a client wishes to start the Secure Access mechanism
in a lightweight mode, it will multicast the Authenticate message
without any option in it. If the server receives an Authenticate
message without any option, it is an indication that the lightweight
mode is employed. The server simply skips the process of validating
a client, responds the Authenticate-reply with the server
certificate. Then the client follows the same process after sending
out Authenticate message as described in section 6.1 to finish the
mechanism.
7. Further Protection Considerations
The Secure Access mechanism follows the peer entity authentication
principle defined in section 6.3, second bullet of [RFC6973]. With
the mechanism employed, it is possible for a client to find a
legitimate server and then build a trusted relationship with it. The
trusted relationship also makes further protection measures feasible.
This section briefly discusses such two further protection methods
that can be used to protect the later standard DHCPv6 process.
7.1. Unicast
In a typical DHCPv6 process, a client is always not aware of the
server's address when it sends the first message (i.e. Solicit
message). Thus DHCPv6 makes use of multicast to send the Solicit
message to any available server on the same link. The multicast
characteristic encourages more rogue servers or eavesdroppers to
appear. If the client could unicast message to the server, the
privacy could be improved effectively. Following the [RFC3315], a
client could unicast its message if it receives a Server Unicast
option from the server. However in the current design, it is
impossible to unicast a Solicit message or an Information-Request
message which also contains important client information. This is
due to both messages are always the first message in the standard
DHCPv6 transaction (Client-server Exchange Involving Two Messages and
Four Messages respectively).
With the Secure Access mechanism, the scenario that a Solicit message
or an Information-Request could not be unicast would be solved.
Lee, et al. Expires September 9, 2015 [Page 8]
Internet-Draft Secure Access Mechanism for DHCPv6 March 2015
Since the server includes a Server Unicast option in the
Authenticate-reply which is received before the standard DHCPv6
process. If the server can be proved as a legitimate server through
the Secure Access mechanism, the client could then use the server
address embedded in the Server Unicast option to unicast its Solicit
message or Information-request message. It should be noted that the
client may record multiple legitimate servers, it should choose one
to start unicast transaction based on a local policy. The detailed
policy is out of scope of this document.
7.2. Encryption
DHCPv6 message contains various identifiers that may expose important
client information. Confidentiality is always a better way to
improve the privacy since it can make the data secret from the
eavesdroppers. There are various encryption patterns could be used
to add confidentiality to the DHCPv6 process, but each of them would
require a pre-authentication to validate the identity of the two
endpoints.
The Secure Access mechanism just provides such an end-to-end
authentication to support the further encryption pattern. Encryption
also introduces some drawbacks such as more overhead, larger packet
size and so on. The encryption scheme for DHCPv6 should be
lightweight and do not need to be perfect. The further details of
DHCPv6 confidentiality is out of scope of this document and could be
defined in another separate document.
8. Security Considerations
TBD
9. IANA Considerations
This document defines two new DHCPv6 [RFC3315] messages. IANA is
requested to assign the following new DHCPv6 Message types in the
registry maintained in http://www.iana.org/assignments/
dhcpv6-parameters:
AUTHENTICATE
AUTHENTICATE-REPLY
10. References
Lee, et al. Expires September 9, 2015 [Page 9]
Internet-Draft Secure Access Mechanism for DHCPv6 March 2015
10.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3315] Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C.,
and M. Carney, "Dynamic Host Configuration Protocol for
IPv6 (DHCPv6)", RFC 3315, July 2003.
[RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S.,
Housley, R., and W. Polk, "Internet X.509 Public Key
Infrastructure Certificate and Certificate Revocation List
(CRL) Profile", RFC 5280, May 2008.
[RFC6973] Cooper, A., Tschofenig, H., Aboba, B., Peterson, J.,
Morris, J., Hansen, M., and R. Smith, "Privacy
Considerations for Internet Protocols", RFC 6973, July
2013.
10.2. Informative References
[I-D.ietf-dhc-dhcpv6-privacy]
Krishnan, S., Mrugalski, T., and S. Jiang, "Privacy
considerations for DHCPv6", draft-ietf-dhc-
dhcpv6-privacy-00 (work in progress), February 2015.
[I-D.ietf-dhc-sedhcpv6]
Jiang, S., Shen, S., Zhang, D., and T. Jinmei, "Secure
DHCPv6", draft-ietf-dhc-sedhcpv6-06 (work in progress),
February 2015.
Authors' Addresses
Yiu L. Lee
Comcast
One Comcast Center
Philadelphia, PA 19103
U.S.A
Email: yiu_lee@cable.comcast.com
Lee, et al. Expires September 9, 2015 [Page 10]
Internet-Draft Secure Access Mechanism for DHCPv6 March 2015
Yong Cui
Tsinghua University
Beijing 100084
P.R.China
Phone: +86-10-6260-3059
Email: yong@csnet1.cs.tsinghua.edu.cn
ZiLong Liu
Tsinghua University
Beijing 100084
P.R.China
Phone: +86-10-6278-5822
Email: liuzilong8266@163.com
Linhui Sun
Tsinghua University
Beijing 100084
P.R.China
Phone: +86-10-6278-5822
Email: lh.sunlinh@gmail.com
Lee, et al. Expires September 9, 2015 [Page 11]