EAP-TTLS/EAP-TLS with freeRADIUS
Mr Dash Four
mr.dash.four at googlemail.com
Sun Nov 27 00:40:38 CET 2011
>> In other words, EAP-TTLS/EAP-TLS isn't actually supported in
> It is. I believe you misunderstood how RADIUS works.
Maybe, considering I've been reading about RADIUS for just over 2 days...
> The connection between the AP (called NAS in RADIUS) and the
> RADIUS-Server is only protected by the shared secret configured in
> Yes, this is kind of weak.
It is *very* weak, not least because connections can be intercepted as,
I presume is the case here, this "shared secret" is transmitted in the
clear over the wire. If that is not the case and it is hashed, then,
that's another story.
> And because of this weakness a protocol like
> RADsec has been developed, which is essentially
> RADIUS-with-SSL-over-TCP, thus providing strong encryption of the whole
> RADIUS session.
> So far I have not seen any devices like APs, Dial-in-Servers, etc.
> support RADsec. But this is normally no problem, since those devices are
> usually located in a safe network with the RADIUS server.
> RADsec for example is used in the Deutsche Forschungsnetz (DFN), to
> secure inter-university RADIUS connections over the Internet to
> authenticate Eduroam users.
Interesting, noted. It would be nice if this works in a similar way as
the SSL handshake works - this is very secure, tested and already
established in the real world.
> Back to EAP-(T)TLS:
> The connection between a connecting device such as a laptop, which
> connects to a NAS, can be secured via EAP-(T)TLS, which is a protocol
> transported via RADIUS packets.
> This of course is supported by FreeRADIUS since ages.
OK, my understanding of EAP-TTLS/EAP-TLS is that the authentication
happens in two distinct stages: the first stage (EAP-TTLS) is the outer
authentication where the server presents its credentials/certificate to
the client and then the secure channel is established. Phase two
(EAP-TLS in my case) is where the client - via its client certificate -
is actually authenticated to the RADIUS server. Now, I was hoping that
the AP does this in a similar sort of way when authenticating itself to
the RADIUS server, but it seems that is not the case and this is indeed
a weak point.
My question still remains though - since this is a two-phase
authentication, two distinct sets of (ca, server, client) certificates
can be used. How do I specify these in RADIUS?
I found that I could specify the ca, client and server certificates once
(normally stored in raddb/certs if memory serves), but I potentially
need two of each for each phase. I know I could use just one, but just
for the sake of understanding the whole process and getting to know how
it all works I need to know this. How do I do that?
More information about the Freeradius-Users