Cbda
Cbda
◦ The client may be a rogue client. 3. DHCP Authentication via Kerberos V [6]
This could result in the rogue client im- This particular method of authenticating
properly using up IP addresses or flooding via Kerberos V only authenticates the
the servers with packets, thus draining the client, and involves communication with the
1
Kerberos server in addition to the standard the progression of a successful DHCP exchange,
DHCP communication. and then will describe other possibilities. The
terms used in this section are:
We have designed a new method of authenti- K – The key known by Client and Server
cation for DHCP, called Certificate-Based DHCP
SID – The Secret ID used to look up K
Authentication or CBDA, and we have designed
it to be added to the DHCP Authentication pro- KMAC – Packet hash encrypted with key K
tocol suite [3]. The main benefit of using CBDA Replay – Replay attack prevention data
would be the ease and flexibility of using certifi- For both Delayed Authentication and CBDA,
cates instead of the difficulty of obtaining and authentication information is passed in each
using shared keys across multiple networks. We DHCP packet as an option. Options are pieces
will expand on the benefits, the structure, and of information that are added on to the end of
the implementation in this paper. a DHCP Packet after the DHCP Header. There
Section 2 explains what Delayed Authentica- can be many options in one packet for many dif-
tion is, how it works, and what the issues of ferent purposes, but they all must be less than
its use of shared keys are. Section 3 describes 255 bytes long. Options over that length must
CBDA, the surrounding use of certificates, and be split and then reassembled by the receiver.
related implementation topics. Section 4 gives For more information on passing options, split-
a multi-example comparison of CBDA and De- ting options, and using options in DHCP, please
layed Authentication. Section 5 describes poten- see the corresponding RFCs [1] and [9]. The ad-
tial future work, and Section 6 contains our con- vantage of using options rather than additional
clusions and what we learned from the project. packets is that the DHCP protocol remains un-
changed and the authentication exchange occurs
within the DHCP exchange.
2 Delayed Authentication
The specification for DHCP Authentication
which has been more formally designed and ac-
cepted than many of the others comes from
the IETF [2]. The more secure and interest-
ing method within RFC 3118 is known as De-
layed Authentication. Delayed Authentication
authenticates both a DHCP Client and a DHCP
Figure 1: DHCPDISCOVER Message
Server to each other using a shared symmet-
ric key known to both parties before any DHCP
In the DHCPDISCOVER message, the Client
communication. In addition, the Server and
broadcasts or multicasts the packet with the De-
Client have agreed on a common identifier that
layed Authentication option to known servers a
can reference that secret key without actually
request for a DHCP lease. In this authentication
sending it over the wire.
step, the Server looks up K using SID.
2
In the DHCPOFFER message, the Server re- by providing the time or a nonce, and hashing
sponds with an offer of a lease even though it that as part of the message.
has not confirmed the identity of the Client. To Due to these two reasons, authentication can
confirm the identity of the Server to the Client, be assured with a high degree of certainty. If au-
the packet includes a hash of the packet signed thentication is not successful, however, Delayed
with K referenced by SID. Authentication leaves it to the implementer to
decide what to do. If the DHCP exchange itself
is not successful, Delayed Authentication fails as
any other DHCP implementation would.
2.2 Implementation
We chose to implement Delayed Authentication
on the open-source and free DHCP codebase de-
veloped the Internet Software Consortium [7].
Figure 3: DHCPREPLY Message This made sense since the author of many of the
DHCWG [2] RFCs also wrote the the ISC code-
In the DHCPREPLY message, the Client con- base, and the codebase appeared to be the only
firms its identity by signing the new hash of the free and open-source C distribution available.
DHCPREPLY packet with K. That way, the sig- The ISC DHCP distribution also includes
nature proves that the Client knows K as well. an API to set up remote management for a
This packet is also sent to other servers who of- DHCP Server. Since the remote management re-
fered the leases which the Client wants to turn quires authentication, the ISC codebase includes
down. the Digital Signature Toolkit (DST, [10]) from
Trusted Information Systems, now named Net-
work Associates. We used this toolkit for signa-
tures, hashing, and verifying signed and hashed
information.
Our implementation contains the basic De-
layed Authentication functionality. We did not
specify alternate key management techniques,
Figure 4: DHCPACK Message or allow the same distribution to prefer and
choose between non-authenticated and authenti-
In the DHCPACK message, the final K-signed cated DHCP. However, the implementation fully
hash comes from the Server along with confir- implements the core components of Delayed Au-
mation that the lease acceptance has been imple- thentication as specified in RFC 3118.
mented and the Client may use the configuration To use the authentication option, the hash
in the lease. method and other configuration items are stored
in the configuration file. This method of option
The packet exchange above describes a suc-
management and specification was recommended
cessful exchange – one where the Server and the
by Ted Lemon [8] from the ISC. The following
Alternate Server are both valid servers, and the
lines added to the configuration file enable and
Client is a valid client. Both the Client and
require authentication:
Server are assured that the other is, in fact, who
they claim to be because: send authenticate [HEX STRING];
(a) Both have knowledge of the secret key K require authenticate;
(proved by the signing of the hashes with it) [HEX STRING] is a 32-byte hex list. Each hex
(b) Replay attacks are made much more difficult member is separated by a colon, and the entire
3
list is written as one continuous line, for example, multiple shared secret keys can quickly become
as 0:0:...:0:0. It has five main components: cumbersome.
Hash Type – 1 for HMAC MD5 This is not a comment on the validity of the
protocol itself. As seen in Section 2.1, the De-
RDM – 1 or 0 for Replay type
layed Authentication protocol is secure, com-
Replay – 0:0:0:0:0:0:0:0 for Replay space pact, and usable. The key distribution and man-
SID – 0:0:0:0 for Secret ID space agement requirements, however, may not be that
MAC – 0:...:0 (16 long) for Hash space way in practice.
[HEX STRING] would then be written in order as:
Hash Type:RDM:Replay:SID:MAC 3 CBDA
Which results in the full 32 hex member, colon
separated string. To complement the functionality of Delayed Au-
This section would not be complete without thentication, we propose a new protocol type
at least one comment on the difficulty of adding for DHCP Authentication called CBDA, or
security to an existing codebase and protocol Certificate-Based DHCP Authentication. We in-
which were not originally designed with security tend CBDA to provide more flexibility in DHCP
in mind. For a more in-depth discussion of simi- Authentication, and to provide an alternative
lar issues, and for more information on our opin- method of key management which should be eas-
ions concerning the implementation, please see ier to implement.
Section 6.1. The following sections will provide our mo-
tivations for using certificates (Section 3.1), an
overview of the protocol (Section 3.2), implemen-
2.3 Issues tation methods (Section 3.3), some real-world
The main issues of Delayed Authentication are examples of using and managing certificates for
key distribution and key flexibility. Neither of Certificate Authentication (Section 3.4), and is-
these affect the security of the protocol, but both sues with the Certificate Authentication protocol
have the potential to affect the applicability of itself (Section 3.5).
actually using the protocol in practice.
Delayed Authentication relies on shared cryp- 3.1 Motivations
tographic keys being already known by the client
Once we determined the potential need for a
and by the server. This is one of the major draw-
DHCP authentication protocol that used a dif-
backs to using shared keys – the distribution of
ferent method of key distribution and manage-
them, though complicated, often gets left to the
ment, we then had determine what method of
implementer or sysadmin. The RFC itself at-
authentication would be better. We set the fol-
tempts to remedy this and suggests using a mas-
lowing standards for the protocol:
ter server key with multiple client keys [3] to sim-
plify the magic of key distribution, but this can ◦ It must mutually authenticate both the Client
decrease the security of the design. and the Server
The other disadvantage to using shared keys
becomes apparent when the client changes net- ◦ It should work with a minimum of keys over
works. This will become increasingly common multiple networks
as portable work computers authenticate them- ◦ It should require a minimum of key distribu-
selves on a corporate server, and are then later tion difficulty in general, as well as to work
used to telecommute from a DHCP-based home over multiple networks
LAN. Different networks should require different
keys, and this introduces a new issue with shared ◦ It must be as or more secure than Delayed
key management: the key-chain. Management of Authentication, i.e. it must use encryption
4
rather than plaintext and protect against re- mostly not applicable to the DHCP packet ex-
play attacks change since they are intended for extended
transmissions rather than a few negotiation
◦ It must use well-known, commonly used, and packets.
well-tested security structures, keys, and al-
gorithms
3.2 Protocol Overview
◦ It should more or less follow the same format At a high level, the CBDA protocol involves
as the other two protocols defined in DHCP sending X.509 certificates or certificate chains
Authentication [3] so that it may aid the with a common signer as an option in the
protocol, not replace it DHCPDISCOVER and DHCPOFFER packets,
and then sending only signed hashes of the pack-
We then determined what well-known and ets in the DHCPREQUEST and DHCPACK
tested security formats would apply to DHCP. packets.
The options that we found were: The CBDA protocol works in the same fashion
as Delayed Authentication above. That is, the
DSSA/SPX: A valid protocol that fulfilled Client and Server send authentication informa-
most of the requirements above [5]. The only tion in an option within each DHCP packet and
drawbacks were that, although prevalent in aca- the DHCP protocol itself remains unchanged.
demic texts, there seemed to be only one dis- For more information on options, see Section 2.1
tribution of it available, and that distribution or the RFCs [1], and [9].
could not be found to be in known use. Further-
This section will first present the section defi-
more, the inclusion of a third-party authentica-
nitions within the option, then the option struc-
tor would have prevented the new protocol to
ture itself, and then an example of a successful
follow the same format as the other two DHCP
DHCP exchange between a Client and Server.
Authentication protocols.
The option sections are:
Kerberos: This seemed to be a viable option, Code – Option Code (90, for DHCP Authentica-
especially since work had already been done to tion)
use Kerberos with DHCP [6]. But we rejected
Length – Length of the entire option
it on the basis that it only easily identifies the
client and does not provide protection from rogue Protocol – Authentication Protocol (2, for
servers. In addition, the complexity of commu- CBDA)
nicating between the Kerberos server and the Algorithm – Hash/encryption algorithm (RSA-
DHCP server would make it unlikely to follow MAC or DSA)
the format of the other two DHCP Authentica- RDM – Replay Detection Method (0 for time, 1
tion protocols. for increasing nonces)
X.509 Certificates: Our chosen method. We Replay – The time or the nonce
determined that certificates allow straightfor- Key ID Type – Type 0 (509 CERT CHAIN), Fu-
ward key management and easy switching be- ture values could expand to PGP, etc.
tween multiple networks. X.509 provided a good Key ID Length – Length of the entire key
certificate standard.
Key ID – The certificate chain itself
Others: These included SESAME, bootstrap- Authenticator – Signed or encrypted hash of
ping a shared key off of a public key exchange entire packet except hops and giaddr – both of
and other methods of key exchange such as which are in DHCP main packet [1] and both
Diffie-Hellman, and a few others. These were of which are changed during the transit of the
5
packet – and the Authenticator itself. Those The option structures for DHCPREQUEST
three fields are set to 0 for hashing. and DHCPACK assume that the Server and the
Client both retain (at least for the duration of
The above option contents come together to the particular DHCP exchange and lease) the
form the CBDA option formats. Note the ad- public key contained within the certificate chain
dition of the Key ID and related certificate in- of the other. Because of this, they can recog-
formation, and also note that the Authentica- nize each other, associate the public key with
tor Hash and Replay Detection are retained from the particular Client or Server, and verify the
Delayed Authentication: signed hash at the end of the options. That way,
the certificates do not need to be re-sent. The
public keys can be retained with lease informa-
tion, or they may be indexed in an association
table addressed by either unique information in
the DHCP header, or a similar Client or Server
identifier.
Note also that if the Server wishes to retain
lease information for an authenticated Client
to be re-used in the INIT-REBOOT or other
state [1], the Server must also retain the public
key for the Client along with the IP address and
other configuration information.
Now, as in Section 2, we will give an example
Figure 5: Option structure for DHCPDIS- of a successful packet exchange. Previous to the
COVER, DHCPOFFER, and DHCPINFORM packet exchange, the Server and the Client have
messages the following information:
6
In the DHCPREPLY message, the Client
replies to the Server, accepting the lease
offered by the Server and notifying the
Alternate Servers that it has chosen the
Server. Note that the Client only sends the
new signed hash of the DHCPREPLY packet,
and does not re-send the certificate with Kc . The
Server uses its stored copy of Kc to check the
Figure 7: DHCPDISCOVER Message hash.
7
failures are suggested by Ted Lemon [4]. The have to do the minimum necessary work to be-
implementer, however, may choose to use the come authenticated on a network.
DHCPINFORM message to inform the user of This section provides examples which should
a non-trusted certificate or a similar case. demonstrate how certificate use would achieve
the above. Section 4 uses the same examples to
3.3 Implementation compare Delayed Authentication and CBDA.
Any future implementation of CBDA could eas- (1) Primary Network Example
ily build off of our implementation of Delayed (A user wishes to obtain an IP address on one
Authentication. Not only is CBDA designed to network only, his Primary Network.)
become an additional protocol within the ex-
isting DHCP Authentication RFC [3], but the On the Primary Network, one would want the
implementation of Delayed Authentication pro- length of the certificate chain to be as small as
vides a clear path toward refining and imple- possible, since this certificate would be sent the
menting CBDA. most often. The most straightforward method
For example, two main Delayed Authentica- to do this:
tion implementation hurdles (as also discussed Have each user on the DHCP network ob-
in Sections 2.2 and 6.1) were the issue of modi- tain a certificate with their public key signed by
fying a fully-formed packet before putting it out the Primary Network CA. The Primary Network
on the wire, and the issue of where to store the DHCP Servers would then accept all valid, non-
keys and other authentication information. Both replay DHCP packets with certificates signed by
of these hurdles also need to be crossed in any the Primary Network CA.
implementation of CBDA. Thus, implementing
Delayed Authentication provides a direct basis (2) Separate Multiple Networks Example
for future solutions to these issues. (A user wishes to obtain an IP address on multi-
ple separate networks that are not associated with
3.4 Certificate Use each other, for example, his Work Network and
his Home ISP Network.)
The use and depth of certificates and certificate
chains would depend on the individual security Two main methods exist to achieve authen-
policies of the client and server. The flexibility tication on both networks. The two networks
of certificates allows the user and sysadmin to can either agree on some third-party CA outside
determine whether certificates should be issued both networks, say, Trusted CA, or the user may
on an individual level, on a group level, or even obtain separate certificates for both networks.
on a world-wide level. Neither method involves modifying any DHCP
This section will provide examples of designing server key tables, and neither method requires
and using a certificate policy, and also give po- the two networks to trust one another.
tential methods to incorporate revocation with
certificates used to authenticate DHCP. (3) Temporary Network Example
(A user wishes to have the temporary ability ob-
3.4.1 Certificate Examples tain an IP address on a Secondary Network.)
The use of certificates in DHCP Authentication This example may occur if one was to give a
intends, among other things presented in 3.1, to presentation, provide customer service, perform
make identities of the ever-changing and large a contract job, or simply rent an address from
user base of a DHCP network easier to monitor. or visit a café with a different network than his
The Server should need to keep as few known Primary Network.
and trusted keys as possible. The Client should There are many methods to achieve this, but
8
all are similar to the following two methods. The ample. In addition, this example further demon-
user can either: strates that new hosts may be properly authen-
(a) Have his existing certificate or a new cer- ticated without sharing any secret keys, even
tificate signed by the Secondary Network CA, across networks that trust one another.
and construct the time limit in that certificate
to equal the need for the IP address, or (5) Rogue Client with Credentials
(b) Have the Secondary Network DHCP (A user who has obtained a valid key or certifi-
Servers modified to accept certificates signed by cate, and then has decided to create mischief ).
his Primary Network CA permanently.
Examples (5) and (6) are anything but sim-
The choice depends on the security policy ple. The Server handling a rogue Client is the
of the Secondary Network, and how much key slightly simpler case, since all servers can be con-
management effort the user Client and DHCP figured to watch for a non-expired certificate and
Server are expected to perform. This allows a reject it.
new entry to the DHCP server if certificates from This still, however, leaves the difficult ques-
the Primary Network CA are trusted and com- tions of how to distribute certificate revocation
monly used, and places the effort on the user information to all the servers, and how to make
otherwise. sure all servers have matching acceptance poli-
In either case, even if a network trusts the sig- cies. As discussed in Section 3.4.2, both ques-
nature on a certificate, the network may choose tions are outside the scope of this paper.
to only temporarily accept a particular Client
by setting a short validity time in his certificate (6) Rogue Client with Credentials
and lease. (A server who has obtained a valid key or certifi-
cate, and then has decided to create mischief ).
(4) Trusted Multiple Networks Example The problem of a valid Client detecting a
(A user wishes to obtain an IP address on two rogue Server adds even more complexity to the
networks, Network A and Network B. Both net- above problem of detecting a rogue Client. Since
works trust each other or have agreed on a the valid Client may not yet be attached to the
trusted common CA called Trusted CA.) network, one cannot guarantee it to reliably get
any revocation information via commonly used
This example may occur in very large corpo-
notification methods.
rations that are spread across wide geographical
areas. Network A may be in California, while For more information on solutions for the
Network B may be in Ireland. If both Network Client obtaining Certificate Revocation lists
A and Network B are owned by a common com- while using Certificate Authentication, see Sec-
pany, however, it often makes sense that if an tion 3.4.2.
employee travels between Networks A and B that The most obvious solution to both problems in
employee should obtain an IP address at both Examples (5) and (6), however, would be to keep
sites. tight security on who gets certificate credentials
in the first place.
The solution to this example can be the same
as in the Primary Network Example and the Sep- On most of the above examples, solutions for
arate Networks Example – obtain one certificate what the server should accept are presented, but
signed by Trusted CA, and use that on both net- no solutions for what the client should accept are
works for authentication. presented. In most cases, if the Client chooses to
This example differs, however, since Network get a certificate signed by a network, the Client
A and Network B trust each other. They may trusts that network and should therefore accept
agree to accept certificates signed by the other, in incoming certificates signed by the same net-
a similar fashion to the Temporary Network Ex- work. This will guarantee some intersection of
9
trust between the Client and Server. some Certificate Authority. Then, whenever a
Client contacts a Server for a DHCP lease, the
Server would be required to send out the signed
3.4.2 Certificate Revocation
revocation list, either in the form of an DHCPIN-
As explained in the examples above, one of the FORM message or within the main DHCP ex-
issues of using CBDA comes up when a user in change itself.
possession of a valid certificate creates mischief. Problems with this method still exist, how-
For the servers, updating certificate revocation ever. This would either require the CA to pub-
lists becomes relatively easy when one assumes lish empty revocation lists to prevent a rogue
that the Server is nearly always connected to DHCP server from claiming there were no revo-
the network and thus can get the most recent cations, or would require the Client to take some
list. sort of consensus of the lists it did receive from
The Client, however, by very nature of DHCP, other servers.
is not guaranteed to be predictably connected to
In any case, note that the general problem
the network. In addition, in order to use any
of revocation is not limited to CBDA. It an
certificate revocation information in a DHCP ex-
open and difficult question. DHCP merely fur-
change, the information must come to the Client
ther complicates the problem with the difficulty
before or during the exchange. That is, the re-
of contacting clients before or while they are
vocation information must be delivered to the
obtaining their network information. Imple-
Client when the Client potentially does not yet
menting revocation for the Client and even the
know its own IP address. This becomes obvi-
Server remains a non-trivial task and an open
ously difficult.
problem outside of the scope of this paper.
We have devised two main solutions for notify-
ing a Client of a revocation, and neither is very
clean or low-cost. 3.5 Issues
Distribution by the Certificate Revocation Au- Although we believe that adding CBDA to
thority DHCP Authentication makes the protocol more
flexible and better able to be deployed over large
This solution entails having a Certificate Re-
vocation Authority reply to any DHCP broad- and varied networks, CBDA does have some is-
cast messages and respond by broadcasting the sues.
latest revocation lists. The Client may then wait First of all, there are the trust issues present in
any certificate chaining protocol. For example, if
to receive the revocation list around the time of a
DHCPOFFER, the Client may then check that the certificate signatures from inward out read:
Client → Server A → Server B
the certificate for the Server is not listed, and
then the Client may proceed with the DHCP All that Server B knows about Client is that
process. Server A signed a certificate for Client. This
means that, as certificates are only as good as
Obviously, this not only limits itself to clients
sending DHCP requests out on broadcast, but the issuing methods to decide which ones to sign,
puts a great deal of additional load on the Cer-certificate chains are only as good as the weakest
tificate Revocation Authority to send out revo- such method in the entire chain.
cation information in response to every single Secondly, certificates are very large and DHCP
DHCPDISCOVER it hears and potentially open packets were originally designed to be relatively
itself to flooding. small. In specification [1], no universal limit ex-
ists for DHCP packets, but in practice there nec-
Distribution by the DHCP Server essarily needs to be a limit to prevent flooding
This solution entails having the DHCP Servers of a host. Clients may specify the maximum
store the revocation lists, which are signed by length DHCP packet they will accept, and many
10
of these limits may need to be redesigned if long by the Primary Network CA.
certificate chains are used. Advantages: No key tables to keep track of on
Third, the certificate revocation policy, be- the DHCP servers.
yond setting very short certificate expiration Disadvantages: Long packet length, question
times, could be very complicated to set up. In of trust on other signatures in the certificate.
addition, a revocation policy may create as much
of a demand on issuing the revocation list as (2) Separate Multiple Networks Example
on the DHCP server itself, as described in Sec- (A user wishes to obtain an IP address on multi-
tion 3.4.2. Fortunately, if the policies for issuing ple separate networks that are not associated with
certificates are strict enough in the first place, each other, for example, his Work Network and
revocation would be extremely uncommon. his Home ISP Network.)
All of these issues demonstrate the cost of be-
ing able to authenticate DHCP packets in mul- Delayed Authentication Solution: Have each user
tiple networks as well as being able to have a obtain an individual shared key from both sysad-
minimum number of keys to authenticate with. mins. Obtain and load both keys securely.
Advantages: Same as Example (1).
Disadvantages: Multiple keys must be used,
4 Protocol Comparison and they must be securely obtained and man-
aged.
The CBDA protocol was designed to become
DHCP Option 90 (in DHCP Authentication CBDA Solution: Have the Client obtain two
RFC 3118), Protocol 2 (Certificate-Based Au- separate certificates, or find an intersection of
thentication). Protocol 0 is the plaintext Token trust between the networks and obtain that sig-
protocol, and Protocol 1 is Delayed Authentica- nature.
tion, described in Section 2. Advantages: Potentially able to use only one
This section will demonstrate how, as part of certificate. Certificates need less security be-
the DHCP Authentication protocol suite, CBDA cause the CBDA requires private-key signed
would complement and extend the abilities of hashes as well.
Delayed Authentication. To show this, as in Sec- Disadvantages: Same as Example (1).
tion 3.4.1, we will provide the same multiple sce-
nario examples to demonstrate how the two pro- (3) Temporary Network Example
tocols compare. (A user wishes to have the temporary ability ob-
tain an IP address on a Secondary Network.)
(1) Primary Network Example
Delayed Authentication Solution: Have the user
(A user wishes to obtain an IP address on one
obtain an individual shared key from the sysad-
network only, his Primary Network.)
min. The sysadmin deletes the key from each
Delayed Authentication Solution: Have each user server after the temporary time limit has been
obtain an individual shared key from the sysad- reached.
min. Obtain and load key securely. Advantages: Same as Example (1).
Advantages: No expiring certificates, easy Disadvantages: Must edit the key tables on
to revoke DHCP access for a particular client, all DHCP servers for all visiting or temporary
(delete the shared key from the database). parties.
Disadvantages: Must use and update a table
CBDA Solution: Obtain the signature of the Sec-
to track all the shared keys, difficult to distribute
ondary Network CA, or have the Secondary Net-
keys securely to a large network.
work CA accept another signature that the user
CBDA Solution: Have each user obtain a certifi- has already. Design the certificate to only be
cate of their public key from the sysadmin signed valid for desired length of time.
11
Advantages: Potentially able to use only one In the case of a rogue Server, the problem
certificate. The time limit takes care of itself becomes harder. As presented in Section 3.4.2,
when the certificate expires. getting revocation information to clients is any-
Disadvantages: Must find a common CA, even thing but trivial.
for just a simple visit, plus all items in Example
(1). Delayed Authentication Solution: Unfortunately,
there does not appear to be a way to let a client
know to ignore a particular server with a valid
(4) Trusted Multiple Networks Example
key. By the nature of Delayed Authentication,
(A user wishes to obtain an IP address on two
all keys on all servers are the same and are ref-
networks, Network A and Network B. Both net-
erenced by the same number. Therefore, a client
works trust each other or have agreed on a
cannot tell any difference between servers by
trusted common CA called Trusted CA.)
their key alone. If the server does not change
Delayed Authentication Solution: Have the user its IP address, however, the client can perhaps
obtain an individual shared key from both sysad- block it or other machine-specific information,
mins. Obtain and load both keys securely. but if the key is stolen and moved to random lo-
Advantages: Same as Example (1). cations, distinguishing the maliciously used key
Disadvantages: Multiple keys must be used if from a valid one is impossible.
the DHCP Servers on the separate networks use Advantages: None
different keys, and they must be securely handled Disadvantages: Difficult to implement
even though the networks have a common trust.
CBDA Solution: Each server should have an in-
CBDA Solution: Have the user obtain one cer- dependent public key even though all certificates
tificate signed by Trusted CA. may be signed by someone the client trusts. The
Advantages: Able to use only one certificate. client may block that public key.
Disadvantages: Same as Example (1). Advantages: Can potentially distrust the
rogue certificate individually.
(5) Rogue Client with Credentials Disadvantages: Very difficult to assure knowl-
(A user who has obtained a valid key or certifi- edge of a rogue server. See Section 3.4.2.
cate, and then has decided to create mischief ).
The above examples should demonstrate that
Delayed Authentication Solution: Delete the key
CBDA cannot replace Delayed Authentication,
for that Client from all Servers
but only augments it. For simple, small net-
Advantages: Only requires a deletion from the
works, Delayed Authentication is a good choice.
key database.
For large and ever-changing networks, CBDA is
Disadvantages: Difficult to implement.
a better choice.
CBDA Solution: Notify all Servers to watch for
that particular certificate or public key, or delete
the corresponding signature from the trusted ta- 5 Future Work
ble.
Advantages: Can choose block certificates at The main focus of future work will be first to al-
any level. low others to comment on the CBDA protocol,
Disadvantages: Requires specific blocking in- second to take those comments and refine the
stead of deletion, difficult to implement. design, and then finally to move toward imple-
menting it.
(6) Rogue Server with Credentials Other future work can be done on the Delayed
(A server who has obtained a valid key or certifi- Authentication implementation to allow varied
cate, and then has decided to create mischief ). key management methods. This would better
12
allow Delayed Authentication to adapt to the ex- the future, we would consider the small, custom,
amples presented in Section 4. proof-of-concept basis, even if in the end we may
not choose it.
13
On the other hand, Kerberos V would only Online (1993-2003). Available:
solve the client authentication issue, would in- http://www.ietf.org/html.charters/dhc-
volve hefty modification of the DHCP protocol, charter.html
and yet at least two internet drafts appeared
specifying how to use Kerberos V in DHCP au- [3] Droms and Arbaugh. Authentication for
thentication. Presumably the internet drafts DHCP Messages. RFC Number 3118.
were inspired by the breadth of use Kerberos en- Online (2001). Available:
joys today. http://www.ietf.org/rfc/rfc3118.txt
Because of these issues, we added the addi- [4] Droms and Lemon. The DHCP Handbook.
tional requirement in Section 3.1 that the pro- Sams Publishing (2003).
tocols of CBDA must be commonly used. We
feel that CBDA is a good protocol despite the [5] Gollman, Dieter. Computer Security. John
requirement, but in other circumstances the op- Wiley and Sons, Chichester (1999). Pages
tions may not have been as good. 171-174.
In short, we learned that the best choice may
[6] Hornstein et al. DHCP Authentication via
not always be the choice which will actually get
Kerberos V. 20 November 2000. Internet
used. Thus, the implementer may be faced with
Draft (c) The Internet Society.
a choice between use or quality – a very silly
choice. In our case, we simply used the choice [7] Internet Software Consortium. Dynamic
as motivation to look beyond DSSA into other, Host Configuration Protocol (DHCP) Dis-
more common methods of authentication. From tribution. Online (1998-2003). Available:
this, we happened to think of certificates, which http://www.isc.org/products/DHCP
ended up being a better suited method.
[8] Lemon, Ted. Personal communication.
January through March, 2003.
6.2 Summary
[9] Lemon and Cheshire. Encoding Long
This paper has presented another protocol for
Options in the Dynamic Host
the DHCP Authentication protocol suite [3].
Configuration Protocol DHCPv4. RFC
The protocol, called CBDA, uses X.509 certifi-
Number 3396. Online (2002). Available:
cates to extend the functionality and usability
http://www.ietf.org/rfc/rfc3396.txt
of DHCP Authentication over large, varied, and
changing networks. This paper also discusses [10] Network Associates. Digital Signature
the implementation of another DHCP Authen- Toolkit Distribution. Formerly TIS Digital
tication protocol, Delayed Authentication, and Signature Toolkit. Contact Online (2003)
explained how the two protocols compare, and Available: http://www.nai.com/
discussed how CBDA may be easily implemented
from a Delayed Authentication implementation. [11] Schneier, Bruce. Applied Cryptography.
John Wiley and Sons, Chichester (1996).
Pages 574-577.
References
[1] Droms. Dynamic Host Configuration
Protocol. RFC Number 2131. Online
(1997). Available:
http://www.ietf.org/rfc/rfc2131.txt
14