1420044648
1420044648
1–13
BK15573—CHAPTER ——15/11/2006—16:08—MAHESWARI—15574—XML MODEL C – pp. 1–13
BK15573—CHAPTER ——15/11/2006—16:08—MAHESWARI—15574—XML MODEL C – pp. 1–13
BK15573—CHAPTER ——15/11/2006—16:08—MAHESWARI—15574—XML MODEL C – pp. 1–13
DEDICATION
Lyle Brown has been professionally involved for the past 30 years in one
form of information technology (called data processing when he began) or
another. He obtained a batchelor’s degree in computer science in 1975 from
the University of Southwestern Louisiana and worked as a programmer on
DEC PDP-8 computers for a year before spending more than 20 years
working for the state of Louisiana. During those years, he became interested
in LAN and WAN technologies and developed some of the first implemen-
tations for various state agencies. After leaving state employment, he
worked for various companies designing, developing, and implementing
Cisco-based local and wide-area networks. He obtained a variety of
certifications, most prominently as a Cisco Certified Internet Work Expert
(CCIE). Lyle is currently employed by BearingPoint as head of the Global
WAN, LAN, VPN, and Wireless Technologies Architecture group. He and his
wife reside in Louisiana.
1 Overview................................................................................................... 1
1.1 What Is 802.1X and Why Should I Care? 2
1.2 The History and Technical Documents 9
1.3 How Does It Work? 19
Index................................................................................................................231
OVERVIEW
Amazingly enough, the title of this chapter explains what it is all about. This
chapter is intended to provide a basic foundation in the subject of Port-
Based Authentication that will be sufficient upon which to build a deeper
understanding. The way in which I will accomplish that is to provide three
sections in this chapter.
The first section will contain what is anticipated in a first section. It will
provide a fundamental description of 802.1X—Port-Based Authentication:
what it is, how it functions, and why it is important. The amount of detail is
minimal in this chapter. It is intended to ensure that a basic level set of
information has been established. Subsequent sections of the book will
provide most of the detailed information of how and why 802.1X functions
in a specific way in a given circumstance. This section identifies the three
network components and the various protocols involved in an 802.1X
authentication.
The second section may seem a little out of place. It is a discussion of the
history of the standard and the technical documents published. Many books
will begin with the history before proceeding to a discussion of how it
works. I am not certain that the history of 802.1X is unique, and because of
the entities that were involved in the development of the standards, it
probably is not. The history of 802.1X is convoluted and complicated
because of the interactions of standards over time. The history involves at
least three distinct sets of standards and two organizations. Understanding
what is being developed at a particular point in time, and roughly how the
pieces fit together, helps to clarify the current status of the standards. Also,
the history is so brief that both sides of technology implemented at an
evolutionary point in time are still present in many networks. Both pre- and
post-evolution changes in technology exist in current networks. This means
that understanding when a particular product was created will imply certain
capabilities or the lack thereof in any given network.
The final section in this chapter is really a bridge into the next chapter. It
provides the details of the connections among the three network com-
ponents. The various conversations that can take place in the authentication
process are diagramed. Detailed information is provided on what can occur
in each exchange and under what conditions.
server for validation. If successful, the RADIUS server tells the switch or access
point—and the device wishing access is allowed to fully connect. If the
validation is not successful, the switch or access point is notified, as well, and
no access is allowed.
Thus, there are three parties involved in the process. The first is the
device wishing to connect, known as the Supplicant. The second device is
the one to which the Supplicant wishes to connect. This device is part of the
local network infrastructure and is known as the Authenticator. The third
device that houses the credential information is usually a RADIUS server and
is known as the Authentication Server. The Authenticator sits between the
Supplicant and the Authentication Server. No direct communication is ever
allowed between those two entities. The Authenticator is always the
recipient of any communication and always will repackage the content of
the communication before forwarding it. The Authenticator usually will not
be able to translate the content of credential exchanges, but must be able to
repackage the content from either the Supplicant or the Authentication
Server and forward it to the intended recipient. By inserting itself in the
process in this fashion, the Authenticator can guarantee that the Supplicant
cannot communicate with any other device.
EAPOL is a very simple protocol that is used only in Port-Based
authentication between an Authenticator and a Supplicant in an 802 LAN.
The basic communication consists of two types of packets. The Authenticator
sends Request-Identity packets to the Supplicant. The Supplicant sends
Response packets to the Authenticator. Based on notification from RADIUS
concerning the validity of credentials supplied by the Supplicant, the
Authenticator will send either Success or Failure packets to the Supplicant.
There are a couple of additional types of packets that will be discussed, but
the basic protocol consists of these four types of packets.
The Port-Based Authentication process does venture into the realm of
Authorization to a certain extent because the VLAN in which a device is
placed is variable. The VLAN can be a Guest VLAN, the Authorized VLAN
associated with a port, or even a dynamic VLAN associated with the
credentials. The assignment of a VLAN within Port-Based Authentication
is very robust.
Why is this becoming more important in local networks? There are two
situations that are influencing this. First, electronic access to information is
becoming a basic function of many jobs, and, second, it is becoming more
common for attacks on networks and theft of information to occur. Port-
Based Authentication can be one mechanism employed to help both
situations. Port-Based Authentication can help ensure that only people
who are supposed to be on a network are the ones on it. This reduces
the population that must be inspected to a level that is at least controllable.
Yet, this is the first level of security, not the only one that should be
implemented.
The original networks that were developed never really had security as a
premise. They were developed to expedite access, not protect it. If you
could plug into a network port, you usually had access to everything on the
network. Some sensitive information probably was protected where it
resided, such as a server, but the transport of the information across the
network was not. That became the foot in the door, and for a creative,
unscrupulous person, that was all that was needed. Thus, protecting access
to a network port has become increasingly important. Historically, many
mechanisms have been implemented to restrict access. Each and every one
has certain shortcomings. 802.1X has its share as well. It is doubtful that
there will ever be a solution developed that will not have at least a hole
or two.
Port-Based Authentication provides one leg of a multi-legged beast
intended to lessen the vulnerability of a proprietary network. 802.1X
enhances the likelihood that everyone attached to a local environment is
authentic. That statement is important. In fact there are two parts to that
statement that are important: local environment and authentic. 802.1X may
be implemented in a worldwide enterprise with hundreds of sites and
thousands of ports, but it is ultimately concerned with only one port at a
time. The local environment is reduced to the scope of one device
attempting to connect to the network. That is the first part. The second
part is that 802.1X is intended to ensure that the one device attempting to
connect is actually authentic—or authenticated.
It is difficult to separate authorization from authentication. Frequently,
the question becomes, “Is this user allowed to access this resource?” rather
than “Does this user have credentials that verify that he is who he says he is?”
Look at the first question. It presumes that the second question has been
answered. Should not a user first prove he is who he claims to be before he
is authorized? Viewed in this manner, authentication is a prerequisite for
authorization. Ultimately, the two functions must work together, and 802.1X
provides a mechanism to ensure that only authenticated users or devices are
allowed on the network.
At the time of the writing of this book, EAP, 802.1X, EAP-Methods, and
RADIUS have all recognized one another and have melded into a fairly
comprehensive set of formal documents. However, the evolutionary process
is not complete. There is significant work being currently conducted to
extend the evolutionary process—especially in terms of wireless security.
RFC3579 RFC4017
RFC2284 RFC2716 RFC2865 IEEE8021x-2001 RFC3580
IEEE80211i-2004
RFC3748
IEEE8021x-2004
main protocol leveraged in the 802.1X authentication process. Thus, the real
birth of 802.1X can be established with the publication of this RFC.
This document is pretty small. Compared to most published standards it
is almost trivial in size. The reason for this is the fact that Link Control was
already defined and implemented. This simplified the construction of RFC
2284. The content of this document fits into a small niche within the PPP
suite of definitions and standards, and leverages all of that previous work.
But do not be fooled by the size of the document. It may be just a few pages,
but the content establishes the foundations for everything that is now
happening in the world of 802 authentication.
There are exactly two “technical” sections in this RFC. The first is only a
few pages long and describes the protocol itself. This section roughly
describes the flow and carefully avoids a definition of how authentication,
itself, takes place. It describes three entities: a peer (known as the
Supplicant), an Authenticator and an optional “backend” (called the
Authentication Server). The gross flow of information between the Suppli-
cant and the Authenticator is defined in this section.
The second section of the RFC is not much longer and further describes
the structure of EAP packets containing authentication information. It does
not describe how this information is to be used or the complete flow of
packets required for that authentication. It does define a limited number of
types necessary for the process to function, including Identity, Response,
and NAK. Within the specifications, only one mechanism is required to be
supported for authentication. That is MD5-Challenge. The RFC allows for
user input and the support of One Time Passwords and Generic Token
Cards.
Thus, RFC 2284 is really just a tease. It extends PPP, at the Link Layer, to
allow for authentication prior to the initiation of higher layer services, but
does not describe how that authentication is to take place. This is not a hole
in the RFC, but, instead, a forward-looking approach that allowed a robust
authentication environment to develop. The authors of RFC 2284 may or
may not have anticipated the direction and impact of EAP, but they appear to
have been wise in excluding a stringent definition of the authentication
process while simply defining a mechanism to support the process. In this
RFC, the actual transport of credentials was defined with an encapsulated
protocol called EAP-Methods. As expected, several different approaches to
actual authentication have been developed using EAP-Methods. Many are
proprietary, but one, EAP-TLS, has become a standard with formal
specifications.
In summary, the original specifications for EAP-Methods identify only six
EAP Type codes, 1 through 6, with the first three being Identity, Notification,
and NAK. MD5, which is Type 4, is also required by the RFC. Provisions are
made for One Time Passwords, Type 5, and Generic Token Cards, Type 6.
Now, in 2005, there are almost fifty codes that are assigned as EAP Types.
Some types are established in published documents and some are not. Some
The IEEE definitions are consistent with the RFC published two years later
that discusses RADIUS attributes, RFC 3580.
This brief discussion of the birth of 802.1X in 2001 also established a link
to the RADIUS track. Let us go back to that track and move forward from
2001 to 2003. Multiple RFCs were published in 2003 regarding RADIUS. The
two that were most involved with 802.1X are RFCs 3579 and 3580. RFC 3579,
RADIUS (Remote Authentication Dial In User Service) Support For Exten-
sible Authentication Protocol (EAP), was published almost simultaneously
with RFC 3580—which we have been discussing. RFC 3580 delineates the
use of RADIUS attributes within the 802.1X process and RFC 3579 discusses
the behavior of RADIUS as it interacts with EAP. Thus, by mid-2003, there
were documents that clearly identified RADIUS as the backend of choice
and described how to use it within 802.1X.
RFC 3579 does not discuss methods of authentication. It simply identifies
a set of uniform mechanisms, protocols if you will, that must be utilized to
support the actual methods of authentication. It defines how communi-
cation will occur, how lost packets will be handled, how fragmentation will
occur, etc. The concept is that documents such as RFC 2716 (EAP-TLS) will
continue to describe the logical authentication process while RFC 3579
describes the lower level physical processes that must be supported.
As discussed earlier, RFC 3580 describes the behavior of RADIUS within
the 802.1X framework. RFC 3580 is entitled: IEEE 802.1X Remote Authenti-
cation Dial In User Service (RADIUS) Usage Guidelines. It is heavily
concerned with the use of RADIUS attributes and how those attributes
can be used to modify the behavior of the Authenticator when a successful
authentication has been accomplished.
By 2003, there were definitions of EAP, 802.1X, methods of authentica-
tion such as EAP-TLS, and significant work on how RADIUS fit in as the
backend Authentication Server. At this time, there were a robust set of
standards and informational documents describing this Port-Based Authen-
tication process. But technology has continued to evolve and malicious
individuals have exploited holes in the definitions. This means that the
standards have had to evolve as well.
Everything discussed so far is the historical documentation. Assume that
the modern world began in 2004. Since that time an entirely new breed of
initiatives have been developed to enhance and extend 802.1X. The first of
those initiatives was to replace RFC 2284 with a new definition in RFC 3748,
EAP. The IEEE also has supplemented the definition of 802.1X with IEEE
802.1X-2004. Both documents were published in 2004. They are much
thicker than the originals, and weightier in both the physical and logical
sense.
The new releases of RFC 3748 and 802.1X-2004 expand the definitions in
the EAP and 802.1X tracks significantly, but do not change the fundamental
processes previously established. That is kind of an oxymoron because if
they did change the process, then they would no longer be revisions. They
would be new standards.
The IEEE document, 802.1X-2004, does not spend much more verbiage
describing the basics than the 2001 document does. It does have a number
of pages devoted to clarifying functions and also includes several new areas
of discussion. The EAPOL state machines are described in detail. A huge
portion of the document is devoted to a discussion of how management of
ports and the management process occurs. The Management Information
Base (MIB) is covered in detail. Where three pages were dedicated to the
subject of management in the 2001 document, almost sixty pages (roughly
one third of the entire document) are dedicated to the subject in the 2004
version. Work is continuing in this area with 802.1aa—802.1X Maintenance.
This document is currently in draft status.
Another significant addition to the 2004 IEEE document is an annex that
describes the use of RADIUS. Primarily this focuses on the various attributes
available: the definition of content and function during the authentication
process. These descriptions are consistent with RFC 3580, in the RADIUS
track, published a year earlier. The document also describes the few
attributes specifically available for use by 802.1X in the accounting
portion of AAA.
The standard also provides significant information concerning 802.1X
behavior with regard to various attacks. This information is consistent with
that provided in RFC 3748. Specifically, piggybacking, snooping, crosstalk,
rogue bridge, bit flipping, and negotiation attacks are discussed and the
behavior of 802.1X in each attack is defined.
RFC 3748, Extensible Authentication Protocol (EAP), expands on the
original definitions of EAP contained in RFC 2284. Just like IEEE 802.1X-
2004, it does not fundamentally alter the behavior of the protocol. Instead, it
recapitulates and expands the definitions. One EAP Type—an Expanded
NAK—was added to allow for negotiation of EAP-Method.
The first sections of the new RFC are dedicated to a discussion not
contained in the previous specification—how EAP functions between
Supplicant (now called an EAP Peer) and Authenticator. Four distinct
Layers of function are described: Lower Layer, EAP Layer, EAP Peer or
EAP Authenticator, and EAP-Method. Even though this is a dry, technical
portion of the document, it is very important because it shows how the
entire thought process is maturing. This section formalizes exactly how the
pieces-parts fit together in a much more structured fashion than was
originally proposed. This type of detail is shown in discussions regarding
the flow of packets and the responsibilities of the Supplicant and the
Authenticator within each flow.
The second major change in the new EAP specification is a discussion of
threat mitigation. EAP is either in use or being proposed for use in some
shared environments. Wireless is the first shared environment where EAP is
truly being implemented. This environment, while exhibiting connection
the major flows will be discussed and many of the less common flows will
be described. Several additional deviant scenarios will be detailed in later
sections. A number of successful authentications, as well as failures, are
included in this section.
As discussed earlier, the authentication process consists of the interaction
among three entities: a Supplicant, an Authenticator, and an Authentication
Server. The Port-Based Authentication process is anchored in EAP and
EAPOL for communication between Supplicant and Authenticator, in
RADIUS for communication between Authenticator and Authentication
Server, and finally in EAP-Methods for logical conversations between
Supplicant and Authentication Server.
802.1X operates within the IEEE specifications for 802. This body of
standards pretty much defines all local and metropolitan networks in
existence. Of particular interest to 802.1X is an associated standard,
802.1D—Media Access Control (MAC) Bridges. This standard is fundamental
in the development of switches. A switch is as close to a Point-to-Point link
as can be implemented in a local network. And EAP, which is fundamental to
Ethernet environment, the common term for that situation is that “link has
been established.”
The port on the switch is really a MAC bridge and functions according to
the specifications pertaining to bridges as defined in IEEE 802.1D. According
to the definitions of 802.1D, including Spanning-Tree, there are certain
activities that must take place before full connectivity is established. The
bridge must ensure that the device attempting to connect will not cause a
loop and “break” the existing network. Thus, a certain amount of com-
munication to resolve that question takes place across the link prior to other
communication being allowed. This is very important to both Spanning-
Tree and 802.1X. There is a finite period of time prior to full communication
being allowed, and there are activities required to take place in that time
prior to the establishment of communication across a new link. Because
802.1X, like Spanning-Tree, does not want communication immediately
available to a device that has caused link to be established, it can leverage
Spanning-Tree implementations. Since Spanning-Tree is a basic concept,
this means that 802.1X can leverage something that is implemented in every
network connection. Of course, there are some situations where Spanning-
Tree is not implemented—and 802.1X will not be implemented in those
either.
Now note the characteristics of the link. It is between two—and only
two—devices. This is pretty much the definition of a Point-to-Point link. Is
not it reasonable, therefore, to leverage definitions in the protocols defined
for that type of link in links that exhibit similar characteristics as well? The
basic premise of Point-to-Point connectivity is essential to 802.1X and is
present in both a switched wired and a wireless network. Well, it is and it is
not. Because there is no peer-to-peer communication really available
in wireless, it seems to be a Point-to-Point network. But it is not. All the
traffic is available for anyone to read. It is also possible to spoof messages
between a client and an access point. The same situation also applies to a
switched network because a hub can be inserted between the Supplicant
and the Authenticator. Neither type of network can really guarantee a true
Point-to-Point environment. This means that a wide variety of attacks are
possible and must be mitigated. This is why there is so much interest in EAP-
Methods that can be used to secure credential exchanges.
So a device is plugged into a port enabled for 802.1X on a switch. The
first thing that happens is for the Supplicant, in some fashion, to cause the
port to become active. The physical layer connection is established as
shown in Figure 1.3.
When link is established, the 802.1X process is initiated in either or both
of the connecting devices. By definition, the Authenticator must initiate a
conversation when it senses that the physical link has been established. It
asks the supposed Supplicant to identify itself through the use of an EAP
Request Identity message. The Authenticator waits for a response. Either a
response is received and the process continues or a response is not received
Supplicant Authenticator
Supplicant Authenticator
Request identity
(wait)
Request identity
(wait)
Shut down link
Supplicant Authenticator
Request identity
Response
Supplicant Authenticator
Port is unauthorized
Any traffic
EAPOL ASF-Alert
Supplicant No authenticator
Wait
Wait
Enter VLAN
Supplicant No authenticator
Issue EAPOL-Start
Wait
Enter VLAN
Probe
Response
Open system
Authentication request Open system
Authentication response
Association request
Association response
string coded on both devices and is used to authenticate the sender and
encrypt portions of messages between the two. This provides some
guarantee to each that the other is authentic and communication is
allowed between them. The second leg is the use of Authentication,
Authorization, and Accounting (AAA) parameters to tell the Authenticator
what mechanisms are to be used for the Authentication process. The last leg
consists of parameters that tell the Authenticator what it is supposed to do
depending on the success or failure of a Supplicant’s authentication. The
combination of these three legs becomes pertinent after the Authenticator
and the Supplicant have established communication with an initial,
successful exchange of frames.
To begin working with the Authentication Server, the Authenticator must
have received a response to the Request Identity packet sent. This response
contains some “identity” information supplied by the Supplicant. Now the
Authenticator must find a RADIUS server that is a functional Authentication
Server. One or more addresses of servers must be configured in the
Authenticator. It will use these addresses to initiate a conversation with
the Authentication Server. Likewise, the Authenticator must have been
previously identified to the Authentication Server. No communication will
be allowed to take place unless the devices can identify each other as a
legitimate potential source of packets. This is accomplished through the
mutual recognition of IP addresses and of the shared secret.
The Authenticator issues a RADIUS frame to the primary Authentication
Server configured. This frame is known as an Access Request. It will contain
the credential information supplied by the Supplicant. The Authenticator
will attempt to contact all RADIUS servers configured until a response is
received. If no response is received from the primary server, it usually will
attempt a second time, wait and then proceed to the next one on the list.
This can continue for a long time, in real time, and may not ever resolve in a
fashion that will allow the Supplicant to enter the network either as a Guest
or an Authorized user.
Communication could fail with an Authentication Server for a wide
variety of reasons. The NIC on the server might be faulty. The port on the
Authenticator connecting the LAN/WAN might be faulty. The LAN/WAN
between the two devices might be faulty. Or the shared secret might be
misconfigured. Those are some of the possibilities. In any event, the
Authenticator will try for a long time to access the defined servers. The
process is illustrated in Figure 1.10.
If there is no Authentication Server willing to communicate with the
Authenticator, then it has options. Usually, it will continue to attempt to find
a valid RADIUS server, leaving the port in an unusable state. This situation is
not defined in the specifications, but seems to be the determination that the
Supplicant is unauthenticated. Again, the configuration of RADIUS and AAA
will have a significant impact on what will happen.
No
authenticator
Authenticator
server
Access request
(wait)
Access request
Authentication
Authenticator server
Access request
Access reject
Authentication
server
Supplicant Authenticator
Request identity
Response
Access request
(Access accept)
Access challenge
Request identity
Authentication
Authenticator server
Supplicant
Request identitiy
Response
Access request
(Access accept)
Access challange
Request identitiy
NAK
Access request
Access challange
Request identitiy
NAK
Access request
Access reject (failure)
Failure
If the credentials provided by the Supplicant are valid and the Authentica-
tion Server declares success, then the Authenticator’s behavior can be
modified dynamically. It is possible to associate a VLAN or an access list to
a set of credentials on a RADIUS server. When an authentication is successful,
the Authentication Server will send this information to the Authenticator. The
Authenticator will apply this information dynamically for the period during
which the port is authorized. At the time the port becomes unauthorized, this
information is discarded.
Earlier it was stated that the specifications required support for a MD-5
Challenge. The specifications for EAP, originally in RFC 2864 and replaced
by RFC 3748, require support for three types of authentication. These are
MD-5 Challenge, One Time Password, and Generic Token cards.
For the use of One Time Passwords, the exact process is defined in RFCs
2289 and 2243. The following diagram, Figure 1.14, describes this type of
exchange. The initial establishment of 802.1X connectivity takes place
between the Supplicant and the Authenticator. Then the Authenticator
assumes a passive role forwarding traffic between the Authentication
Server and the Supplicant until the server declares success or failure. All of
the exchange of credentials is between the Supplicant and the Authentication
Server, but must pass through the Authenticator.
Authentication
server
Authenticator
Supplicant
Request identitiy
Response
Access request
Access challange
Request identitiy
Response
Access request
Access accept
(EAP success)
Success
Authentication
Authenticator server
Supplicant
Authenticato is passive
port is authorized
Reauthentication timeout
occurs
Request identitiy
port remains authorized
Response
Access request
Access reject
(EAP failure)
Failure
port is placed in
unauthorized state
unauthorized. The port then may be placed into a Guest VLAN or all access
may be blocked. This situation can cause some confusion to the user because
the machine that failed will need to acquire a new IP address from the DHCP
server if the port it attached to was placed in a different VLAN. Figure 1.15
illustrates what happens in a reauthentication failure.
Should reauthentication be successful, and this is the desired state, then
frequently the user will not be aware of the process that occurred. Traffic
will continue to flow without interruption. There will be no requirement to
obtain new IP addressing because the port will never be placed in an
unauthorized state or a different VLAN. It is possible that the Authentication
Server could have received updates that affect the attributes that are passed
to the Authenticator. These new attributes then would be passed during the
reauthentication process. If this event, however unlikely, happens, then the
new attributes would be applied to the port as part of the reauthentication.
This could conceivably include a different VLAN or an access list, but,
hopefully, this is a rare case.
Thus, 802.1X is implemented to block traffic between the network and
the supplicant. This means that a non-authenticated Supplicant cannot
converse with anything on the network but the Authenticator. The reverse
is true, as well—except for one circumstance. Earlier in this section, it was
noted that there are situations where a device that causes the Link to come
up might be asleep and the port would eventually become unauthorized.
Then this device might require a wake-up call to be supplied from within the
LAN to become fully active. This situation is called Wake-On-LAN. There is a
real possibility of a device going to sleep and either dropping the link or not
being awake during a reauthentication process. In these cases, the port will
become unauthorized.
The Wake-On-LAN scenario requires that a device from within the
network send a “magic” packet to the sleeper. This magic packet is received
by the sleeping device and causes it to awake. Once it is awake, it is
intended to be fully functional and participate in normal LAN activities. If
802.1X is blocking traffic from the network, then the magic packet never
arrives and the sleeper never awakes.
802.1X is configured to block traffic from the network by default, but can
be configured to allow unidirectional traffic from the LAN to the Supplicant.
A special case has been established within the implementation of Spanning-
Tree on 802.1X enabled ports. This special case allows ports, with Spanning-
Tree PortFast enabled, to be placed in a unidirectional state. Traffic from the
Supplicant must be 802.1X, EAPOL, until authentication has been successful,
but special traffic—the magic packet—is allowed from the network to the
Supplicant.
The way this works is that while the Supplicant is sleeping and the Link
state is down, Spanning-Tree is placed in a forwarding state. If the magic
packet is passed through the port from the network, then the port is placed in
a full blocking state until the Supplicant is authenticated. This actually allows
a device on the network to wake the sleeper and cause it to perform an
authentication. Figure 1.16 illustrates this process.
Up to this point, this presentation has clearly delineated the role of
Supplicant and Authenticator as distinct pieces of equipment. The Suppli-
cant has been viewed as a device, usually some form of Personal Computer,
that is attempting to link into a network through an Authenticator, usually a
switch or a wireless access point. That is the customary implementation.
However, the IEEE specifications do not require that to be the case. It is
“legal” for a port to actually be both an Authenticator and a Supplicant, or,
more properly, to perform both roles. If you actually read the specifications
repeatedly, it starts to make sense. Essentially this is a special case where
mutual authentication must take place and that authentication relies on each
partner making use of an Authentication Server to complete the process.
The specification offers as an example a mutual authentication between
network devices, specifically “bridges.” This situation will probably become
more significant when network devices authenticate one another prior to
establishing/allowing communication between them. This case is proposed,
and is not required, but does make sense. Why should a network device
assume that another network device is not a rogue? At any rate, this situation
is covered in the specs and is even extended into management functions.
Authentication
Authenticator server
Supplicant
Link is down
port is unauthorized but capable of
unidirectional traffic to the supplicant
Some device on the
"Magic" packet received
network nor necessarily
the authentication server
"Magic" packet transmitted
Sleeper awakes port remains unauthorized
Request identity
Response
(or EAPOL
start) Access request
Access challenge
Request identity
Response
Access request
Access accept
Success (EAP success)
port is placed in
authorized state
TECHNICAL DISCUSSION
This chapter of the book will consist of six sections. It will focus on the
technical aspect of 802.1X and the related protocols and components
involved in implementing it in a network. The preceding chapter provided
a level set of what it is, how it came about, what the standards are, and how
it works. The relationships between 802.1X, EAP, EAPOL, EAP-Methods, and
RADIUS have been defined. This chapter will establish a firm background in
the technical aspects of those components.
EAP-Methods is the actual mechanism by which a set of credentials is
authenticated. The various methods will not be discussed in great detail.
There is a relatively fine distinction between the method in which credentials
are authenticated and the process in which that method is employed. This
book is about the process rather than the method. The process is consistent
no matter what the method is. The first section of this chapter will discuss
some of the methods, but will not advocate one in particular.
There are six sections in this chapter that will provide detailed discussion
of distinct aspects of the technology. Each can stand alone, to a certain
extent, but the sequence here is intended to develop the technology from
the ground up.
The first section—EAPOL, EAP, and EAP-Methods—will discuss the
individual protocols in detail. It will focus on the encapsulations necessary
to construct a packet that can be transported across a network. The various
options and codes available within a given protocol are identified. This
section builds upon the basic understanding of the flow between a
Supplicant and an Authenticator. The flow between the Authenticator and
the Authentication Server is discussed, but not in as much detail. An
overview of several more popular EAP-Methods is presented at the end of
the section.
The next three sections provide supplementary information regarding
the control of 802.1X Port-Based Authentication. The first section is
39
Authentication information
EAP methods
EAP
EAPOL
Ethernet
very first frame from the Authenticator will cause the Supplicant to reset its
status. And the specifications for EAP identify that it is the Authenticator’s job
to actually begin the authentication process with a Request Identity.
The extension of EAP into the LAN environment via 802.1X (EAPOL)
allows the Supplicant to initiate the conversation, but does not require it.
This may seem a little convoluted. So go back to the timeline in the
introduction. EAP was defined years before EAPOL. EAPOL leverages EAP
and therefore must support the mandatory requirements of EAP. This means
that the Authenticator must always attempt to initiate authentication when it
detects Link becoming active. However, in a LAN environment, it is desirable
to be able to initiate authentication when Link is already up and active.
Version: 01
Type: Function requested
Length: Length of EAP Data
EAP Data: EAP Frame
0000 01 80 c2 00 00 03 00 0d 56 b7 6f c2 88 8e 01 01 ........V.o.....
0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0030 00 00 00 00 00 00 00 00 00 00 00 00 ............
some other catastrophic event, like the user unplugging the Ethernet cable,
and not issue an EAPOL-Logoff. The Authenticator would not know that the
Supplicant was no longer available and would leave the port in an authorized
state. It would not be recognized until re-authentication occurred. Re-authen-
tication is disabled by default. This would leave the network in a vulnerable
state for a very long time. Some phones have recently been upgraded to sense
the Link state of the data port and to issue an EAPOL-Logoff when that state
goes from up to down.
EAPOL Type 3 packets are used for the exchange of “key” information
between the Authenticator and the Supplicant. The current use of the EAPOL-
Key packet is in wireless (802.11). There is an historical implementation of
this type that supports RC4, but this has been deprecated in the current 802.1X
standard. The EAPOL-Key packet can be issued from either the Supplicant or
the Authenticator. The Type 3 packet is used to either obtain or distribute
global key information between the Authenticator and the Supplicant. At this
time, the definitions regarding the use of Type 3 packets are exclusively in the
specifications for 802.11.
The complete process is defined in IEEE-802.11i 2004. There is a very long
title that takes up approximately one half of the cover, but what it boils down
to is that 802.11i is all about Security Enhancements for Medium Access
Control in wireless environments. Briefly the process consists of a four-way
handshake. Although the use of encryption is vital to the transport of data in a
wireless environment, a complete discussion of the mechanisms utilized are
outside the scope of this book. That being said, the 802.11i standards define
the four-way handshake in the following manner: first, an Association must
be established; second, the normal 802.1X authentication must be successful;
third (and fourth), the exchange of Key information must be accomplished
between Authenticator and Supplicant. The exchange of Key information
may take place one or more times during the lifetime of a connection and may
be initiated by either the Supplicant or the Authenticator. Figure 2.6 illustrates
the exchange process.
There are situations on some LANs where a device attached to an
Authenticator has not completed the authentication process, but may need
to communicate with a device on the protected side of the Authenticator. One
such situation is the transmission of environmental information. This is
similar to the PXE environment discussed in the previous chapter. The last
Type defined in EAPOL helps cover this type of situation. It is a Type 4
EAPOL-Encapsulated-ASF-Alert. This type of packet in a non-802.1X environ-
ment would normally be issued as an SNMP packet. However, this SNMP
packet is blocked when the port is unauthorized in the 802.1X environment.
The Type 4 packet is designed to allow “alerting” to occur without the
requirement for authentication. The requirement for the attached device to
participate in 802.1X remains, but it is allowed to declare an emergency
without requiring authentication through the use of this packet type. The
communication process is limited by 802.1X. It would be similar to allowing
Supplicant Authenticator
(End station) (Access point)
EAPOL-Key PMK
Generate pairwise
transient key
(PTK)
EAPOL-Key PMK
Generate pairwise
transient key (PTK)
and
global temporal key
(GTK)−if necessary
EAPOL-Key GTK
EAPOL-Key
calls to the hospital, police, and fire departments from a pay phone without
requiring payment first.
The Authentication Server will process the data and respond. This will
continue until the Authentication Server declares either Success or Failure.
Each individual method for authenticating the credentials will specify a
further exchange of packets. The specifications require that EAP be able to
support MD5, OTP, and the use of Generic Token Cards, but allow for
virtually any additional form of authentication. There are no requirements for
any specific additional encryption methods, use of certificates, etc. EAP was
architected to allow for a plug-in type scenario whereby an authentication
module could be installed on both the Supplicant and the Authentication
Server without affecting the transport mechanism.
The actual authentication mechanism takes place using EAP-Method Data
encapsulated in EAP frames. The number of different types of frames that an
Authenticator can send to a Supplicant in the authentication process is very
limited. In fact, it can only send three different types of EAP frames. It can
request information and indicate success or failure. The Supplicant is even
more limited because it can send only EAP Responses.
The EAP protocol does not include any imbedded security for the
transmission—no fragmentation mechanisms, etc. Although the protocol
does have some imbedded capabilities for ensuring correct ordering of
packets, through the use of a “lock step” process, it primarily relies on the
simplicity of the wiring that connects the Supplicant and the Authenticator to
ensure that the conversation proceeds in an orderly, sequential fashion.
Again, all conversations between the Authenticator and Supplicant are
very simple. The Authenticator requests information. The Supplicant
responds. The Authenticator will process some EAPOL frames, but it
usually just forwards the encapsulated EAP data to the intended Authentica-
tion Server. The Authenticator then may be directed by the Authentication
Server to obtain additional information. If so, it will send another request to
the Supplicant and wait for a response. Eventually, the Authenticator will be
told that the authentication process was either successful or not. It then will
take appropriate action and echo this status to the Supplicant. As expected,
the number and sophistication of available EAP processes are very limited
and Table 2.2 defines the EAP Codes.
Code: 01-04
Identifier Lock-step sequence number
Length: Length of EAP-Data
EAP-Data Authentication information
Authenticator
Supplicant
0 1 2 3 4
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
4 0 (Failure)
1 1 (Request identity)
2 1 (Response)
1 1 (Request identity)
2 2 (Response)
2.1.10 EAP-Method
The data that is encapsulated in an EAP packet is the authentication
information exchanged between the Supplicant and the Authentication
EAP-Method Length
EAP-Method Data
Code (2-bytes)
(0-n bytes)
(1-byte)
send information back to the Authenticator, the switch in this case, that is used
to modify its behavior based on the identity of the Supplicant. Information,
such as VLAN number, can be associated with a user in the Radius Server. This
information then can be passed to the Authenticator once authentication of
that user is successful. This information is more completely discussed in the
Radius section.
The Supplicant and the Authentication Server actually negotiate the EAP-
Method, the type, to be used in the authentication process. The flow is quite
simple. As just indicated, the Supplicant and the Authenticator establish
communication, and the Authenticator gathers sufficient information to
contact the Authentication Server. At this point, the conversation is very
similar to the following example of a conversation between Lyle, a guard,
and the boss upstairs.
“I’m Lyle.”
“Hey, boss, I’ve got a guy down here who says his name is Lyle.”
“Lyle? Does he speak English?”
“Hey, Lyle, do you speak English?”
“Yes I do.”
“Boss, he says: yeah he speaks English.”
be imbedded in the Type field that is part of the Data field that is passed
between the Supplicant and the Authentication Server.
The Identity, Type 1, is used to convey information regarding the
credentials of either—or both—the Supplicant and the Authentication
Server. This means that the conversation between the Authenticator and
the Supplicant will consist of EAP Request Identity and responses, and usually
will contain EAP-Method Type 1 exchanges. This is the desired scenario,
because the Identity exchanges mean that the process has actually reached
the point where authentication information is being exchanged and will lead
to either a success or failure.
There are three additional types that can be used before or during the
Authentication process. The first of these is Notification: Type 2. A Type 2 is
sent by the Authentication Server to the Supplicant and contains information
regarding the status of authentication. One example of this type of message is
the notification to the user that the password used will expire within a period
of time. In some methods, the user will be allowed to change the password.
Or it may transmit a warning that the authentication process has failed and
will allow the user to reenter credentials. Some Authentication Methods
prohibit the use of notification messages to the user.
A Type 3, legacy NAK, is sent by the Supplicant to the Authentication
Server when the Supplicant rejects the proposed authentication method. In
limited cases, it can be used to propose one or more alternative methods of
authentication. The Type 3 is one of the original codes implemented. An
exchange with a NAK resulting in a failure to select an authentication method
is illustrated in Figure 2.10.
Authentication
Authenticator server
Supplicant
Request Identity
Response
(or EAPOL
start) Access request
Access challenge
(with proposed
Request identity (with EAP type)
proposed EAP type)
Response (with
NAK rejecting Access request
EAP type) (with NAK)
Access reject
(EAP failure)
Failure
port is placed in
unauthorized state
the Data field. The Expanded NAK has a structured table with an undefined
number of repeating rows. The table is processed from top to bottom with the
first proposed method assigned the first priority as the proposed method of
authentication. The row consists of three data elements: a one byte Type field
always equal to 254, a one byte Vendor field, and a 4 byte Data field
containing the proposed method. If the Vendor field is 0 then the vendor is
IETF and the proposed method must be one of the three identified in the RFC:
Type 4, 5, or 6. If the Vendor is a different number, then the Data field can be
any defined type—including one of the three required types. The use of the
Expanded NAK allows for a quicker convergence for the selection of an
authentication method. It should be noted that neither of the NAK types can
be used to transport error messages. These conversations must take place
using a Notification: Type 2.
Vendor Vendor
Data
Code Specific Type
(0-n bytes)
(3-bytes) (4-bytes)
EAP. This means that only the partners in an exchange can interpret the data.
However, keep in mind how 802.1X functions. The Authenticator, not one
of the partners in the exchange of credentials, is the owner of the port that
must be placed in an authenticated status. This can only happen when the
Authentication Server, either separate or imbedded in the Authenticator,
notifies the Authenticator of a Success. Thus, in many of the EAP-Methods,
there are imbedded success and failures within the specific protocol that must
be acknowledged prior to an EAP-Success transmission to the Authenticator.
This situation is discussed in a couple of the methods later in this section.
Back to the EAP-Methods currently available. At the time of this writing,
the Microsoft Windows environment has a huge presence in the PC world.
There are several EAP-Methods that are available within the Microsoft
Windows 2000 environments. These include EAP-MD5 CHAP, EAP-
MSCHAPV2, and PEAP. Windows XP also includes support for EAP-FAST.
In most cases, the particular manufacturer of the wireless NIC installed will
include drivers or other tools to configure an SSID with specific 802.1X
characteristics, including a variety of EAP-Methods.
2.1.12.2 EAP-TLS
Unlike EAP-MD5 CHAP, EAP-TLS is not a required method. It is an optional
implementation. The acronym TLS is an abbreviation of Transport Layer
Security and is EAP-Method Type 21. This is the one of the few methods that
is actually described inside an RFC (RFC 2716). Although this method is not
required, it is available for implementation by any vendor.
EAP-TLS is a certificate-based protocol. And though this makes it a strong
method, it does complicate the environment. The exchange of messages
within the TLS protocol provides mutual authentication, integrity-protected
ciphersuite negotiation, and secured private key exchange between the
Supplicant and the Authentication Server. The use of smart cards requires
EAP-TLS as the EAP-Method.
The biggest downside to this method, and others of this class, is the
required cost or administration of certificates. If certificates are not purchased
from an authority recognized by the devices on the network, then a private
system must be established. In either case, the cost of implementation, in
money or expertise, can be significant. The environment that implements
certificate-based authentication becomes more complex and requires an
increased level of administration. Furthermore, the use of certificates
generally authenticates the device on which the certificate resides and not
the user. For some organizations, this defeats the purpose of implementing
802.1X.
The use of certificates also increases the number of exchanges required
between a Supplicant and an Authentication Server. While this makes a
relatively small impact on a given network, it does increase the time
required for authentication and could conceivably impact time sensitive
applications. Wireless is one example. Due to mobility, it is possible for
re-authentication to disrupt an application in progress.
The transaction flow with EAP-TLS is very similar to that of any other EAP-
Method. The Authenticator and Supplicant will recognize each other and the
Authenticator will assume a pass-through role after establishing a session
with the Authentication Server. At this point, the Authentication Server will
conduct all conversations with the Supplicant (through the Authenticator)
using the EAP-TLS protocol encapsulated in the EAP-Method Data. The first
packet sent by the server will be an EAP-TLS-Start. The Supplicant will
respond with an EAP-TLS packet containing the TLS version number, a
session ID, a random number, and a list of cybersuites supported. This
information will be used by the server to ensure the session is correct and to
supply additional information to the Supplicant to be used during the
authentication process.
At this point, the Supplicant will validate that it is conversing with a
legitimate Authentication Server. The server may authenticate the Supplicant,
but is not absolutely required to do so. Upon successful authentication, the
server will notify the Supplicant using an EAP-TLS Success message and the
Supplicant must acknowledge the message. When the server receives the
acknowledgement, it will issue an EAP-Success that will allow the Authenti-
cator to place the port in an authorized state.
2.1.12.3 EAP-MS-CHAPV2
EAP-MS-CHAPV2, developed by Microsoft, is not a required method. It is a
password-based, challenge-response, mutual authentication protocol.
Responses are encrypted using message digest 4 (MD4) and Data Encryption
Standard (DES) algorithms. EAP-Method Type 29 has been assigned to this
method. It is a handshake protocol that requires each party, Supplicant and
Authentication Server, to authenticate each other. MS-CHAPV2 was originally
developed as a PPP authentication protocol to provide better protection for
dial-up and virtual private network (VPN) connections. This version of CHAP
provides better protection than previous challenge-response protocols.
However, it is still susceptible to an offline dictionary attack. If a thief can
capture a successful MS-CHAPV2 exchange, he can then guess passwords
until the correct one is determined.
EAP-MS-CHAPV2 uses the following process to perform authentication.
The Server challenges the Supplicant and the Supplicant challenges
the Authenticating Server. If either challenge is not correctly answered, the
connection is rejected. Authentication within this method is initiated when
the normal 802.1X link is established between the Authenticator and the
Supplicant. The Supplicant will issue a Response. As expected, the Authenti-
cator forwards this to the Authentication Server. The Server then issues an
encrypted challenge. The Supplicant sends an encrypted response derived
from the user credentials.
At this point the authentication is either a success or failure. The
Authentication Server may issue a failure for a variety of reasons. Table 2.5
identifies these codes.
If a 648, Password Expired, failure is sent, then the Supplicant can
optionally update the password. This process actually requires a new
part has been successful. This allows the RADIUS server to issue an EAP-
Success immediately when a reconnect is attempted.
2.1.12.8 EAP-SPEKE
EAP-SPEKE is a proprietary method that utilizes a patented algorithm for the
development of keys. The method relies on very strong encryption to
protect passwords and eliminate the need for certificates.
That summarizes some of the available EAP-Methods. Now the disclaimer:
there is no intent to promote any given method because of inclusion or
exclusion in the previous discussion. Implementation of any particular
method should be the result of the organization planning the implementation
and the design effort that evaluates the particular characteristics of the
existing infrastructure.
The selection of a particular EAP-Method will depend upon what the
intended environment looks like. A large number of factors will come into
play when determining which method is the best for the particular situation.
Considerations of existing hardware/software implementations are large. But
the impact of some “soft” factors will be equally important. Such factors
include the complexity of support required, and the general sophistication of
users in understanding what is being done and how to work with it on
their equipment.
Now, a quick summary. The implementation of 802.1X is really the
cascading of at least five encapsulations that ultimately results in an exchange
of credentials between a Supplicant and an Authentication Server. In general,
each encapsulation and the functionality required to support the process is
fairly simple. However, when taken as a whole, it is robust and develops a
framework for applying security to a huge number of connections to
a network.
2.2 RADIUS
2.2.1 Section Summary
Radius is the “backend server”—Authentication Server—in virtually all
802.1X implementations. RADIUS is covered in specifications from the IETF
and has been around for much longer than 802.1X. Two RFCs from the IETF—
2865 and 3579—extend the specifications into 802.1X. One additional RFC,
3780, identifies particular elements, known as attributes, that are useful with
802.1X. These RFCs cover both Authentication and Accounting functions.
RADIUS functions cover three aspects of security: AAA.
The specifications for EAP do not make RADIUS a required component,
but it is a de facto one. Potentially, any RADIUS server will perform the
functions required. It will almost certainly be able to handle the mandatory
EAP-Methods. However, if a newer EAP-Method is chosen, or, in some cases,
a proprietary method, then a newer or proprietary server capable of
supporting the method must be implemented. This means that particular
attention must be paid to the EAP-Method chosen and its support on a
RADIUS server already implemented on the network. As stated, a proprietary
method may require both a specific Supplicant and a specific RADIUS server
from a particular vendor.
RADIUS operates on the Client-Server model where the network access
device passes authentication information on behalf of a client to the server.
Security is preserved in this model through the use of a shared secret
password coded on both the access device and the RADIUS server. The
server will perform the necessary authentication of a Supplicant—and inform
the access device of the result—only when the access device has provided
valid credentials to RADIUS. This basic functionality performs as described
within the 802.1X environment.
Configuration necessary to ensure validity of identity to the Authenticator
and the Authentication Server—RADIUS—is simple, but must be accurate.
Each partner must know two pieces of information. First, the “other” end must
be known to each device. This is accomplished by identifying the partner’s IP
address. Second, a password must be coded on each device. This is known as
a shared secret. A more detailed discussion about configuring these items will
be conducted in a later section on Configuration.
The Authenticator and the Authentication Server, RADIUS, converse using
the RADIUS protocol. The protocol utilizes a lock-step process, similar to that
used in EAPOL, to synchronize the conversation between the Authenticator
and the Authentication Server. The RADIUS packets are primarily composed
of attributes. Each attribute is a specific data element that is either utilized by
the Authenticator or is passed on to the Supplicant. More than one hundred
attributes have been allocated, but only a small fraction of these are pertinent
in an 802.1X-based conversation.
Encapsulated in the packet exchanges between the Authenticator and
the Authentication Server is the EAP-Method Data. This element is used to
exchange authentication information between the Supplicant and the
Authentication Server. The data is encrypted in the exchange between the
Authenticator and the RADIUS server. The shared secret is part of the key
necessary to decrypt the EAP-Method Data.
If an authentication is a success, then the RADIUS server can be
configured to provide information to the Authenticator that will be used to
dynamically modify either or both the VLAN to be assigned and an access list.
This information is contained in two specific attributes that are passed to the
Authenticator outside of an EAP-Method exchange.
Authentication
server
Authenticator (RADIUS)
Supplicant
Request identity
Response
Access request
Access challenge
Request identity
Response
Access request
Access challenge
Access accept
Access reject
Success/Failure (EAP Success/
Failure)
(continued)
(continued)
Please note that while many attributes listed are not flagged as having
specific 802.1X requirements, it does not mean that these attributes cannot
be utilized within an 802.1X authentication conversation. It simply means
that the function and use of these attributes is not modified because of
802.1X. Again, RFC 3580 documents the use of specific RADIUS attributes
within an 802.1X environment. The following pages will supply a minimum
amount of information regarding the attributes of specific interest during the
Authentication process.
Radius Attribute 1—User Name. The User Name is fundamental to many
RADIUS applications and not just 802.1X. Within 802.1X, the Supplicant may
return the MAC address rather than the customary text for User Name. This is
done when the Authenticator initiates a conversation with the RADIUS server
prior to soliciting the Supplicant’s identity. The Authenticator assumes that
the Supplicant is capable of conducting an EAP-Method conversation and
initiates the exchange of credentials prior to the Authentication Server
requesting credentials from the Supplicant.
Radius Attribute 4—NAS IP Address. This is the IP address of the
Authenticator and is an IP version 4 address. If IP version 6 is used, then
Attribute 95—NAS-IPv5—Address will contain the correct address.
Radius Attribute 5—NAS Port. This is the port on the Authenticator to
which the Supplicant wishes to attach. If this is an 802.11 connection, then the
association ID is used as the port.
Radius Attribute 6—Service Type. This attribute indicates what function
is being requested by the Authenticator. Within 802.1X, three functions are
judged to be the most common Service-Types. These are: Framed,
Authenticate Only, and Call Check. Framed indicates that appropriate 802
framing should be used; Authenticate Only indicates that no Authorization
exchanges need occur; and Call Check requests acceptance or rejection of
the attempted connection based upon the MAC address of the Authenticator
or the Supplicant.
Radius Attribute 11—Filter ID. It is possible to associate a specific “filter,”
or access-list, to each individual Supplicant. This attribute identifies that
filter to the Authenticator. This filter must exist on the Authenticator prior to
the authentication. No values for an access list are contained in this attribute,
only a “name” of an existing filter.
Radius Attribute 12—Framed MTU. This attribute is used, potentially, by
a wide variety of applications, but the actual value varies with an 802.1X
implementation. The MTU specified is the total packet size available for an
EAP packet, minus four bytes. This is the overhead of the required EAP
fields: 802.1X Version, Type, and Length.
Radius Attribute 26—Vendor Specific. This attribute may be used to hold
specific information required in some EAP-Methods. This will entirely
depend upon the fashion in which the vendor has implemented the
proprietary method. This attribute requires the inclusion of information
regarding the particular vendor intended to utilize the attribute. The
information includes the Vendor ID, the type of function included as data,
and the vendor-specific data itself. This information will be discussed very
briefly in the section on configuration when discussing the application of
per-user access lists. The access list is stored in this attribute. This attribute
differs from Attribute 11 in that specific filters are defined within it. The filter
is dynamically applied and does not have to exist prior to authentication.
Radius Attribute 27—Session Timeout. This attribute can be used in three
different ways. First, if it is sent as part of the challenge, then it is used to
determine the number of seconds the Authenticator will wait when not
receiving a response from the Supplicant before retrying. Second, if this
attribute is sent as part of the Access-Accept (EAP-Success) along with a
Termination-Action attribute, it specifies the lifetime of the session before
re-authentication is initiated. Third, if this attribute is sent as part of the
Access-Accept (EAP-Success) without a Termination-Action attribute, it
specifies the lifetime of the session and no re-authentication is attempted
upon expiration.
Radius Attribute 28—Idle Timeout. This attribute is pertinent in wireless
implementations only. It specifies the number of seconds a session will
remain “alive” without contact from the Supplicant.
Radius Attribute 29—Termination Action. This attribute has either a
value of 0 or 1. A “0” indicates that the session should be terminated after
timeout without any re-authentication attempt. A “1” indicates that re-authen-
tication should be initiated upon session timeout.
Radius Attribute 30—Called Station ID. This attribute holds the MAC
address of the Authenticator. It is stored in the following format: 00-00-00-00-
00-00 with dashes included. If the Authenticator is a wireless access point, the
SSID is concatenated (if known) and is stored in the following format: 00-00-
00-00-00-00:SSID.
Tunnel-TypeZVLAN
Tunnel-Medium-TypeZ802
Tunnel-Private-Group-IDZ20
then re-authentication will occur based upon Session Timeout. The value of
that attribute then will be the number of seconds between re-authentications.
Session Timeout can be used in one other way. If it is sent as part of a
challenge from the RADIUS server, then the value is the number of seconds
for the Authenticator to wait for a response from the Supplicant before
executing a retransmission of a request.
The combination of three other attributes will allow the RADIUS server to
notify the Authenticator which VLANID is to be used for the authenticated
Supplicant. This requires the RADIUS server to be defined as an IETF device,
and attributes defined in RFC 2868 regarding the use of Tunnel Protocols are
used. The Tunnel-Type, Tunnel-Medium-Type, and the Tunnel-Private-
Group-ID must be set in the following manner:
Tunnel-TypeZVLAN
Tunnel-Medium-TypeZ802
Tunnel-Private-Group-IDZVLANID
2.3 MANAGEMENT
2.3.1 Section Summary
As of 2004, with the publication of IEEE-802.1X 2004, Management was
defined for 802.1X. A completed definition of management information base
(MIB) elements was included along with all other considerations for 802.1X.
In fact, a large portion of the document is devoted to those definitions. The
MIB is pertinent to what we call the Authenticator. Management is divided
into five different functions: Configuration, Fault, Performance, Security, and
Accounting. The managed objects are then further categorized as pertinent
to: Authenticator, Supplicant, or System. The System elements are global and
apply to the entire device. Authenticator and Supplicant elements apply to
the individual port. The specifications in 2004 require that a port be able to
perform both Authenticator functions and Supplicant functions.
The 802.1X MIB is called the IEEE8021-PAE-MIB. The acronym PAE stands
for Port Access Entity. As noted, a port can have multiple characteristics and
PAE seems to be a neutral term that does not carry the same baggage as
Authenticator and Supplicant. Some of the functions of 802.1X are optional
and, as such, are not covered by the IEEE MIB. Vendors implementing some
optional features, or wishing to enhance reporting, have implemented
supplementary MIBs. Cisco is one of those vendors.
The MIB defined in IEEE 802.1X-2004 encompasses three states that can
exist on the infrastructure device. The global state, as it pertains to 802.1X
functionality and performance, is covered by System MIB elements.
The function usually associated with a port—that of being the Authenti-
cator— is covered by Authenticator elements. Finally, the port may actually
perform Supplicant functions, and these functions are covered by Supplicant
elements.
It should be noted that the MIB only encompasses an infrastructure
device. Usually, this is the device housing the Authenticator. It is not really
feasible to apply MIB requirements to an end device connecting to a network.
This causes the Supplicant and the Authentication Server to be excluded,
although the Authentication Server may have a RADIUS MIB. Neither is really
a part of the “network” from a network management viewpoint, and each can
be implemented on a wide variety of equipment.
A second item to note is that EAP-Methods is not included in the MIB. It is
not possible to include any discussion of EAP-Methods in the MIB because
the Authenticator is not involved in the selection or manipulation of
information regarding EAP-Methods. The Authenticator simply facilitates
the exchange of that information between Supplicant and Authentication
Server. The content of the exchange is dictated by the EAP-Method utilized.
The Authenticator is concerned with two items only: the establishment of
connectivity with a Supplicant, and the ultimate success or failure of the
authentication as indicated by the Authentication Server. The MIB covers
both of those items.
(continued)
Configuration Statistics
Authen-
Description Read Set ticator Session Diagnostics
authAuthEapStartsWhi- X
leAuthenticating
authAuthEapLogoffWhi- X
leAuthenticating
authAuthReauthsWhileAuthen- X
ticated
authAuthEapStartsWhi- X
leAuthenticated
authAuthEapLogoffWhi- X
leAuthenticated
backendResponses X
backendAccessChallenges X
backendOtherRequestsToSup- X
plicant
backendAuthSuccesses X
backendAuthFails X
Session Octets received X
Session Octets transmitted X
Session Frames received X
Session Frames transmitted X
Session Identifier X
Session Authentication Method X
Session Time X
Session-Terminate-Cause X
The specific elements that are of significant interest in the Cisco MIB are
discussed below.
cpaeMultipleHost—This element indicates whether or not more than one
Supplicant is allowed to connect to a specific port. This element does not
indicate how many hosts may connect.
cpaePortMode—This element is the one that identifies how a port will
allow a number of hosts to connect to a single port. There are three possible
values: single host, multi-host, and multi-host with multiple authentications.
Single host mode is what the name implies—only one mac-address is allowed
on the port. Multi-host allows more than one host on the port. The port
assumes the VLAN of the last Supplicant with a successful authentication.
Multi-host with multiple authentications interacts with port security features
to restrict host connectivity.
cpaeGuestVlanId—This element identifies the VLANID associated with a
port that has a Guest VLAN configured. The configuration of the Guest VLAN
for IOS and CATOS is discussed in a later section.
cpaeInGuestVlan—This element indicates whether or not the port is in
Guest VLAN mode. If the device housing the port allows multiple authentica-
tions, or multiple Guest VLANs, then this element has no meaning.
That is a relatively brief discussion of specific management available in
802.1X. The only third party MIB presented is the Cisco-PAE-MIB. If other
vendor equipment is implemented, then a MIB specific to that implemen-
tation should be available and have similar elements.
The same type of scenario exists for EAPOL-Logoff frames. This frame
causes the Authenticator to place the port in an unauthenticated state. The
EAPOL-Logoff is directed toward the group address of the Authenticator and
should contain the legitimate MAC address of the Supplicant. The Authenti-
cator should verify that the MAC address is one that is legitimately
authenticated on the network. But remember the use of the Ethernet
Group Address in 802.1X. Under “normal” circumstances, the group
address in a packet invokes the 802.1X process. Simply flooding a link with
packets using that address will require that the packet be given to 802.1X for
some form of processing. The packet subsequently may be discarded, but it
will impact available resources on the device. It is also possible for the
intruder then to disrupt legitimate traffic through the issuance of EAPOL-
Logoff frames. Even checking the MAC address is minimally effective because
it is fairly easy for an intruder with access to the link, wired or wireless, to
spoof a MAC address.
In a wireless environment, it is possible for an intruder to issue frames
indicating failure of the link or send disassociate frames to the Supplicant.
This mechanism is used by some wireless products to disrupt connections to a
rogue access point. This would have similar results to those described for
EAPOL-Start and EAPOL-Logoff. The intent would be the disruption of service
for one or more users, rather than the theft of information. Of course, if an
intruder has access to a link and has the capability of forcing a user to
re-authenticate, he then would have access potentially to frames issued
during the authentication process. Depending upon the encryption and the
EAP-Method employed, the attacker actually might be able to obtain
credentials to enter the network.
It is interesting to note that Cisco IP phones can now spoof the EAPOL-
Start and EAPOL-Logoff frames on behalf of devices attached to them. The
phone monitors the status of the link port used by the Supplicant, then sends
an EAPOL-Start or Logoff frame to the Authenticator. This is necessary
because the Authenticator cannot ascertain the status of this port as it is
“hidden” behind the phone. Phones that cannot do this leave the port on the
Authenticator in a vulnerable state. The use of hubs creates a similar risk. Both
of these scenarios are explored in much greater detail in the next section of
the book.
As discussed earlier, 802.1X can be susceptible to Denial Of Service attacks
at the link level. There does not seem to be any way around this given the
current definitions. There are some configuration mechanisms that will help
mitigate those types of attacks. 802.1X is usually implemented to allow a
single MAC address on a port by default. Should a second address be
recognized, then all traffic from that address is discarded. Not allowing
more than a single MAC on a port is a good design decision, as well. It
helps reduce the potential for successful attacks on the Supplicant/
Authenticator Link.
One concern about the connection between the Supplicant and the
Authenticator is that there is no guarantee of the authenticity of the partners.
None of the protocols actually provide a mechanism by which identity can be
validated and maintained during the authentication process. If there were
some form of identity validation, many of the security issues enumerated
would be resolved. But that is somewhat of an oxymoron. How can you pre-
establish identity for an authentication process when that is the intended
purpose of the process in the first place?
the two physical connections through the Authenticator. The weakness of this
connection really involves the EAP-Method chosen for the connection. Some
Methods are so trusting that the credential exchanges are sent as clear text or
are reversibly encrypted. EAP-MD5, which is a mandatory method, is the
primary example of this. Exchanging credentials in clear text makes it simple
for an intruder to be able to capture the exchange and assume a
legitimate identity.
There are several certificate-based or “tunneling” Methods that are
intended to protect credential exchanges. Each has its own set of weaknesses
and vulnerabilities. The actual selection of a Method has as much to do with
the impact on the organization as it does with the level of security provided.
The current specifications for EAP in RFC 3748 require that proposed EAP-
Methods identify security claims so that a potential implementer can make a
clear evaluation of impact.
The following is a summary of the security claim discussion now required:
to those EAP packets not strictly covered by the method: Identity, Notifica-
tion, and NAK.
Dictionary Attacks are a common concern because it is possible to capture
the exchanges in an authentication. These are of particular concern to EAP-
Methods that do not utilize tunnels or certificates, such as EAP-MD5 and
MS-CHAPV1. Newer methods usually provide a stronger protection against
this type of attack.
As stated earlier, in some methods, such as EAP-MD5, the Supplicant does
not authenticate the Authenticator. This exposes the Supplicant to a rogue
Authenticator posing as a legitimate device. Obviously, this opens up the
possibility that a man-in-the-middle might influence exchanges between a
Supplicant and an Authenticator. Again, it should be emphasized that EAP
does not require authentication between Supplicant and Authenticator.
Another item that has already been discussed, but is included specifically
in RFC 3748, is Negotiation attacks. This is where the Authenticator and
the Supplicant are convinced to negotiate a less secure EAP-Method than the
one they would mutually prefer. The specifications recommend that the
Supplicant not be given the choice of negotiation and allow one—and only
one—EAP-Method to be selected. In cases where the Supplicant needs to
connect utilizing a different method in different situations, the specifications
recommend the use of multiple identities with only one method associated
with each identity.
If an EAP-Method utilizes keys, the specifications require that a minimum
of 64 octets be used in the derivation of the key. It is required in a situation
where the EAP-Method utilizes keys, that it must implement mutual
authentication between the Supplicant and the Authentication Server.
In summary, EAP/802.1X has vulnerabilities. The various EAP-Methods
have vulnerabilities. Most of the vulnerabilities can be mitigated through
judicious design, and some vulnerabilities can be mitigated through prudent
implementation such as physical control of wiring and Authenticators. Some
of the issues that 802.1X was intended to resolve still remain, but have
become much more difficult for an intruder to exploit. All in all, 802.1X is a
significant improvement in the realm of securing the environment.
system. There have been two releases of the specifications for 802.1X—in
2001 and 2004. The basic capabilities remain the same, but functionality has
been expanded in the later release. This means that most operating system
releases available at the time of this writing only provide the minimum
functionality described in the earlier release. Some of the variations will be
discussed, but a comparison of operating systems is not the intent here. Care
must be exercised in selecting a particular operating system when the
functionality identified in the 2004 release is desired.
Earlier, it was mentioned that 802.1X must be enabled for an entire System
in addition to enabling it on a port. A global configuration parameter is
available in IOS, both for Aironet and switches, which causes this to occur.
802.1X is enabled in Airespace by default.
dot1x system-auth-control
In earlier versions, this is the only 802.1X command available in the global
configuration. If this line is present in a configuration, then 802.1X is
enabled for the device. If it is not present, then 802.1X is not enabled.
This parameter sets the MIB element SystemAuthControl.
This same command is available in CATOS:
Interface FastEthernet0/16
switchport access vlan 100
switchport mode dynamic desirable
no ip address.
The following error will occur if a port is left in a desirable mode when
802.1X is applied:
The default state for a port enabled to participate in 802.1X allows a single
MAC address to be active on the port. This is modifiable through the use of the
following commands in IOS and CATOS respectively:
Although each host is authenticated, only one VLAN is associated with the
port and it happens to be the one that was the last valid authentication.
The Guest VLAN is configurable on a port by port basis. This must be a
VLAN that is defined on the Authenticator, and any access control must be
associated with the VLAN because it cannot be applied dynamically. Only
upon a successful authentication can a VLAN or access list be applied
dynamically. The commands used to configure this option are shown
below for IOS and CATOS:
dot1x controlled-direction in
set port dot1x !mod/portO port-control-direction in
Note that in some cases controlling the direction of the port conflicts
with the establishment of a Guest VLAN. They can be mutually exclusive
configurations.
Essentially this command causes Spanning-Tree to be placed in a
forwarding state. When a magic packet is received, the port begins to
control traffic in both directions for five minutes. If no EAPOL traffic is
received, the port is returned to a unidirectional state awaiting either
another magic packet or for the Supplicant to awaken and begin the
authentication process.
Several times it has been indicated that a particular packet will be reissued.
This is the case when attempting to contact the Supplicant and the
Authentication Server. The number of attempts to make is configurable. In
IOS, this is configurable on a perport basis and in CATOS it is a global
parameter. This parameter controls the number of retries to make in any
situation. The same parameter applies to the number of retries when
contacting either the Supplicant or the Authentication Server:
Another interface timer that is available in IOS on a port basis, but only
globally in CATOS, is the quiet period. This timer identifies the length of time
to wait before initiating another authentication attempt following an unsuc-
cessful one. The quiet period comes into play when the port has not been
placed in an authenticated state and all attempts have resulted in a failed
authentication. The failure could be due to lack of a Supplicant, the inability
to access an Authentication Server, or a failure in exchange of credentials. The
reason does not matter; only the fact that the port is active, but has not been
successfully authenticated. The command to set the quiet period is:
dot1x re-authentication
set port dot1x !mod/portO re-authentication enable
Just as with other timers and retry parameters like those for Supplicant and
Server timeouts, the coding of re-authentication parameters must be carefully
considered. The re-authentication is a two-edged sword so to speak. On the
one hand, it is not desirable to leave the port available in an authenticated
state, which is what might happen if some versions of IPT are implemented.
On the other hand, too frequent re-authentication can have deleterious
effects on the network—or even the Authentication Server.
There is a parameter available in CATOS that is not configurable in IOS. It
is possible to identify the amount of time that an authorized session is allowed
to be active. This parameter is configurable on a RADIUS server and is given to
the Authenticator upon successful authentication. Upon expiration of this
timer, the port is placed in an unauthorized state. The timeout capability is
implemented in both IOS and CATOS, but only in CATOS is the parameter
configurable on the Authenticator. As stated above, it is downloadable on a
per-user-basis from RADIUS. The command is:
The configuration requirements for RADIUS are very small. Only three
elements must be identified: the address of the Authentication Server, what
TCP/IP port will be used for authentication, and what is the shared secret. The
commands for IOS and CATOS are shown below.
IOS:
radius-server host 10.254.10.70 auth-port 1645 acct-port 1646
radius-server key !textO
CATOS:
set radius server 1.1.1.1 auth-port 1645 acct-port 1646
set radius key !textO
Protocol Version 1
system-auth-control enabled
max-req 2
quiet-period 60 seconds
server-timeout 30 seconds
shutdown-timeout 0 seconds
supp-timeout 30 seconds
tx-period 30 seconds
Notice the PAE Capability. This reflects the earlier discussion in Manage-
ment regarding the device’s ability to be an Authenticator, a Supplicant, or
both. In this case it is performing the functions of an Authenticator only.
Virtually nothing that is output from the show command in CATOS is output
from the same command in IOS. This is the output from the show command
executed in IOS.
Sysauthcontrol Z Enabled
The output from those commands is displayed below first for IOS and
then for CATOS:
IOS
PortStatus Z N/A
MaxReq Z6
HostMode Z Single
QuietPeriod Z 60 Seconds
Re-authentication Z Disabled
ServerTimeout Z 30 Seconds
SuppTimeout Z 30 Seconds
TxPeriod Z 30 Seconds
Guest-Vlan Z10
CATOS:
5/48 - - force-authorized -
So far only the commands to display the status and capability of a system
or a particular port have been discussed. There is one additional class of
information that is accessible and that is the statistical/performance charac-
teristics. It is interesting that when displaying statistics for a port both CATOS
and IOS display the same information. The commands for IOS and CATOS
respectively are:
The output from those commands is shown below. Most of the infor-
mation relates to the number of frames seen and the quality of those frames.
Refer back to the chapter on Management and note that MIB elements labeled
5/48 0 0 0 0 0 0 0
5/48 0 0 0 0
Last_Rx_Frm_Src_Mac
00-00-00-00-00-00
There are additional show commands and additional parameters that can
be coded beyond what has just been discussed. But, in a practical sense, they
will not be used frequently. What has been covered is what will be used in the
majority of implementations and situations. Table 2.17 summarizes the
show commands.
debug dot1x.
events Events
packets Packets
registry Registries
debug radius
debug aaa authentication
HKLM\Software\Microsoft\EAPOL\Parameters\General\Global\
SupplicantMode REG_DWORD 3
64 Tunnel-Type—VLAN
65 Tunnel-Medium-Type—802
Tunnel-Private-Group-ID—!VLANIDO
The access list is coded on the RADIUS server as a text in the Extended
access list format. They are stored as Vendor Specific Attributes (VSA). These
attributes are coded as inacl#!nO for ingress and outacl#!nO for egress. It is
possible to refer to a precoded standard access list that exists outside of the
authentication on the Authenticator. Obviously, a significant amount of design
effort must be spent—and ongoing management effort anticipated—when
planning the use of user specific functions such as access lists and VLANs.
The IETF attribute 26 is used to store the peruser access list. The
Authenticator running IOS must be configured to accept the VSA through
the use of the statement shown below. Note: additional modifiers are
available, but are not required.
The coding of attribute 26 is based upon the use of the Cisco attribute/-
value pair as defined by the IETF. A brief discussion of attribute 26 was
conducted in the previous section on RADIUS. Information included in
attribute 26 is the identification of the vendor through the use of an ID, the
intended use of the data stored in the attribute, and the data itself. The Cisco
Vendor ID is 9, the data format is AV pair, which is a 1, and then the data itself.
Shown below is an example of the type of coding that can be applied via
attribute 26.
2.6 WIRELESS
2.6.1 Chapter Summary
Wireless is simply another 802 LAN implementation and, as such, is defined to
be suitable for an 802.1X implementation. There is one consideration and that
is that 802.1X is defined to be implemented on Point-to-Point links or
switched networks within the 802 LAN suite. Wireless is not really a switched
network, but does emulate that characteristic because most implementations
do not allow peer-to-peer communication. Wireless clients connect to access
points and not to one another. If those circumstances change, the implemen-
tation of 802.1X in the environment would be in jeopardy.
Wireless utilizes an 802 protocol and is therefore capable of participating
in 802.1X. The physical specifications for wireless are contained in a variety of
802.11 documents. These specifications primarily focus on the physical
characteristics of the communication between a wireless client and a base
station—an access point. For example, the standard for 802.11b, published by
the IEEE in 1999, is devoted entirely to the Medium Access Control (MAC) and
Physical Layer (PHY). These types of standards are consistent with publi-
cations for all 802 LANs. But because wireless is a shared environment, it has
issues that are not as visible as in other 802 LANs. The primary issue is that all
traffic is broadcast—and is easily captured by a third party. Because the traffic
from any station is so easily monitored, there has been great and justified
concern over the usefulness of wireless for anything but the most innocuous
traffic. This has been addressed through the definition of additional specifi-
cations for the encryption of traffic between an access point and a
wireless client.
Wired Equivalent Privacy (WEP) was defined as an option in the initial
implementations of 802.11. This protocol was the first real attempt to provide
a mechanism to encrypt wireless traffic. It is not the best method and has
several vulnerabilities, but it still exists as of the writing of this book. There are
a significant number of additional encryption mechanisms that have been
deployed. None of these mechanisms relies on 802.1X. They stand alone as
encryption tools only. It really was not until recently, in the specifications for
802.11i, that authentication has been identified as a specific requirement in
wireless security.
One of the largest advantages in wireless is that of mobility. The capability
of an individual to move from one location to another while maintaining
network connectivity is extremely advantageous. But this poses an issue in
802.1X. A client that moves from one access point to another must be
re-authenticated, and there is no guarantee that the connection was not
usurped—depending upon the topology of the network and the particular
EAP-Method implemented.
Several EAP-Methods can perform a fast re-authentication. The capability
to accomplish a fast re-authentication is also dependent upon the wireless
Access point
End station
Probe
Response
Open system
authentication request
Open system
Association request authentication request
Association response
Request identity
Response
2.6.4 Mobility
Why devote an entire section to a discussion of an environment that does not
pose a significant change to the way in which 802.1X operates? Because even
though the basic functions of 802.1X are the same in each environment, there
are implications for mobility and flexibility that must be considered.
Mobility in a wired world is limited to the length of the cable connecting
the user to the network. Mobility is not a real consideration. That is not the
case in a wireless world. Whether the intent was there in any given wireless
implementation or not, the simple fact is that without a tether people will
wander about. This creates two problems. The first is the physical issue of
retaining connectivity while switching from one access point to another. This
issue has been addressed fairly well. The second concern is a bit
more problematic: retaining the logical connectivity above that of
physical connectivity.
This is especially true in the area of ensuring that a connection moving
between access points is authentic. If 802.1X is applied to the environment,
then each access point is required to authenticate a new connection. It really
does not matter, within the context of 802.1X, that the user is moving an
existing connection.
Think about how most of the discussion of the process has been presented
so far. There is a fairly significant conversation that can take place. The
establishment of tunnels between Supplicant and Authentication Server,
together with the negotiation of EAP-Method—not to mention the actual
authentication of credentials—can be a significant event requiring a large
number of exchanges between the Supplicant and the Authenticator.
Depending on the location of the Supplicant and the Authentication Server
within a network, the transaction times can become very long. The latency
involved in this process may not be really noticeable in human terms, but can
be significant in computer terms. A bottleneck can form and connectivity to
applications can be lost. In effect, the primary advantage of a wireless
environment can be lost.
However, this can be mitigated to a certain extent. Remember the flow
of 802.1X and especially the original specifications. First, it is necessary that
the Supplicant have credentials validated by a backend process. In most of
the current implementations of 802.1X, the backend process is a RADIUS
server known as the Authentication Server. It is not required that the backend
process be separate and distinct from the Authenticator. In fact, in the
discussion on security earlier in the book, it was noted that a combination
of the two is desirable from the standpoint of mutual authentication of those
two entities.
are outside the scope of this book. That being said, the 802.11i standards
define the four-way handshake in the following manner. First, an Association
must be established. Second, the normal 802.1X authentication must be
successful. Third (and fourth), the exchange of key information must be
accomplished between Authenticator and Supplicant. The exchange of key
information may take place one or more times during the lifetime of a
connection and may be initiated by either the Supplicant or the Authenticator.
Figure 2.15 illustrates the exchange process.
As a side note regarding the acceptance of 802.1X as an ongoing standard,
802.11i requires the use of 802.1X as a fundamental process. The wireless
standard spends a minimum amount of verbiage discussing this requirement
and focuses on the use of keys. 802.11i enumerates the use of TKIP and CCMP.
Temporal Key Integrity Protocol (TKIP) was developed to address
weaknesses in the original WEP implementation. Essentially, TKIP
implements a code called Michael that is used to ensure the authenticity of
the source for each message. Counter-Mode/CBC-MAC Protocol (CCMP) also
authenticates packets. Confidentiality is ensured through the use of AES in
counter-mode. Authentication is provided through the use of Cipher Block
Authenticator
Supplicant
(Access point)
(End station)
Pairwise master key (PMK) is known
EAPOL-Key PMK
Generate pairwise
transient key
(PTK)
EAPOL-Key PMK
Generate pairwise
transient key (PTK)
and
global temporal key
(GTK) − if necessay
EAPOL-Key GTK
EAPOL-Key
10. The Authenticator reformats the packet and forwards to the Suppli-
cant as an EAP Request-Identity packet.
11. The Supplicant issues an EAP-Response with a TLS Certificate.
12. The Authenticator reformats the packet and forwards to the
Authentication Server.
13. The Authentication Server responds with the cipher suite and
indicates that TLS is now complete.
14. The Authenticator reformats the packet and forwards to
the Supplicant.
15. The Supplicant acknowledges the success with an EAP Response.
16. The Authenticator reformats the packet and forwards to the
Authentication Server.
17. The server recognizes the acknowledgement and issues an
Access-Accept with an imbedded EAP-Success. This message
contains keys for subsequent use by the Authenticator
and Supplicant.
18. The Authenticator receives the EAP-Success and authorizes
the connection.
19. The Authenticator issues an EAPOL frame containing an EAP-
Success to the Supplicant.
20. The Authenticator now issues an EAPOL-Key frame containing
the Multicast/Global Key to the Supplicant.
This can be a lengthy process in computer terms and has the possibility of
disrupting an application flow, if required, when moving from one wireless
access point to another. It is possible in some scenarios to store cache the
successful authentication and quickly reinstate the encrypted session on a
new access point.
Thus, even though 802.1X functions the same in a wired and a wireless
environment, there are serious implications that must be considered for
wireless. First is the simple fact that it appears that, based on 802.11i, 802.1X
will continue to play an important role in wireless. Second is that the choice
of an EAP-Method to be implemented is critical in terms of mobility and
confidentiality. Third is that the placement of the Authentication Server in
near proximity to the Authenticator is necessary in order that latency be kept
to a minimum.
DESIGN, IMPLEMENTATION,
AND TROUBLESHOOTING
So far we have gone through two chapters of the book that have discussed
what Port-Based Authentication grounded in 802.1X is, why it should be
implemented, the history of the specifications, and technical discussion of
the various elements involved in the authentication process. Everything
presented thus far has been directed toward developing a sound footing in
the technical functionality. This last chapter will be devoted to presenting a
practical view of authentication.
Two sections will be devoted to Design. The initial section in this chapter
is devoted to developing an understanding of the approach necessary to be
able to go from “I think I want to implement 802.1X.” to actually
accomplishing it. This is presented as a design overview and describes a
process composed of five stages: Requirements, Definition/Information
Gathering, Concept, Architecture, and Design.
The design process is grounded in developing and documenting a set of
requirements, as well as documenting the existing environment. It is
obvious that knowing what you want to accomplish is a prerequisite to
accomplishing it. The Requirements/Information Gathering has a dual
output. The first documents the environment and the second concretely
documents the goals and objectives to be achieved. The next stage is the
development of a Concept that takes the goals and objectives and largely
illustrates the characteristics of an implementation. The particular function-
ality desired is described in this section, along with general statements
regarding advantages as well as issues or concerns. The fourth stage,
Architecture, applies the Concept to the existing environment and docu-
ments the flow and interaction of the various participants. The way in which
all the desired functionality will be applied and the consequences of the
implementation are described in detail. The final stage is called the Design.
119
It would be easy to say that the prior stages are superfluous; however, that is
simplistic. Each of the stages builds upon the information developed in the
preceding stage. So Design is grounded in Architecture. The scheduling of
changes, the documentation of modifications to configurations, implemen-
tation plans for new devices, etc. are all developed in detail. At the end of
the design process, everything necessary to begin the implementation of
Port-Based Authentication has been accomplished.
The reason that this chapter begins with a discussion of this process and
then goes into several sections discussing implementation and trouble-
shooting is that it is necessary to understand how a design is accomplished
together with actual information about various implemented functions. The
final section in this chapter will identify specific considerations for going
into a Port-Based Authentication Design effort.
There are eight sections between the two devoted to Design. These
sections are devoted to describing, in excruciating detail on occasion, what
happens in various situations. These sections discuss what happens when it
works correctly, what happens when it does not, where it is viable, and
where alternative mechanisms must be employed. “It” is 802.1X Port-Based
Authentication.
The way in which these eight sections are organized follows the same
structure implemented thus far in the preceding sections. A variety of output
from available tools will be used to document what is happening during the
authentication process. These tools will include the use of “debug” and
“show” commands on Cisco infrastructure devices and packet sniffers.
The second section is entitled A Very Simple Network. The simplest
authentication is documented. The anticipated behavior is documented and
described. The next seven sections evolve the network in a variety of ways
and begin to explore situations that are common. The intent is to provide a
variety of examples from true situations that will help both design and
troubleshooting efforts around 802.1X.
Three sections cover the most common situations in an 802.1X
implementation. Section two documents what happens in a very simple
environment when everything works. Section three builds upon that by
describing situations where it does not work right. The fourth section is
devoted to developing what happens when visitors connect to your
network and what happens when your users connect to a foreign network.
The next section begins the discussion of how to cope with devices that
do not have the capability to function as a Supplicant. There are serious
concerns about how those devices are protected and how the network is
protected when they are implemented. Some of these devices are printers
and servers. Either no Supplicant is available for these devices or it is very
awkward to implement.
It seems that no matter how a network is implemented, a situation will
arise where there is not enough connectivity. Frequently, users will under-
take a resolution of the issue without working with the proper authorities.
I will not get into a discussion of whether or not the user is justified, but will
discuss how the implementation of 802.1X prohibits this by default. And then
I will discuss the implications of changing the defaults, followed by a
discussion of how unplanned expansion of the network is explored.
One of the major applications being implemented that is also integrated
with the network infrastructure is IP Telephony (IPT). This has significant
implications because a Cisco IP phone operates in specific ways on the
network and provides a connection to an Authenticator without providing
the functionality of the Authenticator. It is an awkward device in an 802.1X
implementation, but there are mechanisms available that make it more
compatible. This is explored in the sixth section of this chapter.
Wireless, as expected from the emphasis so far in the book, has a
significant impact on 802.1X as well as the general characteristics of the
network at a local site. There are two possible implementations of
wireless within the Cisco suite of products. They are Aironet and
Airespace, and just as their names are different, the functionality inherent
in each is different. Aironet is primarily a peer-type implementation that
allows each access point to be an independent entity with a centralized
overlay. Airespace is a centralized architecture with virtually no indepen-
dent functionality allowed to access points. The impact and consideration
of implementing either has significant impact on both 802.1X and the
network in general.
The last section discussing the technology expands the network into a
large scale WAN. Placement of various devices, in particular Authentication
Servers, is evaluated. The implications of functioning over a network of this
scale are presented.
And, finally, the last section of the chapter and the book discusses various
considerations that must be included in a design effort. These considerations
are based on information presented in the technical chapter of the book, as
well as the sections of this chapter detailing the effects of actual situations.
Thus, after reading from this introduction through the last section, you will be
ready to go start designing your implementation of 802.1X.
3.1 DESIGN
3.1.1 Section Summary
The design of a network is a formal process. It consists of distinct phases
encompassing specific work efforts. These efforts are also distinct and build
upon one another. The output of each phase must be certified and complete
because it provides the foundation for the subsequent phase. Building a
design is very similar to building a house. Incomplete work in one phase
jeopardizes the stability of the remaining work. To properly determine
whether or not 802.1X is a fit for a given network, and how it actually should
be implemented, the phases in the design process should be followed.
802.1X, like virtually every other network function, both affects and is
affected by the topology implemented. While 802.1X is a “security” function,
it is integrated into the network infrastructure. This integration tends to
minimize the real considerations required in a design because it seems to be
so very simple. But there are significant considerations regarding design of
physical infrastructure and the logical implementation of 802.1X residing on
that infrastructure.
Technology
rt nt
Operational characteristics
o ity e
nsp c ur g em
Tra Se na
Ma
Type/Quality of service
Consumer
Significance
Provider
n
tio
Support ca
pli
Ap
Access
3.1.4 Concept
After the Requirements Definition phase has been completed, the next step
is to develop a Concept of how those Requirements will be addressed. This
is the vision or “I have a dream” phase. This phase does not identify
products. It identifies how functions should be implemented within the
environment that was just documented—and how goals are to be realized.
Take the following situation as an example. In the Requirements
Definition phase, an objective of securing all access to the corporate
network was established. In the Concept phase, it could be established
that 802.1X would be implemented on ports where users are expected to
connect and applied universally in the wireless environment. It could be
explained further that this is especially desirable because wireless is
expected to become more prevalent, due to budgetary benefits, in the 40
new sites to be opened over the next year. This is even more desirable
because 802.11i is a new standard in wireless and requires 802.1X. It is
anticipated that the standard Windows 2000 Supplicant will be utilized
because that is the operating system utilized on all corporate computers. Etc.
The Concept merges three components, the goals/objectives/requirements
that were identified, the environment that was identified, and the technical
competence of the designer to produce a view of an end state. This may sound
like it is more of an art than a science, but it is mostly diligence and hard work.
Consider as an example the plane of Technology. 802.1X fits nicely
within the aspect of Security within that plane. Look at each plane and
evaluate 802.1X within that context. Ask the following questions: What are
the effects of implementing 802.1X and specific 802.1X options in each
particular aspect? What information regarding corporate policy on security
has been discovered? What is the state of current security implementations
toward that policy? Furthermore, what organizational components are in
place to support the policy? What infrastructure solutions, software, or
hardware are in place to support the policy? What functions and features of
802.1X could be implemented in the environment? This is all very important.
Define what functions and features of 802.1X will be implemented and how
they relate to the information developed in the previous phase.
Now consider the aspect of Transport in the plane of Technology—
which boils down to the state of the infrastructure. What vendors have been
implemented with what software? Is 802.1X available as a function on the
infrastructure implemented? If so, what functions are available in the current
state? Is it possible to upgrade? What is the scale of a potential upgrade?
What other functions might be adversely affected by an upgrade? What plans
exist for upgrades? Is an appropriate RADIUS server available to act as an
Authentication Server? Are there several? Where are they located? Can more
severs be acquired? What is the state of the budget?
Once 802.1X has been evaluated in terms of each aspect of each plane,
then the interactions of the aspects must be considered. How does the
information developed for the aspect of Security interact with the aspect of
Management? All of the questions and answers developed must be bounced
against one another. Sometimes additional questions will arise that must be
answered, but eventually a picture will begin to form as to how 802.1X
can—and should—be implemented in the particular environment. Some-
times the answer will be that it cannot—or should not—be implemented.
The output of this phase will consist of a definition of the general
implementation of 802.1X, the particular functions/options to be
implemented, and a description of where 802.1X might not be
implemented. A justification, along with references to the material derived
in the Requirements definition, should be included. General statements
regarding the placement of Authentication Servers will be included. The
EAP-Method or Methods will be selected and justified. Any changes or
upgrades to the infrastructure should be enumerated. Tools, desired or
required, for control and management of the infrastructure should be
identified. The output should also include a discussion of impact to the
organization, while discussing processes and procedures that must be
implemented. Frequently this portion of the Conceptual Design is ignored
and its absence causes problems in later stages. High-level diagrams are
usually constructed to illustrate items covered in the Concept. Diagrams
describing general flows and infrastructure are useful in later stages of the
Design process.
Note that a good job must be done in the Requirements Definition phase
to provide sufficient and accurate information for analysis in the Concept
phase. This necessity of doing a complete job of addressing each phase prior
to moving to the next will exist throughout the process.
3.1.5 Architecture
After Concept comes Architecture. This phase builds on the diagrams and
“dreams” just constructed. The anticipated operational characteristics are
described in detail, information flows are documented, and potential pitfalls
are flagged in this phase.
The documentation of the expected functionality of the implementation
of 802.1X is constructed. What is expected when a device connects to a port
that is enabled for 802.1X? What are the flows of the 802.1X conversations as
applied to the conceptual network? Where are Authentication Servers
placed? What is expected to happen in various situations? Describe how
required connectivity will be maintained in the event of various failures.
This may wind up ultimately being a manual management process. The
merger of automation and manual support should be described in detail so
that a complete implementation is architected.
Effectively, what must be accomplished is to address each item discussed
in the Concept at one lower level. Where one paragraph may have sufficed
3.1.6 Design
Once the Architecture has been finalized, the Design phase can be initiated.
This phase takes the various flows described in the Architecture phase and
develops the state that will exist after implementation has been completed.
Individual appliances must be identified and modifications to hardware,
software, and configurations must be defined.
As an example, this might include the definition of the placement of
Authentication Servers in the network. The port on which each server will
be placed must be defined. The IP addressing necessary and the coding of
parameters on the specific server must be constructed. Routing definitions
that might require modification to be able to reach the particular server must
be constructed. If a secondary or external database is required, then the
method for accessing the database must be configured. Each and every
device and port that will be affected must have this type of documentation
developed for it.
The implementation of new devices must be planned and detailed. Any
upgrades to switches and access points must be documented, along with the
process necessary to perform the upgrade. Any impact arising from that
upgrade to other functionality, either existing or planned, that will require
some form of activity must be detailed. The migration of users must be
detailed in terms of technical process as well as training.
Any new management processes, especially in user or network support,
must be constructed. These would range from troubleshooting to recovery.
The documentation of the process and the plan for merging each into the
existing management tolls and functions must be constructed.
Finally, a strategy for Implementation must be developed: A sequence of
events that details exactly how all of this will be implemented. Which piece
will be implemented where, in what sequence, when, and how it will be
validated must be documented. Everything from the implementation of
Supplicants to the activation of Authenticators to the sequence in which sites
will be modified must be planned as part of the Design phase.
3.1.7 Implementation
The Implementation phase is a combination of constructing the logistics
necessary to execute the plan developed in the Design phase and the actual
execution of the plan. The logistics include construction of purchase orders,
scheduling delivery to specific locations, staging and testing of new
hardware or software, identification of personnel needed to execute the
plan, training in new or modified procedures, implementation or modifi-
cation of management tools, etc. Once the logistics have been finalized, it is
a simple matter to execute the plan. Actually, that is not quite true, but all of
the work accomplished to this point makes it much easier and provides a
high degree of confidence in success.
Router
Switch
Radius
aaa new-model
aaa authentication dot1x default group RADIUS none
aaa authorization network default group RADIUS none
!
dot1x system-auth-control
!
interface FastEthernet0/1
switchport access VLAN 10
switchport mode access
no ip address
!
interface FastEthernet0/2
switchport access VLAN 10
switchport mode access
no ip address
!
interface FastEthernet0/3
switchport access VLAN 30
switchport mode access
no ip address
dot1x port-control auto
dot1x Guest vlan 20
!
interface VLAN 1
no ip address
shutdown
!
interface VLAN 10
ip address 10.46.10.2 255.255.255.0
!
interface VLAN 20
ip address 10.46.20.2 255.255.255.0
ip access-group Internet in
!
interface VLAN 30
ip address 10.46.30.2 255.255.255.0
!
ip access-list extended Internet
deny ip any 10.46.10.0 0.0.0.255
permit ip any any
!
RADIUS-server host 10.46.10.70 auth-port 1645 acct-port 1646
RADIUS-server retransmit 3
RADIUS-server key Fl1nt50n#
!
General OS:
AAA Authentication debugging is on
RADIUS protocol debugging is on
dot1x:
Dot1x registry info debugging is on
Dot1x packet info debugging is on
Dot1x events debugging is on
Dot1x State machine transitions and actions debugging is on
Dot1x Errors debugging is on
Note that the debug was issued on the switch, monitoring of the port was
enabled, and the test laptop was fully booted prior to the Ethernet cable
being inserted into the 802.1X enabled port. The debug output below shows
what happens on the Authenticator as soon as a cable is plugged into a port
with 802.1X enabled:
The prior two statements show that the change in the electrical state has
occurred at the physical layer on the port. In short, the link is coming up.
As shown by the output from the debug shown above, the port is
immediately moved into an unauthorized status. At this point, if a show
VLAN is executed, the port will be shown to be in VLAN 30 which is the access
VLAN configured for the port. However, if the interface is actually displayed,
it is clear that the port is not connected.
A sequence of debug messages will continue to be displayed. These will
be mostly unintelligible to all but the most die-hard geeks. They are mean-
ingless strings of characters to most of us, so they will not be duplicated just to
take up white space in this book. The messages have to do with the
initialization of the two state machines, etc. After skipping over them, the
next interesting debug messages are shown below:
23:50:13: dot1x-ev:dot1x_post_message_to_auth_sm:0000.0000.0000:
Sending TX_FAIL
23:50:13: dot1x-ev:dot1x_post_message_to_auth_sm:0000.0000.0000:
Current IDZ1
23:50:13: dot1x-ev:dot1x_tx_eap: EAP Ptk
23:50:13: dot1x-ev:EAP-codeZFAILURE
23:50:13: dot1x-ev:EAP TypeZIDENTITY
23:50:13: dot1x-ev:IDZ0
Note that the first packet sent is an EAP-Failure. This packet forces a reset
of any 802.1X processing that may have been initiated on the Supplicant.
Also, look at the Identity field in this packet. It is a 0, which seems to be
outside the expected value, but it will be used again on a subsequent request.
However, there should never have been a conversation to this point, so a
value Identity has not been established. The capture of the EAP-Failure is
shown below. Again, this packet was sent immediately upon detection of the
Link coming up.
0000 01 80 c2 00 00 03 00 0f f7 96 14 03 88 8e 01 00 ................
0010 00 04 04 00 00 04 00 00 00 00 00 00 00 00 00 00 ................
0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0030 00 00 00 00 00 00 00 00 00 00 00 00 ............
Notice the destination address of the packet. It is the group address
reserved for 802.1X in 802.1D bridging. Of course, at this point the
Authenticator cannot know the MAC address for the “thing” at the other
end of the link, but this address is used by the Authenticator and the
Supplicant for all exchanges—long after it is possible for each to know
the MAC address of the other. Every exchange between the Supplicant and
the Authenticator while 802.1X is “active” will show this as the destination
address. This makes it simple for both the Authenticator and the Supplicant to
identify messages intended for them. It also makes it more difficult to sort
through messages when more than one Supplicant is on the same cable. This
particular subject will be discussed in more detail in the Section entitled
Unplanned Expansion.
The switch does a minimal amount of housekeeping as shown in the
debug output below. The EAP-Failure packet will be immediately followed
by an EAP-Request Identity packet. The debug shows that the supplicant
MAC address is still unknown and set to 0000.0000.0000. This means that the
group address must still be used in the transmission. Note that all of the
processing thus far has taken less than a second.
23:50:13: dot1x-ev:IDZ1
23:50:13: dot1x-registry:registry:dot1x_ether_macaddr called
23:50:15: %LINK-3-UPDOWN: Interface FastEthernet0/3, changed state
to up
At this point the physical connection, the LINK Layer, between the
Authenticator and the Supplicant has been established. The message at
23:50:15 shows this status being reported on the switch. This message is a
little late in being displayed because the initial EAP-Failure, followed by an
EAP-Request, was sent on 23:50:13. The following is a capture of the second
packet seen on the link. This is the EAP-Request Identity referenced in the
debug statements above. The switch is ready for “normal” sequencing of
exchanges and has set the Identity to 1.
0000 01 80 c2 00 00 03 00 0f f7 96 14 03 88 8e 01 00 ................
0010 00 05 01 01 00 05 01 00 00 00 00 00 00 00 00 00 ................
0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0030 00 00 00 00 00 00 00 00 00 00 00 00 ............
The Supplicant responds with an EAPOL-Start frame. This seems to be
fairly silly. It would seem that the Supplicant should respond with an EAP-
Response packet. The reason why this seemed to happen is that the
Supplicant was not really aware of the two packets from the Authenticator.
In at least some cases where a Windows Supplicant is not configured to
issue EAPOL packets—as described in the section on configuration—the
Supplicant does not respond to the first Request Identity but waits until the
Authenticator retransmits—usually after 30 seconds. This implies that it did
not recognize those first two packets issued by the Authenticator. There are
several possible reasons for this situation, but they are somewhat irrelevant.
The fact that this happens is the issue.
The following is the capture of the third packet on the Link. This packet
is the EAPOL-Start from the Supplicant to the Authenticator. Note the times
between this packet and the previous one. Approximately three seconds
have elapsed.
0000 01 80 c2 00 00 03 00 0d 56 b7 6f c2 88 8e 01 01 ........V.o.....
0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0030 00 00 00 00 00 00 00 00 00 00 00 00 ............
The debug below shows that the Authenticator received the EAPOL-Start
and reacts to it. It recognizes the MAC address as a new one on the port—
000d.56b7.6fc2—and initiates processing for that one. It forces the port into
an unauthorized status. This is redundant because the debug never shows the
port having ever left the unauthorized state. After performing a variety of
housekeeping functions, it issues an EAP-Request Identity.
At this point the debugs show that 802.1X is formally placing the port in
an UNAUTHORIZED state. I suppose it is unauthorized because it is not
allowed to transmit traffic across it. The device connected is unauthenticated
and its authorization is indeterminate.
At this point the Authenticator is preparing itself for connectivity with the
backend, identified by bend in the debug messages. There is nothing to
communicate to the Authentication Server, but preparations in AAA (@@@
debug messages) and RADIUS are made. Finally, a Request Identity in
response to the EAPOL-Start is sent.
All of this activity has occurred in less than a second. The Supplicant
responds within the same second. Again, notice that the destination MAC
address is the group address associated with 802.1X; the Ethertype is 888e,
as identified earlier. In short, the packet conforms to the encapsulation
mechanisms described in an earlier section in the technology chapter. It is
interesting to note the Identity field. The response shown below performs a
lock-step with the previous packet from the Authenticator that contained an
Identity of 0. The Authenticator can readily associate the response from the
Supplicant with the request because of this value. However, it does open
certain issues with security. A Denial Of Service attack can be mounted that
mimics the packet, except for the value of Identity, causing the process to be
aborted.
0000 01 80 c2 00 00 03 00 0d 56 b7 6f c2 88 8e 01 00 ........V.o.....
0010 00 15 02 00 00 15 01 4b 43 49 4e 5c 65 64 77 69 .......CCCC\edwi
0020 6e 2e 62 72 6f 77 6e 00 00 00 00 00 00 00 00 00 n.brown.........
0030 00 00 00 00 00 00 00 00 00 00 00 00 ............
The debug below reflects the receipt of the response. Notice that various
timers are initiated. For the first time in the debug, AAA (@@@) activity is
seen. The user is setup in AAA and RADIUS is invoked.
Version: 1
Type: EAP Packet (0)
Length: 6
Extensible Authentication Protocol
Code: Request (1)
Id: 5
Length: 6
Type: PEAP [Palekar] (25)
Type-Data (1 byte) Value: 21
0000 01 80 c2 00 00 03 00 0f f7 96 14 03 88 8e 01 00 ................
0010 00 06 01 05 00 06 19 21 00 00 00 00 00 00 00 00 .......!........
0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0030 00 00 00 00 00 00 00 00 00 00 00 00 ............
When the captured packet is parsed, it can be seen that the Authentica-
tion Server is proposing the use of PEAP as the EAP-Method.
0000 01 80 c2 00 00 03 00 0d 56 b7 6f c2 88 8e 01 00 ........V.o.....
0010 00 70 02 05 00 70 19 80 00 00 00 66 16 03 01 00 .p...p.....f....
0020 61 01 00 00 5d 03 01 43 4e 50 8e b6 92 ab 94 b7 a...]..CNP......
0030 a4 c4 7d 72 e1 51 87 65 68 3a e3 71 f3 17 96 17 ..}r.Q.eh:.q....
0040 f8 ed 32 ec 7f 0b 35 20 25 be 7c af da 69 10 e3 ..2...5 %.|..i..
0050 14 3c bc d8 97 f3 11 98 83 b8 5f 5d 06 0a 36 a2 .<........_]..6.
0060 13 89 85 a8 00 65 19 97 00 16 00 04 00 05 00 0a .....e..........
0070 00 09 00 64 00 62 00 03 00 06 00 13 00 12 00 63 ...d.b.........c
0080 01 00 . ..
The response from the Supplicant initiates a TLS tunnel to the Authenti-
cation Server and that is why the EAP-Method data is incomprehensible. The
Authenticator receives the packet and constructs one to send to the
Authentication Server with the contents of the EAP field from the Supplicant.
Also, several timers are reinitialized. All of this is shown in the debug output
below.
This is the packet sent to the Supplicant from the Authenticator. It contains
the EAP data sent to the Authenticator from the Authentication Server. The
Authenticator did not manipulate the content of the EAP-Method data. It
simply forwarded the information after decrypting it.
0000 01 80 c2 00 00 03 00 0f f7 96 14 03 88 8e 01 00 ................
0010 00 84 01 06 00 84 19 80 00 00 00 7a 16 03 01 00 ...........z....
0020 4a 02 00 00 46 03 01 43 4e 50 45 62 1d 25 9b ed J...F..CNPEb.%..
0030 73 e8 95 9b 89 ae a2 2a b5 c2 ba 31 79 e8 30 87 s......*...1y.0.
0040 83 df 0c e2 ae 00 26 20 25 be 7c af da 69 10 e3 ......& %.|..i..
0050 14 3c bc d8 97 f3 11 98 83 b8 5f 5d 06 0a 36 a2 .<........_]..6.
0060 13 89 85 a8 00 65 19 97 00 04 00 14 03 01 00 01 .....e..........
0070 01 16 03 01 00 20 4c b8 82 3c 44 0e 23 f7 fe 35 ..... L..<D.#..5
0080 65 6b 30 d1 a1 e8 67 44 04 03 ad 9f 67 ed 3e e9 ek0...gD....g.>.
0090 14 98 a4 12 83 28 .....(
0000 01 80 c2 00 00 03 00 0d 56 b7 6f c2 88 8e 01 00 ........V.o.....
0010 00 35 02 06 00 35 19 80 00 00 00 2b 14 03 01 00 .5...5.....+....
0020 01 01 16 03 01 00 20 7f 4f 06 b1 80 ce 76 4c 59 ...... .O....vLY
0030 56 9a e9 c1 b6 2f 8e 26 52 03 28 fb fb 15 2c b0 V..../.&R.(...,.
0040 4a 48 28 ed 99 10 30 JH(...0
This is the packet sent to the Supplicant that was derived from what the
Authentication Server sent. This packet is telling the Supplicant that the
credential exchange was a success. The Authentication Server is not
notifying the Authenticator because the Supplicant must acknowledge the
successful authentication before that notification will take place.
0000 01 80 c2 00 00 03 00 0f f7 96 14 03 88 8e 01 00 ................
0010 00 26 01 07 00 26 19 00 17 03 01 00 1b f7 f8 25 .&...&.........%
0020 06 c7 58 d1 69 1d e6 fe 5e 37 48 a2 42 2f 13 a9 ..X.i...^7H.B/..
0030 66 7d 5d 75 1e cb cb e8 00 00 00 00 f}]u........
0000 01 80 c2 00 00 03 00 0d 56 b7 6f c2 88 8e 01 00 ........V.o.....
0010 00 26 02 07 00 26 19 00 17 03 01 00 1b f6 9f 4a .&...&.........J
0020 68 89 c9 7f aa 80 86 69 ab 1a f5 c8 91 49 d0 2a h......i.....I.*
0030 47 47 eb 2d 6c c2 96 e1 00 00 00 00 GG.-l.......
The Authenticator continues to do with this packet what it has done with
all the previous packets. It finally constructs a RADIUS packet derived from
what was sent by the Supplicant and forwards that packet to the Authentica-
tion Server. All of the debug messages are not shown leading up to that event.
Shown below is the debug output regarding the packet being sent and the
response back from the Authentication Server.
Up to this point all packets from the Authentication Server were Access-
Challenge packets requesting information. This packet is an Access-Accept.
Now the Authenticator has something to do. It has been notified that the
Supplicant has been successfully authenticated. Shown below are the debug
output messages caused by the Access-Accept. Note that the configuration
until they are considered in terms of the configuration and the expected
behavior of 802.1X. The first is:
What access list is the switch talking about? There is no access list in the
configuration, so what the heck is this? Remember that by default only one
Supplicant is allowed to connect to any port. This must be enforced,
somehow, and this is how it is accomplished. A per-user access list identifying
the MAC address of the successfully authenticated Supplicant is created
and applied. This access list is internal and cannot be readily displayed The
next statement occurs a little earlier in the debug and also seems just a bit
cryptic:
0000 01 80 c2 00 00 03 00 0f f7 96 14 03 88 8e 01 00 ................
0010 00 04 03 07 00 04 00 00 00 00 00 00 00 00 00 00 ................
0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0030 00 00 00 00 00 00 00 00 00 00 00 00 ............
A partial output from a “show VLAN” confirms that the port is in the
VLAN established for an authenticated Supplicant. Specifically port
Fastethernet 0/3 is in VLAN 30.
And a “show interface FA0/3” confirms that the port is fully “up.”
Now the Supplicant is connected to the network and the poor user
behind the keyboard is none the wiser. The Supplicant is in the access VLAN
coded for the port and working just fine. Now suppose that this user is part
of a small group that requires special control and privilege. That is probably
a stretch, considering that our network is only a few ports and consists of a
router and a RADIUS server, but assume that anyway.
As discussed briefly a couple of paragraphs earlier, it is viable to configure
the RADIUS server in such a way that a specific user or user group is placed in
a specific VLAN. This configuration takes place entirely on the RADIUS server
and will be subject to the format of the specific server implemented.
In CiscoACS, as described in the section on configuration, this is
accomplished by identifying that RADIUS (IETF) is the form to be taken
and attributes 64, 65, and 81 are correctly configured. This was done in our
very simple network. In the debug statement shown below, those special
attributes are returned by the Authentication Server. If a comparison is made
to the earlier Access-Accept packet returned by the server, they are the same
except for the inclusion of these attributes. Also, it should be noted and
expected that these attributes are returned outside of the EAP-Method data.
The Authenticator places the port into VLAN 20 and issues a Success
packet to the Supplicant. This can be a point of confusion for someone
attempting to manage the device because a “show config” will not indicate
that the port should have any type of association with VLAN 20. However, a
“show VLAN” will clearly show the port to be in VLAN 20. If the VLAN
identified by the Authentication Server is not defined on the Authenticator,
then an error message will be displayed and the authentication process will
continue with the port remaining in an unauthorized state. A partial output
of the “show VLAN” is included below.
Avery similar situation happens when a per-user access-list has been coded
on the RADIUS server. Like the VLAN information, the access list is sent to the
Authenticator and is applied to the port for the duration in which the port is
authenticated. Just as with the dynamically applied VLAN, the port is the
recipient of the application and not the user. Should more than one user be
active on the port, then there can be very unpredictable results. The last
authentication resets the port to values associated with it. The actual configu-
ration is not modified so that this information cannot get permanently “stuck.”
back into the device, an EAPOL-Start would be required in order for the
authentication process to be initiated. Remember that the port is up, so the
Authenticator will not reinitiate the process. It is entirely possible that the
new user will not have an active Supplicant. This will leave the new user
with no network connectivity. However, if the device issues an EAPOL-Start
instead of an EAPOL-Stop upon logging off, then the Authenticator will
restart the authentication process immediately. Let us continue with the
debug at 00:22:41 when the user logs off.
Of course, the Supplicant does not respond to the request and during this
time the port remains in a “connected” state. The Authenticator will continue
to attempt to communicate, but there is no response from the Supplicant.
Eventually the Authenticator will place the port in an unauthorized state and
will issue an EA-Failure to the Supplicant. This will cause the port to be placed
into a Guest VLAN, if one has been configured. This is an optimal state for the
port, awaiting when there is no user logged into the Supplicant. This way, if
the new user does not participate in 802.1X, then he will be able to attach to
the network as desired. On the other hand, if the new user does participate in
802.1X, the Supplicant will issue an EAPOL-Start to initiate authentication.
The debug output shown below illustrates the final actions taken by the
Authenticator when a user logs off.
00:22:41: dot1x-sm:Fa0/3:000d.56b7.6fc2:auth_disconnected_enter_ac-
tion called
00:22:41: dot1x-sm:
Up to this point in the debug the output is very similar to that displayed
during an initial connection when the link became active. However, in this
case the port was already active and authenticated. Some additional cleanup
is required and this is shown below.
00:22:41 dot1x-registry:**dot1x_vp_statechange
00:22:41 dot1x-ev:VLAN 30 vp is removed on the interface
FastEthernet0/3
00:22:41 dot1x-registrydot1x_port_unauthorized:Host-modeZ0
RADIUS/guestZ0
00:22:41: dot1x-ev:supplicant 000d.56b7.6fc2 is last
00:22:41 dot1x-ev:dot1x_port_unauthorized: removing feature
000d.56b7.6fc2 to HA table on VLAN 30
00:22:41: dot1x-ev:dot1x_port_cleanup_author: cleanup author on
interface FastEthernet0/3
00:22:41: dot1x_auth Fa0/3: idle during state auth_disconnected
00:22:41 @@@ dot1x_auth Fa0/3: auth_disconnected-Oauth_connecting
00:22:41: dot1x-sm:Fa0/3:000d.56b7.6fc2:auth_connecting_enter called
00:22:41: dot1x-ev:Found a supplicant block for mac
0000.0000.0000 FB9134
00:22:41 dot1x-ev:dot1x_auth_connecting_action: Updating default
supplicant block with expected/current idZ22/22 from
000d.56b7.6fc2 block
00:22:41: dot1x-sm:dot1x_auth_connecting_action:000d.56b7.6fc2
Posting reAuthMax_exceeded event
00:22:41: dot1x-ev:dot1x_post_message_to_auth_sm: 000d.56b7.6fc2:
sending TX_FAIL
00:22:41: dot1x-ev:dot1x_post_message_to_auth_sm: 000d.56b7.6fc2:
Current IDZ23
00:22:41: dot1x-ev:dot1x_tx_eap: EAP Pkt
00:22:41: dot1x-ev:EAP-codeZREQUEST
Here the port becomes “not connected” and the normal authentication
process will continue. The Supplicant does not respond, so the port
eventually is placed in a Guest VLAN, if one has been configured.
The port on the Authenticator is in an entirely reasonable state as far a
802.1X is concerned. It will continue the normal authentication process. The
next 802.1X events will either be an EAPOL-Start from a new user logging in
or the port will attempt authentication when the configured quiet period
has expired.
That is what happens when it works the way it is supposed to work, or at
least the way we want it to work. Surely there are additional situations
where it will work differently, but in a way that is still desirable. Still, when a
user that is supposed to have access to the network plugs in, then a process
similar to those discussed above is the desired and expected outcome. It can
happen in the background and the user may never be aware that she has
been scrutinized and finally allowed access. The timeframe in which this has
taken place is probably not even noticeable by the user, as it will frequently
take place while a device is being booted. The total time that elapsed was
less than four seconds and most of the actual processing took place in less
than one second of real time.
While all of the examples shown utilize IOS on a small switch, both larger
switches and switches implementing CAT-OS will exhibit the same function-
ality and similar output. In a very simple network, the implementation of
802.1X in a wired environment is clean and simple. But what happens when
the process does not really work as desired?
At this point, the output begins to deviate from that shown in the situation
where the Supplicant responds to the request. The Authenticator initiated a
timer upon the transmission of the Request Identity. In the default state, the
timer will expire in thirty seconds and a second EAP Request Identity will be
transmitted. This is shown in the following debug. Note the time stamp in the
last debug statement above and the first statement below.
00:03:34: dot1x-sm:Fa0/3:0000.0000.0000:dot1x_process_txWhen_ex-
pire called
00:03:34: dot1x_auth Fa0/3: during state auth_connecting, got event
18(txWhen_expire)
The debug statement above identifies that the timer has expired and that
a retransmission is required. The following debug statement indicates the
current state of the port and the state to which it is transitioning. In this case,
the state does not change.
The following statements are exactly the same as those surrounding the
transmission of the first EAP Request Identity. They reflect the fact that an
EAPOL packet was transmitted on the Ethernet connection to the
Supplicant.
00:03:34: dot1x-sm:Fa0/3:0000.0000.0000:auth_connecting_connectin-
g_action called
00:03:34: dot1x-ev:dot1x_post_message_to_auth_sm: Tx for req_id for
supplicant 0000.0000.0000
If the status of the port is queried during the thirty seconds separating the
issuance of the two Request Identity packets, the port will be shown to be
up, but the line protocol will be down. The following messages are also
likely to be displayed.
00:04:04: dot1x-
sm:Fa0/3:0000.0000.0000:dot1x_process_txWhen_expire called
00:04:04: dot1x_auth Fa0/3: during state auth_connecting, got event
18(txWhen_expire)
00:04:04: @@@ dot1x_auth Fa0/3: auth_connecting -O auth_connecting
00:04:04: dot1x-
sm:Fa0/3:0000.0000.0000:auth_connecting_connecting_action called
00:04:04: dot1x-sm:dot1x_auth_connecting_action:0000.0000.0000
reauth_countZ3 exceeded DOT1X_DEFAULT_REAUTH_MAX
The next debug statements indicate that a Guest VLAN was found and
the Authenticator proceeds to authorize the port.
It should be obvious that if a Guest VLAN had not been configured the
following statement in the debug would have
indicated failure instead of success and the port would not have been
authorized.
Up to this point the debug and packet captures will show the exact same
situation and sequence of events as would occur in a successful authentica-
tion. The exchange has been entirely normal and as expected. However, the
next sequence from the debug illustrates the problem. The Authenticator is
retransmitting packets and finally marks the Authentication Server as dead.
In the configuration used for this example, only one RADIUS server was
defined. The Authenticator has just placed that server into a status indicating
that it cannot be contacted. If additional servers had been configured, the
Authenticator would have continued to attempt to contact them in the order
in which they were configured. If they, too, were dead, then the Authenti-
cator would reach the point shown below where it has entered a state where
no Authentication Server is available.
AAA has now entered a state where the primary method of authentica-
tion has failed. If a secondary method has been identified, in this case
NONE, it would normally continue with that method. In this case, an attempt
was made to mitigate the situation the Authenticator is now in. A secondary
method of NONE was included to stop the authentication process, as the
RADIUS server is not contactable. As shown in the debug statements below,
it does not work and another round of attempted contact to the RADIUS
server is initiated.
00:26:08: dot1x-
sm:Fa0/3:0000.0000.0000:dot1x_process_txWhen_expire called
00:26:08: dot1x_auth Fa0/3: during state auth_connecting, got event
18(txWhen_expire)
The captured Failure packet is shown below. Notice the elapsed time.
More than 60 seconds have passed since the first packet was issued by the
Authenticator.
Length: 4
0000 01 80 c2 00 00 03 00 0f f7 96 14 03 88 8e 01 00 ................
0010 00 04 04 01 00 04 00 00 00 00 00 00 00 00 00 00 ................
0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0030 00 00 00 00 00 00 00 00 00 00 00 00 ............
3.4 GUESTS
3.4.1 Section Summary
It would be nice to assume that everyone wishing to attach to the network is
actually authenticatable—meaning, everyone that connects to the network
has current and valid credentials. Unfortunately, that is not the case. There
will be situations where access is granted to visitors. The problem of how to
support visitors needing access to resources that are on your corporate
network or are available across the internet is one that has been pertinent for
years. This problem is exacerbated by the implementation of 802.1X, unless
it is recognized as a design issue to be considered during implementation.
There are really two issues around guest access that must be considered.
The obvious one is that of visitors coming into your environment and
requiring access to information via your network. The one that is less
obvious is the issue of your users going to other environments and requiring
access from them. If 802.1X has not been implemented, then there is no
greater issue than has always existed. However, if it has been implemented
in one or the other environments, then the complexity of allowing
access increases.
Assume that 802.1X has been implemented in your network and a visitor
arrives from an environment without 802.1X. This should mean that he does
not have a Supplicant on his computer. Through the normal process of
attempting authentication, the visitor will be placed in a Guest VLAN if one
has been coded.
What if the visitor comes from an environment that has implemented
802.1X? This can be a serious issue because he will have an active
Supplicant. This situation quickly devolves into the issue of a Supplicant
either not being able to participate in the desired EAP-Method or of
appearing to supply bad credentials. In the previous section, these situations
indicated that “it was not working right.” However, in this case, it is working
right. Both parties are doing exactly what they are supposed to do.
In newer versions of IOS that support the 2004 version of the specifi-
cations, the visitor can be placed in a guest VLAN in this type of situation.
However, in versions of IOS that are based on the 2001 specifications, the
user will never be allowed access. In this situation, the only alternative is to
remove the Supplicant prior to attempting to connect.
This issue does not really arise in wireless because of the separation of
authenticated users and guests into distinct SSIDs. Because a SSID does not
really have the capability to support multiple VLANs, a SSID to support
authentication and a SSID with open credentials are usually constructed.
Visitors are usually instructed to connect to the Guest SSID.
This leads to one of the significant design concerns. A consideration of
who will likely be placed in a Guest VLAN and for what reason must be made.
It is obvious that guests probably will wind up there, but who else might, as
well? Are there situations where legitimate corporate users could wind up
there? This is a question that should have been answered in the concept phase
of the design. Will every legitimate corporate user actually have a Supplicant
on his computer? There are a lot of questions of that nature that need to be
asked and resolved while designing the Guest VLAN. It would be optimistic to
envision only guests going onto that VLAN, and then only allowing Internet
access to that VLAN.
For the purposes of this section, it will be assumed that the design issue
has been adequately addressed. That leaves the issue of what happens if the
user, in some fashion, supplies invalid material for authentication. This
could be the EAP-Method or the credentials themselves.
The Authenticator realizes that the authentication has failed and notes
the situation in the debug. It immediately notifies the Supplicant with an
EAP-Failure packet and leaves the port in an unauthorized state.
Shown below is the capture of the failure packet sent to the Supplicant.
0000 01 80 c2 00 00 03 00 0f f7 96 14 03 88 8e 01 00 ................
0010 00 04 04 09 00 04 00 00 00 00 00 00 00 00 00 00 ................
0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0030 00 00 00 00 00 00 00 00 00 00 00 00 ............
At this point, the Supplicant cannot communicate except with the
Authenticator using EAPOL packets. Anything else it attempts to do will be
ignored. After the quiet period timer expires, the Authenticator will initiate
another round of attempted authentication. This will continue ad infinitum.
Authenticators that cannot learn from past failures are condemned to repeat
them, so to speak.
An Authenticator using an IOS that is based on the 2001 specifications
never will allow a Supplicant with invalid credentials to enter the network.
Also, an Authenticator using an IOS based on the 2004 specifications may be
able to place this Supplicant into a Guest VLAN. This will depend on the
specific capability of the IOS, because this is an optional feature under the
2004 specs, and it will also depend on the configuration applied to the
Authenticator. The specific command in some Cisco version of IOS to enable
this is:
dot1x guest-vlan-supplicant
Authentication Server will have—or at least will have the capability to have—
logged the reason why the failure occurred. An analysis of the RADIUS logs
probably will be required to detail what failed in the authentication process.
From the perspective of logs and traces, the failure will look similar to that
shown in the previous section discussing what happens when a Supplicant
provides bad credentials.
This is a likely event when a visitor attempts to connect to a wired
environment enabled for 802.1X. Although the number of possible
methods is fairly small, the likelihood of two networks implementing the
same methods in the same way is relatively uncommon. When a visitor
complains about not being able to connect to your corporate wired
network, then this should be one of the first areas included in the
troubleshooting process.
Router
Switch
Similar situations exist when small switches and wireless access points
are attached to an 802.1X enabled port. In both of these situations, the
device attaching does have a MAC address associated with its port.
Technically, this means that only that MAC address will be allowed to
communicate. However, the way in which the address is used can allow
other devices to utilize it. The issue that arises is that the rogue device does
not have a Supplicant. Remember that we just explored this situation in the
previous section. The specifications will allow for mutual authentication of
infrastructure devices, but no devices exist to accomplish that authentica-
tion. This means that, at best, the switch or access point will be placed in the
Guest VLAN and anything attached or associated with it will exist in the
Guest VLAN. This may be only adequate connectivity, but it is the best that is
going to happen.
The best expansion is going to be establishing a new device within the
designed 802.1X environment. Allowing unplanned, random expansion of
the network is risky and goes against the intent of 802.1X.
additional users on the second switch will be able to access only the Guest
VLAN. The situation of a second MAC address attempting to use a port will be
discussed in more detail later. But right now let us stay with the higher level
discussion of unplanned expansion.
The option of using the switch in the closet that is a configurable Cisco
switch is not bad, but it is not the only situation likely to happen. Users have
an unforgivable tendency to do things without ever contacting the support
organization. One will frequently act like an evil Santa Claus, reach into his
laptop bag, extract a device, and plug it into any convenient network port
with the intent of allowing locally expanded network access. Usually this
device is an Ethernet hub, a small nonconfigurable switch, or a small
inexpensive wireless access point.
Follow what happens when a hub is connected to the Authenticator.
First, these devices usually have an uplink port. The uplink ports crossover
the send and receive signals so that a normal Ethernet cable may be used to
establish connectivity. There is one further characteristic they frequently
share. They are nonconfigurable. This is the key issue when attaching one to
an 802.1X enabled port.
This means that the device itself does not contain a MAC address. It only
establishes physical connectivity. When the device is connected to the
Authenticator, the physical link becomes active and the Authenticator will
begin attempting to authenticate the device. The hub will not respond and
will be placed in the Guest VLAN, if one has been configured, just as
anticipated. But because the device does not have an address, the
Authenticator will not be able to restrict any conversation. Shown below
is the output from a show dot1x statistics interface FastEthernet0/3. A small
hub has been connected to this port and no other device is connected yet to
the hub.
This output shows that the Authenticator has issued two packets. This is
consistent with the expected Request Identity packets that the specifications
require the Authenticator to issue. What is interesting is that, in fact, three
packets have been transmitted by the Authenticator—One Failure and two
Request Identity packets. The first packet, the Failure, does not appear in the
statistical information displayed above.
At this point, the Authenticator has not yet received a packet from the
attached switch or hub. This is confirmed in the information shown above.
Therefore, no MAC address is known for the port. The port becomes active
and, because the new device cannot participate in the authentication
process as a Supplicant, the port is placed in an unauthorized state. The
next device to converse over the link must use the Guest VLAN. But because
the Authenticator has not yet seen a MAC address for the port, if the
computer attaching has the capability of issuing an EAPOL-Start, it can
successfully request that 802.1X be restarted. The authentication process
then will proceed as normal and the port on the Authenticator will be
reassigned to the appropriate VLAN, based on the outcome of the process.
This may be a Guest VLAN, an authenticated VLAN, or a VLAN associated
with the user in RADIUS.
Let us examine the connection of a second computer to the hub. Assume
that the Authenticator has been left in the default configuration of allowing a
single MAC address on the 802.1X enabled port. To illustrate this, look what
happens when a Supplicant with the capability of issuing an EAPOL-Start
attaches. The debug output below begins when the Authenticator receives
that frame.
That is the entire output from the debug. The Authenticator recognizes the
fact that an EAPOL frame has been issued, but does not do anything with it.
The only real clue as to what has happened is the last line. It indicates that the
Supplicant has not been set up on the Authenticator. There is one interesting
thing to note in this situation. Because this is a hub, unplugging the original
Supplicant does not destroy the authentication for that Supplicant. The MAC
address of the device that first attached is the only address that will be allowed
to communicate. The Authenticator will not allow a different device to usurp
the role. Even if the second device is 802.1X enabled, it will not be allowed to
communicate. The original Supplicant will need to have issued an EAPOL-
Logoff prior to the new device issuing an EAPOL-Start in order for the second
device to be recognized.
Now go back to the debug output. As just discussed, there is little to go on
when attempting to identify what happened. If the debug is expanded to
include port security, which would be expected to be involved in restricting
the MAC addresses allowed on a port, no additional information is displayed.
In the previous section, AVery Simple Network, the debugs show that 802.1X
has constructed a MAC address filter to restrict communication. This filter is
not displayable. It will be difficult to diagnose this situation without under-
standing the topology of what has been connected to the Authenticator and
reviewing the configuration of 802.1X for the port.
interface FastEthernet0/3
switchport access VLAN 30
switchport mode access
no ip address
dot1x port-control auto
dot1x host-mode multi-host
dot1x max-rEquation 6
dot1x Guest-VLAN 10
Spanning-Tree portfast
of that depends on which MAC is the last to attach and how it participated in
the authentication process. Let us go through a couple of scenarios.
Consider the situation when a hub has been connected to the Authenti-
cator and a single computer has connected to the new hub. At this point,
assume that a Guest VLAN has been configured and the first device to
connect is a computer without an active Supplicant—meaning that it did not
issue an EAPOL-Start. There is no authentication to take place because the
port has already been authorized and will allow multiple MAC addresses.
The device is placed in the Guest VLAN. Any subsequent devices without an
active Supplicant will also be placed in the Guest VLAN.
Now look at the situation when a different device is attached to the hub
that houses a population already using the hub in the Guest VLAN. This new
device is a Windows 2000 machine configured with an active Supplicant. This
machine issues an EAPOL-Start. And this is where life becomes interesting
because there are multiple possibilities.
As soon as the EAPOL-Start is received by the Authenticator, the port will
revert to an unauthorized state. That packet causes the authentication
process to begin anew. This is illustrated in the debug output shown below.
The devices that were attached to the hub prior to the issuing of the
EAPOL-Start can no longer communicate across the port. Any conversation
with an application that was in progress is interrupted. The device that
issued the EAPOL-Start continues the authentication process according to
the rules established for the EAP-Method employed.
If the authentication is successful, it is highly likely that the port on the
Authenticator will be placed in a different VLAN. All of the original devices
are addressed for the Guest VLAN. They can no longer communicate with
anything. The subnet associated with the port on the Authenticator has
changed. The original computers, the ones without a Supplicant, now can
request a new DHCP address and obtain one, presumably, in the VLAN
associated with the computer that just successfully authenticated. Now, for
all practical purposes, all users—ones that did not authenticate and ones
out of the box and will immediately be able to allow associations using the
default SSID. Airespace on the other hand is a centralized implementation
where the access points require a controller to function. More effort is
required to enable an access point in Airespace. However, as the size of the
implementation grows, it is easier to add access points in a coordinated
fashion.
There are some additional aspects of communication that must be
considered. Aironet requires the use of trunk connections if multiple SSIDs
are implemented. Airespace does not. Instead, all traffic is tunneled from the
access point back to a controller for distribution. This makes placement of
controllers in the network, and deployment of VLANs for transport between
controller and access points, key design features.
Both solutions are viable within an 802.1X based authentication scheme.
If Aironet is implemented with a centralized control overlay, then both
systems allow for fast reauthentication. Both solutions are implementable,
but given the circumstances of an individual network, one may be preferable
to the other.
Access point
End station
Probe
Response
Open system
Authentication request Open system
Authentication response
Association request
Association response
Request identity
Response
made from stationary positions. People tend not to move around much.
Wireless provides freedom of movement but does not force it on the office
staff.
The major advantage that wireless offers is that of ubiquitous connec-
tivity. Wireless means losing the leash that connects a user to the network—
voice or data. An entire room can be filled with people without having to
search for a switch or hub to expand the network—and each person can still
connect. Wireless means that everyone can do their email during a meeting
and not have to pay attention to what is being presented. While it is possible,
wireless usually does not change the way people do business and, for the
most part, people are stationary. That being said, one of the major
considerations in wireless, and implementing Port-Based Authentication
within wireless, is retention of connectivity when people do move from one
location to another.
There are two different philosophies in wireless implementation. They
differ as to where the “intelligence” of the implementation resides. It boils
down to whether or not the access point is capable of operating indepen-
dently. Is the system a peer-to-peer type of operation or is it centrally
controlled? Cisco offers a solution in each philosophy. The legacy Aironet
product line is essentially a peer-to-peer solution while the newer Airespace
product line implements a central solution. Each of the solutions is capable
of implementing 802.1X, but there are significant implications involved in
making the choice.
Before discussing the individual solutions, the handling of 802.1X within
wireless needs to be reviewed a little more. A couple of sections already
have discussed wireless, so there is no need to recap issues in EAP-Method
selection or how 802.1X functions within the association process. The
3.7.3 Aironet
Aironet is a peer-to-peer implementation. This solution can have a more
centralized control imposed on it, but each access point is capable of
operating as a standalone device. The access point can be configured
using IOS or via a web interface. Rather than expand this book to discuss
HTML, the capabilities of Aironet will be reviewed from an IOS perspective.
Because it is IOS based, the essential capabilities of the access point are
very similar to those already discussed for switches in a wired environment.
802.1X can be implemented on an Aironet access point in much the same
way that it is implemented on a Cisco switch. This means that each and
every access point will function as an Authenticator in this system. The
configuration of each access point will need to identify one or more
Authentication Servers and have AAA defined. Shown below is a partial
configuration illustrating the configuration of SSIDs intended for 802.1X
authentication and a Guest VLAN.
ssid fred
VLAN 42
authentication open EAP EAP_Methods
authentication network-EAP EAP_Methods
!
ssid guest
VLAN 43
guest-mode
Aironet card or a card from another vendor can have connectivity with SSID
“fred.” This affects the 802.1X configuration only in that EAP_Methods are
defined to be the authentication mechanism for each of the two authentica-
tions. The term EAP_Methods implies that 802.1X is the transport.
This brings up a concern. Because Aironet access points each house
intelligence, then configuration management becomes more complex. Each
access point has the capability to be configured in a unique way. Different
SSIDs can be configured on different access points. Even more importantly,
the same SSID can be configured differently on one access point than on
another. The VLAN for a particular SSID does not need to be consistent across
an implementation of multiple access points, nor are the authentication
statements for the SSID required to maintain consistency across the wireless
domain. If consistency is not maintained, however, significant issues
regarding mobility can arise.
Most obviously, the loss of connectivity due to a change in IP address is a
real concern. But equally important is the concern that, should the
authentication method for the particular SSID change, loss of connectivity
altogether is a possibility. Thus, there is tremendous flexibility in the
creation of the wireless domain. This is a mixed blessing, though, because
of the more stringent management controls required to ensure that multiple
access points are configured in the way intended.
Yet, all of this is somewhat peripheral to 802.1X. The real issues are how
to ensure confidentiality within the infrastructure, how to protect connec-
tivity from user to application, and how to preserve connectivity as a user
moves from one access point to another.
The issue of confidentiality boils down to encryption methods and
validation of credentials for a conversation. These issues are more a
discussion of the EAP-Methods that can be deployed rather than the
implementation of 802.1X. The proper selection of an EAP-Method is
essential to a good implementation of security. It is more critical in a wireless
environment than in a wired one because of the ease of eavesdropping. But
the particular EAP-Method selected is peripheral to authentication until
mobility is considered. A brief discussion of some methods available was
conducted earlier in the technology chapter of this book and can be
referenced. For the most part, the subject of confidentiality of a conversation
is addressed in much the same way in either a wired or wireless environment.
Confidentiality, as it applies to the connection from the access point to the
network, is another matter.
The significant issue in an Aironet implementation is how to protect the
wired connection between the access point and the rest of the network. This
issue is the same as considering the protection of inter-switch connectivity.
The fact is that the Cisco infrastructure, switches, and access points do not
authenticate each other. Although the capability for mutual authentication is
allowed by the specifications, it is not currently implemented. This means
interface FastEthernet2/2
description Trunk to WAP
switchport trunk encapsulation dot1q
switchport native VLAN 2
switchport trunk allowed 2,5,7
switchport mode trunk
Trunk
(Carrying VLAN 5 and 7)
VLAN 5
Authenticator VLAN 7
Supplicant Switched
(End station) (Access point) infrastructure
3.7.4 Airespace
Airespace is a centralized wireless implementation. Where each access point
is intelligent in an Aironet implementation, the reverse is true in an Airspace
implementation. An Airespace access point houses just enough intelligence
to obtain an address and find the device that will supply the rest of its
configuration. This requires a new piece of equipment beyond what is
required in an Aironet implementation. All the “intelligence” in Airespace is
housed in something called a “controller.” This device is much more
complex than an Aironet access point because in controls a complete
domain and not just the connection to an access point.
Thus, the Airespace access point obtains an address, locates a controller,
and downloads a runtime configuration including all SSID information. The
access point is still pretty stupid and relies heavily on the controller. An
encrypted tunnel is built from the access point back to the controller. All of the
traffic sent by the end user traverses this tunnel and ultimately is distributed by
the controller rather than the access point itself. Thus, it is the controller that
“interprets” the packets and places them on appropriate VLANs for distri-
bution in the wired network.
It is interesting to note that the communication is not asynchronous.
Traffic from the end user is tunneled to the controller where it is analyzed
and distributed. Similarly, the recipient of the traffic, usually an application
on the wired network, sends its portion of the conversation back to the
controller. The controller then encrypts this traffic and forwards it to the
access point to which the user is associated.
This causes an interesting situation in the network. The end user will
“think” it owns a particular IP address. The rest of the network will see that
address associated with a particular port on a controller. All traffic to or from
the wireless client is tunneled between an access point and a controller. This
situation has some huge advantages and also some huge disadvantages.
Follow what happens if a PING Trace is sent from the network to the
wireless client. It will traverse the network to the controller where it is
encapsulated and sent to the end station associated with an access point. The
access point can be a significant distance, in terms of infrastructure, from the
controller, but the trace will not report any of this infrastructure as having
been traversed. As far as the PING is concerned, the end station is located at
the controller. This has a significant impact on troubleshooting. Traditional
tools probably will not be adequate in the Airespace environment. A new
toolset utilizing Airespace management will be required to support the
environment. This could have a very significant impact on the structure and
processes of support organizations. Both the Help Desk and the Network
Management functions will be affected.
That is the disadvantage. But look at what it provides. Because there is a
single point that is fixed in the network that receives traffic destined for an end
user, and that point will always know where the end user is, then IP
addressing is simple. The problem of routing information to an end user
becomes trivial. The route never changes as far as the traditional network is
concerned—no matter where the user is. Movement between access points
does not ever mean that the user needs to obtain a new address. Nor does it
mean that the wired infrastructure between the access point and the
controller must be modified if new subnets are implemented to support a
new SSID. This is a huge advantage.
When configuring 802.1X in the Airspace environment, all that is
necessary when establishing a SSID is to take the defaults. 802.1X must be
explicitly disabled if it is not desired. This is consistent with the new
specifications for 802.11i in which 802.1X provides the foundation for
authenticating and encrypting wireless traffic.
The tunneled situation has some nice implications for 802.1X, as well as
for IP addressing. The primary thing to remember is that SSIDs are not
configured on an access point. They are configured on the controller and then
distributed to each access point associated with that controller. However,
the authentication process does not take place on the access point, it takes
place on the controller. This means that the maintenance of the Authentica-
tor/Authentication Server configurations can be reduced significantly. Only
the controller must be configured for communication with the Authentication
Server, rather than every single access point. The Authenticator is the
controller rather than the access point and a controller may support hundreds
of access points.
Because the controller is not tied to a physical location in the way that an
access point is, it also can be strategically located for communication with the
Authentication Server. Of course, the controller also must be strategically
located to minimize latency for communication with the access point. The
total concern regarding reauthentication is not eliminated, but the possibi-
lities are significantly increased as far as design is concerned.
Furthermore, the tunneled connections between an access point and a
controller can be useful when developing guest connectivity. The controller
with which an access point communicates can be located anywhere in the
infrastructure. It is possible to locate a controller for guest connections
outside of the corporate firewalls and thus secure all communications for
guests. Traffic from the guest would be tunneled through the network all the
way to the “outside” where it would be placed on an appropriate LAN
structure that allows communication with the Internet. There is no possibility
then of a guest accidentally gaining access to secured corporate resources.
3.8 IP TELEPHONY
3.8.1 Section Summary
Now that the corporation is finally making money and the network has been
expanded to include wireless, the new project is to implement IP Tele-
phony(IPT). The popular belief is that IP Telephony is a big money saver.
That may or may not be true in a given organization, but the application
must be considered in terms of 802.1X. The two are not mutually exclusive,
but IPT does affect an 802.1X implementation.
Most applications are relatively transparent as far as 802.1X is concerned.
But any application, such as IPT, that requires the installation of special
pieces of hardware on ports enabled for 802.1X can have a big impact. The
connection of telephones to the network certainly qualifies. IPT phones
usually consist of two Ethernet ports. One is used to connect the appliance
to the network and the other is available to attach to a computer. This port is
known as the phone data port.
Imbedded in the phone is a switch-like bus that allows the handset and
the attached computer to communicate over the port attached to the
network. This device has many characteristics of a hub, but is termed a
switch by Cisco. Because voice is actually an IP application, the ports
connecting the phone and the Authenticator are effectively a trunk if the
voice and data is in separate VLANs. They do not have to be, but Cisco
allows this. How this is accomplished is the consideration for 802.1X. It
would seem that the port on the Authenticator would not have 802.1X
enabled. This is not the case. A Cisco IP phone can be attached to an 802.1X
enabled port.
Cisco phones implemented in conjunction with Cisco switches are able
to “bypass” what normally would be expected for the 802.1X process. This is
accomplished through the use of Cisco Discovery Protocol (CDP)
exchanges. This exchange causes the phone to be placed in a voice VLAN
associated with the port. The data portion of the port undergoes normal
802.1X processing and will eventually be placed in a Guest VLAN.
Any device with a Supplicant attaching to the data port on the phone
must be an active partner and issue an EAPOL-Start to initiate authentication.
This is because the port on the Authenticator is already up and will not
recognize the attachment of another device in addition to the phone. As you
would expect with the imbedded switch capability, the situation with the
phone is similar to that of the hub discussed in the section, Unplanned
Expansion. Newer firmware on some phones will monitor their data port
and issue a gratuitous EAPOL packet as the link changes state. This allows
the Authenticator to recognize the state change occurring on the phone and
place the data portion of the port into an appropriate state.
First, take a look at what a phone looks like from a network perspective.
It obviously looks like a small hub or switch. It has at least three ports. One is
an uplink port, one is a port for the handset, and the third is a port to which a
computer can be attached. In previous sections we have discussed how
devices like hubs and small switches must be attached to the network. The
use of trunks was recommended and it would seem that this situation should
be implemented for IP phones. This is absolutely true.
The phone will connect to either a port defined as a trunk, in which
case 802.1X will not be enabled, or it will attach to an 802.1X enabled port.
Remember that the phone does not have a Supplicant. This means that
when the port on the Authenticator becomes active and the authentication
process is initiated, the phone eventually will go into the Guest VLAN.
Because the phone is addressable, then whether or not the bus in the
phone acts like a switch or like a hub will determine whether or not the
phone’s port, available to be attached to a computer, can actually be used.
If it acts like a hub, then the single address allowed by default will go to the
handset and no computer can attach and communicate. If it acts like a
switch, then both the handset and the computer will be placed in the Guest
VLAN.
Is putting the phone on a Guest VLAN such a bad thing? That is a
debatable point. Certainly it will be exposed to whatever viruses, etc. are
dragged into the enterprise network by outsiders who connect. But the
phones can be used and calls can be placed, right? Probably not. To place
a call, phones must communicate with some form of Call Manager for call
setup. It probably is customary to restrict the Guest VLAN to Internet
access only. This means that calls to other sites across the internal
corporate network cannot be placed. Furthermore, unless the Call
Manager, gateways, etc are placed on the Guest VLAN, even local calls
cannot be made.
Can the phone then be guaranteed to reside in the Guest VLAN? If the
phone acts like a hub and the Authenticator is configured to allow multiple
hosts then it is entirely possible that an active Supplicant attaching to the
port on the phone could cause the phone to move to a different VLAN. The
phone then will lose connectivity until it is readdressed. This is a bad
situation for any application, but is really bad for IPT. All of the problems
discussed earlier in the section, Unplanned Expansion, come home to roost
here. Either special handling is required for IPT or 802.1X must be scrapped
when using a non-Cisco phone on a Cisco network.
Cisco has chosen to take the second option—that of bypassing 802.1X
authentication for the phone. Cisco leverages another special protocol—
Cisco Discovery Protocol (CDP)—to avoid some of the problems. Each
Cisco phone issues a CDP packet when it is activated. This packet is sensed
by a Cisco Authenticator and receives special handling. The debug below
shows what happens when a Cisco phone is plugged into a Cisco switch.
Note that this is a debug of CDP only and does not include 802.1X, RADIUS,
or AAA as most of the other debug output shown in this book do.
The debug statements shown above do not include all output for the
phone to be installed, but do demonstrate that the phone is treated like any
other Cisco device from a CDP perspective. After the phone has reached this
point in the process, it attempts to derive an IP address and communicate with
all necessary servers to obtain the remainder of its configuration. The data
port on the phone is inactive during this process.
Look at that debug a little more closely. Notice that there is a significant
amount of time that has elapsed. A total of four seconds were spent from the
beginning of the debug until the point where the phone could begin to
obtain its IP address. 802.1X has not been idle on the port during this time.
The debug below has been expanded to include CDP as well as the debugs
for 802.1X, AAA, and RADIUS seen in most other displays in the book. We
will begin at the point in the process where the Authenticator attempts to
communicate with a Supplicant.
Up to this point, the debug shows the expected activity for 802.1X. The
Authenticator recognized that the port came up and issued a Request Identity.
The next few lines of the output show the Authenticator receiving a CDP
packet from the phone. This occurs within a second of the Request Identity
packet being issued.
After a few more CDP exchanges, the debug below shows that the
Authenticator is proceeding with the expected search for a Supplicant. Note
that the debug time reported shows that this is the second Request Identity
packet issued. All the CDP packets received have not caused any reset of
802.1X timers. For all practical purposes, all of this exchange is taking place
outside the 802.1X authentication process.
interface FastEthernet0/3
switchport access VLAN 15
switchport voice VLAN 115
dot1x port-control auto
dot1x Guest VLAN 10
The Authenticator will place the phone in the voice VLAN when the
proper CDP packets are received. It would seem that this would leave the port
in a vulnerable state because that VLAN is unprotected by 802.1X. This is true
to a certain extent. However, the exposure requires that an attacker be able to
spoof a voice CDP connection. This is not impossible, but is not common
either. Also, because the device that is expected to be connected to this VLAN
is a phone, additional protection can be applied that will restrict access to
specific IP ports or devices. In this way, voice VLANs can be constructed that
provide similar Port-Based Authentication assurances similar to the way in
which other devices that do not house a Supplicant are protected.
Potentially, there are two VLANs associated with this physical port in
addition to the voice VLAN. They are the VLANs customarily seen on 802.1X
enabled ports: The authenticated VLAN and the Guest VLAN. Although the
voice VLAN is significant to IPT, the other two are of most interest in
this book.
If a debug were to be continued here it would show that the phone is
placed in the voice VLAN and the authentication would continue as normal.
If a Supplicant had already been connected to the phone, then the Request
Identity packets would cause it to issue a Response Identity packet. If there
was not a Supplicant, then the device would be placed in the Guest VLAN.
The phone acts like a small switch or hub. In this way, voice and data
connectivity are assured. This situation was discussed earlier in this section.
The phone is in one VLAN and the data port is in a different one. This implies
that trunking is being performed on the link. Yet, review of the configuration
of the port shows that no trunk has been implemented. If the running
configuration is displayed in some CATOS devices, the port will have
become a trunk. The following line will have appeared, as if by magic, in
the configuration for CATOS. There is no indication of trunking for IOS
based devices.
This confirms how the port is able to handle more than one VLAN.
Because there are two VLANs, some form of trunking must be implemented
on the physical port. This creates an interesting situation. How can 802.1X be
functional on a trunked port? Go back to the switch and display the trunks.
The “show trunks” command will show that the port is not a trunk. But the
configuration says that it is one. What it boils down to is that the physical port
must utilize some trunk characteristics to be able to support multiple VLANs,
but it is not “fully” a trunk.
Let us review a little. The phone is acting like a small hub/switch. Here are
a couple of scenarios regarding the connectivity a device will exhibit when
connected to the data port. If the phone was already active and a device is
attached to its data port, then the functions discussed earlier regarding
switches and hubs would apply. A non-Supplicant or a non-active Supplicant,
one that does not issue an EAPOL-Start, will be placed in the Guest VLAN. An
active Supplicant will issue an EAPOL-Start and the authentication will begin.
Cisco has recognized this as a serious problem and has increased the
intelligence in the firmware for some phones to include monitoring of the
Link status for the data port on the handset. The phone will recognize when
the data port becomes active and issue a gratuitous EAPOL-Start on behalf of
the device connected to the data port. This causes the data portion of the
Authenticator port to be placed in an unauthorized state and for the
authentication process to be initiated. This will cause all possible types of
connectivity to be resolved correctly. Any type of Supplicant will function
correctly, and if there is no Supplicant, then the physical port once again will
be placed in the Guest VLAN.
This resolves the first half of the problem. The second half is when the
device on the back of the phone leaves. At this point, the Authenticator does
not recognize that the device is no longer there and potentially leaves the
physical port in an authenticated state. This is the same situation with hubs
discussed earlier. The new firmware resolves this by issuing a gratuitous
EAPOL when the link status of the data port on the handset goes to a down
state. This situation was illustrated in the second section of this chapter, A
Very Simple Network. When the phone issues these EAPOL packets on
behalf of the device attached to its data port, life once again becomes
wonderful.
All in all, IPT can coexist with 802.1X without either causing serious
concern from a technical standpoint. However, IPT does increase the
complexity of the environment and introduces VLANs that cannot be
guaranteed to have only authenticated devices attached in some situations.
Currently, there is no guarantee that the device attempting to use the voice
VLAN is actually a phone.
Network Management and Help Desk organizations will require signi-
ficant process changes and education when IPT and 802.1X are
implemented jointly. As was illustrated above, there are some significant
status and events that are not fully documented when interrogating
the switch.
connectivity to the Authentication Server will be lost, and the second is the
latency involved in the communication with an Authentication Server across
the WAN.
For the purposes of this book, assume that the network is composed of
multiple sites. There are two processing centers acting in failover mode—
essentially, one is an active disaster recovery site. There are Authentication
Servers at each site. Figure 3.6 illustrates this scenario.
The local Authenticators have been configured in the following manner
for redundancy. The primary Authentication Server is at the active proces-
sing center with a backup located at the disaster recovery site.
Enterprise WAN
Authenticator
Supplicant
Notice that this has taken 20 seconds of real time. The secondary server
responds quickly, as shown in the continuation of the debug output below.
The entire authentication has taken over two and a half minutes to
complete. This is compared to the virtually instantaneous process when the
primary server is accessible. There are a couple of issues that surface in this
situation. First, the increased authentication time will probably cause some
form of application problem. It is reasonable to assume that DHCP has
expired and no address is available for the Supplicant. Even though the
Supplicant has finally been authorized, it probably cannot communicate
until DHCP has been restarted. This leads to the second likely issue: There is
going to be a user support call. Very few users are going to wait for nearly
3 minutes to be allowed access even if they know what is happening—and it
is highly unlikely that the garden variety user will understand what is
happening. The user is going to call for support. This means that the
support organizations must be able to diagnose this situation and resolve
it quickly.
Now, it must be noted that there are some commands in IOS and CATOS
that will allow a RADIUS server to be marked as “dead.” However, these
resources; and second, only authenticated users are granted specific access
to those resources. This is pretty neat.
However, consider the complexity that has been established as part of
the configuration of the network. In a physically segregated environment,
particular VLANs are configured on particular switches. In the more fluid
environment, it may be necessary to configure those VLANs on every switch.
Depending on a variety of other factors this could affect routing or even
quality of service. The implementation of 802.1X as part of the overall
security scheme can cause effects far beyond the simple authentication of a
particular user. The entire configuration of access may need to be developed
in conjunction with that of 802.1X. It is not out of line to believe that there
are network scenarios that will require a complete revision if 802.1X is
implemented in a robust manner.
Then consider the complexity that has been established regarding user
management. Each user may potentially have a wide range of different access
requirements. The maintenance of VLAN assignments at a user level can be
fairly large, especially if the organization experiences a fair degree of churn.
Then, as just indicated, the support issues for an individual VLAN assignment
can be fairly large. The particular trade-offs of extreme flexibility must be
evaluated against increased complexity of management and support.
It boils down to a consideration of scalability. In both situations discussed
in this section, the placement of Authentication Servers and VLAN assign-
ment, the complexity of the network is capable of affecting performance.
Care must be exercised even in smaller, less complex networks to ensure that
scalability is inherent in the design.
3.10.3 Technology
Technology is a significant plane in most networking designs, but is
especially important in 802.1 X Port-Based Authentication designs. Although
Technology
rt nt
Operational characteristics
o ity e
nsp ur em
Tra Se
c
n ag
Ma
Type/Quality of service
Consumer
Significance
Provider
on
Support cati
pli
Ap
Access
3.10.3.1 Transport
Transport is one of the fundamental aspects in an 802.1X process. Primarily,
this is viewed from the perspective of the Authenticator. The first question
that must be resolved is: What portion of the infrastructure is going to be
included in the authentication process? Will this include both wired and
wireless?
Next an evaluation of the included infrastructure must be conducted. Are
the appliances capable of supporting 802.1X? Are the appliances all from a
single vendor? If not, do they support the same functionality? Which release
of standards is supported? Are there any optional functions from the 2004
standards that are supported?
Consideration of the infrastructure itself, from the perspective of
interconnectivity, is another issue. How are the connections between
devices going to be authenticated? Is the implementation of mutual MAC
filters a reasonable approach? How are trunks between devices going to be
protected?
In short, what portion of Port-Based Authentication utilizing 802.1X can
be implemented on the existing infrastructure—and how can it be done?
After those questions are answered, the interactions of the infrastructure, or
Transport, with other aspects in Technology and the other planes must be
documented to determine what changes may be required to the physical
implementation of the network.
3.10.3.2 Security
One of the primary considerations in the aspect of Security is the selection of
an EAP-Method. The selection of an EAP-Method must be undertaken from
dual perspectives. The first is the review of the current environment. An
evaluation of current authentication and authorization techniques must be
conducted. Is a Windows Domain utilized? Is a two-factor authentication
process, usually based around tokens, implemented? Are certificates
implemented? The second perspective to be utilized in the selection of an
EAP-Method is a definition of the level of confidentiality required. What is
the likelihood that an exchange of credentials can be captured? What is the
likelihood that significant effort will be spent to capture and decrypt a
credential exchange? Is the protection of credentials significantly exceeding
the protection of the data flowing across the network?
Supplicant selection is also highly important. Many of the different
Supplicants available offer a restricted subset of EAP-Method support. This
3.10.3.3 Management
There are two parts to Management that must be evaluated. The first is the
toolset used to support and control an implementation. The second is the
manual support and intervention required.
The first issue is to determine which MIBs will be required to support the
802.1X functions chosen for implementation. Are all the functions supported
within the 2004 specifications or are there proprietary functions involved?
Given this information, a selection of tools to support and report can be made.
Actually, that paragraph is naı̈ve. It assumes that automated management is
limited to reporting for Authenticator activities only. Almost certainly, this is not
the case. There are management activities regarding all three conversations that
would include the Authentication Server conversations with the Authenticator
and potentially with external databases, as well as the conversation between
the Authentication Server and the Supplicant at the logical level.
The question of manual involvement with the management of the 802.1X
processes is one that frequently is ignored, but probably is one of the most
critical to a successful implementation. It is never correct, when discussing a
failed environment, to state that the infrastructure was sufficient, but that the
people charged with supporting it did not do so. Either the merging of manual
and automated support is successful—is achieving the goals—or it is not. The
two cannot be separated. Thus, the processes and training to understand the
automation must be in place for changes to the network based upon an
implementation of 802.1X.
3.10.4 Access
The plane of Access is primarily concerned with the implications of attaching
devices to the network. The most obvious concern is that of communication
from one device to another. There are two types of device that usually attach
to a network—clients and providers. A client usually is proactive and
communicates with a provider. The most common type of client probably
is a user sitting at a computer that is connected to the network. Frequently, a
3.10.4.1 Client
The client, or more aptly the Supplicant, has two conversations in the 802.1X
process. The first is the physical conversation between the Supplicant and
the Authenticator, and this is more properly classed as a Support conversa-
tion with one exception: Wireless. The other conversation is the logical
conversation between the Supplicant and the Authentication Server.
In an authentication conducted over a wireless link, the “association” must
be established before an 802.1X authentication can be conducted. The
association is independent of 802.1X and, thus, can confuse the user. It is
obvious that no communication can occur if there is no association. However,
it is not obvious that communication still can be blocked when there is an
association. Furthermore, there are security issues regarding the confidenti-
ality of all communication that are defined in the configuration of the
association that should be included in the definition of 802.1X. After all, it
seems somewhat silly to secure the exchange of credentials without securing
the exchange of information after authentication. Thus, consideration of the
configuration for an association within an 802.1X implementation
makes sense.
The selection and configuration of one or more EAP-Methods is the primary
consideration of client-provider conversations as noted above. The synchro-
nization of configuration on the Supplicant and the Authentication Server is the
major consideration. But the use and support of certificates is another
significant concern. It would seem that certificates should be considered to
be a type of Support traffic. I have classed it as part of the client environment
because the use, or non-use, of certificates has no impact on the configuration
of the infrastructure between Authentication Server and Supplicant.
Another situation regarding client access is the maintenance of an
authenticated session when moving from one access point to another
within a wireless connection. In many ways, this process is exactly the
same as that endured when originally establishing the authenticated
session, with the added complication of ensuring that application connec-
tions are maintained while the Layer 2 link is moved from one point to
another. The maintenance of application connectivity during mobility is
actually a part of the wireless implementation and is not concerned with
802.1X at all. What is involved is the recognition and movement of an
“authentication” from one access point to another. This movement must be
accomplished quickly. This is a consideration when selecting both a wireless
solution and an EAP-Method, as well as designing infrastructure paths for
client access—Supplicant to Authorization Server.
3.10.4.2 Provider
Again, provider access is that access not directly initiated by a client. It can
be the result of a client access or it can support a client access, but it is not a
response directed back to the client. It is also not those accesses which can
be classified as Support. The majority of the provider access is that access
within the system being designed that is independent of infrastructure traffic
or client/server traffic. Frequently, this type of traffic is server-to-server traffic
required within an application.
The primary provider within the 802.1X model is the Authentication
Server. There can be some additional considerations of “provider” access if
the Authentication Database is separated from the Authentication Server. I
will discuss that briefly in a moment. The largest concern in provider access
is the placement of the Authentication Server with relation to the Authenti-
cator. The length and complexity of the path between the two components
is a significant design factor in 802.1X. As was shown in a previous section,
the implementation and placement of redundant Authentication Servers can
make a serious difference in the authentication experience for a user.
3.10.4.3 Support
As I stated above, EAPOL is entirely a Support type of Access. In all cases, this
is the conversation between the Authenticator and the Supplicant. The vast
majority of those conversations are involved in the exchange of credential
information required to perform authentication. However, there are
additional conversations within 802.1X that must be discussed. Remember
that 802.1X is fundamentally concerned with Authentication prior to allowing
access, and, as such, there are situations where access must be allowed in an
unauthenticated environment.
There are at least two fundamental 802.1X—EAPOL—conversations that
fall into this category. The first is the implementation of a Wake-On-LAN
environment. This requires that certain types of communication be allowed
between a device on the trusted—authenticated—side of the authenticator
and the untrusted—Supplicant—side. The second is the reverse. Communi-
cation of certain types of alerts must be allowed from the untrusted into the
trusted—ASF alerts. In both cases, the Authenticator must be specifically
configured to allow this access.
There are additional considerations required to implement either Wake-
On-LAN or ASF-Alert functions outside of the direct implementation of
802.1X. The entire functionality of either process must take into account
that 802.1X has been implemented. In that sense, the classification of traffic in
those applications might be that of provider and client rather than classi-
fication as Support. That is fine. 802.1X is not concerned with the success or
failure of either application. It is only concerned with how those conversa-
tions will be “supported.”
There are additional aspects of Support that must be considered. 802.1X is
fundamentally an extension of Ethernet bridging. This expansion of function-
ality must be evaluated. The consideration of impact to bridging extends to
3.10.5 Application
This plane is concerned with the functional aspects of Access. A client
interacts with a provider to accomplish something. No network is
implemented without the intent of accomplishing something. That some-
thing is Application.
Within 802.1X, Application is the definition of why Authentication is being
conducted and what is being protected. It may seem that this has nothing to
do with the Authentication process, itself, and that is true. However, just as
with the selection of an EAP-Method, the consideration of Application on the
network is significant in designing the implementation.
The requirements of the existing applications, as well as those that might
be proposed as part of the package requiring implementation of 802.1X,
must be carefully considered. A careful design of VLAN structures must be
implemented. That is obvious. What is less obvious is that, because of the
potentially highly dynamic nature of VLAN assignment, the particular access
requirements of a given application have a much wider scope within the
network than with some traditional implementations.
New and existing applications need to re-evaluate Operational Charac-
teristics, Type/Quality of Service, and Significance in terms of this dynamic
nature. The implementation of 802.1X must evaluate the placement of its
components in the light of Application requirements of the network.
The Operational Characteristics of 802.1X have been enumerated in
several aspects of several planes. These characteristics must function in an
Application environment. While 802.1X has no Type/Quality of Service
requirements in and of itself, the implementation could be affected by the
3.10.7 Concept
Concept is the marriage of goals and objectives to the environment. Once
the information gathering has been completed, a concept of how the
environment will be modified to implement the goals can be created.
The first step is to identify what constraints and limitations are going to
affect possible scenarios. As an example, an environment that has not
implemented certificates, and has a limited number of staff, might mean
that selection of EAP-Methods that are certificate-based is not a good idea.
Another might be the fact that VLAN numbering varies from site to site. VLAN
2 might mean access to payroll in one site and it might mean Internet only in
another. This type of situation could put constraints on the dynamic VLAN
assignment. Or it could mean that creative implementations of RADIUS will
be required so that individual site idiosyncrasies can be addressed. Or it could
mean that, concurrent with implementation of 802.1X, all VLAN structuring
will be synchronized. All of these are possibilities.
Evaluation of the various options and alternatives available within
802.1X must be made and a subset selected. This will be affected by the
infrastructure implemented. Identification of features available, based on
whether or not the 2004 standards, including options, are supported, must
3.10.8 Architecture
The architecture phase essentially takes the concept and reapplies it to the
logical and physical network. 802.1X is described as a functioning entity in
the proposed environment. The impact of the concept on the physical
environment is documented in terms of traffic flows and patterns. In
particular, the conversations within the selected EAP-Methods should be
documented as flow diagrams within the individual networks or network
segments.
Impacts of placement of RADIUS servers, along with the traffic pattern
for conversations with Authenticators and Authentication Databases, are
significant examples of this. The various RADIUS implementations should
be documented as to the scope of applicability within the network. A single
global implementation may be the most common implementation, but it is
by far not the only possible one.
The documentation of the state changes associated with the authentica-
tion process at various points in the network is also a part of the architecture
process. The possible VLAN states should be described for individual
segments of the network, along with the implications for connectivity of
each. This would include Guest VLANs, IPT VLANs, and the various dynamic
VLANs available from RADIUS.
The various processes required to support 802.1X must be documented.
Most of this would be in the area of management—either the Help Desk or
Network Operations. Toolsets to support and manage 802.1X would have
been identified in the concept phase. In the architecture phase, the traffic
flows created by the toolsets and the methodology to utilize each tool will
be documented. Training programs necessary for people involved with
3.10.9 Design
At this point, there is a significant amount of work to do. However, most of it
has to do with the mechanics of implementing the 802.1X authentication
defined. Most of what we are concerned with regarding 802.1X, itself, has
been accomplished in preceding phases. The rest is simply mechanics.
However, a brief discussion will be provided.
The design phase builds upon architecture by translating the architecture
output into exact code. Authenticators and Authentication Servers is the
obvious type of coding, but related changes to the infrastructure required by
the implementation also must be coded. Any changes to VLAN structures,
access lists, etc. required by this implementation and covered in the
architecture are converted into actual coding to be implemented on the
various appliances. From an organizational standpoint, the processes and
scripts will be written that are to be used in supportin g the implementation.
Similarly, training will be conducted.
And, finally, it is implemented.
231
L troubleshooting, 169–170
Microsoft Challenge Handshake Authenti-
LAN (Local Area Networks), 2, 12, 15–16; cation Protocols (MS-CHAPV2),
see also Guest VLAN; VLAN 63–64
Latency, 213 Migration, guest devices, 181
Layer 2. See Data Link Layer Mobility, wireless, 110–114
LCP (Link Control Protocol), 12–13 Modification, Authenticator, 76–77
LEAP (Lightweight EAP), 65 Modified packet contents, 91–92
Length, EAPOL, 45 MS-CHAPV2 (Microsoft Challenge Hand-
Lights out management, 186, 187 shake Authentication
Lightweight EAP (LEAP), 65 Protocols), 63–64
Link Control Protocol (LCP), 12–13 Multiple host support, 192–194
Link establishment, 21–37 Multi-site environments, 210–218
LINK Layer, 138
Local Area Networks. See LAN
Lock-step process, 53–54, 67
N
Logical conversations, 3–4 NAK (negative-acknowledge character),
Log off, 48, 88, 131, 162–165 32, 56–58
Negotiation attacks, 92
M Network bootup, 24–26
Network design, 119–131, 218–230
MAC (Media Access Control)
design cube, 122–124
addresses, 88, 95–96, 137–141, 192–193
Network expansions
Authenticator, 95–96
guest devices, 175–188
bridges, 20–22, 41–44
IP Telephony, 204–210
EAPOL, 88
multi-site environments, 210–218
hubs, 188–192
printers, 181–186
multiple host support, 192–193
servers, 181–182, 186–188
security, 49, 114–115
unplanned network expansions,
switched networks, 137, 139, 141
188–195
wireless environments, 49, 110,
wireless, 195–204
114–115
NIC (Network Interface Cards), 21, 43, 187
Magic packets, 36–37, 80, 97
Nudging Supplicants, 80
Management
control of 802.1X, 40, 77–86
design technology, 219, 222 O
Management Information Base. See MIB One Time Passwords, 33–34, 41, 57, 59
Man-in-the-middle attacks, 87, 90, 91 Open System Interface, 2
MD5-Challenge, 13, 31–33, 41, 57–59, Organization evaluation, 125–126
106–107 OSI (Open System Interface), 2
MD5-CHAP (Message Digest 5 Challenge OTP (one-time passwords), 33–34, 41,
Handshake Authentication 57, 59
Protocol), 61
Media Access Control. See MAC P
Message Authenticator, 144–145
Message Digest 5 Challenge Handshake Packet architecture, 67–68
Authentication Protocol Packet content modification, 91–92
(MD5-CHAP), 61 Packet failure, 44–45, 63–64
MIB (Management Information Base) Packet sniffers, 120
documentation, 18 PAE (Port Access Entity), 43, 77–80,
elements, 40, 77–86, 94, 169–170 101–104
Transport Layer Security (TLS), 62–65, 116, switched networks, 134, 136,
147–148 156–162
Trivial File Transfer Protocol (TFTP) wireless network expansion,
servers, 25 200–201
Troubleshooting, 165–174 how it works, 7–8
Trunk connections, 200–201 link establishment, 32, 33
TTLS (Tunneled Transport Layer Security), RADIUS, 67
41, 65, 147–148 see also Guest VLAN
Tunneling Voice VLAN, 209–210
Airespace, 203 VPN (virtual private networks), 69
EAP-FAST, 41, 65 VSA (Vendor Specific Attributes), 109
EAP-Method vulnerability, 91 Vulnerability, 87–92
RADIUS, 69
switched networks, 147–148
W
Type codes
EAP, 41–42, 55, 58–59 Wake-on-LAN (WoL), 24–26, 36–37, 96
EAP-Method, 55–57, 59–61 WAN (wide-area network), 121, 212–218
EAPOL, 45, 47–50 WDS (Wireless Domain Services),
RADIUS, 67–68 201–202
WEP (Wired Equivalent Privacy),
U 110, 112
Why 802.1X, 8–9
Unauthorized states, 94–95, 140, 179 Wide-area network (WAN), 121, 212–218
Unplanned network expansions, 188–195 Windows 2000, 106–107, 116
multiple host support, 192–194 Windows XP, 106–107, 116
switch connections, 194–195 Wired Equivalent Privacy (WEP), 110, 112
Wireless
V access points, 183–184, 190
configuration drivers, 106
Vendor attributes, 69, 109
connectivity, 196–198, 201–202
Vendor Code, 59, 61
design, 121, 181–182, 195–204
Vendor Specific Attributes (VSA), 109 expanding networks, 195–204
Vendor Specific Methods, 59, 61 guest devices, 181–182
Version, EAPOL, 45 implementation, 121, 181–182,
Virtual private networks (VPN), 69 195–204
VLANID, 76–77 link establishment, 27–28
VLAN (virtual LAN) network expansions, 195–204
Authentication Server configuration, security, 86
108–109 SEMAC, 49
Authenticator configuration, 94–97, 99, Supplicant configuration, 106
102 technical discussion, 40, 49, 110–117
definition, 3 threat mitigation, 18–19
design, implementation and topology, 110–112
troubleshooting troubleshooting, 121, 181–182,
guest devices, 185–186 195–204
IP Telephony, 205, 206, 208–210 Wireless Domain Services (WDS), 201–202
multi-site network environments, WoL (Wake-on-LAN), 24–26, 36–37, 96
216–218 Working methodology, 6–8, 19–37