不要让它危及您的数据 Larry Loeb(larryloeb@prodigy.net) 作家,Secure Electronic Transactions 2001 年 4 月 有线等效协议(Wired Equivalent Protocol),简称为 WEP 是无线 IEEE 802.11 协议之后的安全性。很多制造商都将 IEEE 802.11 用作供给计算机的无线网络扩展。问题是,WEP 的设计使窃听者能够相当简单地译码 WEP 加密的消息,从而获得对网络和数据的访问。在此,Larry 将深入研究 WEP — 它是什么,它的缺点是怎样的,这些缺点有多严重以及可以对它们做些什么。 可能的梦想 自便携机首次出现以来,无线联网(和至基网的连通性)就一直是用户的梦想。近来变得流行的一种技术是“Wi-Fi”无线 LAN。它在 2.4GHz 运行,是一种基于无线电的方法:将计算机链接到具有可接受的连接带宽的网络。正如无线联网的狂热者 John Saxton 提到的,“‘Wi-Fi’是由 IEEE P802 成员设计并开发的,这些成员包括有 Lucent(现在是 Agere)和 Harris(现在是 InterSil),他们已经花了几年的时间研究无线以太网 LAN。”他们是这一领域中被认定的专家,所以其工作(被编成标准的 IEEE 802.11b [简写为“802.11”])应该是值得效法的。 802.11 是 IEEE 针对如何在相对较短的物理距离上全面联网完全不同的计算元素这一问题的解决方案。在 Palm PDA 中使用的 IrDA 红外线链接是同一问题的另一种已定义解决方案。IrDA 允许 PDA 在很短距离上与其装备 IrDA 硬件的主机(以及相互之间)进行通信。802.11 打算提供相同的无缝功能,但是在更大的物理范围内。设备到接入点的距离是通过使用无线电波增加的,而且数据流已以“有线等效协议”或 WEP 加密。 WEP WEP 是 802.11 系统安全性的一部分,其目的是提供机密性和数据完整性,并通过拒绝所有非 WEP 信息包来保护对网络基础结构的访问。 WEP 使用通信器之间共享的秘钥。一些版本使用最初用于制定标准的 40 位密钥,而其它较新的版本使用 128 位(实际上是 104 位)密钥。 实际加密/解密过程看起来与下面相似: 对数据帧求校验和(使用 CRC-32 算法)以获得 c(M),其中 M 是消息。合并 M 和 c(M) 以获得明文 P=(M, c(M))。 使用 RC4 算法加密 P。这生成一个密钥流作为初始化向量(IV)v 和秘钥 k 的函数;以 RC4 (v, k) 表示它。密文由于将 XOR 函数应用于明文和密钥流而产生。然后,密文和 IV 通过无线电发送。 用图形表示,该过程类似于: 解密只是与加密相反。接收方重新生成密钥流,并将它与密文进行 XOR 来恢复初始明文。接着,该消息(P')被分成两个部分:M' 和 c'。然后,计算 c(M'),并将它与接收到的校验和 c' 进行比较。如果不匹配,那么消息主体在传输期间已经以某一方式更改过。解密通过使用带信息包传输的 IV 和共享密钥来生成用于加密的等同密钥流。最后,将结果与密文进行 XOR 运算,以显示消息。 WEPbuster 出现了 从上面可以看出,安全性在数学上取决于密钥及其对发现的抵御能力。但是,Nikita Borisov、Ian Goldberg 和 David Wagner 于今年一月在 Mac-Crypto 会议上提交的一篇论文详细描述了 802.11 的体系结构性安全弱点(请参阅参考资料)。我很大程度上根据这篇论文来说明发生了什么。 作者指出:如果用相同的 IV 和秘钥加密两条消息,那么流密码(如 RC4)容易受到攻击。如果一起对密文进行 XOR 运算,那么密钥流将互相抵消并且两个明文的 XOR 将保留。在典型消息中,有明文的重复,它可以解决两个明文的 XOR。有人可能查找某一已知明文(例如,“Password:”),当将该明文与其自身进行 XOR 运算时,可以计算出两个明文的 XOR 中的文本。所以,如果在消息之间重用密钥流,那么只知道明文的一部分,攻击者就有另一次危及加密的机会。 作者认识到,虽然 WEP 标准建议在每个信息包之后更改 IV(及与秘钥组合的那个 IV 的 RC4),但它不要求发生这种情况。实际上,他们发现,在他们测试的某些 PCMCIA 802.11 卡中(例如,Lucent 的),在初始化时 IV 复位成零,然后每传输一个信息包,计数器就增加 1。因为每次将卡插入便携式电脑时都会发生初始化,所以这意味着,IV 为低值的密钥流将经常发生,并且对于秘钥的生存期来说都是一样的。这样,攻击者在其进行破坏时将有多个低 IV 密钥流的实例化。重用是众所周知的一种密钥流弱点,或许应该已经在 802.11 标准中得到解决,以便卡制造商无法使用这种方案并且仍设法符合该标准。 802.11 中有其它结构问题。最隐蔽的一个问题就是 IV 数据空间只有 24 位宽。当某人考虑 5Mbps 网络接入点将在不到半天的时间内通过 24 位宽的信息包时,这个问题才会变得明显。这意味着,即使低值 IV 没有出现在数据流中,IV 也将习惯性地(并且多少可以预知地)重复。从安全性立场来讲,它不会使人感到安慰。 重用的利用 如果攻击者知道两个用相同 IV 加密的信息包之一的明文,就可以对这两个信息包进行解密。因为大多数 IP 流量都是以众所周知的方式构成的,所以攻击者可以对消息做某些假设,并注意它们是否符合手边的信息包。如果攻击者已经获得完整的明文(比方说,如果攻击者给您发电子邮件,然后等待您在 802.11 链路上读取它),那么这个攻击会变得微不足道。 攻击者需要一个已知的明文来利用密钥重用。要这样做,他可以构建密钥流对 IV 的“字典”。因为密钥空间是 2 的 24 次方,即整个字典将占用 1500 个字节(平均 802.11 密钥流长度)乘以 2 的 24 次方,或者大约 24GB。那将在许多具有剩余空间的现有硬驱动器上放得下。它仅仅是要花点时间和精力。这类攻击不受秘钥长度影响,仅受 IV 的 24 位长度影响。 密钥管理问题 802.11 标准在秘钥管理方面是无声的。所以,即使在密钥数组中指定索引的可选密钥标识字段出现在消息中,大多数网络还是将单个密钥用于 802.11。该字段似乎不在当前实践中使用,可是一旦体系结构性弱点更广泛地散布,这可能会更改。 单个密钥使所有先前描述的攻击都变得更容易执行,尤其是在多个用户都共享秘钥的情况下。并且如果密钥泄露,所有用户都必须替换其系统驱动器,因为所有系统驱动器都将被泄露。这会难以管理并且要花时间才有作用,所有这些都对攻击者有利。 WEP 消息认证 我曾提到过,在 WEP 下对消息执行 CRC-32 校验和。这本打算起到一个消息完整性保证人的作用。但它没有。CRC-32 不能免受恶毒攻击。 让我们先研究一些校验和属性: 校验和是消息的一个线性函数。即,它在消息的整个 XOR 运算上均匀分布。这暗示了有一些控制校验和的方法,使协议可以接受它,但与消息内容无关。实际上,作者在其论文中提供了有关于此的数学证明。另外,只要知道一部分信息包内容,就可以执行这类攻击。因此,可以欺骗校验和 — 它不是认证的保证人。 校验和是一种未加密函数。即,它不取决于共享秘钥。如果攻击者知道消息的明文,那么他可以在不知道共享密钥的情况下得出 CRC。它的唯一变通方法是需要一个加密的消息认证代码(如 SHA-1/HMAC),而 802.11 标准不需要它。由于另一个 WEP 特性(下面将描述),所以源自已知明文的攻击只会成功。 在接收方不知道 IV 值的情况下,可以重用这些值。我们早先讨论了这个问题;但它在标准中仍有缺陷。 使用接入点来破解 WEP 修改信息包是启用另一种复杂攻击的机制,它使用物理接入点来对已编码的消息进行解密。实际上,IP 重定向利用相对简单。首先,攻击者从无线电信息流中发觉一个加密的信息包,然后对它进行修改,使该信息包立刻发送到一个受控的 IP 地址。它将被不受阻碍地发送,因为在它发送到因特网之前,接入点对它进行解密。 从计算方面讲,更改 IP 地址并不难。如果原始 IP 地址的高 16 位字和低 16 位字是 Dh 和 Dl,那么我们要把它们更改成 Dh' 和 Dl'。如果 X 是原始 IP 校验和,那么在补码数学中 X' = X + Dh' +Dl'-Dh-Dl。 如果攻击者通过某些方法知道 X,他就会根据上面的公式计算出 X' 并计算 [X (XOR) X'] 以获取我们要将信息包重定向到的 IP 的校验和。这是最简单的情况。某些人还会根据经验来猜测 IP 地址,并查看它们是否工作。这是一种反应攻击,因为攻击通过观察系统对伪造的反应是什么进行工作。猜测正确的 IP 将被系统接受,而猜测错误的 IP 会使信息包落入位存储区。这只对 TCP 信息包起作用,因为攻击者需要确认 TCP 在 TCP 校验和正确时发送(TCP ACK 信息包是标准大小)。 这充分证明了校验和不是保证消息认证的好方法这一主张的真实性。消息可以被更改,并且在系统不知情的情况下插入一个伪造的新校验和。象 Mac 这样经过加密的函数可以预防这类攻击。 IEEE 的反击 在最新文章 Wall Street Journal 中,Greg Ennis(他是无线以太网兼容联盟(Wireless Ethernet Compatibility Alliance)的技术主管,以前还是 IEEE 的成员)指出,标准过程“对任何人都是开放的。” 虽然他同意最新的弱点是所关心的问题,但他还是进行了有趣的观察:WEP“从一开始就被认为不是一个顶级安全性系统。” 他还指出,IEEE 正致力于不易受攻击的将来版本。 Ennis 还表示,这种类型的攻击“需要一次重要的努力”才能完成。这是事实 — 这种情况不是不能克服的。如果有人 — 或某政府机构 — 想要将所有膝上型电脑网络流量吸收在圣何塞机场的 American Airlines 贵宾休息室,则他们可以用一些专用设备和一些固件来做到这一点。问题就在于此。在 Wall Street Journal 文章中引用了一位纽约计算机安全性顾问的话,当他坐在街对面的长椅上时,他可以访问其客户(华尔街上的一家主要金融服务公司)的计算机网络。要实现利用似乎并不这么难。 解决方案 PGP 用 PGPnet 显示了其方法。从键盘到最终用户的超级加密为您设置虚拟专用网络,破坏 802.11 传输的任何人都将嗅探无用信息。 WEP 的问题似乎是当它阻止偶然的侦听者时,对于任何严重的攻击,它都败下阵来。这很可能是由于为避免 Mac 的计算开销而使用更简单的 CRC 做出的设计选择。不管缺点的起因是什么,WEP 本身似乎不能保证安全性。当用户不得不使用移动网络时,不要让它危及您的数据。 参考资料 由 Nikita Borisov、Ian Goldberg 和 David Wagner 合著的 Intercepting Mobile Communications: The Insecurity of 802.11 更深入地研究了许多 WEP 的缺点。 Additional Material for the IEEE 802.11 Handbook 请参考由 Bob O'Hara 和 Al Petrick 合著的 The IEEE 802.11 Handbook: A Designer's Companion。Informed Technology 出版了该书,并在其网站上包含了更新。 IEEE 802.11 Working Group 在其站点上公布了一份当前主题的列表。 关于作者 Larry Loeb 是上一世纪许多“死刑架”计算机杂志的编辑或撰稿人。此外,他还出版了一本有关 SET 的书,SET 是由 Visa 和 MasterCard 为安全电子交易而开发的一种协议。可以通过 larryloeb@prodigy.net 与他联系,一般情况下您都会得到答复。 |
Powered by Discuz!
© 2003-2024 广州威思信息科技有限公司