今天,无线局域网已与有线局域网紧密地结合在一起,并且已经成为市场的主流产品。在无线局域网上,数据传输是通过无线电波在空中广播的,因此在发射机覆盖范围内数据可以被任何无线局域网终端接收。安装一套无线局域网就好象在任何地方都放置了以太网接口。因此,无线局域网的用户主要关心的是网络的安全性,主要包括接入控制和加密两个方面。除非无线局域网能够提供等同于有线局域网的安全性和管理能力,否则人们还是对使用无线局域网存在顾虑。 一、IEEE802.11b标准的安全性 IEEE 802.11b标准定义了两种方法实现无线局域网的接入控制和加密:系统ID(SSID)和有线对等加密(WEP)。 1、认证 当一个站点与另一个站点建立网络连接之前,必须首先通过认证。执行认证的站点发送一个管理认证帧到一个相应的站点。 IEEE 802.11b标准详细定义了两种认证服务:-开放系统认证(Open System Authentication):是802.11b默认的认证方式。这种认证方式非常简单,分为两步:首先,想认证另一站点的站点发送一个含有发送站点身份的认证管理帧;然后,接收站发回一个提醒它是否识别认证站点身份的帧。 -共享密钥认证(Shared Key Authentication):这种认证先假定每个站点通过一个独立于802.11网络的安全信道,已经接收到一个秘密共享密钥,然后这些站点通过共享密钥的加密认证,加密算法是有线等价加密(WEP)。 共享密钥认证的过程如图1所示,描述如下: (1) 请求工作站向另一个工作站发送认证帧。 (2) 当一个站收到开始认证帧后,返回一个认证帧,该认证帧包含WEP服务生成的128字节的质询文本。 (3) 请求工作站将质询文本复制到一个认证帧中,用共享密钥加密,然后再把帧发往响应工作站。 (4) 接收站利用相同的密钥对质询文本进行解密,将其和早先发送的质询文本进行比较。如果相互匹配,相应工作站返回一个表示认证成功的认证帧;如果不匹配,则返回失败认证帧。
图1 共享密钥认证 认证使用的标识码称为服务组标识符(SSID:Service Set Identifier),它提供一个最底层的接入控制。一个SSID是一个无线局域网子系统内通用的网络名称,它服务于该子系统内的逻辑段。因为SSID本身没有安全性,所以用SSID作为接入控制是不够安全的。接入点作为无线局域网用户的连接设备,通常广播SSID。 2、WEP IEEE 802.11b规定了一个可选择的加密称为有线对等加密,即WEP。WEP提供一种无线局域网数据流的安全方法。WEP是一种对称加密,加密和解密的密钥及算法相同。WEP的目标是: 接入控制:防止未授权用户接入网络,他们没有正确的WEP密钥。 加密:通过加密和只允许有正确WEP密钥的用户解密来保护数据流。 IEEE 802.11b标准提供了两种用于无线局域网的WEP加密方案。第一种方案可提供四个缺省密钥以供所有的终端共享—包括一个子系统内的所有接入点和客户适配器。当用户得到缺省密钥以后,就可以与子系统内所有用户安全地通信。缺省密钥存在的问题是当它被广泛分配时可能会危及安全。第二种方案中是在每一个客户适配器建立一个与其它用户联系的密钥表。该方案比第一种方案更加安全,但随着终端数量的增加给每一个终端分配密钥很困难。 图2 WEP加密过程 WEP加密的算法如图2所示,过程如下: (1) 在发送端,WEP首先利用一种综合算法对MAC帧中的帧体字段进行加密,生成四字节的综合检测值。检测值和数据一起被发送,在接收端对检测值进行检查,以监视非法的数据改动。 (2) WEP程序将共用密钥输入伪随机数生成器生成一个键序,键序的长度等于明文和综合检测值的长度。 (3) WEP对明文和综合检测值进行模二加运算,生成密文,完成对数据的加密。伪随机数生成器可以完成密钥的分配,因为每台终端只用到共用密钥,而不是长度可变的键序。 (4) 在接收端,WEP利用共用密钥进行解密,复原成原先用来对帧进行加密的键序。 (5) 工作站计算综合检测值,随后确认计算结果与随帧一起发送来的值是否匹配。如果综合检测失败,工作站不会把MSDU(介质服务单元)送到LLC(逻辑链路控制)层,并向MAC管理程序发回失败声明。 二、影响安全的因素 1、硬件设备 在现有的WLAN产品中,常用的加密方法是给用户静态分配一个密钥,该密钥或者存储在磁盘上或者存储在无线局域网客户适配器的存储器上。这样,拥有客户适配器就有了MAC地址和WEP密钥并可用它接入到接入点。如果多个用户共享一个客户适配器,这些用户有效地共享MAC地址和WEP密钥。 当一个客户适配器丢失或被窃的时候,合法用户没有MAC地址和WEP密钥不能接入,但非法用户可以。网络管理系统不可能检测到这种问题,因此用户必须立即通知网络管理员。接到通知后,网络管理员必须改变接入到MAC地址的安全表和WEP密钥,并给与丢失或被窃的客户适配器使用相同密钥的客户适配器重新编码静态加密密钥。客户端越多,重新编码WEP密钥的数量越大。 2、虚假接入点 IEEE802.11b共享密钥认证表采用单向认证,而不是互相认证。接入点鉴别用户,但用户不能鉴别接入点。如果一个虚假接入点放在无线局域网内,它可以通过劫持合法用户的客户适配器进行拒绝服务或攻击。 因此在用户和认证服务器之间进行相互认证是需要的,每一方在合理的时间内证明自己是合法的。因为用户和认证服务器是通过接入点进行通信的,接入点必须支持相互认证。相互认证使检测和隔离虚假接入点成为可能。 3、其它安全问题 标准WEP支持对每一组加密但不支持对每一组认证。从响应和传送的数据包中一个黑客可以重建一个数据流,组成欺骗性数据包。减轻这种安全威胁的方法是经常更换WEP密钥。 通过监测IEEE802.11b控制信道和数据信道,黑客可以得到如下信息: 客户端和接入点MAC地址 内部主机MAC地址 上网时间 黑客可以利用这些信息研究提供给用户或设备的详细资料。为减少这种黑客活动,一个终端应该使用每一个时期的WEP密钥。 三、完整的安全解决方案 无线局域网完整的安全方案以IEEE802.11b为基础,是一个标准的开放式的安全方案,它能为用户提供最强的安全保障,确保从控制中心进行有效的集中管理。它的核心部分是: 扩展认证协议(Extensible Authentication Protocol,EAP),是远程认证拨入用户服务(RADIUS)的扩展。可以使无线客户适配器与RADIUS服务器通信。 IEEE 802.1X, 一个控制端口接入的提议标准。 当无线局域网执行安全保密方案时,在一个BSS范围内的站点只有通过认证以后才能与接入点结合。当站点在网络登录对话框或类似的东西内输入用户名和密码时,客户端和RADIUS服务器(或其它认证服务器)进行双向认证,客户通过提供用户名和密码来认证。然后 RADIUS服务器和用户服务器确定客户端在当前登录期内使用的WEP密钥。所有的敏感信息,如密码,都要加密使免于攻击。 这种方案认证的过程是: 一个站点要与一个接入点连接。 除非站点成功登录到网络,否则接入点将禁止站点使用网络资源。 用户在网络登录对话框和类似的结构中输入用户名和密码。 用IEEE802.1x协议,站点和RADIUS服务器在有线局域网上通过接入点进行双向认证。可以使用几个认证方法中的一个。例如:RADIUS服务器向用户发送一个认证请求,客户端对用户提供的密码进行一种hash运算来响应这个请求,并把结果送到RADIUS服务器;利用用户数据库提供的信息,RADIUS服务器创建自己的响应并与客户端的响应相比较。一旦服务器认证了用户,就进行相反的处理使用户认证RADIUS服务器。 相互认证成功完成后,RADIUS服务器和用户确定一个WEP密钥来区分用户并提供给用户适当等级的网络接入。以此给每一个用户提供与有线交换几乎相同的安全性。用户加载这个密钥并在该登录期内使用。 RADIUS服务器发送给用户的WEP密钥,称为时期密钥。 接入点用时期密钥加密它的广播密钥并把加密密钥发送给用户,用户用时期密钥来解密。 用户和接入点激活WEP,在这时期剩余的时间内用时期密钥和广播密钥通信。 认证的全部过程如图3所示。 图3 基于IEEE802.1x的安全传输
|