版权归原作者所有,如有侵权,请联系我们

[科普中国]-有线等效加密

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

有线等效加密(Wired Equivalent Privacy,WEP),是个保护无线网络(Wi-Fi)的资料安全体制。因为无线网络是用无线电把讯息传播出去,它特别容易被偷听。WEP 的设计是要提供和传统有线的局域网路相当的机密性,而依此命名的。不过密码分析学家已经找出 WEP 好几个弱点,因此在2003年被 Wi-Fi Protected Access(WPA)淘汰,又在2004年由完整的 IEEE 802.11i 标准(又称为 WPA2)所取代。WEP 虽然有些弱点,但也足以吓阻非专业人士的窥探。

WEP的详尽介绍相关介绍WEP 是1999年9月通过的 IEEE 802.11 标准的一部分,使用 RC4 (Rivest Cipher) 串流加密技术达到机密性,并使用 CRC-32 验和达到资料正确性。

标准的64位元WEP使用40位元的钥匙接上 24 位元的初向量(initialisation vector,IV) 成为 RC4 用的钥匙。在起草原始的 WEP 标准的时候,美国政府在加密技术的输出限制中限制了钥匙的长度,一旦这个限制放宽之后,所有的主要业者都用 104 位元的钥匙实作了 128 位元的 WEP 延伸协定。用户输入 128 位元的 WEP 钥匙的方法一般都是用含有 26 个十六进制数 (0-9 和 A-F)的字串来表示,每个字符代表钥匙中的 4 个位元, 4 * 26 = 104 位元,再加上 24 位元的 IV 就成了所谓的 "128 位元 WEP 钥匙"。有些厂商还提供 256 位元的 WEP 系统,就像上面讲的,24 位元是 IV,实际上剩下 232 位元作为保护之用,典型的作法是用 58 个十六进制数来输入,(58 * 4 = 232 位元) + 24 个 IV 位元 = 256 个 WEP 位元。1

WEP安全性钥匙长度不是 WEP 安全性的主要因素,破解较长的钥匙需要拦截较多的封包,但是有某些主动式的攻击可以激发所需的流量。WEP 还有其他的弱点,包括 IV 雷同的可能性和变造的封包,这些用长一点的钥匙根本没有用,见 stream cipher attack 一页。

因为 RC4 是 stream cipher 的一种,同一个钥匙绝不能使用二次,所以使用(虽然是用明文传送的) IV 的目的就是要避免重复;然而 24 位元的 IV 并没有长到足以担保在忙碌的网络上不会重复,而且 IV 的使用方式也使其可能遭受到关联式钥匙攻击。

许多 WEP 系统要求钥匙得用十六进制格式指定,有些用户会选择在有限的 0-9 A-F 的十六进制字符集中可以拼成英文词的钥匙,如 C0DE C0DE C0DE C0DE,这种钥匙很容易被猜出来。

在 2001年8月,Fluhrer et al. 发表了针对 WEP 的密码分析,利用 RC4 加解密和 IV 的使用方式的特性,结果在网络上偷听几个小时之后,就可以把 RC4 的钥匙破解出来。这个攻击方式很快就实作出来了,而自动化的工具也释出了,只要用个人电脑、卖场架上的硬件和免费可得的软件就能进行这种攻击。1

Cam-Winget et al 对WEB的各种短处的审查Cam-Winget et al. (2003) 审查了 WEP 的各种短处,他们写下“在实际场所实验的结果显示,只要有合适的仪器,就可以在一英哩之外或更远的地方偷听由 WEP 保护的网络。”他们也报告了两个一般的弱点:

WEP 不是强制使用的,使得许多设施根本就没有启动 WEP;以及

WEP 并不包含钥匙管理协定,郤依赖在用户间共享一个秘密钥匙。

在2005年,美国联邦调查局的一组人展示了用公开可得的工具可以在三分钟内破解一个用 WEP 保护的网络。1

WEP 安全问题的解法对 WEP 安全问题最广为推荐的解法是换到 WPA 或 WPA2,不论哪个都比 WEP 安全。有些古老的 WiFi 取用点(access point)可能需要汰换或是把它们内存中的操作系统升级才行,不过替换费用相对而言并不贵。另一种方案是用某种穿隧协定,如IPsec。2

细节WEP是1999年9月通过的IEEE 802.11标准的一部分,使用RC4(Rivest Cipher)串流加密技术达到机密性,并使用CRC-32验和达到资料正确性。

标准的64比特WEP使用40比特的钥匙接上24比特的初向量(initialization vector,IV)成为RC4用的钥匙。在起草原始的WEP标准的时候,美国政府在加密技术的输出限制中限制了钥匙的长度,一旦这个限制放宽之后,所有的主要业者都用104比特的钥匙实作了128比特的WEP延伸协定。用户输入128比特的WEP钥匙的方法一般都是用含有26个十六进制数(0-9和A-F)的字串来表示,每个字元代表钥匙中的4个比特,4 * 26 = 104比特,再加上24比特的IV就成了所谓的"128比特WEP钥匙"。有些厂商还提供256比特的WEP系统,就像上面讲的,24比特是IV,实际上剩下232比特作为保护之用,典型的作法是用58个十六进制数来输入,(58 * 4 = 232比特)+ 24个IV比特 = 256个WEP比特。

钥匙长度不是WEP安全性的主要因素,破解较长的钥匙需要拦截较多的封包,但是有某些主动式的攻击可以激发所需的流量。WEP还有其他的弱点,包括IV雷同的可能性和变造的封包,这些用长一点的钥匙根本没有用,见stream cipher attack一页。2

本词条内容贡献者为:

王沛 - 副教授、副研究员 - 中国科学院工程热物理研究所