[RADIATOR] MacSec (802.1AE) possible with Radiator?

Andreas Bader Andreas.Bader at rus.uni-stuttgart.de
Fri Feb 24 11:08:15 CST 2012


Sry. the mail got scrubbed ... here again in plain

---------------------

Hi,

I am actually trying to get a testbed ready for Cisco MacSec with 
Radiator as radius server, but I don't know if this is even possible.
Does Radiator has the needed features? (see links below)
Did anyone tried that already? (I didn't find anything on google or on 
the mailinglist about radiator and macsec).

The main problem ist that cisco uses some new EAP arguments for macsec 
and these seem to require EAP-FAST and EAP-FASTv2.
When you try first without any special config, you will get something 
like "Zero length EAP Session ID" from MKA.
It seems that Macsec needs some attributes like MS-MPPE-Send-Key, 
MS-MPPE-Recv-Key and EAP-Key-Name. If you define those with some values, 
the error changes to:
*Mar  1 02:06:56.704: MKA-EVENT: MKPDU Validation - CA entry was NOT 
found for Rx CKN xxxx xxxx xxxx xxxx.
*Mar  1 02:10:07.906: MKA-EVENT: MKPDU Validation failed (error: 
INVALID_PARAM).

The problem is, that the CKN (some kind of key) is generated with 
EAP-Session ID, EAP-Key-Name, etcpp. But these values are normally 
calculated by the EAP functions and so I don't know how to specify them 
myself. The Problem is that the CKN is wrong, there is no problems with 
the certs (they are correctly imported at the client machine, etc.).

Everything works with 802.1x without MacSec (802.1AE)!

Here the actual testbed:
We got 1 x Cisco 3750-X, 1 x Cisco 3750.
There we have basically two machines plugged in: A Ubuntu 11.10 machine, 
which is dhcp,bind and radius server (Radiator).
(Kernel is 3.0.0.15-generic, Ubuntu 11.10). Radiator version is 4.9.
The other machine is the "client" plugged into the 3750-X with Windows 7 
Professional N and Cisco Anyconnect Secure Mobility Client 3.0.5080.

I also tried freeradius, but it can not really do EAP-FAST, so it does 
not even work when you define some EAP-Key-Name value. (You don't get 
further than the "zero length session id" error mentioned above).

I post you some links below for more information. I don't know if I am 
allowed to post links to Cisco and Freeradius on the mailinglist here, 
sry. if it is not allowed, please delete the links then.

Hopefully somebody knows the right settings for getting this to work. If 
not, is it planned to be implemented in future versions of radiator?

Some of my configs, mainly standardconfigs:
/etc/radiator/users:
[...]
testuser User-Password = "xxx"
         MS-MPPE-Send-Key = "xxx",
         MS-MPPE-Recv-Key = "xxx",
         EAP-Key-Name = "xxx"
[...]

/etc/radiator/radius.cfg
[...]
<Client 192.168.0.2>
     Secret xxx
     NasType Cisco
</Client>

<Client 192.168.0.3>
         Secret xxx
         NasType Cisco
</Client>
[...]
<Handler TunnelledByPEAP=1>
     RewriteUsername s/(.*)\\(.*)/$2/
<AuthBy FILE>
         Filename %D/users
         EAPType MSCHAP-V2,TTLS,TLS,MD5-Challenge,Generic-Token
         EAPTLS_CAFile %D/certificates/demoCA/cacert.pem
         EAPTLS_CertificateFile %D/certificates/cert-srv.pem
         EAPTLS_CertificateType PEM
         EAPTLS_PrivateKeyFile %D/certificates/cert-srv.pem
         EAPTLS_PrivateKeyPassword whatever
         EAPTLS_MaxFragmentSize 500
</AuthBy>
</Handler>
<Handler TunnelledByTTLS=1>
<AuthBy FILE>
         Filename %D/users
         EAPType MSCHAP-V2,MD5,TLS
         EAPTLS_CAFile %D/certificates/demoCA/cacert.pem
         EAPTLS_CertificateFile %D/certificates/cert-srv.pem
         EAPTLS_CertificateType PEM
         EAPTLS_PrivateKeyFile %D/certificates/cert-srv.pem
         EAPTLS_PrivateKeyPassword whatever
</AuthBy>
</Handler>

<Handler TunnelledByFAST=1>
<AuthBy FILE>
            Filename %D/users
            EAPType MSCHAP-V2,Generic-Token
            AutoMPPEKeys
</AuthBy>
</Handler>
<Handler>
<AuthBy FILE>
         Filename %D/users
             EAPType FAST,MSCHAP-V2,TTLS,TLS
         EAPTLS_CAFile %D/certificates/demoCA/cacert.pem
         EAPTLS_CertificateFile %D/certificates/cert-srv.pem
         EAPTLS_CertificateType PEM
         EAPTLS_PrivateKeyFile %D/certificates/cert-srv.pem
         EAPTLS_PrivateKeyPassword whatever
         EAPTLS_MaxFragmentSize 1000.
         AutoMPPEKeys
         EAPTLS_PEAPVersion 0
         EAPTLS_PEAPBrokenV1Label
         EAPTLS_DHFile %D/certificates/dh2048.pem
</AuthBy>
        PreProcessingHook file:"/etc/radiator/goodies/eap_anon_hook.pl"
        PostAuthHook file:"/etc/radiator/goodies/eap_anon_hook.pl"
        AcctLogFileName %D/detail

</Handler>
[...]

xxxx always some self chosen strings, containing numbers and characters.

Links for more information:
http://freeradius.1045715.n5.nabble.com/Configuring-freeradius-for-MACsec-td5508545.html
http://www.cisco.com/en/US/docs/switches/lan/catalyst3750x_3560x/software/release/12.2_55_se/configuration/guide/sw8021x.html#wp1316521
http://www.cisco.com/en/US/prod/collateral/iosswrel/ps6537/ps6586/ps6638/deploy_guide_c17-663760.html

Best Regards



More information about the radiator mailing list