Hello, 

I have been playing around with EAP-TLS using freeradius (CVS 
from 2004-03-13 06:30 GMT), xsupplicant 0.8b (+minor patches), a Zyxel 
G-1000 AP and several Wireless cards. All the things take place on a 
mixture of linux machines.

So far everything works quite well, including dynamic WEP keys, etc.

However, the following troubles me, and I couldn't find any hints in the
documentation, source or web regarding this, but maybe I was just looking
in all the wrong places or I am misunderstanding something fundamental. If
this is the case please just tell me.


So:

xsupplicant requires an "id" for authenticating to radius. This ID ends 
up as the User-Name in the radius request(s). I guess other 802.1x 
supplicant implementations do this similar. (Is this true?)
Using EAP-TLS obviously requires a X509 certificate on the client side as 
well. 

The problem is that there is no connection between the certificate and the 
id / User-Name:

* The User-Name can be freely chosen by the supplicant. This username is 
  then used for authorization (NOT authentication)

* The certificate gets used for authentication (NOT authorization)

Trouble is: There is no connection between the two. Assume the following 
situation:

Users A and B have been granted certificates from the same CA, but only 
user A should be granted wireless access. The radius server gets 
configured to accept certificates signed by the CA for EAP-TLS and the 
authorization section of freeradius only allows user A in.

If user B configures his/her supplicant to use "A" for the 
id / User-Name and B's certificate, then B will be granted access based on 
the authorization of A and the authentication of B's certificate.

One solution would be to base the authorization on the content of the 
certificate (its DN or DN parts).

Is this possible with current sources? Anybody working on it? Would this 
be simple to add? It seems the current EAP-TLS implementation in 
freeradius does the TLS-handshake after the authorization phase (looking 
at the logs produced by "radiusd -X" seems to indicate this), which would 
make authorization based on certificate content look harder to 
implement for me....

On a side note: The very same issue seems to make it impossible to do any 
Simultanous-Use restrictions based on certificates. A user could just 
install the very same certificate on several machines and configure a 
different (allowed) User-Name for 802.1x. This would allow a single 
certificate to be used on more than one machine simultanously, blocking 
legitimate users and creating a DoS problem.



peter



- 
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

Reply via email to