Chris Hart wrote:

At Northwestern University we are looking to move away from using VPN for Authentication and Encryption for our wireless users. We do not want to have to use 3rd party supplicants because of end user support issues. We are currently using Funk Steel Belted Radius and have tested using 802.1X with PEAP on Windows and MAC so far in small numbers with success.

TTLS does not have a built in supplicant for Windows XP and TLS requires a per client certificate so these are not good options. This leaves PEAP or using an appliance of some sort to provide an IPSEC tunnel or a Secure desktop SSL connection.




So my questions are

1. Am I missing other options?


There is a free plug-in to the native Windows XP supplicant that will provide TTLS functionality. You might check our SecureW2. (http://www.securew2.com) We have been using it here for a couple of years, with minimal problems. The problems that we have had are usually related to other pieces of software that conflict with parts of Windows. (Such as the Norton firewall and it's conflicts with the Windows XP SP2 firewall.)


2.  Is PEAP a good solution - is it secure, client issues?

PEAP is an odd duck. I could probably go on and on for hours about PEAP and all of it's good and bad points. But I'll stick to the question.

Is it secure? -- It depends largely on what you are concerned about security-wise. PEAP is a two phase protocol. The first phase establishes a TLS tunnel (very similar to the way that an SSL tunnel is built with a web server). The second phase carries another EAP conversation inside the tunnel. (Usually the inner conversation is EAP MS-CHAPv2, but it doesn't have to be. That is just what Micro$oft defaults to.) So, the data inside the tunnel is as secure as anything else that uses TLS/SSL.

For the inner part of the authentication, you need to ask yourself if you believe that MS-CHAPv2 is secure. But, more importantly, you need to consider where and how your passwords are stored. In order for MS-CHAPv2 to work successfully, you need to store your password in one of three different formats. 1. MS-CHAPv1 format. 2. Reversably encrypted. 3. Cleartext. There are tools out there that can crack an MS-CHAPv1 format password in a fairly short period of time. And obviously reversably encrypted passwords require that the decryption key be available on the server. So, keep this in mind when picking an EAP method. (This issue was enough for our campus security people to tell us that we can't use PEAP.)

Another problem with both PEAP and TTLS is the compound binding problem. Specifically, there is nothing that is done to verify that the system that established the TLS tunnel is the same system that is doing the inner authentication. So, a bad guy could put up a fake AP, and wait for a user to connect. The fake AP could terminate the TLS session, and create a TLS session with a valid AP at the same time. Then, the inner phase could be bridged through to the real AP. The real AP sends back a success, the fake AP sends a failure, and the bad guy is on your network using someone elses credentials. Newer versions of PEAP and TTLS attempt to address this problem, but are not generally available yet. (But then, I am not aware of anyone that has seen this type of attack in the wild either.)

So, I guess the "short" answer to your question is, like every other security protocol out there, you need to decide if the benefits outweigh the potential problems.


Are there client issues? -- This is where I could write a book about the problems with PEAP. (Keeping in mind that in many environments these may be non-issues.) There are currently three different versions of PEAP. Version 1 is the "Cisco and Microsoft working together version". This version of the internet draft is similar to what is implemented in Windows XP, except that neither Cisco nor Microsoft follow it completely. Version 0 is what is actually implemented in Windows XP. The closest thing there ever was to a standard on this is a short document that lists some (but not all) of the differences between Version 0 & 1. Then, there is version 2. Version 2 is the attempt to solve the compound binding problem. Currently I am aware of only 1 implementation in a supplicant, and none in a server.

So, if you are running Windows XP you probably won't have many client issues, since pretty much every RADIUS server in the world supports PEAPv0. On Mac OS X, there is a bug in Panther that would cause the supplicant to get grumpy if it were presented with the start of a PEAPv1 conversation. You could resolve this by forcing the RADIUS server to only speak PEAPv0. I am not sure if this was resolved in Tiger or not.

Another issue with PEAP that will probably dog some of the supplicant implementations is how to correctly use DOMAIN\user. IIRC, you need to use DOMAIN\user in the outer part of the 802.1X authentication, but you need to use just "user" for the inner part or else authentication will fail. (This inconsistancy bites a lot of people that aren't using Windows, since most supplicants don't care what format your username is in.)

One last thing that probably isn't a big issue, but is probably good to know. PEAP makes use of some reserved bits from the EAP-TLS standard. These bits are used to determine the version number of PEAP that you are using. But, there are only 2 bits available. So, if they don't get it right by PEAPv3, they are done. ;)

Hope this helps!



thanks

Chris


Chris Hart
(847) 467-7747
IT-TNS
Northwestern University, Evanston
[EMAIL PROTECTED]

**********
Participation and subscription information for this EDUCAUSE Constituent Group discussion list can be found at http://www.educause.edu/groups/.

**********
Participation and subscription information for this EDUCAUSE Constituent Group 
discussion list can be found at http://www.educause.edu/groups/.

Reply via email to