文档信息
上传用户 Mr.Lonely     
文档格式 ppt
上传时间 2020-01-07
文档价格 20 元
文档大小 1 MB
文档页数 167 页
相关文档推荐
ppt " "第15章 无线通信网的安全 " "15.1 无线和有线的区别 15.2 存在的威胁和漏洞 15.3 蓝牙协议 15.4 无线应用协议(Wireless Application Protocol) 15.5 无线局域网的安全 " "15.6 协议堆栈 15.7 无线局域网的安全机制 15.8 IEEE802.1x 15.9 受保护的EAP--漫游用户的强身份认证解决方案 15.10 IEEE802.11i 15.11 WPA(WiFi Protected Access)规范 " "15.1 无线和有线的区别 " " 虽然无线通信设备有其特殊的限制(见15.1.2节),但大都仍可采用标准的安全技术。例如无线领域中的认证、授权和审计原理与传统的有线通信方式中的基本一致。前面各章节中有关安全的设计、配置原则(系统、网络的监视和管理)同样也适用于无线通信环境,但是,无线通信在某些领域中还是有别于有线通信的。本节将逐一介绍这些区别并向读者介绍与这些技术相关的安全本质。" " 15.1.1 物理安全 在讨论无线通信时,物理安全是非常重要的。从定义上来看,我们可以把那些可以使一个组织实现无线数据通信的所有类型的设备统称为移动设备(Mobile)。这就增加了失窃的风险,因为在一个安全组织的物理范围之外也可以使用这些设备。虽然这些设备有一些保护措施,但是设计的保护措施总是基于最小信息保护需求的。例如:以前存储在如蜂窝电话设备中的那些数据都不能认为达到敏感保密等级。 " " 无线数据设备能存储企业信息,如E-mail、数据库瞬态图和价格列表,也能存储敏感的客户数据,如病人的医疗记录。如果包含企业或客户机密信息的设备被盗,小偷就可以无限期地对设备拥有惟一的访问权。这样小偷就有可能系统地破坏设备的安全机制,从而获得被保护的数据。 " " 对一个企业而言,物理安全的重要性依赖于存储在设备中的数据保密级别。如传统的蜂窝电话或个人数字助理(PDA)可能会保存个人电话本或联系地址数据库,这就有可能直接把电话号码、E-mail地址、特定人或特定合作伙伴的邮政编码泄漏给攻击者。这本身的威胁并不大,更大的风险在于金融应用场合,例如在电话和无线PDA失效(挂失)之前,可能已经有大量的非授权电话呼叫。 " " 更进一步讲,无线技术会增加存储在设备上的数据容量,同时还会增加这些用于访问企业网络设备的访问类型。蜂窝电话可以存储E-mail、小型版本的数据库甚至文档。此外,你还能远程访问企业网络。通过使用无线局域网和无线调制解调器,使得笔记本不需要和网络进行物理连接,只要采用目前的无线通信协议就可访问企业网络。这些风险的存在并不意味着就不能用这些技术,而是说应该考虑其需要独特的物理安全。" " 笔记本锁、现在的PDA锁是降低设备被偷风险的基本物理安全需求。用户认证和对设备上数据进行加密能在设备被偷的情况下严格限制对数据的访问。我们必须认识到,无线设备的物理层安全非常重要,这可使我们本章讨论的技术得到广泛认可和应用。 " " 15.1.2 设备局限性 目前,无线设备所存在的众多限制,会对存储在这些设备上的数据和设备间建立的通信链路安全产生潜在的影响。相比于个人计算机,无线设备,如个人数字助理(PDA)和移动电话存在以下几方面的限制: " "● 电池寿命短; ● 显示器小; ● 有限的/不同的输入方法(触摸屏与键盘); ● 通信链路带宽窄; ● 内存容量小; ● CPU处理速度低。 " " 上面所列各条是大致按它们对安全的影响从小到大的顺序排列的。虽然小显示器对运行于设备上的应用程序有所影响,但显然这对安全连接的影响非常小。不可预知的执行时间(等待时间:latency)以及不能保证数据包的收发顺序等都会影响加密方法。这些限制中,影响最大的是移动设备的内存容量小和CPU处理速度慢,这些因素使得我们通常不愿意选择加密操作。 " " 15.2 存在的威胁和漏洞 " " 在无线局域网环境中,我们需要研究与传统有线LAN环境中存在的相同的安全问题。但是对于无线信道,还需要特别强调一些其特有的安全问题。以下是一些目前已知的主动攻击类型[9]: " "① 社会工程(Social Engineering) ② 扮演(Impersonation) ③ 漏洞利用(Exploits) ④ 数据驱动(Data Driven) ⑤ 传递信任(Transitive Trust) ⑥ 基础结构(Infrastructure) ⑦ 拒绝服务(Denial of Service) " " 15.2.1 窃听 在无线电环境中窃听非常容易。当通过无线电通道发送消息时,任何人只要拥有合适的接收机并在传输的范围内就能窃听消息,而且发送者和预期的接收者无法知道传输是否被窃听,这种窃听根本无法检测。 无线通信所采用的频段和收发设备的功率对传输的范围有很大影响。当采用2 MHz或5 MHz的无线电频段,收发设备的功率达到1 W(这是目前无线LAN的标准),在没有专门的电磁屏蔽情况下,无线LAN通信可在所运行网络的建筑物外被窃听到,因此不能认为网络只运行在本单位的办公大楼里。" " 在无线LAN环境下窃听很容易,这使得保证网络流量的机密性是个非常昂贵的过程。所有的无线LAN标准都考虑了这个问题,并由MAC实体通过某种链路级加密实现,但是利用这些算法获得的安全性对许多应用而言是不够的。 " " 15.2.2 传递信任 当公司网络包括一部分无线LAN时,就会为攻击者提供一个不需要物理安装的接口用于网络入侵。在有线网络中,我们总能通过物理线路从我们的计算机追踪到下一网络节点,但在无线网络环境下,通信双方之间并没有这么一条路径。这使得有效的认证机制对无线LAN安全显得尤为关键。在所有的情况下,参与传输的双方都应该能相互认证。 " " 无线LAN可用来作为传递信任的跳板。如果攻击者能欺骗一个无线LAN,让它信任攻击者所控制的移动设备,则在企业网所有防火墙内部就有了敌方的一个网络节点,并且从此以后很难阻止敌方的行动。这种攻击可以通过使用与我们的网络设备相兼容的标准无线LAN硬件来实现,而有效阻止这种攻击的方法就是移动设备访问无线LAN的强认证机制。要发现不成功的攻击必须依赖于这些不成功攻击企图的日志,但即使发现这种攻击企图也很难确定是否存在真正的攻击。因为在正常操作情况下,无线电信道的高比特误码率(Bit Error Rate)以及来自其它无线LAN移动设备的登录都可能产生不成功登录的日志。" " 另外一种传递信任攻击是专门针对无线网络的,这种攻击是欺骗移动设备,让移动设备相信攻击者所控制的基站。当移动设备开机时,一般会首先登录具有最强信号的网络,如果登录失败,就按信号功率顺序登录其它网络。如果攻击者有一个大发射功率的基站,他就能欺骗移动设备首先登录攻击者所控制的网络。这时存在两种可能性:正常用户成功登录被攻击者所控制的网络,攻击者从而找出密码、秘密密钥等;攻击者仅仅拒绝用户的登录企图但记录登录过程中所有的消息,并通过分析这些消息找出网络中进行认证时的秘密密钥或密码。 " " 在没有有关网络服务详细信息的情况下,前一种攻击很难实现并很容易被检测到。后一种攻击方式所需要的只是与我们的设备兼容的标准基站硬件(可能有专门的天线)。这种方式很难检测到,这是因为移动设备一般不向上层报告不成功的登录企图(即使在正常环境下也会存在大量的不成功登录企图)。针对这种攻击的惟一保护措施是有效的认证机制,它允许移动设备在不泄漏登录网络所使用的秘密密钥或密码的前提下认证基站。 " " 15.2.3 基础结构 基础结构攻击是基于系统中存在的漏洞:软件臭虫(Bug)、错误配置、硬件故障等。这种情况同样也会出现在无线LAN中。但是针对这种攻击进行保护几乎是不可能的——除非发生了,否则你不可能知道有臭虫的存在。所以能做的就是尽可能地降低破坏所造成的损失。 " " 15.2.4 拒绝服务 无线电传输的本质使得无线LAN很容易受到拒绝服务攻击。如果攻击者拥有一个功率强大的收发设备,他就能很容易地产生一个无线电干扰信号,使得无线LAN不能利用无线电信道进行通信。这种攻击可在我们的站点外发起,如街道的停车场或下一街区的公寓。发起这种攻击所需要的设备很容易以可承受的价格从任何一家电子商店买到,并且任何一个短波无线电爱好者都会拥有搭建这种设备的能力。 " " 针对这种攻击的保护非常困难和昂贵。惟一完全的解决方法是把我们的无线网络放在法拉第笼子里(只有在很少的情况下才会这么用)。官方可以很容易地对发射干扰的收发设备定位,因此在被发现之前攻击者的时间是有限的。 另一方面,无线LAN相对有线LAN而言不容易受到其它类型的拒绝服务攻击。例如,只要把线路剪断就可把一个固定的LAN节点隔离开,这在无线环境中是不可能的。如果攻击者切断了整个站点的电源,则所有有线网络就都没用了,但用笔记本电脑或其它电池供电的计算机构成的AD-Hoc无线网络(各计算机之间直接进行通信)仍可正常使用。 " "15.3 蓝 牙 协 议" " 蓝牙是为个人区域网络(Personal Area Networks,PAN)应用和需要短距离通信的应用设计的一种通信协议。蓝牙规范最初定义的设备通信范围为10米。这个协议主要用于扩展远程通信能力并减少对电缆的依赖。它工作于网络协议层次的物理层以及链路层,高层应用支持由其它知名协议提供。这些协议包括无线应用协议(WAP)、点对点协议(PPP)和IP(TCP/UDP)协议。 " " 蓝牙专业组为蓝牙协议定义了大量的使用模型。这些使用模型不仅指明了协议潜在的应用场合,而且还可以帮助我们理解协议所需的安全级别。已公布的使用模型包括: ● 互联网网桥(Internet Bridge):在这个模型中,一台PC机使用移动电话访问互联网。PC机使用蓝牙协议与移动设备通信;接下来移动设备采用与连接PC机的有线调制解调器同样的方式拨号上互联网。这个应用模型中的蓝牙协议支持PPP,因而可以传输IP数据包。 " " ● 同步(Synchronization):这个使用模型的关键是建立一个PAN来对E-mail、日历和联系人数据进行同步,这是典型的个人信息管理(PIM)应用和设备。 ● 3合1电话(Three-in-one Phone):采用这种使用模型的设备一般作为:(a) 连接到公共交换电话网络的无绳电话;(b) 设备和设备之间通信的内部通信电话;(c) 连接到公共蜂窝基础设施的蜂窝电话。 这只是为蓝牙协议开发的三种使用模型。实际的使用模型非常多,一般每一种使用模型都需要不同的信息安全方法。蓝牙协议已经制定了不同的安全需求。 " " 15.3.1 蓝牙安全 蓝牙规范中提供了三种安全模式:无安全级、服务级和安全级。安全模式指明了需要实现的安全程度。在无安全模式下,设备没有任何安全措施。这适合于少量不需要安全性的应用模型。有安全的模式需要在任何链路连接建立之前实现安全。在蓝牙设备的作用范围内,这在目前的大多数使用模型中已经足够。将来开发的设备将需要“always-on”安全模式。 " " 蓝牙设备最常用的配置是采用服务强制安全,即服务级(模式2)的安全。服务强制安全使得安全的需求建立在应用的基础上。这种模式认可了这样一个事实:某个用户的设备可能扮演不同的角色,实现不同的功能。如在使用vCard应用/功能进行名片交换时,强制设备实现安全是不合适的,而同样的设备如果用在不可信环境下的电子商务中,就需要实现安全。下面将着重讨论蓝牙的模式2安全。 " " 蓝牙安全是在链路层实现的,是基于可信设备的概念。一个设备企图和另一个设备建立链路,第二个设备要么对第一个设备是可信的,要么是不可信的。如果认为是可信的,第二个设备就会自动获得对第一个设备的链路访问;如果认为是不可信的,就会调用粒度更小的、基于服务的认证和授权机制。 " " 此时,服务可以要求三种不同的安全级别:认证和授权、认证或不认证。这种安全模型使得不同安全需求的服务共存于同一设备上。例如,访问vCard应用时,交换联系人信息可以定义为不需要认证或授权的服务。同一设备还可支持文件传输或数据库交易服务,这些服务很有可能需要认证和授权。蓝牙安全模型包括这样一条规定:当与不可信设备建立链路,并允许其访问某一项服务时,不能自动地允许其访问任何其它服务,它也不能自动改变外来设备的状态(这个设备在以后建立链路时仍将认为是不可信的)。" " 蓝牙安全模型把移动设备提供的功能定义为服务。当实现模式2安全时,对设备的访问控制是基于远程设备企图访问的服务的。如果远程设备是可信的,那么不需要任何访问控制。在远程设备不可信或未知(蓝牙认为不可信)的情况下,设备需要不同级别的访问控制。基本的级别是授权。和有线网络安全一样,授权提供了访问控制的基线(Baseline)。认证可以确认远程设备是否被允许访问本地设备上运行的服务。在更基础的级别上,通过确定远程设备的身份,该模型中内建的安全机制可以确定远程设备对本地设备上特定服务的访问级别。这就是所谓的授权。因此,授权之前必须通过认证。" " 在允许访问服务前,可以实现的最后一个安全要素是加密。当服务需要加密时,加密是在链路层、在本地设备允许对方访问服务之前建立的。默认情况下,对进入连接需要认证和授权,对外出连接需要认证(证实运行服务的设备的真实身份)。图15-1给出了蓝牙安全解决方案的流程。 " "图15-1 蓝牙解决方案的安全流程 " "" " 如前所述,蓝牙安全模型是信任设备而不是用户。蓝牙的认证模型基于共享密钥。两个蓝牙设备第一次进行通信时,两个设备都需要知道对方是否是可信的。信任的建立必须发生在初始连接时,这是因为蓝牙安全模型在随后的连接请求中不允许用户干涉(用户名/口令的检查)。从概念上讲,这并不像现在许多无线设备实现的那样:移动电话在打电话时必须和网络进行认证,但这是认证设备,而不是用户。虽然设备在允许访问前用户可以请求认证,但访问控制是为设备而不是网络实现的。 " " 当网络上只有一种服务时,这种安全模型是可以接受的。直到最近,移动网络也只提供一种服务:语音通信。将来,移动设备会更多地使用同时支持声音和数据的一个或多个网络。目前,采用不同技术(全球移动通信系统GSM、数字蜂窝分组数据CDPD(Cellular Digital Packet Data)和码分多址CDMA)的移动网络可以提供对声音和不同数据服务的访问。由于无线设备所增加的新的功能,使得在这个网络上传输的信息更敏感,这些网络需要采用新的安全模型。 " " 过去,可以用扫描器窃听蜂窝网络的传输,在考虑到分组的敏感性后,CDPD网络用基于会话的密钥加密来防止通常的窃听。蓝牙安全提供了类似级别的加密,这可阻止一些偶然的攻击。在这两种情况下,物理和链路级的通信加密提供了基于设备的认证、保密性和数据完整性。 " " 15.3.2 保护蓝牙 虽然蓝牙安全可以防止一些偶然的攻击,但这种技术仍是有局限性的。蓝牙安全实现的基本缺陷是信任设备,而不是用户。 蓝牙的设计并不是一个端到端(end-to-end)的安全解决方案,而只是在链路级提供安全。这个缺陷意味着:如果蓝牙只用于提供链路层的连接,而且安全性要求也很高,那么就有必要由上层来提供安全性(一般由应用层提供)。 " " 蓝牙协议的另外一个局限实际上是蓝牙设备本身的局限。蓝牙设备处理速度不够、内存有限,这使得它不可能对每个数据包进行安全检查。由于这个原因,只有在建立连接阶段和对面向连接的通信流量才实施安全检查。对于需要安全能力的无连接通信流量,连接建立之外的安全检查需由上层应用程序来额外实现。 " " 在考虑蓝牙所需的安全级别时需要考虑两条额外的信息: 第一、要保护的数据是什么;数据是公共的、私有的、机密的还是受限制的。如果蓝牙保护的数据是公共的,那几乎不需要花费多少资源来保护它。 " " 第二、上层应用程序和协议对数据的保护程度;如果使用蓝牙传输受限信息,上层协议和应用程序采用的保护措施是什么(加密、不可抵赖或认证)。在评估安全的整体强度时要检查整个数据包,蓝牙可以认证设备但不能认证使用设备的用户,如果链路上传输的数据需要认证用户,蓝牙安全需要和上层安全机制结合起来。 蓝牙安全存在一些局限,但通过和其它安全措施相结合,蓝牙可以为设备间的链路安全提供可靠的机制。 " "15.4 无线应用协议 (Wireless Application Protocol)" " WAP是专门为移动设备优化的协议。这些优化主要是针对于本章前面讨论的种种限制的。WAP是一个开放的标准,它尽可能地利用了现有的标准。对现有标准的复用和修订扩展了无线通信标准,然而,我们有必要检验这些修订对安全所造成的影响。例如,现有的加密算法对无线通信优化后,这些优化是否会降低算法的强度。 " " WAP规范采用的主要概念是协议的分层。分层是指把整个通信过程分成几个独立的模块,每一模块完成某个特定的子功能。有线通信中的TCP/IP分层是按照OSI参考模型实施的。OSI模型各层要完成的功能包括:在电缆或光纤上物理传输信息(物理层)、提供全球 惟一的源和目的地址(网络层)、为应用程序格式化信息(表示层)。分层方法的重要一面就是每一层都要为相邻层提供标准的、知名的接口。这样,即使某一层有所变化也不会影响其它层。 " " WAP规范定义了应用层、会话层和传输层协议。应用层说明了用户使用的应用程序和提高应用程序功能的脚本。会话层管理用户连接。传输层从不同类型的无线网络中接收信息,使之安全并以格式化形式传递信息。 图15-2是WAP协议体系结构示意。协议栈的上层以Web协议HTTP1.1、脚本语言和标记语言为模型;外部应用程序可在协议栈传输层之上的任何位置介入;该协议体系结构中有一层专门负责安全。本章稍后将详细介绍该安全层。 " "图15-2 WAP协议结构 " "" " 无线设备用户使用设备的方式与有线设备用户不一样。这不是安全的原因,而是由于设备的局限性。小显示器和网络吞吐量的限制导致了无限设备不同的使用模式。无线用户一般不会在服务供应商网络上冲浪。无线设备的使用模式更偏爱那些流水线方式(steamline)工作的程序,这些应用程序所需的输入很有限或可预知,专为小显示器定制,只需要有限的带宽即可。这就使得它本质上更面向商务:文本电子邮件/短消息、股票交易和数据库查询与事务处理等。 " " 从安全角度看,有线网络中的策略和过程同样适用于无线通信流,数据受保护的程度必须和有线连接的一样。对熟悉已有数据安全标准的安全人员,理解无线标准和为无线协议制定的标准之间的区别非常重要。 支持WAP最好的设备是电话,但其它类型设备同样支持WAP。Palm VII、PocketPC甚至某些RIM(Research In Motion)平台都有WAP浏览器。在讨论WAP安全和保护基于WAP的通信之后,我们将描述一些可以用来保护无线通信的专用解决方案。 " " 15.4.1 WAP安全 在无线应用协议中,安全是可选的。在WAP体系结构中,安全层协议由无线传输层安全层(WTLS)提供。无线传输层安全层直接工作在传输协议层之上,为WAP的上层协议提供安全服务传输接口。WTLS规范致力于解决以下几个问题:存储/内存容量有限,低带宽,处理能力低,延迟时间长或不可预测。WTLS的目的是通过使用证书和加密提供认证、保密和数据完整性。虽然这个规范是基于IETF传输层安全(TLS)1.0规范的,但它针对前面讨论的无线网络局限性进行了优化。表15-1列出了WTLS所增加的一些功能特性[27]。" "表15-1 WTLS增加的功能特性" " 目前,许多运行在移动设备上的应用程序包含敏感数据。虽然许多移动网络操作员会对流量进行加密,但这种加密是不一致的,而且也不能保证端到端的安全。WTLS在协议端点之间提供端到端的安全。在WAP的情况下,协议端点是移动设备或WAP网关。如果协议端点是可信的,那么连接就是安全的。注意WAP本身并不能提供完全的端到端安全。和蓝牙一样,如果需要端到端的安全,就需要上层应用或协议来实现。 " " WTLS在和服务器的握手过程中建立安全参数。在握手过程中,客户端和服务器就认证和加密的需求、采用的加密方法、客户端可接受的证书和其它一些非默认的参数达成一致。这些参数首先由客户端发送给服务器。服务器选择可接受的参数并请求来自客户端的认证。 " " 在许多情况下,由于移动设备的局限性,客户端只能采用少量的加密机制和接受某些类型的证书,而服务器由于其处理能力、存储能力和内存较大,从而可以包容从不同的客户端传递过来的大量的不同参数。在握手过程中,客户端和服务器任何一方都可以中断连接。中断连接可能是由于一方不能接受另一方传递过来的参数,也可能是由于不支持,或是由于不能满足最小安全需求。 目前,WTLS有三种模式的安全:匿名认证、服务器认证和双向(客户和服务器)认证。" " 前面的章节提到过,认证是通过证书来完成的。广泛采用的证书有X.509v3、X9.68(X9.68作为WAP-261-WTLS规范仍在开发中)和WTLS证书。首先,客户端发送“Hello”消息启动握手过程。服务器同样用“Hello”消息来响应,紧跟着发送服务器证书消息。证书包括以下内容(列出的值是WAP-261-WTLS规范中定义的): " "● 证书版本:值=1。 ● 签名算法:用于对证书签名的算法。 ● 证书发布者:注意,这必须是客户端信任的CA。 ● 证书有效期的开始时间:UNIX 32比特格式。 ● 证书有效期的结束时间:UNIX 32比特格式。 ● 主体(Subject):公钥拥有者。 ● 公钥类型:公钥算法。 ● 参数规范:与公钥有关的任何参数。 ● 公钥。 " " 为了优化客户端的网络带宽和处理能力,服务器可以只发送由CA私钥签名的证书。虽然在这种情况下需要客户端信任CA,但这可以省去在链路上发送整个密钥链的操作。客户端认证完服务器后,服务器可能要求认证客户端。这时,客户端可能会用其证书(如果有)、空白证书(没有证书的情况)或结束握手过程的告警消息来响应。随后,用来加密所有应用流量的主秘密通过RSA或Diffile-Hellman或椭圆Diffie-Hellman算法进行交换。 " " 保密和数据完整性通过加密和消息认证码(MAC)来实施的。这些参数都是在握手过程中协商的。客户端发送其支持的加密算法和MAC算法列表。列表的第一对组合是客户端的第一选择。服务器将在这些组合中进行选择,尽量使用客户端和服务器同时支持的最好的组合。如果找不到可接受的组合,握手过程失败。WAP依赖于现有的加密算法,如DES、3DES、RC5和IDEA,这些都是分组加密算法。数据完整性是由MAC完成的。MAC采用知名的算法,包括SHA和MD5。由于性能的原因,WAP标准可以使用SHA_XOR_40算法,这个算法是专门为处理能力有限的设备优化的。" " 15.4.2 保护WAP 虽然由于性能原因,实现WTLS安全的协议是一种流水线(Streamline)方式,但它仍是一种可靠的解决方案。许多与WAP相关的安全风险来自于这种体系结构的不安全实现。使用无线应用协议的应用程序中存在的最大风险是所谓的“Gap in WAP”。这个问题出现在WAP网关上,这是由于WTLS中的加密和保密只存在协议端点之间,而不是应用程序端点之间。" " 对于典型的WAP网关配置,在手持/无线设备和WAP网关之间才使用WTLS数据加密。在WAP网关,数据必须解密,然后再重新加密(典型的是采用SSL加密)。漏洞就在于在这个过程中,WAP网关内存中的数据是未加密的。此外,WAP安全模型中的无线设备是通过数字证书认证WAP网关的,而不是认证终端应用服务器的。 " " 在这个技术的最初阶段,无线运营商在其网络上提供WAP网关。网关接收到通信流后,通过虚拟专用网(VPN)或采用SSL把通信流发送到企业/服务供应商的网络上。这个早期的模型依赖于服务供应商实施的物理和逻辑的安全。服务提供商实施这些安全来保护数据,数据在转发之前要进行解密和重新加密。由于电子商务对于一个组织越来越至关重要,因而在无线链路上传输的数据也越来越敏感,所以该组织自身必须对无线通信担当端到端安全的责任。图15-3给出了几种通过无线广域网实现移动通信安全的解决方案。 " "图15-3 移动应用体系结构 " "" " 该图在配置上有多种可能的变化。最初的配置是在中间的网关,如移动网络的WAP网关上终止安全连接。更安全一点的配置是把WAP网关放在组织可以控制的区域内。与WAP网关一起配置的还包括专用设备的实现,包括Palm、PocketPC和RIM。由于这些设备具有强大的处理能力和内存/存储容量,因而它们可以使用更强的认证和加密方法。例如,PocketPC内置就支持SSL;Palm设备可以使用大量的加密算法,包括ECC和DESX。因此,具体移动设备不同,其可提供的安全解决方案也会不同。 " " 在规划一个基于WAP的体系结构时,组织应该把WAP网关放在一个可信的环境中。对大部分组织而言,这意味着把WAP网关放置在防火墙之内——要么在非军事区(DMZ)/网络边界,要么在公司内部网。在某些情况下,也可能把WAP网关直接放在Web服务器上。这将极大地降低WAP网关不安全性带来的风险。服务器所能保证的安全等级是组织内无线通信数据的安全保密级别的关键因素。 " " WAP规范还有一些额外的安全措施来进一步保护链路。大部分解决方案本质上是专用的,用户前台(无线设备上的WAP浏览器)和后台都是定制实现的。从这些实现中学到的教训和正在进行的WAP标准化工作都将最终提高实现的安全性。 " "15.5 无线局域网的安全 " " 无线局域网(WLAN)是现有有线LAN的扩展,它采用无线电波而不是铜电缆或光纤来传输数据。通过无线电通信,可以在短距离上把数据以高传输速率传送到具有无线电接收和发射能力的设备上。这就使得这些设备就像局域网上的其它有线设备一样。本节将讨论WLAN的拓扑结构、工作原理和安全机制。 " " IEEE 802.11b(http://grouper.ieee.org/groups/802/11/)是当前使用最为广泛的、用于建立无线局域网的协议,通常称为IEEE 802.11b 标准。802.11b标准对无线信号的使用频率、带宽、传输速率以及各无线端点之间的通信方式进行了定义。 " " 802.11b信号工作在 2.4000~2.4835 GHz频率范围内。其理论上的、最大传输速率可以达到11 Mb/s,实际的传输速率大约为4~6 Mb/s,在信号质量更好的情况下,可以达到5.5 Mb/s。802.11b使用直扩序列无线信号(Direct Sequence Spread Spectrum,DSSS),相对应的是频率捷变扩谱(Frequency Hopping Spread Spectrum),这是最初802.11协议规范的一部分。DSSS允许更高的传输率,但是更容易受到无线信号的干扰。" " 有趣的是,很多基于DSSS的802.11产品可以同目前的802.11b网络互操作,不过其传输速率只能是工作在802.11的2 Mb/s或者1 Mb/s。无线终端的覆盖区域依赖于天线强度以及当时的工作环境,典型的办公环境下为75~150英尺(1英尺约等于30厘米)。 " " 15.5.1 无线拓扑结构(Wireless Topologies) 最简单的无线局域网只要利用两台带有无线网卡的计算机就可以组成所谓的对等(peer-to-peer)网络。复杂的无线网络可以包括成千上百台计算机,它们之间的互相通信通过多路访问点(Multiple Access Points)来实现,访问点(AP)实现无线网络内数据同有线以太局域网内数据的交换,我们称这种拓扑结构为基础模式(Infrastructure Mode),见图15-4。 " " 前面一种情况我们称之为特别(AD-Hoc)无线网络,同Windows 系统中的对等网络相类似。在一个AD-Hoc无线网络中,参与通信的双方的关联(Association)是通过一个公共网络标识符(Common Network Identifier)来实现的。关联一旦成功,它们就可以共享文件和其它资源,就如同在有线环境下的对等网络一样。   " "图15-4 WLAN的拓扑结构" "" " 无线对等网的缺点同有线对等网的缺点是一样的:难于管理和可伸缩性差。虽然建立网络很方便,但是随着网络节点数目的增多,管理变得越来越难。我们建议AD-Hoc网络只用于小型网络。在这种网络中,使用上的便利性占主导地位,而对安全性的要求不是很高。不过在某些临时场合当中,大型的对等网也能发挥其方便、快捷的作用。事实上,在2001年秋季召开的因特尔开发者论坛(Intel Developer Forum)上,就看到了这种AD-Hoc网络,它在几十秒的短时间内使得500名与会代表的计算机都连到了同一个网络当中。 " " 15.5.2 基本和扩展服务集(Basic and Extended Service Sets) 在大型可管理网络拓扑结构中,多个802.11b 终端通过一个AP连接到有线网络。最简单的情形就是:一个AP同一个或者多个无线客户形成关联,并完成客户同有线以太网络的桥接功能。这种方式通常称为基本服务集(Basic Service Set, BSS),如图15-5所示。 " "图15-5 基本服务集" "" " 一个移动客户离AP的距离越远,它所接收到的无线信号强度就越小。正如前面所述,结果只能是系统传输速率下降。为了增加无线网络的覆盖范围,我们可以采取增加AP站点密度这一策略。这种情况我们称之为扩展服务集(Extended Service Set ,ESS),其定义为两个或者多个AP分别同特定的有线以太网和它们各自关联的无线客户进行连接,如图15-6所示。 " "图15-6 扩展服务集 " "" " 无线网络实现的第一个阶段是仔细评估目前的网络状态以及使用无线技术所要达到的目的。我们首先概要性地描述组网技术,更详细的讨论见后续几个小节。 首先,必须规划网络所要使用的组,如所有的员工、销售人员、顾客等等。另外,还要考虑每种用户所能够访问的资源、总的访问人数、同时访问各个访问点的人数、各自的带宽需求,同样还要考虑无线网络的环境特性、用户的移动性等。 " " 对于数据敏感的应用环境,还需要确定所传输数据的安全等级,以及对使用无线网络和网络资源的客户端用户的认证方法。 另外,一个需要重点考虑的问题是无线网络的管理。许多企业的无线网络产品支持基本的监视功能(使用SNMP),例如HP OpenView的网络管理平台。但仍然有许多任务,如组件更新,需要通过手工来完成。在策划整个无线网络时应确保为这些任务分配适当的资源。 " " 在配置一个无线网络之前,有必要制订详尽的计划。无线网络有可能对其它网络基础设施产生潜在的影响,所以对任何这种潜在的威胁都应当尽量避免并改进它们。例如,在一种网络环境中,我们经常使用来自不同厂家的交换机和路由器,因而就必须确保所安装的无线设备能够在这种环境下正常工作。惟一的方法就是事先进行某些测试和评估。建议采用分阶段的方法实施整个网络组建过程,特别是在组建一个普遍适用的网络时。 " " 我们可以从组建一个测试网络开始,从而初步推算出整个工程的实现方法。这样的一个测试网络对于验证新设备在当前工作环境下的运行情况是很关键的。 有了这些知识:用户数目、预期带宽和漫游频率,我们就可以在无线网络需求和物理实现之间寻求匹配。这是通过对实际网络的调查来完成的,主要包括建筑物的布局和AP的最优地理位置和密度,这些都必须以最大化客户连接和带宽为准则。 " " 1.建筑物的影响(Building Walkthrough) 为了确保测量的精确性,我们必须掌握网络周围各个建筑物的设计图。许多无线销售商在他们的硬件设备中都提供了测量工具。这些工具可以运行在安装有无线网卡的笔记本电脑上,它们有助于测量整个网络环境的无线电传播特性,可以显示信号强度和质量以及数据包的丢失率,如图15-7所示。 " "图15-7 客户端软件显示当前的信号质量 " "" "" "图15-8 重叠覆盖 " "" " 下一步是确定所需要的AP数量以及最佳的安放位置。其中,一个重要的设计目标是保证在不同区域之间漫游的用户有足够的覆盖范围和带宽,同时又不至于安装太多的访问点。同样,对站点的调查可以帮助我们确定什么区域有最好的覆盖质量或者什么地方的信号因为干扰有丢失现象。注意,应当确保各个覆盖区域之间有轻微的重叠,不留任何连接上的缝隙,如图15-8所示。 " " 如果在同一个区域内有许多用户,那么每个AP的11 Mb/s吞吐量将很快被用完。通过放置多个其覆盖区域互相重叠的AP,就可以给用户提供超过11 Mb/s的累计吞吐量,如图15-9所示。虽然多个客户的总吞吐率可以超过11 Mb/s,但单个用户的速度仍然无法超过11 Mb/s,这依赖于AP数目。 " "图15-9 吞吐量的重叠" "" " 2.障碍物对信号质量的影响(Obstructions That Affect Signal Quality) 正如前面所述,对网络所在的站点位置进行调查和研究可以帮助我们识别那些导致信号强度降低的条件,如路径损耗,多径损耗或者来自其它无线发射机的干扰。 " " 路径损耗(Path Loss)出现在发射机和接收机,或AP和终端之间,表现为信号强度随着距离的增加而减小。简而言之,即离AP越远,信号就越弱,传输速率就越低。对路径损耗有影响的物体包括天花板、墙壁或者卧室,特别是所使用的建筑材料。例如,无线信号在穿透干墙时其损耗适当,但对于钢墙则完全不能通过。水能够吸收许多无线信号,所以必须注意鱼缸或其它含水的地质环境。其它不是很明显的物体有植物的叶子和人体,这些都可以严重影响802.11b的性能。 " " 如果在室外实现整个网络,那么务必对周围植被进行调查,否则一到春天,你将会发现信号强度严重下降。室外的干墙壁在下雨天变湿以后也会引起路径损耗。另外一种情况就是彩色玻璃对信号强度的影响。根据北卡罗来纳大学的Jim Gogan(http://www.unc.edu/~gogan/)研究显示,彩色玻璃也会吸收无线电波,它将有效地降低信号强度和带宽。要克服这些环境因素导致的信号损耗,就必须增加这些区域的访问点覆盖范围和密度。 " " 多径损耗(Multipath Loss)是由于信号从发射源传播到目的地时经过了多条通路而引起的无序造成的,结果是多个信号的到达时间存在差异,使得RF等价于Moire模式。这将额外增加AP的计算负载,因为它必须重建信号。这也是802.11b协议规范的一部分。减小上述影响无线信号传播的物体数量有助于减少路径损耗和多径损耗。 " " 3.天线选择(Antenna Selection) 使用目前符合大多数无线网络标准的分集接收天线可以帮助降低多径损耗数值。基站的分集接收天线包含两个天线单元。由于两个天线单元之间的距离很近,因此降低了多径损耗的负面影响,这将大大提高信号强度。 " " 另外一种有效的方法是使用高增益天线或者购买提供了BNC天线连接头选项的AP。通过这个BNC连接头,我们可以选择最匹配网络环境的天线类型,增强信号强度。 还有一种方法就是在差的覆盖区域使用单向天线。例如,针对街对面的某幢办公楼,我们可以使用单向天线来增加信号强度。单向天线可以在某个方向上获得最大增益和功率。" " 4.无线干扰(Radio Interference) 当其它设备也工作在802.11b的频率范围时,就可能出现无线信号干扰,引起网络性能下降。2.4 GHz无绳电话、微波炉和蓝牙联网设备都工作在802.11b所规定的频率范围内,如果它们和网络设备同时运行,那么将由于发生数据包碰撞而导致数据重传,网络性能下降。AP的放置原则是尽量最小化来自相邻发射机的干扰。在给定区域内,这主要通过减少AP之间的距离或者增加AP的数目来实现。 " " 5.CSMA/CA 即使没有出现上述同时发送数据包的情形,网络性能也会受到影响,这是因为802.11b设备必须等到没有其它站点发送数据时才发送数据,以避免数据包丢失。有线以太网使用带碰撞检测的载波侦听多路访问技术(CSMA/CD)来分辨是否有两个设备在同时发送数据包。如果有,则产生一个碰撞信号,并等待一个随机时间间隔,然后重新准备发送。但是这只能工作在网络设备能够同时发送和侦听线路的环境中。 " " 由于无线设备无法做到这一点,因此它们采用了一种稍微不同的方法,称为带碰撞避免的载波侦听多路访问技术(CSMA/CA)。CSMA/CA 使用四次握手过程来确定是否可以发送信号。首先,发起节点发送一个Request To Send (RTS) 包给目标节点。第二步,如果目标节点接收到这个包并准备好接收,那么就以一个Clear To Send (CTS)包进行应答。第三步,在接收到CTS包以后,发送节点发送数据给目标节点。最后,目标节点对每个接收到的包以一个ACKnowledgement (ACK) 包进行应答。 " " 6.多AP放置问题(More AP Placement Concerns) 开阔地具有最高的覆盖范围,而有墙壁、家具、工厂、其它阻挡物且工作在802.11b带宽范围内的广播设备的环境将降低AP的有效作用范围和性能。 在这些区域的AP摆放位置应当遵循尽量使覆盖范围最大化的原则。一旦确定了AP的最佳位置,我们就应当对AP的无线覆盖范围和不同覆盖地点的信号强度进行测试。如果存在无线覆盖上的缝隙,那么就得增加额外的AP或者重新选定AP的位置。另外,AP的覆盖应当考虑工作环境。如果覆盖的是会议室,那么客户由于漫游导致的AP切换可以考虑不计。 " " 但是,如果客户的工作环境是在一个仓库或货栈,那么高移动性将明显增加AP之间的漫游,因而我们必须增加AP的密度以适应客户在各种交通工具上的机动性,以提供平滑的AP切换(再次关联)。 AP有一个配置参数,称为无线信道(Radio Channel),这个参数决定AP要使用802.11b频谱的哪个频段。缺省情况下,AP都被配置到一个特定的信道。相邻的AP使用不同的信道,以减小AP之间的串扰(Crosstalk)。当来自相邻AP的信号同本AP的频段重叠时,就会出现互相串扰,降低AP的性能。 " " 802.11b的2.4 GHz频段的总带宽为80 MHz,它被分隔成11个中心信道,每个中心信道覆盖22 MHz带宽。所以我们只能在11个信道当中使用三个非重叠信道。一种典型的非重叠信道排列是1、6和11,如图15-10所示,这样,相邻AP就不会使用同一个信道了。 在考虑相邻AP的摆放时,务必记住你的网站是三维的,无线电波的传播是球面的,所以,相邻的AP很可能位于上下楼层内,如图15-11所示。 " "图15-10 三个信道布局 " "" "图15-11 3D信道布局 " "" "图15-12 协议栈 " "" "15.6 协 议 堆 栈" " 无线局域网的协议堆栈(如图15-12所示)的设计原则是:尽可能小的改动就可以使现存的应用能使用这些协议。最高三层同其它的网络相同。 802.11b的MAC/Data-link层规定了下列特征: " " ① CRC 校验和 ② 分段 ③ 自动漫游 ④ 认证和关联 ⑤ WEP(有线等效保密)协议 数据链路层这一级的加密主要是执行有线等效保密,但是攻击者已经证明这是错误的。后续章节将讨论WEP协议存在的漏洞。 " "15.7 无线局域网的安全机制" " 设计无线网络时必须考虑其安全性。802.11b标准内置多种安全机制,但是这些机制只提供了基本的安全保护,对于企业级应用还不充分。 " " 15.7.1 ESSID 第一个安全机制是扩展服务集ID(Extended Service Set ID,ESSID),它是一个字母和数字的组合代码,这些代码被输入到同一个无线网络的所有AP和无线客户中。这类似于微软网络的工作组(Workgroup)名字。每个销售商的解决方案都提供了一个缺省ESSID值。Cisco使用的是tsunami,3COM用的是101,而Agere取名WaveLAN Network。建议首先改变这个缺省ESSID值以提高网络安全性。 " " AP在缺省情况下都会广播这个网络名,允许无线客户获悉当前所有可以使用的无线网络。如果不广播这个值,那么用户要么事先知道这个网络名,要么使用某种网络数据捕获软件和工具来获得这种信息。这个功能尤其重要,因为新发布的Windows XP系统集成了可以嗅探这种广播包的无线客户软件,并且可以列出所有可以使用的网络。因此,ESSID只能提供最低等级的安全性,不能作为加固网络安全的惟一方法,更不能广播ESSID,除非你想让外人知道你的网络。 " " 15.7.2 访问控制列表(Access Lists) 另一无线网络安全机制就是访问控制列表。访问控制列表就是我们可以通过限制无线网卡的MAC地址来控制计算机是否可与访问点进行关联操作。但是,访问控制列表将带来额外的管理上的问题。这是因为,我们必须在访问控制列表当中为每个可以访问的网卡输入其MAC地址,如果要更新这个列表,也只能手工完成。即使这样,MAC地址仍然很容易被窃听,因为它是以明文方式传送的。所以,攻击者要获得对网络的访问权限并不难。 " " 15.7.3 认证(Authentication) 目前,标准所提供的认证还很有限。客户基于硬件的认证可以是基于开放系统(Open System)的,或者是基于共享密钥(Shared Key)的(详见15.7.6节)。短期内,共享密钥可以提供基本的认证服务,但是要想获得更强壮的解决方案,就得采用802.1x标准建议。 " " 如果你需要基于用户的认证,那么必须使用一个RADIUS(Remote Authentication Dial-In User Service)服务器。RADIUS的优势在于集中管理,这对于大型应用场合尤为重要。另外一个优点在于RADIUS可以用于VPN客户认证以及无线客户认证,这就允许我们从一个中心数据库对多种服务进行认证,从而降低管理负担。 " " 15.7.4 WEP   一旦计算机可以访问网络资源,就有必要对传输的数据进行加密。明文传输的数据很容易被截获。802.11b 提供了一种加密机制,称为WEP,或称有线等效保密(Wired-Equivalent Privacy)。WEP使用一个64比特或者一个128比特的加密密钥,但是在缺省情况下,AP没有打开该功能选项。虽然不使用WEP使得组网相对容易,但是利用网络分析仪可以轻易捕获网络通信并潜在地访问内部数据。 " " 使用WEP协议的最大难点在于密钥管理。WEP协议没有为AP和客户端之间如何统一管理密钥以及无缝地分发密钥提供任何机制,因此,任何密钥的改动对于管理员来说都是一场噩梦。而事实上,管理员必须周期性地变换所有无线设备的密钥。 " " 15.7.5 使用VPN   保护内部LAN免遭公共互联网攻击所采用的常见技术就是VPN防火墙,如图15-13所示。同样,对于无线LAN,我们也可以采用该安全框架,即安装两道防火墙:一个作为进入内联网的网关,另一个则处于无线LAN和内联网之间。无线防火墙只允许VPN通信流。同样地,无线用户可以向无线基础设施认证自己。无线数据在VPN隧道中是被加密的。 实际上,把无线网络和有线网络隔离,以及只允许VPN通信经过,是利用了缓冲区的办法来增强网络安全性。此外,基于IPSec的VPN技术采用的IP层加密协议,可以防止通信被窃听。 " "图15-13 VPN 防火墙 " "" " 自从1999年首个802.11b产品问世以来,无线安全问题逐渐得到了详细研究。相应地,也发现了802.11无线协议的多处安全缺陷。 " " 15.7.6 认证和关联(Authentication & Association) 802.11标准定义了一种多阶段方法来建立一条客户端同访问点之间的网络连接。这个过程使用了一系列的广播式和直接式的命令,使得无线端点可以识别、认证和关联对方。把一个无线客户端连接到网络的整个过程是由客户端在所有可用的802.11b无线频率信道上发送广播查询包开始的。该查询包的内容包含客户端MAC地址和ESSID。在通信范围内的任何AP都会以它自己的ESSID、信道频率和MAC地址进行响应。利用这些信息,客户端可以选择适当的AP,然后开始身份认证过程。" " 802.11提供了两种认证机制:开放系统或者共享密钥。所谓开放系统认证如图15-14所示,就是允许任何其MAC地址符合AP设置的过滤策略的客户端通过认证。所有认证数据包都是明文传输。另一方面,共享密钥认证需要采用WEP协议以及客户端和AP之间的同一把WEP密钥。发起端请求一个共享密钥认证,这时另一端将返回一个没有加密的挑战正文(随机产生的128字节)。发起端对该正文进行加密并送回对方。另一方验证数据完整性和有效性,然后通知连接对方。这只有在通信端点双方的密钥互相匹配的情况下才能完成。记住:认证方法必须在端点传输进行之前进行定义。" "图15-14 认证方法" "" " 一旦完成认证,客户端发起关联过程。客户端传输自己的ESSID,AP将对此ESSID进行验证。如果验证通过,AP把该客户加入已认证客户表,并给客户端返回一个证实消息。至此,客户端就与网络建立了连接。因此,ESSID用于从逻辑上区分两个不同的网络。 客户端和AP之间的认证和关联是互相独立的过程。由于客户需要频繁地在AP之间切换,在某一点上就需要与不同的AP进行认证,但最终只同客户选择的AP进行关联。因此,关联之前必须先通过认证。认证和关联的关系见图15-15。 " "图15-15 认证和关联的关系" "" " 15.7.7 加密和解密(Encryption and Decryption) WEP是可选的加密标准。按照协议,WEP通常使用一个64比特的RC4流密码。RC4是一种对称加密算法,也就是说,在加密和解密数据载荷时,使用相同的密钥。通过组合一个40比特用户定义的WEP密钥和一个24比特初始化向量(IV)来产生最后用于生成密钥的种子值,然后由该种子值产生加密密钥(Key Stream:伪随机比特序列)。WEP密钥通常的形式是一个10个字符长的十六进制字符串(0~9,A~F)或者一个5个字符长的ASCII字符串。无线传输双方都必须拥有该WEP密钥。协议允许同时定义最多四个WEP密钥。" " 但是目前标准并没有定义IV是如何产生的,因此其实现也随着各厂商的不同而不同。当无线客户端开始传输加密数据时,IV起始值可以是零或者其它随机数值,随后发出的帧中,该值按照某种可预测规则进行递增。也有些销售商(例如Cisco)使用更加复杂的、随机的办法来确定IV。 " " WEP加密是在MAC子层之上的第二层实现的。也就是说,只有协议栈中高层数据和头信息被加密。密文由IV+WEP密钥组合、明文和校验和三部分产生。然后同WEP相关的头信息,包括IV值和所使用的是哪个WEP密钥等信息被添加到帧之前。最后,其它MAC子层信息包括目的和源地址,ESSID也被插入。帧头中所有的MAC相关信息都是以明文传输的。该帧发送出去被接收端收到后,获取IV,并同事先定义的密钥(假设匹配)来产生解密载荷所需的密钥流。虽然不属于协议规范,但许多802.11b销售商同样支持128比特RC4加密。这需要一个104比特WEP密钥,但还是使用相同的24比特IV值,具体操作参见图15-16。" " 正如WEP名字所表明的那样,它决不是无线安全的万能良药,它的设计目的是为无线网提供与未加密有线网络同等的安全性。在有线网络中,物理访问有严格的限制,而无线网络则不同,在无线网的覆盖范围内,任何人只要拥有兼容的接收机就可能进行访问。因此,入侵者只要待在停车场就可捕获足够的数据:运行AirSnort[19]等工具,解开加密密钥并窃取数据。所以我们有足够的理由怀疑WEP是否确实可以提供等效于未加密有线网络的安全性。 " "图15-16 WEP协议的加密和解密 " "" " 在过去的一段时间内,人们发现了大量有关WEP标准的缺陷。最明显的缺陷来自于因为各种原因所导致的无线主机的丢失。由于主机内包含所有可用的ESSID和用于认证的WEP数据,因此一旦主机丢失,必须马上改变静态的WEP密钥。 以下分别是一些研究小组发现的同802.11有关的安全漏洞。 " " 1.加州大学伯克利分校计算机系的研究[17] 2001年1月,加州大学伯克利分校计算机系的研究人员揭示了WEP所存在的两种缺陷。第一种缺陷在于初始化向量(IV)本身的限制。802.11协议并没有规定如何计算这个初始值,所以通常是由制造商来具体实现的。许多制造商给每个端点都设置IV=0,然后依次递增。这对于一个繁忙的网络来说,很容易就可以在2~5个小时内遍历所有的IV值。 " " 当不同的数据帧使用相同的IV和WEP密钥时,IV将出现冲突。由于 WEP 使用静态密钥,在整个企业范围内更新相对较难,因此出现冲突的可能性相当大。由于在一个IP包内有大量的相同信息,入侵者可以对采用相同IV/WEP组合进行加密的某些数据进行解密或者推导,得出其明文。通过统计分析,入侵者最终可以使用推导出来的数据预测其它的经过加密了的数据负载,并得出不同IV/WEP组合的RC4密钥流。只要有足够的接入时间,入侵者就有可能创建一个IV/WEP值和相应RC4密钥流的数据库,从而更方便地解码后续的帧。" " 第二个问题在于RC4的完整性校验值,它是一个CRC-32校验和,用于验证一个帧的内容在传输过程中是否被修改过。在进行加密时,该值被添加到帧的末尾。当接收者解密数据包时,校验和就用于验证数据的有效性。由于ICV没有被加密,在理论上就有可能改变数据负载:只要能推导出要改变的ICV相应的比特位。这意味着数据有可能被篡改,但ICV却保持不变。 " " 2.马里兰大学的研究 马里兰大学的研究人员在2001年3月的论文中(http://www.cs.umd.edu/~waa/wireless.pdf)提出了其它几种安全缺陷。他们发现许多销售商的无线解决方案还在以明文方式传输敏感的管理数据,包括AP和客户的ESSID和MAC地址。由于许多无线网卡支持以软件方式改变MAC地址,这就使得按照MAC地址进行过滤的规则变得形同虚设。 " " 马里兰小组还发现了共享密钥认证机制的一个缺陷。通过被动监听整个过程,入侵者可以解密出RC4密钥流。共享密钥过程的第二和第三步有很大一部分内容是相同的:目标发送未加密的挑战文本,发起者加密这些数据,然后返回给目标。由于帧是如此的相似,窃听者应该可以推导出密钥流,并用它完成手工的网络认证。 " " 3.Fluhrer、Mantin和Shamir的研究 2001年7月,新一轮有关漏洞的报告更是层出不穷,特别是Fluhrer、Mantin和Shamir的合作研究给我们揭示了一种最令人不安和危险的漏洞(http://www.eyetap.org/~rguerra/toronto2001/rc4_ksaproc.pdf)。基本上,只要获得一次加密传输中的某些密文的组成部分,攻击者就可以计算出隐藏的WEP密钥。 " " 另外,以明文方式传输的初始化向量也是已知的,明文的第一个字节同样也可以猜出来。加密前添加在每个IP和ARP包之前的802.2头都是一样的。这样,利用前面的IV和第一个字节的信息,要确定隐藏的WEP密钥就变得相对简单。不像前面的攻击,该种攻击是完全被动的,因此很难被检测出来。 " " 4.AT&T实验室和莱斯大学的研究 来自AT&T 实验室和莱斯大学的研究小组已验证了利用空闲设备和软件就可以在几小时内从网络中抓取隐藏的WEP密钥(http://www.cs.rice.edu/~astubble/wep/wep_attack.html)。虽然攻击代码并没有公布,但类似的工具已经出现在因特网上了。AirSnort 和WEPCrack是一对基于Linux系统的工具,它们已经实现了Fluhrer、Mantin和Shamir所研究的攻击。利用破解工具AirSnort需要100 MB~1 GB的数据来对WEP密钥解密,由于攻击是被动的,因此这应该不会成为问题。这两个脚本程序可以在站点http://sourceforge.net中找到。" " 15.7.8 WEP2 WEP2是对WEP协议的增强,但它也只是权宜之计。WEP2仍然基于相同的RC4密码,只是扩大了IV的取值范围,采用了128比特加密,完整性检查系统仍和WEP使用的相同,静态密钥也没有变化。只要对固件稍做修改,WEP2就可以工作在现存的大多数硬件上。 " " 但是WEP2并没有解决前面由Fluhrer、Mantin和Shamir所述的攻击。它所采用的加密机制仍然相同,也就是说,我们仍然可以获得IV和第一个明文字节。虽然RC4密钥流加长了,但捕获WEP密钥的难度是以线性倍数增加的,而不是指数倍数增加的。所以,上述攻击仍是可行的。 显然,认证和加密是802.11b协议的薄弱环节:协议本身并没有提供无线网络认证用户的机制,只是提供了一个弱的基于站的密钥。静态WEP密钥实现起来困难、可伸缩性差,而且所采用的RC4算法在使用方式上存在很多安全缺陷。 " "15.8 IEEE 802.1x" " IEEE已经认识到这些安全缺陷,由此制定了802.1x标准,在IEEE 802.1x标准所提供的安全体系架构上可以使用不同的认证方法,包括基于数字证书的认证、智能卡、一次一密口令等等。该标准可以很好地解决上述安全问题,实现安全最大化以及使管理功能集中化。 " " 15.8.1 EAP的体系结构 在IEEE 802.1x协议当中,有三个最基本的要素:认证器(Authenticator,即AP)、请求者(Supplicant,即客户)、认证服务器(如RADIUS)。请求者实体希望从认证器的某个端口获得服务。认证器通过后台的中心认证服务器对请求者进行认证。如果认证通过,认证服务器告诉认证器可以提供服务(可参考图15-21)。 " " IEEE 802.1x协议标准采用基于端口(Port-based)的网络访问控制。一个网络端口就是客户站同一个访问点之间的关联。在802.1x认证成功之前,访问点必须且只允许EAP认证消息通过。为了实现这一点,IEEE 802.1x使用了一种双端口模型,如图15-17所示。认证器(AP)系统提供了两个访问网络的端口:受控制端口和非控制端口。非控制端口对所有的网络通信进行过滤,只允许EAP数据通过。 " "图15-17 认证器的非控制端口和控制端口 " " 非控制端口为认证器和申请者之间交换认证数据提供一条途径。受控制端口的授权状态(Authorization State)决定了数据能够从申请者通过该端口流向LAN。授权状态最初可能为“未授权”(Unauthorized),是否能够变为“已授权”(Authorized)要取决于申请者的身份验证情况。作为标准的一部分,扩展认证协议(Extended Authentication Protocol,EAP)用于无线客户通过使用RADIUS服务器的单点签名(Single Sign-on)实现身份认证(当然也支持其它认证机制,标以“扩展”也是因为这一点)。 " " 图15-18给出了EAP协议堆栈。这种扩展使得我们可以在每个会话基础上动态分配客户的WEP密钥。所有的数据都使用RC4算法和128比特长度密钥加密,从而有效抵御被动监听、中间人攻击和其它黑客方法。这样,前面所述的AirSnort攻击可能就很难奏效了,因为密钥的动态变化使得攻击者很难获得解开一个密钥所需的足够多数据。 " "图15-18 EAP协议栈 " "" " EAP报文有四种类型,分别是:EAP请求,EAP响应,EAP成功和EAP失败。EAP请求由认证器发送给请求者,表明负载包含有挑战的内容。请求者必须使用EAP响应进行应答。另外两种报文用于通知请求者认证的结果。EAP报文格式如图15-19所示。代码字段用于识别EAP分组的类型。目前所分配的EAP代码如下:1-->请求;2-->响应;3-->成功;4-->失败。标识符字段用于匹配请求分组所对应的响应分组。" " 长度字段包括了整个EAP分组的长度。后续字段是可扩展的,即任何认证机制都可以封装在EAP请求/响应报文中。EAP工作在网络层,而不是链路层。这样,EAP可以把报文路由到中心服务器(如RADIUS),而不是由网络端口本身(访问点)来进行认证。 EAP报文被封装在EAPOL协议当中,在认证器和请求者之间进行传输。 " "图15-19 EAP报文格式 " "" " 15.8.2 EAP认证会话 在认证阶段,AP首先禁止客户通过控制端口访问有线网络,只在连接有线网的非控制端打开一个端口用于同认证服务器通信,所有其它的通信都被禁止。接着,AP向客户发起EAP协议(发送一个EAP-Request/Identity分组),客户发送一个EAP-Response/Identity分组给AP作为响应,AP把该分组转发给认证(RADIUS)服务器。认证服务器返回一个挑战给AP,AP先解开此包,然后重新封装再发送给客户。发送的消息数量和类型根据具体使用的认证方法不同而不同。EAP支持客户端认证和强互相认证。 " " 无线网络中通常应考虑使用强互相认证。客户对挑战进行响应,并经过AP转发给认证服务器。如果客户提供了适当的响应,认证服务器就返回一条成功消息,现在AP已经允许客户访问LAN了,详情参看图15-20或者网站http://www.nwfusion.com/research/2002/0506whatisit.html。 " "图15-20 EAP认证过程 " "" " 作为整个过程的一部分,AP会分配一个动态的,唯一(unicast)的WEP加密密钥给客户。WEP密钥的传输是用一个独立密钥加密的,这个独立的加密密钥是由RADIUS服务器产生并传送给AP的。 由于网络中客户各自拥有不同的WEP密钥,因此将大大增加实施Fluhrer、Mantin和Shamir 攻击所需的数据收集难度。AP也可以配置成周期性地改变客户WEP密钥,进一步增强WEP的效率。 " "15.9 受保护的EAP——漫游用户的 强身份认证解决方案" " 由于初始EAP的Identity Request/Response交换消息是以明文方式传输的,攻击者很容易通过窃听收集用户标识,用于后续的入侵,因此受保护的EAP提案要求将EAP与传输层 安全(Transport Layer Security,TLS)协议结合使用。EAP和TLS都是互联网上广泛使用的IETF标准,将这两种协议结合起来,就产生了保护无线LAN免遭被动窃听的客户机和服务器认证。" " 受保护的EAP分两个阶段:TLS会话阶段认证访问点,它使用已加密的通道来保护正在交换的认证信息,即使用户在不同访问点之间漫游时也是如此;EAP阶段认证无线主机用户。整个认证所采用的模型如图15-21所示。 " "图15-21 认证模型 " "" " 15.9.1 第一阶段 TLS握手(参阅图15-22)用于向无线客户机认证后端服务器(但是从无线用户的角度来看却是认证访问点)。首先,无线客户机向后端认证服务器发送一个消息,宣布自己要连接(关联)到无线访问点。该消息通知服务器应该开始一个新连接,并告知服务器客户机所能理解的密码算法,以便能够理解两者之间发送的安全消息。在接收了这个消息之后,后端服务器用新建的会话标识、一个用于通信的算法列表以及一个公钥证书(该证书允许客户机信任它用来建立网络连接的访问点)进行响应。 " " 无线客户机验证服务器证书的签名和有效性,然后通过生成密钥,并用从服务器证书获取的公钥加密它来进行响应。这个受保