acm-header
登录

ACM通信

无线网络安全

802.11数据链路协议存在安全漏洞


显然,任何拥有无线电接收器的人都可以窃听无线局域网(WLAN),因此,WLAN需要一种机制来应对这种威胁得到了广泛的认可。人们不太了解,但同样正确的是,任何拥有发射机的人都可以向无线局域网写入消息,从而使访问控制变得毫无意义。由于伪造很容易创建,无线局域网也需要一些机制来对抗这种威胁。

IEEE 802.11标准[7]定义了一种数据保密机制,称为无线等效隐私(WEP)。WEP使用共享密钥的RC4加密工作;更多细节请参阅本期的Housley和Arbaugh的文章[6].WEP的安全目标是与有线局域网相同的数据保密性。WEP没有达到这一目标,这是一个直观上吸引人但模糊的安全目标。因此,WEP没有经过充分的考虑,许多缺陷很快就出现了。这些缺陷的发现导致了用更健壮的安全协议取代WEP的进程。在此,我们回顾了WEP的安全缺陷,并评估了取代WEP的进展。

对WEP缺陷的研究揭示了安全协议设计的难点。对这些缺陷的理解有助于澄清新协议设计者所做的选择。IEEE 802.11任务组i (TGi)正在开发新的无线局域网安全协议。数据链路安全协议被称为TKIP和CCMP。TKIP是一个WEP补丁,专为现有硬件设计。由于TKIP并不理想,TGi也指定CCMP来取代WEP和TKIP。TGi还定义了WLAN身份验证和密钥管理增强;但是,身份验证和密钥管理工作超出了本文的范围。

回到顶部

WEP的问题

WEP有几个严重的固有问题。它不符合有线等效保密的基本目标。它也不能满足完整性和身份验证的预期目标。

WEP有两个普遍的限制。首先,WEP的使用是可选的,因此,许多真正的安装甚至从来没有打开加密。这是不幸的,因为如果从未使用过,那么密码学再好也无济于事。其次,在默认情况下,WEP使用一个对WLAN所有用户通用的共享密钥,这个共享密钥通常存储在每个设备上的软件可访问存储中。如果任何设备丢失、被盗或被破坏,惟一的补救办法是更改所有剩余设备中的共享秘密。由于WEP不包括密钥管理协议,将新秘密分发给所有用户是一个笨拙的过程。因此,关键的妥协常常被忽略。无论采用何种加密方法,这些缺点都使WLAN部署难以获得机密性和完整性。

在实践中,WEP最严重的问题是它的加密密钥可以通过密码分析恢复。WEP使用一种常见的流密码RC4,但采用了一种非标准的方式:WEP将一个基密钥与一个24位的逐包nonce连接起来,称为WEP初始化向量(IV),并将结果用作逐包RC4密钥。在2001年8月,Fluhrer, Mantin和Shamir描述了对这个建筑的一次惊人的新攻击[5].他们表明,窃听者可以获得数百万个明文首字节已知的加密包,可以利用RC4密钥调度的属性来推断基本RC4密钥。

在一个星期内,Stubblefield, Ioannidis和Rubin实验性地实施了攻击,并证明了真正的系统可以被破解[10].WEP下加密的第一个字节是一个已知的固定值,他们发现,在网络上窃听几个小时后,所需的密文数据包可以很容易地获得。

从那时起,其他人实施了Fluhrer-Mantin-Shamir (FMS)攻击,并公开发布工具,自动化侵入wep保护的网络的过程。因为攻击使用现成的硬件和软件,所以它是一个严重的威胁。另外,由于攻击完全是被动的,所以几乎不可能被发现。现场实验表明,在适当的设备下,从距离目标1英里或更远的距离窃听wep保护的网络是切实可行的。

FMS的攻击对WEP是毁灭性的。一旦发现WEP密钥,所有安全性都将丢失。安全风险如下:

  • 攻击者可以解密截获的数据包并读取加密的流量,从而破坏WEP的保密目标。
  • 攻击者可以伪造新的被接入点接受的加密数据包,并加入无线网络,或攻击其他主机,破坏WEP完整性和身份验证目标。

这种情况使所有wep保护的网络处于严重的入侵风险。

