有线和无线网络在安全性方面的考虑是很不一样的。首先,在有线网络中,用户必须能够访问物理的线路或接线器。其次,网卡必须连接上网络上。最后,还有用户身份认证的问题。大多数网络要求用户使用密码、信令或两者结合进行身份认证。而在无线网络中,这些问题一开始在第一个无线安全标准——有线等效保密(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是这样工作的:
1.WAP从客户端请求认证信息。
2.用户输入要求的认证信息。
3.WAP转发客户端提供的认证信息到标准的RADIUS服务器以获得认证和授权。
4.客户端根据RADIUS的授权进行连接和传输数据。
此外,还有其它方法使用EAP,这是由它的实现方式决定的:密码、数字认证和信令卡是最常用的几种认证方式。EAP可以作为EAP-MD5、Cisco Lightweight EAP (LEAP)、EAP with Transport Layer Security (EAP-TLS)或者EAP with Tunneled TLS (EAP-TTLS)等形式部署。
声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。本站部分作品是由网友自主投稿和发布、编辑整理上传,对此类作品本站仅提供交流平台,不为其版权负责。如果您发现网站上所用视频、图片、文字如涉及作品版权问题,请第一时间告知,我们将根据您提供的证明材料确认版权并按国家标准支付稿酬或立即删除内容,以保证您的权益!联系电话:010-58612588 或 Email:editor@mmsonline.com.cn。
- 暂无反馈