Академический Документы
Профессиональный Документы
Культура Документы
INTERNET-DRAFT
Category: Standards Track
<draft-ietf-ipsec-dhcp-13.txt>
Baiju Patel
Intel
Bernard Aboba
Microsoft
Scott Kelly
RedCreek Communications
Vipul Gupta
Sun Microsystems, Inc.
[Page 1]
INTERNET-DRAFT
29 June 2001
Table of contents
1 Introduction...........................................
1.1 Terminology............................................
1.2 Requirements Language..................................
2.0 IPsec tunnel mode configuration requirements...........
2.1 DHCP configuration evaluation..........................
2.2 Summary................................................
3.0 Scenario overview......................................
3.1 Configuration walk-through.............................
4.0 Detailed description...................................
4.1 DHCPDISCOVER message processing........................
4.2 DHCP Relay behavior....................................
4.3 DHCPREQUEST message processing.........................
4.4 DHCPACK message processing.............................
4.5 Configuration policy...................................
5.0 Security Considerations................................
6.0 IANA Considerations....................................
7.0 Intellectual Property Statement........................
8.0 References.............................................
9.0 Acknowledgments........................................
10.0 Author's Address......................................
11.0 Appendix - IKECFG evaluation..........................
12.0 Full Copyright Statement .............................
2
2
3
3
3
4
4
5
6
7
9
10
10
10
11
11
12
12
14
14
15
16
1. Introduction
In many remote access scenarios, a mechanism for making the remote host
appear to be present on the local corporate network is quite useful.
This may be accomplished by assigning the host a "virtual" address from
the corporate network, and then tunneling traffic via IPsec from the
host's ISP-assigned address to the corporate security gateway. In IPv4,
Dynamic Host Configuration Protocol (DHCP) [3] provides for such remote
host configuration. This draft explores the requirements for host
configuration in IPsec tunnel mode, and describes how DHCPv4 may be
leveraged for configuration.
1.1. Terminology
This document uses the following terms:
DHCP client
A DHCP client or "client" is an Internet host using DHCP to
obtain configuration parameters such as a network address.
DHCP server
A DHCP server or "server" is an Internet host that returns
configuration parameters to DHCP clients.
[Page 2]
INTERNET-DRAFT
29 June 2001
[Page 3]
INTERNET-DRAFT
29 June 2001
[Page 4]
INTERNET-DRAFT
29 June 2001
[Page 5]
INTERNET-DRAFT
29 June 2001
b. The remote host establishes a DHCP SA with the IPsec tunnel mode
server in a quick mode exchange. The DHCP SA is an IPsec tunnel mode
SA established to protect initial DHCPv4 traffic between the
security gateway and the remote host. The DHCP SA MUST
only be used for DHCP traffic. The details of how this
SA is set up are described in Section 4.1.
c. DHCP messages are sent back and forth between the remote host and the
DHCPv4 server. The traffic is protected between the remote host and the
security gateway using the DHCP SA established in step b. After
the DHCP conversation completes, the remote host's intranet interface
obtains an IP address as well as other configuration parameters.
d. The remote host MAY request deletion of the DHCP SA since
future DHCP messages will be carried over a new IPsec tunnel.
Alternatively, the remote host and the security gateway
MAY continue to use the same SA for all subsequent traffic
by adding temporary SPD selectors in the same manner as is
provided for name ID types in [2].
e. If a new IPsec tunnel is required, the remote host establishes
a tunnel mode SA to the security gateway in a quick mode exchange.
In this case, the new address assigned via DHCPv4 SHOULD be used
in the quick mode ID.
At the end of the last step, the remote host is ready to communicate
with the intranet using an IPsec tunnel. All the IP traffic (including
future DHCPv4 messages) between the remote host and the intranet are now
tunneled over this IPsec tunnel mode SA.
Since the security parameters used for different SAs are based on the
unique requirements of the remote host and the security gateway, they
are not described in this document. The mechanisms described here work
best when the VPN is implemented using a virtual interface.
4. Detailed description
This section provides details relating to the messages exchanged during
the setup and teardown of the DHCP SAs.
[Page 6]
INTERNET-DRAFT
29 June 2001
secs
flags
ciaddr
yiaddr
siaddr
giaddr
chaddr
sname
file
options
OCTETS
------
DESCRIPTION
-----------
The htype value is set to the value TBD, signifying a virtual IPsec
tunnel mode interface, in order to enable the DHCP server to
differentiate VPN from non-VPN requests. The chaddr field of the
DHCPDISCOVER MUST include an identifier unique to the virtual subnet.
The client MUST use the same chaddr field in all subsequent messages
within the same DHCPv4 exchange. In addition, the chaddr SHOULD be
persistent between reboots so that the DHCP server will be able to reassign the same address if desired.
[Page 7]
INTERNET-DRAFT
29 June 2001
[Page 8]
INTERNET-DRAFT
29 June 2001
[Page 9]
INTERNET-DRAFT
29 June 2001
[Page 10]
INTERNET-DRAFT
29 June 2001
gateway may now filter traffic as it would if the remote host were
physically located on the corporate network.
4.5. Configuration policy
Several mechanisms can be used to enable remote hosts to be assigned
different configurations. For example, clients may use the User Class
Option [16] to request various configuration profiles. The DHCPv4
server may also take a number of other variables into account, including
the htype/chaddr; the host name option; the client-identifier option;
the DHCP Relay Agent Information option [17]; the vendor-classidentifier option; the vendor-specific information option; or the subnet
selection option [15].
Conditional configuration of clients, described in [18], can be used
solve a number of problems, including assignment of options based on
client operating system; assignment of groups of clients to address
ranges subsequently used to determine quality of service; allocation
special address ranges for remote hosts; assignment of static routes
clients [20], etc. As noted in the security considerations, these
mechanisms, while useful, do not enhance security since they can be
evaded by a remote host choosing its own IP address.
to
the
of
to
5. Security Considerations
This protocol is secured using IPsec, and as a result the DHCP packets
flowing between the remote host and the security gateway are
authenticated and integrity protected.
However, since the security gateway acts as a DHCP Relay, no protection
is afforded the DHCP packets in the portion of the path between the
security gateway and the DHCP server, unless DHCP authentication is
used.
Note that authenticated DHCP cannot be used as an access control
mechanism. This is because a remote host can always set its own IP
address and thus evade any security measures based on DHCP
authentication.
As a result, the assigned address MUST NOT be depended upon for
security. Instead, the security gateway can use other techniques such as
instantiating packet filters or quick mode selectors on a per-tunnel
basis.
As described in [17], a number of issues arise when forwarding DHCP
client requests from untrusted sources. These include DHCP exhaustion
attacks, and spoofing of the client identifier option or client MAC
address. These issues can be partially addressed through use of the DHCP
[Page 11]
INTERNET-DRAFT
29 June 2001
[Page 12]
INTERNET-DRAFT
29 June 2001
[4] McGregor, G., "The PPP Internet Protocol Control Protocol (IPCP)",
RFC 1332, May 1992.
[5] Alexander, S., Droms, R., "DHCP Options and BOOTP Vendor
Extensions", RFC 2132, March 1997.
[6] Droms, R., Arbaugh, W., "Authentication for DHCP Messages",
Internet draft (work in progress), draft-ietf-dhcauthentication-16.txt, January 2001.
[7] Cobb, S., "PPP Internet Protocol Control Protocol Extensions for
Name Server Addresses", RFC 1877, December 1995.
[8] Droms, R., Kinnear, K., Stapp, M., Volz, B., Gonczi, S., Rabil, G.,
Dooley, M., Kapur, A., "DHCP Failover Protocol", Internet draft
(work in progress), draft-ietf-dhc-failover-08.txt, July 2000.
[9] Kent,S., Atkinson, R., "IP Authentication Header", RFC 2402,
November 1998.
[10] Kent,S., Atkinson, R., "IP Encapsulating Security Payload (ESP)",
RFC 2406, November 1998.
[11] Piper, D., "The Internet IP Security Domain of Interpretation of
ISAKMP", RFC 2407, November 1998.
[12] Harkins, D., Carrel, D., "The Internet Key Exchange (IKE)", RFC
2409, November 1998.
[13] Dukes, D., Pereira, R., "The ISAKMP Configuration Method", Internet
draft (work in progress), draft-dukes-ike-mode-cfg-00.txt, October
2000.
[14] De Schrijver, P., T'Joens, Y., Hublet, C., "Dynamic host
configuration : DHCP reconfigure extension", Internet draft (work
in progress), draft-ietf-dhc-pv4-reconfigure-04.txt, April 2001.
[15] Waters, G., "The IPv4 Subnet Selection Option for DHCP", RFC 3011,
November 2000.
[16] Stump, G., Droms, R., Gu, Y., Vyaghrapuri, R., Demirtjis, A.,
Beser, B., Privat, J., "The User Class Option for DHCP", RFC 3004,
November 2000.
[17] Patrick, M., "DHCP Relay Agent Information Option", RFC 3046,
January 2001.
[Page 13]
INTERNET-DRAFT
29 June 2001
[18] Droms, R., and Lemon, T., The DHCP Handbook, Macmillan,
Indianapolis, Indiana, 1999.
[19] Volz, B., Gonczi, S., Lemon, T., Stevens, R., "DHC Load Balancing
Algorithm", RFC 3074, February 2001.
[20] Lemon, T., "The Classless Static Route Option for DHCP", Internet
draft (work in progress), draft-ietf-dhc-csr-04.txt, February 2001.
[21] Kelly, S., Ramamoorthi, S., "Requirements for IPsec Remote Access
Scenarios", Internet draft (work in progress), draft-ietf-ipsrareqmts-03.txt, January 2001.
[22] Rekhter, Y., Moskowitz, B., Karrenberg, D., G. de Groot, and E.
Lear, "Address Allocation for Private Internets", BCP 5, RFC 1918,
February 1996.
[23] Atkinson, R., "Key Exchange Delegation Record for the DNS", RFC
2230, November 1997.
[24] Gulbrandsen , A., . Vixie, P., Esibov, L. "A DNS RR for specifying
the location of services (DNS SRV)", RFC 2782, February 2000.
9. Acknowledgments
This draft has been enriched by comments from John Richardson and
Prakash Iyer of Intel, Gurdeep Pall and Peter Ford of Microsoft.
10. Authors' Addresses
Baiju V. Patel
Intel Corp, JF3-206
2511 NE 25th Ave
Hillsboro, OR 97124
Phone: +1 503 264-2422
EMail: baiju.v.patel@intel.com
Bernard Aboba
Microsoft Corporation
One Microsoft Way
Redmond, WA 98052
Phone: +1 425 936-6605
EMail: bernarda@microsoft.com
Scott Kelly
RedCreek Communications
[Page 14]
INTERNET-DRAFT
29 June 2001
[Page 15]
INTERNET-DRAFT
29 June 2001
Fail-over support
Since IKECFG creates a separate pool of address state, it
complicates the provisioning of network utility-class
reliability, both in the IP address management system and in
the security gateways themselves.
Security and simplicity
As past history with PPP IPCP demonstrates, once it is decided
to provide non-integrated address management and configuration
facilities within IKE, it will be difficult to limit the
duplication of effort to address assignment. Instead, it will
be tempting to also duplicate the configuration,
authentication and fail-over facilities of DHCPv4. This
duplication will greatly increase the scope of work,
eventually compromising the security of IKE.
Authentication
While IKECFG can support mutual authentication of the IPsec
tunnel endpoints, it is difficult to integrate IKECFG with
DHCPv4 authentication [6]. This is because the security
gateway will not typically have access to the client
credentials necessary to issue an DHCPv4 authentication option
on the client's behalf.
As a result, security gateways implementing IKECFG typically request
allocation of an IP address on their own behalf, and then assign this to
the client via IKECFG. Since IKECFG does not support the concept of an
address lease, the security gateway will need to do the renewal itself.
This complicates the renewal process.
Since RFC 2131 [3] assumes that a DHCPREQUEST will not contain a filled
in giaddr field when generated during RENEWING state, the DHCPACK will
be sent directly to the client, which will not be expecting it. As a
result, it is either necessary for the security gateway to add special
code to avoid forwarding such packets, or to wait until REBINDING state.
Since [3] does not specify that the giaddr field cannot be filled in
when in the REBINDING state, the security gateway may put its own
address in the giaddr field when in REBINDING state, thereby ensuring
that it can receive the renewal response without treating it as a
special case.
12. Full Copyright Statement
Copyright (C) The Internet Society (2001). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it or
assist in its implementation may be prepared, copied, published and
distributed, in whole or in part, without restriction of any kind,
[Page 16]
INTERNET-DRAFT
29 June 2001
provided that the above copyright notice and this paragraph are included
on all such copies and derivative works. However, this document itself
may not be modified in any way, such as by removing the copyright notice
or references to the Internet Society or other Internet organizations,
except as needed for the purpose of developing Internet standards in
which case the procedures for copyrights defined in the Internet
Standards process must be followed, or as required to translate it into
languages other than English. The limited permissions granted above are
perpetual and will not be revoked by the Internet Society or its
successors or assigns. This document and the information contained
herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE
INTERNET ENGINEERING TASK FORCE DISCLAIMS 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."
13. Expiration Date
This memo is filed as <draft-ietf-ipsec-dhcp-13.txt>, and expires
January 10, 2002.
[Page 17]