聚焦:Wi-Fi安全性
有线和无线网络在安全性方面的考虑是很不一样的。首先,在有线网络中,用户必须能够访问物理的线路或接线器。其次,网卡必须连接上网络上。最后,还有用户身份认证的问题。大多数网络要求用户使用密码、信令或两者结合进行身份认证。而在无线网络中,这些问题一开始在第一个无线安全标准——有线等效保密(Wired Equivalent Privacy,WEP)中是被忽略的。
有线等效保密
WEP是被设计用来提供与用户在有线网络所使用的相同的保密机制。WEP基于RC4对称加密标准,它使用64位或128位密钥。而WEP的安全性问题恰恰就出现在这里,因为密钥的64位或128位并不全被用于加密,它其中的24位实际上被用作初始化向量(IV)。IV的目的是用不同的密钥给每个数据包进行加密。这是通过将IV添加到40位或104位的预共享密钥(PSK)而实现的。结果就是IV+PSK。这减小了加密过程中的有效密钥长度,因为现在密钥的有效长度只有40位或104位了。
有两种方法可以生成和使用PSK:
一是默认密钥方法,它共享包含最多四个默认密钥的密钥集给所有WAP。
二是密钥映射方法,它在每一个无线基站与其它单个基站之间建立密钥映射关系。虽然这个方法比第一个方法更安全,但它带来了额外开销并降低一定的吞吐量。这个额外的开销意味着许多选择使用WEP的系统要在所有的基站使用一个共享密钥。
为了更好地理解WEP过程,你需要理解布尔逻辑的基本原理。特别是你需要理解异或(Excusive OR, XOR)的用法。XOR只是一个简单的2比特位之间的二进制比较,它的结果是另一个比特位。当比较2个比特位时,XOR检查它们是否不同。如果不同,XOR的结果就是1。如果相同,结果就是0。表9-2说明了一个XOR运算的例子。
表:异或(XOR)运算
为了更好地理解XOR过程,并且理解WEP是如何工作的,下面让我们看一下加密消息的七个步骤:
1.使用密钥初始化传输和接收基站。这个密钥必须使用一个跨波段机制来分发的,如电子邮件发送、提交到一个网站,或者写在纸上发给你(像许多酒店的做法)。
2.传输基站产生一个种子,它是通过将40位密钥附加到24位IV,然后输入到伪随机数生成器(PRNG)而得到的。
3.传输基站将种输入到WEP PRNG中生成随机类型的密钥流。
4.密钥流与明码文本进行XOR后得到密文。
5.传输基站将密文附加到IV上,并设置一个比特位表示它是一个WEP加密的数据包。这就完成了WEP加密,其结果是传输的一个帧的数据。WEP加密的仅仅是数据。数据包头和包尾是不加密发送的。
6.接收基站检查所接收的帧的加密位是否被设置了。如果是,接收基站会从该帧中提取出IV,并将IV附加到密钥中去。
7.接收者生成一个密钥流,这个密钥流必须是与传输基站的密钥相匹配。这个密钥流通过与密文XOR后获得明文。
[DividePage:NextPage]
WEP最大的问题是IV不是专用的,是可以重用的。这样的结果是大量的攻击会重用IV来暴露PSK。为了更好地说明这个问题,我们可以考虑下面的例子。假设我们的PSK是8765309。这个值将会与“qrs”字符串一起构成密钥“qrs8765309”。它将被用于加密数据包。下一个数据包将会要求一个新的IV。因此,虽然它仍使用相同的PSK 8765309,但这次它会与字符串“mno”一起构成新的密钥“mno8765309”。这样的过程会在每一个数据包数据加密时进行。我们可以看到变化的只是密钥的IV部分,这就是WEP攻击所感兴趣的。一个忙碌的不停地发送流量的AP总会在5到6小时后用完所有可能的IV字符。一旦有人捕获了足够的数据包,那么他就有了可重用的密钥,WEP就会被破解。一些工具,如WEP Crack和AirSnort就是专门用来做这件事的。
虽然无线设备供应商确实做了许多工作去消除这些IV弱点,但攻击者仍在寻求其他破解加密标准的方法。在2004年8月,一个叫做KoreK的黑客发布了一套代码,它可以将WEP密钥恢复速度提升将近2个数量级。他不是使用通过收集百万数据包来破解WEP密钥的消极方法,他的做法是主动将数据注入到网络中。这个方法可以合法地从WLAN设备上得到响应。即使黑客不能破译这些数据包的加密方式,他也能猜出它们是什么,并更进一步使用它们激活更多的产品流量的响应。这使他能够在10分钟内破解许多无线网络的WEP。在大家发现这个问题后,IEEE意识到需要一个新的加密标准来解决这个问题了。毕竟,WEP甚至都不能够保证数据包的认证性了。
用来解决无线用户的不断增长安全性要求的专门方法是802.11i。它们的挑战的不仅仅是开发一个长期的标准,也包括开发能够马上保证无线系统安全的方法。为了满足这两个要求,IEEE开发了短期解决方案Wi-Fi受保护访问(WPA)。
WPA提出了比WEP高一级别的安全性方法。WPA使用了临时密钥完整性协议(Temporal Key Integrity Protocol,TKIP)。TKIP使用一个哈希算法打乱密钥,并添加了一个完整性检查特性,它可以验证密钥没有被篡改过。WPA改进了WEP,它将IV从24位增加到48位。同时回滚也被去除,这意味着密钥的重用就不太可能发生了。WPA也避免了另一个WEP的弱点,它为每一个数据包使用不同的密钥。WPA的另一个改进是消息完整性。WPA提出了一个消息完整性校验(MIC),它被称为Michael。Michael是设计来发现无效数据包,甚至能采取方法阻止攻击。更妙的是,WPA是向下兼容的,它是支持RC4算法的。这使得用户可以升级已有的特定硬件,这些硬件可能本来是不支持更复杂的加密算法的。
早在2004年,无线安全性的长期解决方案在WPA2发布后被认证通过。这就是802.11i组曾经致力于开发的标准。它设计上使用了高级加密标准(Advanced Encryption Standard,AES)。AES要求比RC4更多的处理能力,它是包含在原来的802.11设计中的。现在有最多256位的密钥长度,这是大大改进了原来WEP使用的40位加密方式。表9-3说明了通用的模式以及WPA和WPA2的种类。
WPA和WPA2可以使用多种安全性协议,如Counter Mode with Cipher Block Chaining Message Authentication Code Protocol(CCMP)。CCMP是基于AES加密算法的。它将IV扩大到48位以防止回滚并发现延迟流量。另外一个WPA认证的协议是Extensible Authentication Protocol(EAP),它是定义在RFC 3758中的。EAP是一个认证框架,但不是一个认证机制。EAP是在以太网协议之上改善认证的,包括需要认证的客户请求和服务器对认证的处理。同时也有LAN的EAP(EAPOL),它是IEEE认可的作为将数据包从客户传到认证服务器的传输方法。其中有四种基本类型的EAPOL数据包:
EAPOL报文——这种消息只是简单的用穿越LAN传送EAP报文的容器。
EAPOL开始——这种消息是被客户端用以通知网络的认证者。
EAPOL注销——这种消息通知认证者客户端正在离开网络。
EAPOL密钥——这种消息是802.1x中用于密钥分发的。
表:WPA和WPA2的区别
最后是临时密钥完整性协议(Temporal Key Integrity Protocol,TKIP)。TKIP是用于解决已知的针对WEP弱点的密码攻击。TKIP的作用是保证每一个数据包都与它自己唯一加密密钥一起发送。TKIP使用RC4算法。
802.1x认证
802.1x提供了基于端口的访问控制机制。当用在EAP的结合部位时,它可以作为一个认证试图连接到特定LAN端口的设备的手段。虽然EAP是针对有线环境设计的,但它正与WAP绑定以作为一种传输手段,它负责传输认证信息,以及客户端或请求者与访问控制服务器之间的加密密钥,如RADIUS服务器。在无线网络中,EAP是这样工作的:
从客户端请求认证信息。
2.用户输入要求的认证信息。
转发客户端提供的认证信息到标准的RADIUS服务器以获得认证和授权。
4.客户端根据RADIUS的授权进行连接和传输数据。
此外,还有其它方法使用EAP,这是由它的实现方式决定的:密码、数字认证和信令卡是最常用的几种认证方式。EAP可以作为EAP-MD5、Cisco Lightweight EAP (LEAP)、EAP with Transport Layer Security (EAP-TLS)或者EAP with Tunneled TLS (EAP-TTLS)等形式部署。
发布于:2024-12-22,除非注明,否则均为
原创文章,转载请注明出处。
还没有评论,来说两句吧...