Paranoid Penguin - Securing WLANs with WPA and FreeRADIUS, Part I

Upgrade your wireless network from the old, insecure WEP to the new standard—and integrate the authentication with your Linux network.

EAP-MD5 uses a simple MD5-hash-based credentials exchange. The supplicant provides a username and MD5-hashed password to the server, and the server compares these to its own database. Unfortunately, an eavesdropper can capture the hash transmitted by a WPA supplicant and run an off-line dictionary attack against the hash to deduce the password used to create it. Also, although EAP-MD5 authenticates the supplicant to the server, it doesn't do anything to authenticate the server to the user, for example, with server certificates, à la SSL. EAP-MD5 therefore is a poor choice for 802.1x authentication in WPA contexts.

EAP-TLS uses the TLS encryption protocol, a descendant of SSL, as a basis for authentication. On the one hand, this is a strong authentication method: it requires both the authentication server and its users to have digital certificates, which are the basis of authentication transactions. Issuing digital certificates to a large number of users and managing those certificates, however, can be complex and time consuming. Consider, for example, the time required to revoke certificates of people who leave your organization. Also, EAP-TLS generally requires a complete public key infrastructure (PKI) environment, which few small-to-medium organizations are comfortable supporting. Also, when authentication is initiated, user names are transmitted in clear text, a small but noteworthy exposure.

PEAP (Protected EAP) was developed primarily by Microsoft as a means of using TLS encryption to protect weaker but simpler authentication methods, such as MD5 and MS-CHAP. With PEAP, an encrypted channel is established between supplicants and the server before any credentials are exchanged. This is consistent with the way most Web applications use TLS. That is, they use TLS to establish an encrypted tunnel over which simple user name-password authentications safely can be performed, without going so far as to use TLS's more secure but more complicated client-certificate authentication mechanism. The main disadvantage of PEAP is its Microsoft-centricity. Although some free software tools do support PEAP, many people see no incentive for Microsoft to ensure interoperability with other vendors' WPA products or platforms.

EAP-TTLS is, essentially, a non-Microsoft-driven alternative to PEAP. It involves establishing an encrypted TLS tunnel over which either TLS-based or other (weaker) forms of authentication are conducted. Its main advantage over PEAP is being less subject to the whims of one large corporation. It also presently supports a slightly wider range of authentication methods, although PEAP is designed to support more methods than have been implemented thus far. Lacking Microsoft's muscle, some people see EAP-TTLS as not having as much momentum as PEAP.

Other EAP variants include EAP-SIM, Microsoft's EAP-MSCHAPv2 and Cisco's Lightweight EAP (LEAP).

At this point, you might be wondering, “Hey, isn't RADIUS an authentication protocol too? How does that fit in?” RADIUS is the protocol your authenticator (AP) speaks to your authentication server. In the context of 802.1x and WPA, you can think of RADIUS as the transport over which your authenticator forwards EAP messages to your server. Put another way, your end-user's supplicant speaks EAP to your authenticator; your authenticator forwards those messages within RADIUS packets sent to your server.

There's still another protocol at play here, playing a similar role in supplicant-authenticator communications: EAPOL, or EAP Over LANs. This protocol is completely transparent, however, because it's built in to supplicant and authenticator software and requires no configuration of its own. Therefore, there's nothing specific you need to know or understand about EAPOL unless you write WPA software.

From the time a supplicant initiates its connection attempt to the AP, your AP allows only EAP traffic. Only after authentication has completed successfully, based on the server's response, is your supplicant system given a DHCP lease and permitted to connect completely to the WLAN. Another consequence of successful authentication, however, is the assigning of a WEP key to the supplicant.



Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

"Securing WLANs ..." Online Resources

bbatten's picture

The resources link just keeps looping me back to the article itself.


marilene's picture

Hi, I'm Marilene. I'm from Brazil and I was doing the steps of this tutorial, but the tutorial doesn't say how I can configure the linux clients.
And I am with dificulties to configure the windows xp clients. I configured the mmc, but the cliente can't autenticate in the radius server. I did an update in the windows, tryed with two differents wireless LANs, but don't works.

Someone could help me????

Thanks a lot,

Part 2 of this guide can be

Anonymous's picture

Part 2 of this guide can be found here: