Internet DRAFT - draft-xu-dhc-authen
draft-xu-dhc-authen
<DHC> Y. Xu
W. Hao
J. Xie
Internet Draft Huawei Technologies
Expires: December 2021 June 4, 2021
Account based authentication for DHCP
draft-xu-dhc-authen-00.txt
Status of this Memo
This Internet-Draft is submitted to IETF in full conformance with
the provisions of BCP 78 and BCP 79.
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 December 4, 2021.
Abstract
This document describes the mutual authentication between DHCP
server and DHCP client based on account information to mitigate the
security risk caused by rogue DHCP server, and the problem of
illegal DHCP client exhausting DHCP server address.
Conventions used in this document
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 RFC-2119 [1].
Xu, et al Expires December 4, 2021 [Page 1]
Internet-Draft Account based dhcp authen June 2021
This document uses the terms "DHCP server" (or "server") and "DHCP
client" (or "client") as defined in RFC-2131 [2]. The term "DHCP
relay agent" refers to a "BOOTP relay agent" as defined in RFC-2131
[2].
Table of Contents
1. Introduction ................................................ 3
2. Format of new options........................................ 3
2.1. User Name Option........................................ 3
2.2. Authentication Information Option....................... 3
2.2.1. Algorithm ......................................... 4
3. Two Keys .................................................... 5
3.1. Account key ............................................ 5
3.2. Share key .............................................. 5
4. Client side processing....................................... 5
4.1. INIT state ............................................. 5
4.2. INIT-REBOOT state....................................... 6
4.3. RENEWING state ......................................... 6
4.4. REBINDING state......................................... 6
4.5. DHCPINFORM message...................................... 6
4.6. DHCPRELEASE message..................................... 6
4.7. General considerations.................................. 6
5. Server considerations........................................ 7
5.1. General considerations.................................. 7
5.2. After receiving a DHCPDISCOVER message.................. 7
5.3. After receiving a DHCPREQUEST message................... 7
5.4. After receiving a DHCPINFORM message.................... 7
6. Security Considerations...................................... 7
7. IANA Considerations ......................................... 8
8. Acknowledgments ............................................. 8
8.1. Normative References.................................... 9
8.2. Informative References.................................. 9
Author's Addresses ............................................. 9
Copyright, Disclaimer, and Additional IPR Provisions........... 10
Xu, et al Expires December 4, 2021 [Page 2]
Internet-Draft Account based dhcp authen June 2021
1. Introduction
This document describes the mutual authentication between DHCP
server and DHCP client based on account information like username
instead of Secret ID that is described in [RFC 3118] section5.2 to
mitigate the security risk caused by rogue DHCP server and the
problem of exhausting DHCP server address caused by illegal DHCP
client.
Compared with [RFC 3118], by leveraging username or other account
information for authentication, the following advantages could be
achieved:
1. Facilitate to manage the DHCP Client accounts on the DHCP server.
2. Better integrate the authentication process between DHCP server
and authentication server using the protocol of Radius, Active
Directory, and etc.
2. Format of new options
2.1. User Name Option
The following diagram defines the format of the user name option:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Code | Length | User Name ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
User Name Option
code: user name option.
length: Length of the 'User Name' field in octets; variable.
User Name: the user name of the DHCP Client.
2.2. Authentication Information Option
Compared with [RFC 3118], the Secret ID is removed in the option and
the format of this option will be changed into the following:
Xu, et al Expires December 4, 2021 [Page 3]
Internet-Draft Account based dhcp authen June 2021
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Code | Length | Algorithm |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| RSV | RDM | Replay Detection(64bits) ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Replay Detection cont. ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ ... | Authentication Information ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Authentication Information Option
Code: authentication Information option.
Length: The length field includes the lengths of the algorithm, the
RSV, the RDM, the Replay Detection, the Replay Detection cont, the
Authentication information fields in octets.
Algorithm: The Algorithm field defines the algorithm used to
generate the authentication information.
RSV: Four bits are reserved for future use. These bits SHOULD be
set to zero and MUST NOT be used when the option is processed.
RDM: The Replay Detection Method field defines the method used to
generate the Replay Detection Data.
Replay Detection: The Replay Detection field contains a value used
to detect replayed messages, which are interpreted according to the
RDM. Four bits.
Authentication Information: The Authentication Information field is
usually a digest of the data in the DHCP packet and is computed
using the HASH method that is specified through the Algorithm field.
2.2.1. Algorithm
Algorithm 1 is assigned to the HMAC protocol by using the SHA-256
[3] hash function.
All implementations MUST support Algorithm 1, the HMAC-SHA256[3]
algorithm. New separate algorithm number could be specified for the
future use of a different HASH technique.
Xu, et al Expires December 4, 2021 [Page 4]
Internet-Draft Account based dhcp authen June 2021
3. Two Keys
3.1. Account key
For the interaction between the DHCP server and the fixed DHCP
client, the key used is configured based on the user name on the
DHCP server, and the DHCP client configures the same user name and
key. This key is used to calculate authentication information for
all messages of DHCP client no matter the message is unicast,
broadcast or multicast, while for the DHCP server only the unicast
message to the client needs to be authenticated based on the key.
3.2. Share key
For the non-unicast messages sent by DHCP server to non-specific
clients, the shared key is used. DHCP server and DHCP client MUST
configure the same share key.
4. Client side processing
Similar to the authentication behavior defined in [RFC 3118], the
authentication behavior of a DHCP client based on account
information is described as below:
4.1. INIT state
When in INIT state, the client uses Account authentication as
follows:
1. The client MUST include the User Name option and Authentication
Information option in its DHCPDISCOVER message along with a client
identifier option [5] to identify itself uniquely to the server.
2. The client MUST perform the Message validation described in
[RFC3118] on any DHCPOFFER messages that include authentication
information. If one or more DHCPOFFER messages pass the validation,
the client chooses one of the offered DHCP server. If no DHCPOFFER
messages include authentication information or pass the validation
test, the processing of the client is the same as that of not
receiving DHCPOFFER.
3. The client replies with a DHCPREQUEST message that MUST include
the user name option and authentication information option.
4. If the client authenticated the DHCPOFFER it accepted, the client
MUST validate the DHCPACK message from the server. The client MUST
discard the DHCPACK if the message fails to pass validation and MAY
Xu, et al Expires December 4, 2021 [Page 5]
Internet-Draft Account based dhcp authen June 2021
log the validation failure. If the DHCPACK fails to pass
validation, the client MUST revert to INIT state and returns to step
1. If the client accepted a DHCPOFFER message that did not include
authentication information or did not pass the validation test, the
client MAY accept an unauthenticated DHCPACK message from the
server.
4.2. INIT-REBOOT state
When in INIT-REBOOT state, the client MUST include the user name
option and authentication information option in its DHCPREQUEST
message.
4.3. RENEWING state
When in RENEWING state, the client MUST include the user name option
and authentication information option in its DHCPREQUEST message.
4.4. REBINDING state
When in REBINDING state, the client MUST include the user name
option and authentication information option in its DHCPREQUEST
message.
4.5. DHCPINFORM message
The client MUST include the user name option and authentication
information option in its DHCPREQUEST message.
4.6. DHCPRELEASE message
The client MUST include the user name option and authentication
information option in its DHCPREQUEST message.
4.7. General considerations
Both the user name option and authentication information option must
be carried in all the messages sent by the DHCP client to the
server.
If there is only a user name without a password or only a password
without a user name, the user name option and authentication
information option are not carried, and the received message is not
verified.
When the client receives a broadcast or multicast message, the
client uses server share key as specified in section 3 to compute
Xu, et al Expires December 4, 2021 [Page 6]
Internet-Draft Account based dhcp authen June 2021
authentication information. If no share key is configured locally in
the client side, the authentication phase should be skipped.
5. Server considerations
Similar to the authentication behavior defined in [RFC 3118], the
authentication behavior of a DHCP server based on account
information is described as below:
5.1. General considerations
1. Each DHCP server maintains a list of account keys for each DHCP
client.
2. The unicast message sent by the DHCP server to a specific
client uses the account key of the client. If there is no account
key, there is no need to encapsulate the authentication information
option. If it is a broadcast and multicast message sent to a non-
specific client, the server's share key should be used. If there is
no share key, there is no need to further encapsulate the
authentication information option.
5.2. After receiving a DHCPDISCOVER message
When the server receives a DHCP DISCOVER message from the client,
firstly it finds the corresponding key according to the user name
option, then computes the authentication information based on the
key, and finally get the validation result for the message. If the
message is legal, it will respond to DHCPOFFER message and use the
same key to computes authentication information.
5.3. After receiving a DHCPREQUEST message
Compared with [RFC 3118] message validation process, the only
difference is that the server should validate the message based on
user name instead of secret ID.
5.4. After receiving a DHCPINFORM message
If the message fails to pass validation or the server did not get
the key corresponding to the user name, the server MUST discard the
message and MAY choose to log the validation failure.
6. Security Considerations
No additional security Considerations are introduced here besides
the corresponding description that is defined in [RFC 3118], it only
Xu, et al Expires December 4, 2021 [Page 7]
Internet-Draft Account based dhcp authen June 2021
provides an alternative DHCP authentication method to alleviate the
security risk of server counterfeiting, illegal client attack and
exhaustion of server address could be alleviated.
7. IANA Considerations
Two new number spaces for the Authentication information option's
'Algorithm' and 'Replay Detection Method' fields need to be newly
introduced.
8. Acknowledgments
The authors wish to acknowledge the important contributions of
Zengke Wei and Jian Wang.
Xu, et al Expires December 4, 2021 [Page 8]
Internet-Draft Account based dhcp authen June 2021
References
8.1. Normative References
[1] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[2] Droms, R., "Dynamic Host Configuration Protocol", RFC 2131,
March 1997.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2234] Crocker, D. and Overell, P.(Editors), "Augmented BNF for
Syntax Specifications: ABNF", RFC 2234, Internet Mail
Consortium and Demon Internet Ltd., November 1997.
8.2. Informative References
[3] R. Droms, W. Arbaugh, “Authentication for DHCP Messages”, RFC
3118, June 2001
[4] National Institute of Standards and Technology, "Secure Hash
Standard", FIPS PUB 180-2, August 2002.
[5] Patrick, M., "DHCP Relay Agent Information Option", RFC
3046,January 2001.
[6] Alexander, S. and R. Droms, "DHCP Options and BOOTP Vendor
Extensions", RFC 2132, March 1997.
Author's Addresses
Yibin Xu
Huawei Technologies
101 Software Avenue,
Nanjing 210012 China
Email: xuyibin@huawei.com
Weiguo Hao
Xu, et al Expires December 4, 2021 [Page 9]
Internet-Draft Account based dhcp authen June 2021
Huawei Technologies
101 Software Avenue,
Nanjing 210012 China
Email: haoweiguo@huawei.com
Jianping Xie
Huawei Technologies
101 Software Avenue,
Nanjing 210012 China
Email: xiejianping@huawei.com
Copyright, Disclaimer, and Additional IPR Provisions
Copyright (c) 2021 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
(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.
Xu, et al Expires December 4, 2021 [Page 10]