Windows Server 搭建企业无线认证(Radius认证方案) 认证协议介绍: 扩展认证协议EAP(Extensible Authentication Protocol) 是一个在无线网络或点对点连线中普遍使用的认证框架。它被定义在RFC 3748中,并且使RFC 2284过时,后又被RFC 5247更新。EAP不仅可以用于无线局域网,还可以用于有线局域网,但它在无线局域网中使用的更频繁。WPA和WPA2标准已经正式采纳了5类EAP作为正式的认证机制。 EAP是一个认证框架,不是一个特殊的认证机制。EAP提供一些公共的功能,并且允许协商所希望的认证机制。这些机制被叫做EAP方法,现在大约有 40种不同的方法。IETF的RFC中定义的方法包括:EAP-MD5, EAP-OTP, EAP-GTC, EAP-TLS, EAP-SIM,和EAP-AKA, 还包括一些厂商提供的方法和新的建议。无线网络中常用的方法包括EAP-TLS, EAP-SIM, EAP-AKA, PEAP, LEAP,和EAP-TTLS。 IEEE 802.1x协议认证就使用了EAP认证框架,因为EAP提供了可扩展的认证方法,但是这些认证方法的安全性完全取决于具体的认证方法,比如EAP-MD5、EAP-LEAP、EAP-GTC等,而802.1x最开始是为有线接入设计的,后来被用于无线网的接入,有线接入在安全性方面考虑毕竟少,如果要窃取信息需要物理上连接网络,而无线网完全不同,无线网信号没有物理边界,所以要使用802.1x的话,需要对802.1x进行安全性方面的增强,也就是增强EAP认证框架的安全性,而且要进行双向认证,那么EAP使用了IETF的TLS(Transport Layer Security)来保证数据的安全性。 现在主流的安全认证方法:EAP-TLS,PEAP,EAP-TTLS 分别介绍这三种方法: 1. EAP-TLS: EAP-TLS使用TLS握手协议作为认证方式,TLS有很多优点,所以EAP选用了TLS作为基本的安全认证协议,并为TTLS和PEAP建立安全隧道,TLS已经标准化,并且进过了长期应用和分析,都没有发现明显的缺点。 TLS认证是基于Client和Server双方互相验证数字证书的,是双向验证方法,首先Server提供自己的证书给Client,Client验证Server证书通过后提交自己的数字证书给Server,客户端的证书可以放到本地、放到key中等等. TLS有一个缺点就是TLS传送用户名的时候是明文的,也就是说抓包能看到EAP-Identity的明文用户名。 TLS是基于PKI证书体系的,这是TLS的安全基础,也是TLS的缺点,PKI太庞大,太复杂了,如果企业中没有部署PKI系统,那么为了这个认证方法而部署PKI有些复杂,当然,如果企业已经部署了PKI,那么使用EAP-TLS还是不错的选择。 2. EAP-TTLS:下同 3. EAP-PEAP: 正因为TLS需要PKI的缺点,所以设计出现了TTLS和PEAP,这两个协议不用建立PKI系统,而在TLS隧道内部直接使用原有老的认证方法,这保证了安全性,也减小了复杂度。 把TTLS和PEAP放到一起介绍的原因是他们俩很像,两个都是典型的两段式认证,在第一阶段建立TLS安全隧道,通过Server发送证书给Client实现Client对Server的认证(这里TTLS和PEAP仍然使用证书,但是这里的证书都是服务器证书,管理起来比TLS客户端证书要简单那的多);当安全隧道一旦建立,第二阶段就是协商认证方法,对Client进行认证; TTLS利用TLS安全隧道交换类似Radius的AVPs(Attribute-Value-Pairs),实际上这些AVPs的封装和Radius都十分相似,TTLS这种AVPs有很好的扩展性,所以它几乎支持任何认证方法,这包括了所有EAP的认证方法,以及一些老的认证方法,比如PAP、CHAP、MS-CHAP、MS-CHAPv2等,TTLS的扩展性很好,通过新属性定义新的认证方法。 PEAP之所以叫Protected EAP,就是它在建立好的TLS隧道之上支持EAP协商,并且只能使用EAP认证方法,这里为什么要保护EAP,是因为EAP本身没有安全机制,比如EAP-Identity明文显示,EAP-Success、EAP-Failed容易仿冒等,所以EAP需要进行保护,EAP协商就在安全隧道内部来做,保证所有通信的数据安全性。其实PEAP最大的优点就是微软支持开发,微软在Windows系统内集成了客户端,微软和Cisco都支持PEAP,但是他们的实现有所区别。 三者对比: EPA-TLS是目前为止最安全的方式,但缺点也很明显,很多系统客户端并没有集成,客户端需要导入认证证书等等,所以当下WLAN认证方式最常用的是PEAP和EAP-TTLS这两种。下图是PEAP的认证粗略过程: 认证基本流程: 1、证书获取 证书主要用来进行终端和网络的相互认证。 Radius服务器首先向CA证书颁发机构申请服务器证书,用来代表Radius服务器的合法性。STA向CA证书颁发机构下载CA 根证书,用来验证Radius服务器下发的证书是否合法(一般情况下,如果终端不需要对网络进行认证的情况下,根证书可以不用下载和安装)。 2、无线接入 STA通过开放系统接入的方法(OPEN SYSTEM)和AP之间建立好物理连接。 3、认证初始化 ①…