2004年初时,从连接三藩市和矽谷的101高速公路周边地带,到纽约、波士顿和伦敦的金融区和技术区,许多独立的研究人员都发表了无线网路受到“路过式入侵(Drive - by Hacking)” 事件的消息。
而一些记者、研究人员和有道德的骇客都曾在大型企业的停车场,或是沿着城市的街道驾驶时,进行通信的动作,并也证实了企业确实早已部署了绵密的无线网路供员工使用。不过遗憾的是,部署无线网路虽然有优点,但同时也替这些公司带来了资料外泄的代价。
尽管上面所作的调查并没有危及任何公司的数位资产,但所有的报告就像@Stake安全性咨询公司研究主管Chris Wysopal所说:「许多组织在研究无线网路新技术时,并未考虑到安全性就已采取了行动。」
WEP - 为什么需要封包加密?
在802.11的WLAN中,保护资料封包加密方式的正式名称是「有线等效协定(Wired Equivalent Protocol,WEP)」。不过由于某些基本安全性有缺陷,以及大多数企业并未应用WEP在实务上,使得该协定被戏称为「为什么封包加密协议(Why Encrypt Packets)」。更有什者,来自在伦敦、纽约和矽谷的研究人员所进行的独立调查报告显示,目前大多数的WLAN根本不需要用到WEP。
一些来自Intel、加州大学柏克莱分校和马里兰大学的研究人员,率先揭示了WEP中的缺陷,并各自发表有关WEP缺陷的文章。其中最具杀伤力的报告则来自于Fluhrer、Mantin和Shamir的报告,该报告描述了AT&T实验室和莱斯大学(Rice University)的 Stubblefield、Ioanndis和Rubin所作的一种被动式攻击实验过程。这个实验是根据Shamir所提出如何捕获隐藏的WEP金钥的理论来进行攻击,而这种攻击只需花费几个小时就可成功。
从WEP所暴露的缺陷中,可以找出其中的问题根源,分别是初始化向量(Initialization Vector,IV)的限制,与使用静态WEP金钥。当两者结合在一起时,WEP的弱点便暴露了出来。换句话说,当使用者在多个资料上同时使用带有相同WEP金钥的相同IV时,IV冲突就产生了所谓的「弱」WEP金钥。当此类弱金钥的数量一多时,就可以攻击WEP,并加以破解其中的密码。
某些早期的报告指出,用于WEP加密的序列密码(RC4)是一个严重缺陷,所以这个问题值得再度被提起及重视。不过这不是问题的本质,正如RSA实验室的高级研究工程师Hikan Andersson博士所解释:「WEP中所拥有的缺陷是藉由组合初始化向量和WEP金钥的方法,以获得每个封包的RC4金钥。而一些IV产生了弱RC4金钥,也因此泄露了WEP金钥上的资讯。」
这个发现带来了决堤般的影响,因为在Shamir的报告发表后的一个月,网际网路上就出现了像AirSnort和WEPCrack这样的免费指令码(骇客)工具。可怕的是,任何人都可以用它们来攻击WEP。且AirSnort的作者们声称,他们的工具只要收集到2,000个弱金钥的封包资讯后,就可以破解WEP的金钥。
据估计,使用128位元WEP加密生成的1,600万金钥中,就会出现3,000个弱金钥。值得注意的是,802.11b实际上是使用40位元的WEP加密技术,这让WEP更加脆弱了。不过现在有许多供应商的动作比规范领先了一步,并在自己的产品中提供128位元的WEP加密,但即使是这种更严密的安全性,在新的工具面前也是很脆弱的。如AirSnort这样的骇客工具,就能分析弱金钥以发现无线用户端和接取点之间的共用密码。一旦发现了共用密码,网路破坏者就能够获得对WLAN的网路存取权,并能够反过来对在网路上所传送的资料封包进行解密。
RC4演算法的发明者Ron Rivest,在公开声明中建议:「使用者应该考虑通过诸如MD5之类的散列函数传递基本金钥,并对它们进行预先处理的动作,以加强金钥调度演算法。使用者也可以通过在开始加密之前丢弃伪随机生成器的前256个输出位元组,以防止金钥在调度演算时产生缺陷。以上技术中的任意一种都足以抵御对WEP和WEP2的Fluhrer 、Mantin和Shamir攻击法。」
“强身份认证”的重要性
网路安全性的能力如同基础的认证系统一样强大,适当的认证技术可以防止许多流行的攻击,如“中间人”攻击和“拒绝服务”攻击。
在当前的802.11b标准中,WEP是允许系统使用密码型态的用户端认证,但系统对于上文所描述的攻击仍然是很脆弱。基于这点,RSA Security、Cisco和Microsoft在新的802.1x标准中,便加入了受保护的可扩展认证协定(Extensible Authentication Protocol),借以改进802.11标准(如802.11b或802.11a)中的认证机制。该标准解决了三个关键问题:
- * 它能够防止“无法认证者”从接取点进入网路。
- * 它已包括多种广泛使用的认证方法,用户可以用自己的方式向接取点作“强身份认证”的工作。
- * 它允许用户在组成网路WLAN的各个接取点之间漫游时,作“强身份认证”的工作。
用于漫游用户的“受保护的EAP”
目前EAP与传输层安全性(Transport Layer Security,TLS)协定两者被拿出来讨论是否能够结合在一起应用,以成为「受保护的EAP(Protected EAP)。因EAP和TLS都是在网际网路广泛使用的IETF标准,所以将这两种协定结合起来,便可以产生对WLAN网路的保护。此外,也可以免除用户端和伺服器端在作认证时,密码被窃取的困扰。
EAP分两个阶段作认证,分别是TLS Handshake协定,及EAP认证。
第一阶段 - TLS Handshake协定
第一阶段所作的TLS Handshake协定,是用于向无线用户端认证接取点,如(图一)。首先,无线用户端会向后端伺服器发送一个消息,宣布自己要连接到无线接取点。该消息通知伺服器后,会开始一个新的连接,并告知伺服器用户端所能理解的密码演算法,以便能够理解两者之间发送的安全消息。
在接收了这个消息后,后端伺服器会给用户端三种认证工具,分别是新建的会话标识、一个用于通信的演算法列表,以及一个公钥证书(该证书允许用户端信任后端伺服器,并建立一个网路连接的接取点)。这时无线用户端会用验证伺服器证书的签名和有效性来生成金钥,并用从伺服器证书所获得的公钥来加密,然后再进行回应的动作。
接下来,这个受保护的资讯会被送回到伺服器。而伺服器在解密这个资讯后,会将这个受保护的资讯认证为「用伺服器的私钥来解密,以及用伺服器公钥来加密」的讯息。在讯息交换的动作做完之后,便完成了接取点认证,同时也建立了安全的TLS来保护第二阶段中的用户凭证。
第二阶段 - EAP认证
第二个阶段是利用EAP的认证机制,来为系统提供一个保护层。换句话说,它可以通过使用合适的EAP机制,来认证无线用户端的最终用户,如(图二)。合适的EAP机制包括使用密码、智慧卡、数位证书,或时间同步机制(如产生一次性通行代码所提问的RSA SecurID机制)。当EAP被传递到后端认证伺服器后,该伺服器会自动连接到位于公司WLAN中的无线接取点。其中EAP的通用性是一个关键,因为EAP允许企业继续使用任何对员工合适的认证方式,而这认证方将会扩展到全公司的WLAN里,如此的作法会让在公司WLAN内漫游的用户感受到实际的好处。
大部份的用户都希望拥有可移动性和便利性的认证,如果每次从一个会议室转到另一个会议室都要求用户作认证的动作,那么他们便会希望放弃安全性以求得便利。 「它是两星期规则。」RSA Security系统工程师Pete Wann说:「只要用户觉得不方便,大约两星期内,企业中的安全性机制就会被除去,我们一次又一次看到这种情况发生。所以EAP在产品开发阶段时,就考虑到用户的需求,建置可移动性和安全性的设定。」
用户也可以利用TLS Handshake所提供的连接重建机制,来连接到同一个后端伺服器的不同接取点。如果用户的会话标识仍然有效,那么无线用户端和伺服器也可以共用旧的金钥协定来保持连接的有效性和安全性,如(图三)。
结论
随着时间的前进,我们可以预料多种802.11标准(如 802.11a)会采用802.1x的安全措施。从安全性角度来看,这是个好消息,因为现在正在建置的WLAN产品将可以使用802.1x,且也能够和企业所部署的“强身份认证”系统相容,进而让用户能以更方便和更安全的方式来漫游。此外,它也是解决在漫游环境中,用户和接取点认证的长期修正方法。
802.11b所衍生出来的安全问题,实际上是说明了编写安全性协定的重要性,这些协定允许供应商提供高层级资料保护、用户认证和互操作性。不过安全性专家要在标准开发阶段的早期参与进来,才编写安全性的协定,但遗憾的是,802.11b 的教训证明了无论是在那方面,安全性仍然是一种亡羊补牢的产物。有鉴于802.11b惨痛教训,802.1x的研发或许能够替未来的802.11标准做一些有效的预防。
<作者为RSA Security产品市场营销经理,本文选自IBM developerWorks开发者中文网站,程裕翔整理>