幸运的是,在FMS攻击之前,802.11社区收到了几个月前关于WEP问题的预警:在此之前,密码学家已经在WEP中发现了其他安全问题。作为一个抽样,在2000年秋天,Walker注意到小的IV大小产生了一个严重的密钥流重用的风险,这是允许窃听者恢复明文通信的条件[11].然后,在2001年1月,Borisov, Goldberg和Wagner展示了其他几次攻击,包括攻击者可以自由修改加密信息而不用担心被检测到,以及用户认证协议被轻易地击败[2].Arbaugh随后将其转化为一种实际的攻击,可以在几个小时内解密任何选择的数据包[1].针对身份验证基础设施和特定实现的其他攻击已经暴露出来,但它们超出了本文的范围。综上所述,WEP设计中存在的问题如下:

  • 24位iv太短了,这使保密处于危险之中。
  • CRC校验和被称为完整性校验值(ICV),是WEP用于完整性保护的,它是不安全的,不能防止被拦截数据包的对抗性修改。
  • WEP将IV和密钥结合在一起,从而实现了密码分析攻击。因此,被动窃听者在观察几百万个加密数据包后就可以知道密钥。
  • 没有提供源地址和目的地址的完整性保护。

在每一种情况下,密码算法的使用都是不恰当的:WEP设计者选择了颇受重视的算法,如RC4,但以不安全的方式使用它们,经常重复有充分证据的错误。我们从中得到的教训是,安全协议设计是非常困难的,最好是在有经验的密码学家和安全协议设计人员的支持下谨慎地执行。

回到顶部

IEEE 802.11i短期解决方案

现有的IEEE 802.11系统大多在硬件上实现WEP。为了解决这个硬件上的WEP漏洞,TGi已经定义了时间密钥完整性协议(TKIP)。安装可能包括固件升级和驱动程序升级。TKIP只是一个临时解决方案。在已部署的硬件上运行的要求施加了几个约束:

  • 允许已部署系统的软件或固件可升级;
  • 允许当前WEP硬件实现保持不变;而且
  • 将修复带来的性能下降降到最低。

TKIP是一套适应WEP协议的算法,在满足这些约束的同时解决已知的缺陷。TKIP将WEP包装成三个新元素:

  • 一个名为迈克尔的信息完整性代码(MIC),用来打击伪造;1
  • 数据包排序规则,以击败重放攻击;而且
  • 一个逐包密钥混合功能,防止FMS攻击。

TKIP要求使用以前从未使用过的、不相关的新密钥来解决密钥重用问题。IEEE 802.1X密钥管理方案提供新的密钥。

迈克尔。MIC算法在发送端计算数据的键控函数,将结果值作为与数据一起的标签发送给接收端,在接收端重新计算该值,并将计算结果与伴随数据的标签进行比较。如果两个标签匹配,接收方接受数据的真实性;否则,接收方会将数据视为伪造而拒绝接收。

例如:IPsec使用的HMAC-SHA1,金融应用中广泛使用的DES-CBC-MAC。传统的MICs由于计算成本过高,无法在现有硬件上执行,而又不会过度降低性能。因此,TGi采用了一种新的MIC,叫做Michael [4].

Michael使用64位密钥,并将数据包划分为32位块。Michael然后使用移位、排他的or和加法将每个32位块处理到两个32位寄存器中,这两个寄存器将表示最终的输出,一个64位身份验证标记。Michael限制指令集以将性能影响降到最低。它在ARM7处理器上的成本约为3.5个周期/字节,在i486处理器上约为5.5个周期/字节。预计会有一些性能下降,但是还不知道是否有更便宜的、具有适当安全特性的替代方案。

MIC的安全级别以比特为单位。如果MIC的安全级别为年代那么,根据定义,攻击者平均可以在2个比特内构建一个伪造文件- s+1包。为了达到性能目标,Michael被设计为只提供大约20比特的安全性。Michael太弱了,无法单独站立,因此TKIP要求采取对策:TKIP在检测到MIC验证错误后需要重新输入密钥,并将重新输入密钥限制为每分钟一次。在这种设计下,假阳性的最大预期数量大约是每年一次。

数据包排序。重放的数据包不容易被单独的MIC检测到。地址重放的通常方法是将一个包序列号绑定到每个带有MIC的包上,用于在接收端强制包排序,并在MIC键被替换时重新初始化序列空间。

TKIP扩展了当前WEP格式,使用48位序列号,但由于现有的实现约束,将序列号与加密密钥关联,而不是MIC密钥。TKIP将序列号混合到加密密钥中(请参阅下面的部分),并加密MIC和WEP ICV。这种设计将重放攻击转化为ICV或MIC失败。

