RADIUS is a widely deployed remote authentication protocol. I'm looking here at its use in wireless roaming. The RADIUS protocol allows for proxies and chains of proxies:

|CLIENT|<->|Access Point|<=>|RADIUS server|<=>|RADIUS proxy|<=>|RADIUS Server|<->|LDAP|

where the Client's authentication request is relayed down a chain of RADIUS proxies until it is fulfilled by the client's home server and directory (AD or LDAP). Let's assume that a client is using MSCHAPv2 to authenticate - an unsafe but not uncommon choice. So an access point would use EAP to negotiate MSCHAPv2 authentication for the client, proxying the authentication back to the user's home server. I have questions about the risk of exposure of user credentials at the proxy:

(1) In this scenario, are the client's MS-CHAPv2/EAP credentials protected end-to-end? Or does the RADIUS proxy have unprotected access to the user's credentials and so could mount a Moxie Marlinspike attack against the user's data stream?

The scenario here is that an attacker gains control of the RADIUS proxy server and can then try to crack the authentication streams passing through it. If the authentication streams are protected end-to-end, for example in a encrypted tunnel, then this attack becomes much more difficult.

(2) A related scenario is that a compromised RADIUS proxy is unable to access the protected MS-CHAPv2 bits, but instead can see unprotected user names and harvest them for later offline attacks. Is this possible, or can the RADIUS proxy only see the realm but not the full user name?

I am asking specifically about RADIUS proxies here. Also, an answer like "don't use MSCHAPv2" is not useful since we have a large installed base of devices that don't have an alternative at the present time; I am looking to minimize risk until an alternative is available.

1 Answer 1


(1) EAP-TLS is encrypted only between the supplicant and the RADIUS sever. The communication between the RADIUS server and the directory server is only protected by MS-CHAPv2. So, yes, it would be vulnerable to chapcrack on the back end.

(2) I believe that RADIUS proxies can see the full user names because they are able to do identity caching. When providing identity caching they use local caches of external information when doing non-authentication requests (user lookups, etc.).

EDIT: I did want to mention that I'm not positive of all of the options for securing external identity stores, so it may be possible to provide a second tunnel or encryption between the RADIUS server and Active Directory by doing something like LDAPS? I guess it could depend on what type and version of RADIUS server you have.

  • Regarding (1): So does this mean that a RADIUS proxy in the chain (not the authenticating RADIUS, but a forwarding server along the way) would see an encrypted EAP-TLS stream? Nov 30, 2012 at 14:56
  • If you have a RADIUS proxy, that proxy will terminate EAP-TLS, meaning it will have secured communications inbound to it, and unsecured (or secured a different way) communications outbound from it.
    – JZeolla
    Dec 4, 2012 at 13:07

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .