1 Network Working Group R. Droms, Editor
2 INTERNET DRAFT Bucknell University
3 Obsoletes: draft-ietf-dhc-authentication-13.txt W. Arbaugh, Editor
9 Authentication for DHCP Messages
10 <draft-ietf-dhc-authentication-14.txt>
14 This document is an Internet-Draft and is in full conformance with
15 all provisions of Section 10 of RFC2026. Internet-Drafts are working
16 documents of the Internet Engineering Task Force (IETF), its areas,
17 and its working groups. Note that other groups may also distribute
18 working documents as Internet-Drafts.
20 Internet-Drafts are draft documents valid for a maximum of six months
21 and may be updated, replaced, or obsoleted by other documents at any
22 time. It is inappropriate to use Internet- Drafts as reference
23 material or to cite them other than as "work in progress."
25 The list of current Internet-Drafts can be accessed at
26 http://www.ietf.org/ietf/1id-abstracts.txt, and the list of
27 Internet-Draft Shadow Directories can be accessed at
28 http://www.ietf.org/shadow.html.
33 The Dynamic Host Configuration Protocol (DHCP) provides a framework
34 for passing configuration information to hosts on a TCP/IP network.
35 In some situations, network administrators may wish to constrain the
36 allocation of addresses to authorized hosts. Additionally, some
37 network administrators may wish to provide for authentication of the
38 source and contents of DHCP messages. This document defines a new
39 DHCP option through which authorization tickets can be easily
40 generated and newly attached hosts with proper authorization can be
41 automatically configured from an authenticated DHCP server.
45 DHCP [1] transports protocol stack configuration parameters from
46 centrally administered servers to TCP/IP hosts. Among those
47 parameters are an IP address. DHCP servers can be configured to
48 dynamically allocate addresses from a pool of addresses, eliminating
52 Droms, Arbaugh [Page 1]
54 DRAFT Authentication for DHCP Messages March 2000
57 a manual step in configuration of TCP/IP hosts.
59 Some network administrators may wish to provide authentication of the
60 source and contents of DHCP messages. For example, clients may be
61 subject to denial of service attacks through the use of bogus DHCP
62 servers, or may simply be misconfigured due to unintentionally
63 instantiated DHCP servers. Network administrators may wish to
64 constrain the allocation of addresses to authorized hosts to avoid
65 denial of service attacks in "hostile" environments where the network
66 medium is not physically secured, such as wireless networks or
67 college residence halls.
69 This document defines a technique that can provide both entity
70 authentication and message authentication.
74 This draft combines the original Schiller-Huitema-Droms
75 authentication mechanism defined in a previous Internet Draft with
76 the "delayed authentication" proposal developed by Bill Arbaugh.
80 The threat to DHCP is inherently an insider threat (assuming a
81 properly configured network where BOOTP ports are blocked on the
82 enterprise's perimeter gateways.) Regardless of the gateway
83 configuration, however, the potential attacks by insiders and
84 outsiders are the same.
86 The attack specific to a DHCP client is the possibility of the
87 establishment of a "rogue" server with the intent of providing
88 incorrect configuration information to the client. The motivation for
89 doing so may be to establish a "man in the middle" attack or it may
90 be for a "denial of service" attack.
92 There is another threat to DHCP clients from mistakenly or
93 accidentally configured DHCP servers that answer DHCP client requests
94 with unintentionally incorrect configuration parameters.
96 The threat specific to a DHCP server is an invalid client
97 masquerading as a valid client. The motivation for this may be for
98 "theft of service", or to circumvent auditing for any number of
101 The threat common to both the client and the server is the resource
102 "denial of service" (DoS) attack. These attacks typically involve the
103 exhaustion of valid addresses, or the exhaustion of CPU or network
104 bandwidth, and are present anytime there is a shared resource. In
108 Droms, Arbaugh [Page 2]
110 DRAFT Authentication for DHCP Messages March 2000
113 current practice, redundancy mitigates DoS attacks the best.
117 These are the goals that were used in the development of the
118 authentication protocol, listed in order of importance:
120 1. Address the threats presented in Section 1.1.
121 2. Avoid changing the current protocol.
122 3. Limit state required by the server.
123 4. Limit complexity (complexity breeds design and implementation
126 1.3 Requirements Terminology
128 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
129 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY" and "OPTIONAL" in this
130 document are to be interpreted as described in RFC 2119 [5].
134 This document uses the following terms:
138 A DHCP client or "client" is an Internet host using DHCP to obtain
139 configuration parameters such as a network address.
143 A DHCP server or "server" is an Internet host that returns
144 configuration parameters to DHCP clients.
146 2. Format of the authentication option
148 The following diagram defines the format of the DHCP
149 authentication option:
153 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
154 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
155 | Code | Length | Protocol | Algorithm |
156 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
157 | RDM | Replay Detection (64 bits) |
158 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
164 Droms, Arbaugh [Page 3]
166 DRAFT Authentication for DHCP Messages March 2000
170 | Authentication Information |
172 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
176 The code for the authentication option is TBD, and the length field
177 contains the length of the protocol, RDM, algorithm, Replay Detection
178 fields and authentication information fields in octets.
180 The protocol field defines the particular technique for
181 authentication used in the option. New protocols are defined as
182 described in Section 6.
184 The algorithm field defines the specific algorithm within the
185 technique identified by the protocol field.
187 The Replay Detection field is per the RDM, and the authentication
188 information field is per the protocol in use.
190 The Replay Detection Method (RDM) field determines the type of replay
191 detection used in the Replay Detection field.
193 If the RDM field contains 0x00, the replay detection field MUST be
194 set to the value of a monotonically increasing counter. Using a
195 counter value such as the current time of day (e.g., an NTP-format
196 timestamp [4]) can reduce the danger of replay attacks. This
197 method MUST be supported by all protocols.
199 Other values of the RDM field are reserved for future definition
200 according to the procedures described in section 6.
202 This document defines two protocols in sections 4 and 5, encoded with
203 protocol field values 0 and 1. Protocol field values 2-254 are
204 reserved for future use. Other protocols may be defined according to
205 the procedure described in section 6.
207 3. Interaction with Relay Agents
209 Because a DHCP relay agent may alter the values of the 'giaddr' and
210 'hops' fields in the DHCP message, the contents of those two fields
211 MUST be set to zero for the computation of any hash function over the
212 message header. Additionally, a relay agent may append the DHCP relay
213 agent information option 82 [7] as the last option in a message to
214 servers. If a server finds option 82 included in a received message,
215 the server MUST compute any hash function as if the option were NOT
216 included in the message without changing the order of options.
220 Droms, Arbaugh [Page 4]
222 DRAFT Authentication for DHCP Messages March 2000
225 Whenever the server sends back option 82 to a relay agent, the server
226 MUST not include the option in the computation of any hash function
232 If the protocol field is 0, the authentication information field
233 holds a simple authentication token:
237 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
238 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
239 | Code | Length |0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0|
240 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
241 |0 0 0 0 0 0 0 0| Replay Detection (64 bits) |
242 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
246 | Authentication Information |
248 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
251 The authentication token is an opaque, unencoded value known to both
252 the sender and receiver. The sender inserts the authentication token
253 in the DHCP message and the receiver matches the token from the
254 message to the shared token. If the authentication option is present
255 and the token from the message does not match the shared token, the
256 receiver MUST discard the message.
258 Protocol 0 may be used to pass a plain-text password and provides
259 only weak entity authentication and no message authentication. This
260 protocol is only useful for rudimentary protection against
261 inadvertently instantiated DHCP servers.
265 The intent here is to pass a constant, non-computed token such as
266 a plain-text password. Other types of entity authentication using
267 computed tokens such as Kerberos tickets or one-time passwords
268 will be defined as separate protocols.
276 Droms, Arbaugh [Page 5]
278 DRAFT Authentication for DHCP Messages March 2000
281 If the protocol field is 1, the message is using the "delayed
282 authentication" mechanism. In delayed authentication, the client
283 requests authentication in its DHCPDISCOVER message and the server
284 replies with a DHCPOFFER message that includes authentication
285 information. This authentication information contains a nonce value
286 generated by the source as a message authentication code (MAC) to
287 provide message authentication and entity authentication.
289 This document defines the use of a particular technique based on the
290 HMAC protocol [3] using the MD5 hash [2].
292 5.1 Management Issues
294 The "delayed authentication" protocol does not attempt to address
295 situations where a client may roam from one administrative domain to
296 another, i.e. interdomain roaming. This protocol is focused on
297 solving the intradomain problem where the out-of-band exchange of a
298 shared secret is feasible.
302 The format of the authentication request in a DHCPDISCOVER message
308 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
309 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
310 | Code | Length |0 0 0 0 0 0 0 1| Algorithm |
311 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
312 | RDM | Replay Detection (64 bits) |
313 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
318 The format of the authentication information for protocol 1 is:
332 Droms, Arbaugh [Page 6]
334 DRAFT Authentication for DHCP Messages March 2000
338 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
339 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
340 | Code | Length |0 0 0 0 0 0 0 1| Algorithm |
341 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
342 | RDM | Replay Detection (64 bits) |
343 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
344 | Replay cont. | Secret ID (32 bits) |
345 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
346 | secret id cont| HMAC-MD5 (128 bits) ....
347 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
350 This document defines one technique for use with protocol 1, which is
351 identified by setting the algorithm field to 1. Other techniques
352 that use different algorithms may be defined by future
353 specifications, see section 6. The following definitions will be
354 used in the description of the authentication information for
355 protocol 1, algorithm 1:
357 Replay Detection - as defined by the RDM field
358 K - a secret value shared between the source and
359 destination of the message; each secret has a
360 unique identifier (not shown in figures)
361 secret ID - the unique identifier for the secret value
362 used to generate the MAC for this message
363 HMAC-MD5 - the MAC generating function [3, 2].
365 The sender computes the MAC using the HMAC generation algorithm [3]
366 and the MD5 hash function [2]. The entire DHCP message (except as
367 noted below), including the DHCP message header and the options
368 field, is used as input to the HMAC-MD5 computation function. The
369 'secret ID' field MUST be set to the identifier of the secret used to
374 Algorithm 1 specifies the use of HMAC-MD5. Use of a different
375 technique, such as HMAC-SHA, will be specified as a separate
378 Protocol 1 requires a shared secret key for each client on each
379 DHCP server with which that client may wish to use the DHCP
380 protocol. Each secret key has a unique identifier that can be
381 used by a receiver to determine which secret was used to generate
382 the MAC in the DHCP message. Therefore, protocol 1 may not scale
383 well in an architecture in which a DHCP client connects to
384 multiple administrative domains.
388 Droms, Arbaugh [Page 7]
390 DRAFT Authentication for DHCP Messages March 2000
393 Note that the meaning of an authentication option can be changed
394 by removing the secret ID, and MAC, transforming an authentication
395 option with authentication information into a request for
396 authentication. Therefore, the authentication request form of
397 this option can only appear in a DHCPDISCOVER message or a
400 5.3 Message validation
402 To validate an incoming message, the receiver first checks that
403 the value in the replay detection field is acceptable according to
404 the replay detection method specified by the RDM field. Next, the
405 receiver computes the MAC as described in [3]. The receiver MUST
406 set the 'MAC' field of the authentication option to all 0s for
407 computation of the MAC, and because a DHCP relay agent may alter
408 the values of the 'giaddr' and 'hops' fields in the DHCP message,
409 the contents of those two fields MUST also be set to zero for the
410 computation of the MAC. If the MAC computed by the receiver does
411 not match the MAC contained in the authentication option, the
412 receiver MUST discard the DHCP message.
414 Section 3 provides additional information on handling messages
415 that include option 82 (Relay Agents).
419 Each DHCP client has a key, K. The client uses its key to encode
420 any messages it sends to the server and to authenticate and verify
421 any messages it receives from the server. The client's key SHOULD
422 be initially distributed to the client through some out-of-band
423 mechanism, and SHOULD be stored locally on the client for use in
424 all authenticated DHCP messages. Once the client has been given
425 its key, it SHOULD use that key for all transactions even if the
426 client's configuration changes; e.g., if the client is assigned a
429 Each DHCP server MUST know, or be able to obtain in a secure
430 manner, the keys for all authorized clients. If all clients use
431 the same key, clients can perform both entity and message
432 authentication for all messages received from servers. However,
433 the sharing of keys is strongly discouraged as it allows for
434 unauthorized clients to masquerade as authorized clients by
435 obtaining a copy of the shared key. To authenticate the identity
436 of individual clients, each client MUST be configured with a
437 unique key. Appendix A describes a technique for key management.
439 5.5 Client considerations
444 Droms, Arbaugh [Page 8]
446 DRAFT Authentication for DHCP Messages March 2000
449 This section describes the behavior of a DHCP client using
450 authentication protocol 1.
454 When in INIT state, the client uses protocol 1 as follows:
456 1. The client MUST include the authentication request option in
457 its DHCPDISCOVER message along with option 61 [6] to identify
458 itself uniquely to the server.
460 2. The client MUST validate any DHCPOFFER messages that include
461 authentication information using the mechanism specified in
462 section 5.3. The client MUST discard any messages which fail
463 to pass validation and MAY log the validation failure. The
464 client selects one DHCPOFFER message as its selected
465 configuration. If none of the DHCPOFFER messages received by
466 the client include authentication information, the client MAY
467 choose an unauthenticated message as its selected
468 configuration. The client SHOULD be configurable to accept or
469 reject unauthenticated DHCPOFFER messages.
470 3. The client replies with a DHCPREQUEST message that MUST include
471 authentication information encoded with the same secret used by
472 the server in the selected DHCPOFFER message.
473 4. The client MUST validate the DHCPACK message from the server.
474 The client MUST discard the DHCPACK if the message fails to
475 pass validation and MAY log the validation failure. If the
476 DHCPACK fails to pass validation, the client MUST revert to
477 INIT state and returns to step 1. The client MAY choose to
478 remember which server replied with a DHCPACK message that
479 failed to pass validation and discard subsequent messages from
482 5.5.2 INIT-REBOOT state
484 When in INIT-REBOOT state, the client MUST use the secret it used
485 in its DHCPREQUEST message to obtain its current configuration to
486 generate authentication information for the DHCPREQUEST message.
487 The client MAY choose to accept unauthenticated DHCPACK/DHCPNAK
488 messages if no authenticated messages were received. The client
489 MUST treat the receipt (or lack thereof) of any DHCPACK/DHCPNAK
490 messages as specified in section 3.2 of [1].
494 When in RENEWING state, the client uses the secret it used in its
495 initial DHCPREQUEST message to obtain its current configuration to
496 generate authentication information for the DHCPREQUEST message.
500 Droms, Arbaugh [Page 9]
502 DRAFT Authentication for DHCP Messages March 2000
505 If client receives no DHCPACK messages or none of the DHCPACK
506 messages pass validation, the client behaves as if it had not
507 received a DHCPACK message in section 4.4.5 of the DHCP
510 5.5.4 REBINDING state
512 When in REBINDING state, the client uses the secret it used in its
513 initial DHCPREQUEST message to obtain its current configuration to
514 generate authentication information for the DHCPREQUEST message.
515 If client receives no DHCPACK messages or none of the DHCPACK
516 messages pass validation, the client behaves as if it had not
517 received a DHCPACK message in section 4.4.5 of the DHCP
520 5.5.5 DHCPINFORM message
522 Since the client already has some configuration information, the
523 client may also have established a shared secret value, K, with a
524 server. Therefore, the client SHOULD use the authentication
525 request as in a DHCPDISCOVER message when a shared secret value
526 exists. The client MUST treat any received DHCPACK messages as it
527 does DHCPOFFER messages, see section 5.5.1.
529 5.5.6 DHCPRELEASE message
531 Since the client is already in the BOUND state, the client will
532 have a security association already established with the server.
533 Therefore, the client MUST include authentication information with
534 the DHCPRELEASE message.
536 5.6 Server considerations
538 This section describes the behavior of a server in response to
539 client messages using authentication protocol 1.
541 5.6.1 General considerations
543 Each server maintains a list of secrets and identifiers for those
544 secrets that it shares with clients and potential clients. This
545 information must be maintained in such a way that the server can:
547 * Identify an appropriate secret and the identifier for that
548 secret for use with a client that the server may not have
549 previously communicated with
550 * Retrieve the secret and identifier used by a client to which the
551 server has provided previous configuration information
556 Droms, Arbaugh [Page 10]
558 DRAFT Authentication for DHCP Messages March 2000
561 Each server MUST save the counter from the previous authenticated
562 message. A server MUST discard any incoming message which fails
563 the replay detection check as defined by the RDM avoid replay
568 The authenticated DHCPREQUEST message from a client in INIT-
569 REBOOT state can only be validated by servers that used the
570 same secret in their DHCPOFFER messages. Other servers will
571 discard the DHCPREQUEST messages. Thus, only servers that used
572 the secret selected by the client will be able to determine
573 that their offered configuration information was not selected
574 and the offered network address can be returned to the server's
575 pool of available addresses. The servers that cannot validate
576 the DHCPREQUEST message will eventually return their offered
577 network addresses to their pool of available addresses as
578 described in section 3.1 of the DHCP specification [1].
580 5.6.2 After receiving a DHCPDISCOVER message
582 The server selects a secret for the client and includes
583 authentication information in the DHCPOFFER message as specified
584 in section 5, above. The server MUST record the identifier of the
585 secret selected for the client and use that same secret for
586 validating subsequent messages with the client.
588 5.6.3 After receiving a DHCPREQUEST message
590 The server uses the secret identified in the message and validates
591 the message as specified in section 5.3. If the message fails to
592 pass validation or the server does not know the secret identified
593 by the 'secret ID' field, the server MUST discard the message and
594 MAY choose to log the validation failure.
596 If the message passes the validation procedure, the server
597 responds as described in the DHCP specification. The server MUST
598 include authentication information generated as specified in
601 5.6.4 After receiving a DHCPINFORM message
603 The server MAY choose to accept unauthenticated DHCPINFORM
604 messages, or only accept authenticated DHCPINFORM messages based
607 When a client includes the authentication request in a DHCPINFORM
608 message, the server MUST respond with an authenticated DHCPACK
612 Droms, Arbaugh [Page 11]
614 DRAFT Authentication for DHCP Messages March 2000
617 message. If the server does not have a shared secret value
618 established with the sender of the DHCPINFORM message, then the
619 server MAY respond with an unauthenticated DHCPACK message, or a
620 DHCPNAK if the server does not accept unauthenticated clients
621 based on the site policy, or the server MAY choose not to respond
622 to the DHCPINFORM message.
624 6. IANA Considerations
626 The author of a new DHCP authentication protocol, algorithm or
627 replay detection method will follow these steps to obtain
628 acceptance of the new procedure as a part of the DHCP Internet
631 1. The author devises the new authentication protocol, algorithm
632 or replay detection method.
633 2. The author documents the new technique as an Internet Draft.
634 The protocol, algorithm or RDM code for any new procedure is
635 left as "To Be Determined" (TBD).
636 3. The author submits the Internet Draft for review through the
637 IETF standards process as defined in "Internet Official
638 Protocol Standards" (STD 1).
639 4. The new protocol progresses through the IETF standards process;
640 the specification of the new protocol will be reviewed by the
641 Dynamic Host Configuration Working Group (if that group still
642 exists), or as an Internet Draft not submitted by an IETF
643 working group. If the option is accepted as a Standard, the
644 specification for the option is published as a separate RFC.
645 5. At the time of acceptance as a Proposed Internet Standard and
646 publication as an RFC, IANA assigns a DHCP authentication
647 protocol number to the new protocol.
649 This procedure for defining new authentication protocols will
652 * allocation of new protocol numbers is coordinated from a single
654 * new protocols are reviewed for technical correctness and
656 * documentation for new protocols is complete and published.
660 This procedure is patterned after the procedure for acceptance
668 Droms, Arbaugh [Page 12]
670 DRAFT Authentication for DHCP Messages March 2000
673 [1] Droms, R., "Dynamic Host Configuration Protocol", RFC 2131,
674 Bucknell University, March 1997.
676 [2] Rivest, R., "The MD5 Message-Digest Algorithm",
677 RFC-1321, April 1992.
679 [3] Krawczyk H., M. Bellare and R. Canetti, "HMAC: Keyed-Hashing for
680 Message Authentication," RFC-2104, February 1997.
682 [4] Mills, D., "Network Time Protocol (Version 3)", RFC-1305, March
685 [5] Bradner, S., "Key words for use in RFCs to Indicate Requirement
686 Levels," RFC-2219, March 1997.
688 [6] Henry, M., "DHCP Option 61 UUID Type Definition,"
689 <draft-henry-DHCP-opt61-UUID-type-00.txt> (work in
690 progress, November 1998.
692 [7] Patrick, M., "DHCP Relay Agent Information Option,"
693 <draft-ietf-dhc-agent-options-05.txt> (work in progress),
696 [8] Gupta, V., "Flexible Authentication for DHCP Messages,"
697 <draft-gupta-dhcp-auth-00.txt> (work in progress, June
702 Jeff Schiller and Christian Huitema developed this scheme during a
703 terminal room BOF at the Dallas IETF meeting, December 1995. The
704 editor transcribed the notes from that discussion, which form the
705 basis for this document. The editor appreciates Jeff's and
706 Christian's patience in reviewing this document and its earlier
709 The "delayed authentication" mechanism used in section 5 is due to
710 Bill Arbaugh. The threat model and requirements in sections 1.1
711 and 1.2 come from Bill's negotiation protocol proposal. The
712 attendees of an interim meeting of the DHC WG held in June, 1998,
713 including Peter Ford, Kim Kinnear, Glenn Waters, Rob Stevens, Bill
714 Arbaugh, Baiju Patel, Carl Smith, Thomas Narten, Stewart Kwan,
715 Munil Shah, Olafur Gudmundsson, Robert Watson, Ralph Droms, Mike
716 Dooley, Greg Rabil and Arun Kapur, developed the threat model and
717 reviewed several alternative proposals.
719 The replay detection method field is due to Vipul Gupta [8].
724 Droms, Arbaugh [Page 13]
726 DRAFT Authentication for DHCP Messages March 2000
729 Other input from Bill Sommerfield is gratefully acknowledged.
731 Thanks also to John Wilkins, Ran Atkinson, Shawn Mamros and Thomas
732 Narten for reviewing earlier drafts of this document.
734 9. Security considerations
736 This document describes authentication and verification mechanisms
739 10. Editors' addresses
742 Computer Science Department
747 Phone: (717) 524-1145
748 EMail: droms@bucknell.edu
751 Department of Computer Science
752 University of Maryland
753 A.V. Williams Building
754 College Park, MD 20742
756 Phone: (301) 455-2774
757 Email: waa@cs.umd.edu
761 This document will expire on December 31, 2000.
780 Droms, Arbaugh [Page 14]
782 DRAFT Authentication for DHCP Messages March 2000
785 Full Copyright Statement
787 Copyright (C) The Internet Society (2000). All Rights Reserved.
789 This document and translations of it may be copied and furnished to
790 others, and derivative works that comment on or otherwise explain it
791 or assist in its implementation may be prepared, copied, published and
792 distributed, in whole or in part, without restriction of any kind,
793 provided that the above copyright notice and this paragraph are
794 included on all such copies and derivative works. However, this
795 document itself may not be modified in any way, such as by removing
796 the copyright notice or references to the Internet Society or other
797 Internet organizations, except as needed for the purpose of developing
798 Internet standards in which case the procedures for copyrights defined
799 in the Internet Standards process must be followed, or as required to
800 translate it into languages other than English.
802 The limited permissions granted above are perpetual and will not be
803 revoked by the Internet Society or its successors or assigns.
805 This document and the information contained herein is provided on an
806 "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
807 TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
808 NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN
809 WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
810 MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
836 Droms, Arbaugh [Page 15]
838 DRAFT Authentication for DHCP Messages March 2000
841 Appendix A - Key Management Technique
843 To avoid centralized management of a list of random keys, suppose K
844 for each client is generated from the pair (client identifier [6],
845 subnet address, e.g. 192.168.1.0), which must be unique to that
846 client. That is, K = MAC(MK, unique-id), where MK is a secret master
847 key and MAC is a keyed one-way function such as HMAC-MD5.
849 Without knowledge of the master key MK, an unauthorized client cannot
850 generate its own key K. The server can quickly validate an incoming
851 message from a new client by regenerating K from the client-id. For
852 known clients, the server can choose to recover the client's K
853 dynamically from the client-id in the DHCP message, or can choose to
854 precompute and cache all of the Ks a priori.
856 To avoid compromis of this key management system, the master key, MK,
857 MUST NOT be stored by any clients. The client SHOULD only be given
858 its key, K. If MK is compromised, a new MK SHOULD be chosen and all
859 clients given new individual keys.
892 Droms, Arbaugh [Page 16]