每个包的关键混合。如前所述,将基本密钥连接到24位WEP IV使攻击者能够通过FMS攻击恢复WEP加密密钥。为了防止这种情况,TKIP引入了一种新的基于混合函数的分组加密密钥结构。混合功能以基本密钥、发送端MAC地址和分组序列号为输入,每个分组输出一个新的WEP密钥。为了减少计算量,将混合函数分为两个阶段。

第一阶段使用一个非线性替代表,或称为s盒,将基键、发射机MAC地址和包序列号的四个最重要字节结合起来,产生一个中间值。中间值可以缓存,最多可用于216包。由于混合函数包含发射机地址,因此即使在不同主机上使用相同的基键,混合函数也会在每个主机上产生不同的值。

第二阶段将中间值与包序列号的两个最低有效字节混合,并生成每个包的键。它使用一个小的密码在每个包密钥中均匀地扩散中间值和序列号字节。第二阶段将包序列号与每个包密钥解相关,挫败FMS攻击;每个包大约需要150个周期。

TKIP混键功能没有定量安全性分析。然而,到目前为止的密码审查表明它达到了设计目标。

TKIP钥匙。TKIP需要两个不同的密钥:一个128位密钥,由混合函数用于生成每个包的加密密钥,另一个64位密钥由Michael使用。TKIP假定这些键在每个关联开始时都是新的。TGi采用IEEE 802.1X协议,提供认证和密钥管理。IEEE 802.1X在关联后进行身份验证,然后派生一个新的主密钥,最后分发该密钥供后续使用。站和接入点使用分布式主密钥导出TKIP所需的密钥对。这种机制的细节超出了本文的范围。

TKIP总结。图1将TKIP描述为WEP的前端流程。TKIP对mpdu (packet fragment)采用逐包密钥混合功能和WEP加密,对msdu (packet whole)采用Michael MIC功能。没有实现约束,没有人会使用这种设计方法。

TKIP组件之间的相互关系被认为可以增强其整体安全性。TKIP使用RC4加密MIC,这减少了攻击者可见的关于MIC密钥的信息。改变包序列号的攻击也会改变每个包的加密密钥,使WEP ICV和TKIP MIC都有可能被错误解密。Michael和它的反制措施使得改变加密数据的攻击在计算上是不可行的。由于MPDU被IEEE 802.11帧检查序列(FCS)和WEP ICV保护不受随机比特错误的影响,有效的FCS和ICV但无效的MIC意味着报文很可能是伪造的。最后,由于MIC保护源地址和目的地址不受更改,信息包再也不能被重定向到未经授权的目的地或源欺骗。

回到顶部

CCMP: IEEE 802.11i长期解决方案

