Team: PST(www.ph4nt0m.org)
Author:云舒(wustyunshu@hotmail.com)
一、 前言以及版权
网络本来是安全的,自从出现了研究网络安全的人之后,网络就越来越不安全了。希望更多的文章是用来防御,分析,而不是纯粹的攻击。本文可以任意转载,但必须保证完整性,且不得私自用于商业用途。
这个文章本来是06年夏天就应该贴出来的,可是后来写了70%的时候忙别的事情搞忘记了,没有继续写下去。这个周末突然记起无线局域网安全的事情,吓一大跳。翻遍了硬盘也没找到原稿,迫不得已之下,下午花一下午时间重新写出来,重写的肯定不可能和去年写的一样了,这是让我非常郁闷的事情。
二、 无线局域网安全的演变
无线网络在安全性方面,先天就比有线网络脆弱——虽然有线网络也存在很多安全问题。这是因为无线信号以空气为介质,直接向四面八方广播,任何人都可以很方便的捕获到所传输的信息,或者说被信息捕获到。而有线网络具有比较密闭的载体——网线,虽然网线也不是很硬,但是起码我没见过有人通过剪断网线来截取资料。
经过多年的努力,无线网络的安全性逐渐发展,具备了不亚于有线网络的安全性,下面将逐步介绍。需要注意的是,这里说的安全性,是指网络协议本身的安全性,而不涉及到具体的操作系统和具体的应用。因为对于具体的系统和应用来说,协议层的安全是基础,系统以及应用安全处于更上层。对于任何载体来说都是一样的,与载体无关。
1. 无安全措施
最初的无线网络,还没有采取任何的保密措施,一个无线网络就相当于一个公共的广场,任何人都可以直接进入。这是由它的使用领域决定的,当时无线网络主要用来进行条形码扫描等等,只需要考虑灵活方便,不去关注安全问题。
随着使用范围越来越广,一些比较敏感的信息需要通过无线网络传输,IEEE开始制定了初步的安全协议,防止信息被恶意攻击者轻易截获。
2. WEP保护
WEP是无线网络最开始使用的安全协议,即有线等效协议,全称为Wire Equal Protocol,是所有经过Wi-Fi认证的无线局域网所支持的一项标准功能。
WEP提供基本的安全性保证,防止有意的窃听, 它使用一套基于40位共享加密密钥的RC4对称加密算法对网络中所有通过无线传送的数据进行加密,密钥直接部署在AP和客户端,不需要公开传输,从而对网络提供基本的传输加密。现在也支持128位的静态密钥,对传输加密的强度进行了增强。
WEP也提供基本的认证功能,当加密机制功能启用后,客户端尝试连接上AP时,AP会发出一个Challenge Packet给客户端,客户端再利用预先保存的共享密钥将此值加密后送回AP以进行认证比对,如果与AP自己进行加密后的数据一致,则该终端获准联入网络,存取网络资源。
WEP协议存在非常多的缺陷,主要表现在密钥管理,传输安全等方面。首先,终端密钥必须和AP密钥相同,并且需要在多台终端上部署,用来进行基本的认证和加密。密钥没有统一管理部署的能力,更换密钥时需要手动更新AP和所有的终端,成本极大。倘若一个用户丢失密钥,就会殃及到整个网络的安全性。
其次,在数据传输方面,RC4加密算法存在很多缺陷,攻击者收集到足够多的密文数据包后,就可以对它们进行分析,只须很少的尝试就可以计算出密钥,接入到网络之中。常见的网络嗅探工具,比如WireShark就具有捕获无线网络数据的能力,破解WEP算法的工具也非常常见,比较著名的就是Aircrack,包含在Auditor Security Collection LIVE CD工具盘中。此工具盘中包含有Kismet、Airodump、Void11、Aireplay 和Aircrack等多个工具,是一套完整的攻击工具。
最后,WEP中的数据完整性检验算法也不够强壮,WEP ICV是一种基于CRC-32的用于检测传输噪音和普通错误的算法。CRC-32是信息的线性函数,攻击者篡改加密信息后,可以很容易地修改ICV,通过解密端的检验。
WEP只是一种基本的认证和传输加密协议,不适合在企业级环境中使用,现在一般使用在不注重安全性,且终端数目少的家庭网络中。
3. WPA保护
WPA(Wi-Fi Protected Access)技术是IEEE在2003年正式提出并推行的一项无线局域网安全技术,其目的是代替WEP协议,成为一个可提供企业级安全的无线网络认证传输协议。WPA是IEEE802.11i的子集,是在802.11i实施之前的一个临时过渡协议,其核心就是IEEE 802.1x和TKIP。其中802.1x是基于端口的认证协议,TKIP则提供高安全级别的传输加密和完整性检测功能,组成一个完整的解决方案。
1) 802.1x认证控制技术
802.1x协议是由IEEE定义的,用于以太网和无线局域网中的端口访问与控制。该协议定义了认证和授权,引入了PPP协议定义的扩展认证协议EAP。EAP(扩展认证协议)本身不提供认证功能,而是提供一个可扩展的基本认证框架,各公司可以在此框架的基础之上发展出各种各样的认证协议。比如EAP-TLS,PEAP,TTLS,LEAP,EAP-MD5等各种认证协议,这些协议主要由微软,思科,3com等公司提出并实现。
在使用802.1x端口控制技术的无线网络中,当无线工作站与无线访问点AP关联后,是否可以使用AP的服务要取决于802.1x的认证结果。认证通过上述的各种扩展认证协议进行,如果认证通过,则AP为无线工作站打开这个逻辑端口,否则不允许用户上网。
802.1x提供一种灵活可信的认证控制技术,可以使用各种扩展认证协议,包括证书和动态口令在内,因此是一种可以信赖的认证方法。
2) TKIP加密协议
WPA采用TKIP(Temporal Key Integrity Protocol)为加密引入了新的机制,在用户连接到AP,认证服务器接受了用户身份之后,使用802.1x产生一个唯一的主密钥处理会话。然后,TKIP把这个密钥通过安全通道分发到AP和此用户的客户端,并建立起一个密钥构架和管理系统,使用主密钥为用户会话动态产生一个唯一的数据加密密钥,来加密每一个无线通讯数据报文。TKIP的密钥构架使WEP静态单一的密钥变成了500万亿个可用密钥。由于使用了动态密钥来进行传输加密,且密钥长度有了增强,因此TKIP加密传输几乎不可能被破解。
在消息完整性检测方面,TKIP除了和WEP一样继续保留对每个数据分段进行CRC校验外,还为每个数据分组都增加了一个8个字节的消息完整性校验值。这和WEP对每个数据分段进行ICV校验的目的不同:ICV的目的是为了保证数据在传输途中不会因为噪声等物理因素导致报文出错,因此采用相对简单高效的CRC算法,但是攻击者可以通过修改ICV值来使之和被篡改过的报文相吻合,可以说没有任何安全的功能。而TKIP则是为了防止黑客的篡改而定制的,它采用Michael算法,具有很高的安全特性。当MIC发生错误的时候, WPA会采取一系列的对策,比如立刻更换密钥、暂停活动等,来阻止攻击。
WAP协议在认证和传输,以及完整性检测方面,达到了很高的安全级别,满足了普通企业的需求。同时,802.1x认证技术,认证数据可以方便的统一管理,降低了部署难度。因此WPA适合于一般的企业级应用。
4. IEEE 802.11i保护以及WAPI
802.11i是IEEE最新的无线网络安全协议,包含802.1x认证技术,TKIP和AES(Advanced Encryption Standard)加密技术。而WAPI则由中国提出,采用公开密钥密码体制,利用证书来对无线局域网中的终端和AP进行认证。对这两种最新的协议我并没有完全理解,就不多说了,可以参考《解析新一代安全技术IEEE 802.11i、WPA和WAPI》一文。
5. 其他安全技术
这里的其他安全技术主要是指SSID,MAC地址过滤等技术,这些技术由于不适合企业级应用,并且安全性不高,理解容易,这里就不多提了。
三、 加强的安全与实例
从目前的各种技术的成熟角度,以及安全性来考虑,WPA是最好的选择,使用802.1x进行身份认证,使用TKIP来加密传输,检测完整性。但是对于更高的安全需求,就需要使用一些综合的技术方法,来达到独特的目的。
目前来说,对于认证,最安全的方法是使用一次性口令,通过不变的key加上每分钟改变一次的随机的硬件token作为密码,可以达到防御任何监听,破解,记录密码的攻击方法。802.1x使用了EAP扩展认证协议,因此也支持动态口令认证技术,许多公司都有自己的实现。
对于数据的传输,TKIP虽然大幅提高了安全性,但是仍然只是对数据的加密,达不到一个安全的可信通道的要求。目前来说,VPN是这方面的最好选择。
因此,我认为在需要高安全级别的无线网络的环境中,使用动态口令认证,加上VPN安全通道传输是一个比较好的解决方案。在网络中不是一台RADIUS服务器,用来提供802.1x身份认证功能。在AP的后端,所有无线连接终结到一台VPN设备。
当用户连接到AP时,不需要任何的身份认证,但是由于隔离技术,用户是无法访问或者攻击到此AP上的其他用户的。要访问网络资源,必须手动连接VPN服务器,此时进行动态口令的认证。认证成功,则打开逻辑端口,允许访问。
四、 总结
本文就到此结束了,主要是介绍了一下我对企业级无线网络安全的理解。这里的安全是网络协议的安全,只是防范未授权用户对无线网络的攻击。对于来自无线网络内部的攻击,则属于系统安全和应用安全的范围,不是无线网络的安全协议解决的范畴之内。
最后还是希望网络越来越安全吧,这样我上班也可以轻松一点。
|