CCMP代表反模式- cbc - mac协议。与TKIP一样,长期解决方案解决了所有已知的WEP缺陷,但没有已经部署的硬件的束缚。高级加密系统(AES) [8日志含义加密算法被选中。

的操作方式。没有现有的AES操作模式[3.]提供了该应用程序所需特性的适当平衡。以下特点是可取的:

  • 使用单个密钥来提供机密性和完整性,以减少密钥管理开销并最小化计算AES密钥调度所花费的时间。
  • 为明文包头提供完整性保护,以及包有效载荷的完整性和机密性。
  • 允许预计算以减少延迟。由于包可能会丢失,接收端可能会对一个永远不会到达的包执行预计算。然而,发送者的努力很少被放弃。
  • 支持流水线以提高吞吐量。
  • 实施规模小,保持成本合理。
  • 每个包的开销很小。
  • 避免被专利(或未决专利)阻碍的模式。

一种名为CCM的新模式被设计用来满足所有这些标准。

CCM合并了两种众所周知且广泛部署的技术。CCM使用计数器模式进行加密,并使用Cipher Block chainingmessage Authentication Code (CBC-MAC) [9],以保护诚信。两种算法都只在发送方和接收方使用加密原语。CCM已提交NIST考虑作为联邦信息处理标准(seecsrc.nist。gov /加密/模式/ proposedmodes /)。

CCM对机密性和完整性使用相同的密钥。这通常是一种危险的做法,但是CCM通过保证计数器模式的空间永远不会与CBC-MAC初始化向量使用的空间重叠,从而避免了这种用法的陷阱。CCM模式背后的直觉是,如果AES表现得像伪随机排列,那么在这两个空间上操作的密码的输出将是独立的。

CCMP的协议。使用CCM的协议与TKIP有许多共同的属性。摆脱与当前硬件相关的限制,可以得到更优雅的解决方案。图2举例说明了CCM对单个WLAN数据包片段(MPDU)的使用。与TKIP一样,CCMP使用48位IV,确保AES密钥的生存期比任何可能的关联都长。通过这种方式,密钥管理可以被限制在关联的开始阶段,并在其生命周期内被忽略。CCMP使用48位IV作为序列号来提供重放检测,就像TKIP一样。

AES与WEP和TKIP使用的RC4加密算法具有显著不同的特性。AES不需要每个包的密钥,因此CCMP没有每个包的密钥派生功能。CCMP使用相同的AES密钥(以及相关联的AES密钥计划)为关联中的所有数据包提供机密性和完整性保护。CCM的MIC长度在2到16位之间可调。CCMP使用8-octet MIC,明显强于Michael。与TKIP和WEP不同,不再需要加密的ICV。

TKIP提供了对整个MSDU的完整性保护和对MSDU的机密性,这导致了实现的复杂性。由于CCM同时提供这两种服务,因此可以直接为相同的数据结构提供机密性和完整性保护。然而,CCMP必须保护几乎整个包头,以防止碎片攻击。

回到顶部

总结

我们在这里回顾了WEP的问题,并简要描述了旨在取代它的新协议。总结一下讨论表格本文比较了WEP、TKIP和CCMP的特点。由于误用了密码原语,WEP没有实现任何安全目标。新的协议,TKIP和CCMP,解决了所有已知的WEP问题。随着新协议的部署,预计最终将导致黑客和防御者之间的斗争,转移到无线MAC之上的层。

回到顶部

参考文献

1.Arbaugh, W。针对WEP/WEP2的归纳选择明文攻击。IEEE文档802.11-02/230,2001年5月;grouper.ieee.org/groups/802/11。

2.Borisov, N., Goldberg, I.和Wagner, D.拦截移动通信:802.11的不安全性。在国际移动计算和网络会议论文集,(2001年7月),180189年。

3.德沃金,M。分组密码操作模式的建议:方法和技术.NIST特别出版物800-38A, 2001年12月。

4.弗格森,N。Michael: 802.11 WEP的改进的MIC。IEEE 802.11 doc 02-020r0, 2002年1月17日;grouper.ieee.org/groups/802/11。

5.Fluhrer, S., Mantin, I., and Shamir, A. RC4密钥调度算法的缺陷。在第四届密码学选定领域年会论文集, 2001年。

6.基于802.11的网络中的安全问题。Commun。ACM 46, 5(2003年5月)。

7.ISO/IEC 8802-11 ANSI/IEEE Std 802.11-1999信息技术电信和信息系统局域网和城域网特殊要求第11部分:无线局域网媒体访问控制(MAC)和物理层(PHY)规范。

8.国家标准与技术研究所。FIPS 197年酒吧:高级加密标准(AES).2001年11月26日。

9.国家标准与技术研究所。FIPS 113年酒吧:计算机数据验证.1985年5月30日。

10.Stubblefield (A.), Ioannidis (J.)和Rubin (A.)使用Fluhrer, Mantin和Shamir攻击来打破WEP。在2002年网络与分布式系统安全研讨会论文集(2002), 1722。

11.任何密钥大小都不安全:WEP封装分析。IEEE 802.11 doc -362, 2000年10月27日;grouper.ieee.org/groups/802/11。

回到顶部

作者

南希Cam-Winget(ncamwing@cisco.com)是位于加州圣何塞的思科系统公司的技术领导者。

Russ Housley(housley@vigilsec.com)是弗吉尼亚州赫恩登守夜安全公司的创始人。

大卫·瓦格纳(daw@cs.ucberkeley.edu)是加州大学伯克利分校的助理教授。

杰西沃克(jesse.walker@intel.com)是英特尔公司(Intel Corporation)的安全架构师,负责IEEE 802.11i安全增强。

回到顶部

脚注

1文献中把这个概念称为消息认证码(MAC)。然而,IEEE 802已经用MAC这个缩写来表示媒体访问控制。

回到顶部

数据

F1图1。TKIP处理流程。

F2图2。CCM模式提供机密性和完整性。

回到顶部

UT1表格安全协议特性比较。

回到顶部


©2003 acm 0002-0782/03/0500 $5.00

允许制作本作品的全部或部分的数字或硬拷贝用于个人或课堂使用,但前提是该拷贝不是为了盈利或商业利益而制作或分发,并且该拷贝在第一页上带有本通知和完整引用。以其他方式复制、重新发布、在服务器上发布或重新分发到列表,需要事先获得特定的许可和/或付费。

数字图书馆是由计算机协会出版的。版权所有©2003 ACM有限公司


没有发现记录

Baidu
map