无线局域网安全技术白皮书v200.docx
《无线局域网安全技术白皮书v200.docx》由会员分享,可在线阅读,更多相关《无线局域网安全技术白皮书v200.docx(18页珍藏版)》请在冰豆网上搜索。
![无线局域网安全技术白皮书v200.docx](https://file1.bdocx.com/fileroot1/2023-2/3/c4c371d0-aa75-44c9-8be9-87e8d0356bbf/c4c371d0-aa75-44c9-8be9-87e8d0356bbf1.gif)
无线局域网安全技术白皮书v200
无线局域网的安全
无线局域网(WLAN)具有安装便捷、使用灵活、经济节约、易于扩展等有线网络无法比拟的优点,因此无线局域网得到越来越广泛的使用。
但是由于无线局域网信道开放的特点,使得攻击者能够很容易的进行窃听,恶意修改并转发,因此安全性成为阻碍无线局域网发展的最重要因素。
虽然一方面对无线局域网需求不断增长,但同时也让许多潜在的用户对不能够得到可靠的安全保护而对最终是否采用无线局域网系统犹豫不决。
就目前而言,有很多种无线局域网的安全技术,包括物理地址(MAC)过滤、服务区标识符(SSID)匹配、有线对等保密(WEP)、端口访问控制技术(IEEE802.1x)、WPA (Wi-FiProtectedAccess)、IEEE802.11i等。
面对如此多的安全技术,应该选择哪些技术来解决无线局域网的安全问题,才能满足用户对安全性的要求。
1、无线局域网的安全威胁
利用WLAN进行通信必须具有较高的通信保密能力。
对于现有的WLAN产品,它的安全隐患主要有以下几点:
XX使用网络服务
由于无线局域网的开放式访问方式,非法用户可以XX而擅自使用网络资源,不仅会占用宝贵的无线信道资源,增加带宽费用,降低合法用户的服务质量,而且XX的用户没有遵守运营商提出的服务条款,甚至可能导致法律纠纷。
地址欺骗和会话拦截(中间人攻击)
在无线环境中,非法用户通过侦听等手段获得网络中合法站点的MAC地址比有线环境中要容易得多,这些合法的MAC地址可以被用来进行恶意攻击。
另外,由于IEEE802.11没有对AP身份进行认证,非法用户很容易装扮成AP进入网络,并进一步获取合法用户的鉴别身份信息,通过会话拦截实现网络入侵。
高级入侵(企业网)
一旦攻击者进入无线网络,它将成为进一步入侵其他系统的起点。
多数企业部署的WLAN都在防火墙之后,这样WLAN的安全隐患就会成为整个安全系统的漏洞,只要攻破无线网络,就会使整个网络暴露在非法用户面前。
2、基本的无线局域网安全技术
通常网络的安全性主要体现在访问控制和数据加密两个方面。
访问控制保证敏感数据只能由授权用户进行访问,而数据加密则保证发送的数据只能被所期望的用户所接收和理解。
下面对在无线局域网中常用的安全技术进行简介。
物理地址(MAC)过滤
每个无线客户端网卡都由唯一的48位物理地址(MAC)标识,可在AP中手工维护一组允许访问的MAC地址列表,实现物理地址过滤。
这种方法的效率会随着终端数目的增加而降低,而且非法用户通过网络侦听就可获得合法的MAC地址表,而MAC地址并不难修改,因而非法用户完全可以盗用合法用户的MAC地址来非法接入。
图1MAC地址过滤
服务区标识符(SSID)匹配
无线客户端必需设置与无线访问点AP相同的SSID,才能访问AP;如果出示的SSID与AP的SSID不同,那么AP将拒绝它通过本服务区上网。
利用SSID设置,可以很好地进行用户群体分组,避免任意漫游带来的安全和访问性能的问题。
可以通过设置隐藏接入点(AP)及SSID区域的划分和权限控制来达到保密的目的,因此可以认为SSID是一个简单的口令,通过提供口令认证机制,实现一定的安全。
图2服务区标识匹配
有线对等保密(WEP)
在IEEE802.11中,定义了WEP来对无线传送的数据进行加密,WEP的核心是采用的RC4算法。
在标准中,加密密钥长度有64位和128位两种。
其中有24Bit的IV是由系统产生的,需要在AP和Station上配置的密钥就只有40位或104位。
WEP加密原理图如下:
图3WEP加密原理图
1、AP先产生一个IV,将其同密钥串接(IV在前)作为WEPSeed,采用RC4算法生成和待加密数据等长(长度为MPDU长度加上ICV的长度)的密钥序列;
2、计算待加密的MPDU数据校验值ICV,将其串接在MPDU之后;
3、将上述两步的结果按位异或生成加密数据;
4、加密数据前面有四个字节,存放IV和KeyID,IV占前三个字节,KeyID在第四字节的高两位,其余的位置0;如果使用Key-mappingKey,则KeyID为0,如果使用DefaultKey,则KeyID为密钥索引(0-3其中之一)。
加密后的输出如下图所示。
图4WEP加密后的MPDU格式
加密前的数据帧格式示意如下:
加密后的数据帧格式示意如下:
WEP解密原理图如下:
图5WEP解密原理图
1、找到解密密钥;
2、将密钥和IV串接(IV在前)作为RC4算法的输入生成和待解密数据等长的密钥序列;
3、将密钥序列和待解密数据按位异或,最后4个字节是ICV,前面是数据明文;
4、对数据明文计算校验值ICV',并和ICV比较,如果相同则解密成功,否则丢弃该数据。
连线对等保密WEP协议是IEEE802.11标准中提出的认证加密方法。
它使用RC4流密码来保证数据的保密性,通过共享密钥来实现认证,理论上增加了网络侦听,会话截获等的攻击难度。
由于其使用固定的加密密钥和过短的初始向量,加上无线局域网的通信速度非常高,该方法已被证实存在严重的安全漏洞,在15分钟内就可被攻破。
现在已有专门的自由攻击软件(如airsnort)。
而且这些安全漏洞和WEP对加密算法的使用机制有关,即使增加密钥长度也不可能增加安全性。
另外,WEP缺少密钥管理。
用户的加密密钥必须与AP的密钥相同,并且一个服务区内的所有用户都共享同一把密钥。
WEP中没有规定共享密钥的管理方案,通常是手工进行配置与维护。
由于同时更换密钥的费时与困难,所以密钥通常很少更换,倘若一个用户丢失密钥,则会殃及到整个网络的安全。
ICV算法不合适。
WEPICV是一种基于CRC-32的用于检测传输噪音和普通错误的算法。
CRC-32是信息的线性函数,这意味着攻击者可以篡改加密信息,并很容易地修改ICV。
同时WEP还可以作为一种认证方法,认证过程如下:
1.在无线接入点AP和工作站STA关联后,无线接入点AP随机产生一个挑战包,也就是一个字符串,并将挑战包发送给工作站STA。
2.工作站STA接收到挑战包后,用密钥加密挑战包,然后将加密后的密文,发送回无线接入点AP。
3.无线接入点也用密钥将挑战包加密,然后将自己加密后的密文与工作站STA加密后的密文进行比较,如果相同,则认为工作站STA合法,允许工作站STA利用网络资源;否则,拒绝工作站STA利用网络资源。
端口访问控制技术(IEEE802.1x)和可扩展认证协议(EAP)
IEEE802.1x并不是专为WLAN设计的。
它是一种基于端口的访问控制技术。
该技术也是用于无线局域网的一种增强网络安全解决方案。
当无线工作站STA与无线访问点AP关联后,是否可以使用AP的服务要取决于802.1x的认证结果。
如果认证通过,则AP为STA打开这个逻辑端口,否则不允许用户连接网络。
IEEE802.1x提供无线客户端与RADIUS服务器之间的认证,而不是客户端与无线接入点AP之间的认证;采用的用户认证信息仅仅是用户名与口令,在存储、使用和认证信息传递中存在很大安全隐患,如泄漏、丢失;无线接入点AP与RADIUS服务器之间基于共享密钥完成认证过程协商出的会话密钥的传递,该共享密钥为静态,存在一定的安全隐患。
802.1x协议仅仅关注端口的打开与关闭,对于合法用户(根据帐号和密码)接入时,该端口打开,而对于非法用户接入或没有用户接入时,则该端口处于关闭状态。
认证的结果在于端口状态的改变,而不涉及通常认证技术必须考虑的IP地址协商和分配问题,是各种认证技术中最简化的实现方案。
图6802.1x端口控制
在802.1x协议中,只有具备了以下三个元素才能够完成基于端口的访问控制的用户认证和授权。
客户端:
一般安装在用户的工作站上,当用户有上网需求时,激活客户端程序,输入必要的用户名和口令,客户端程序将会送出连接请求。
认证系统:
在无线网络中就是无线接入点AP或者具有无线接入点AP功能的通信设备。
其主要作用是完成用户认证信息的上传、下达工作,并根据认证的结果打开或关闭端口。
认证服务器:
通过检验客户端发送来的身份标识(用户名和口令)来判别用户是否有权使用网络系统提供的服务,并根据认证结果向认证系统发出打开或保持端口关闭的状态。
在具有802.1x认证功能的无线网络系统中,当一个WLAN用户需要对网络资源进行访问之前必须先要完成以下的认证过程。
1.当用户有网络连接需求时打开802.1x客户端程序,输入已经申请、登记过的用户名和口令,发起连接请求。
此时,客户端程序将发出请求认证的报文给AP,开始启动一次认证过程。
2.AP收到请求认证的数据帧后,将发出一个请求帧要求用户的客户端程序将输入的用户名送上来。
3.客户端程序响应AP发出的请求,将用户名信息通过数据帧送给AP。
AP将客户端送上来的数据帧经过封包处理后送给认证服务器进行处理。
4.认证服务器收到AP转发上来的用户名信息后,将该信息与数据库中的用户名表相比对,找到该用户名对应的口令信息,用随机生成的一个加密字对它进行加密处理,同时也将此加密字传送给AP,由AP传给客户端程序。
5.客户端程序收到由AP传来的加密字后,用该加密字对口令部分进行加密处理(此种加密算法通常是不可逆的),并通过AP传给认证服务器。
6.认证服务器将送上来的加密后的口令信息和其自己经过加密运算后的口令信息进行对比,如果相同,则认为该用户为合法用户,反馈认证通过的消息,并向AP发出打开端口的指令,允许用户的业务流通过端口访问网络。
否则,反馈认证失败的消息,并保持AP端口的关闭状态,只允许认证信息数据通过而不允许业务数据通过。
这里要提出的一个值得注意的地方是:
在客户端与认证服务器交换口令信息的时候,没有将口令以明文直接送到网络上进行传输,而是对口令信息进行了不可逆的加密算法处理,使在网络上传输的敏感信息有了更高的安全保障,杜绝了由于下级接入设备所具有的广播特性而导致敏感信息泄漏的问题。
图7802.1x认证过程
WPA (Wi-FiProtectedAccess)
WPA=802.1x+EAP+TKIP+MIC
在IEEE802.11i标准最终确定前,WPA标准是代替WEP的无线安全标准协议,为IEEE802.11无线局域网提供更强大的安全性能。
WPA是IEEE802.11i的一个子集,其核心就是IEEE802.1x和TKIP。
认证在802.11中几乎形同虚设的认证阶段,到了WPA中变得尤为重要起来,它要求用户必须提供某种形式的证据来证明它是合法用户,并拥有对某些网络资源的访问权,并且是强制性的。
WPA的认证分为两种:
第一种采用802.1x+EAP的方式,用户提供认证所需的凭证,如用户名密码,通过特定的用户认证服务器(一般是RADIUS服务器)来实现。
在大型企业网络中,通常采用这种方式。
但是对于一些中小型的企业网络或者家庭用户,架设一台专用的认证服务器未免代价过于昂贵,维护也很复杂,因此WPA也提供一种简化的模式,它不需要专门的认证服务器,这种模式叫做WPA预共享密钥(WPA-PSK),仅要求在每个WLAN节点(AP、无线路由器、网卡等)预先输入一个密钥即可实现。
只要密钥吻合,客户就可以获得WLAN的访问权。
由于这个密钥仅仅用于认证过程,而不用于加密过程,因此不会导致诸如使用WEP密钥来进行802.11共享认证那样严重的安全问题。
加密WPA采用TKIP为加密引入了新的机制,它使用一种密钥构架和管理方法,通过由认证服务器动态生成分发的密钥来取代单个静态密钥、把密钥首部长度从24位增加到48位等方法增强安全性。
而且,TKIP利用了802.1x/EAP构架。
认证服务器在接受了用户身份后,使用802.1x产生一个唯一的主密钥处理会话。
然后,TKIP把这个密钥通过安全通道分发到AP和客户端,并建立起一个密钥构架和管理系统,使用主密钥为用户会话动态产生一个唯一的数据加密密钥,来加密每一个无线通信数据报文。
TKIP的密钥构架使WEP静态单一的密钥变成了500万亿可用密钥。
虽然WPA采用的还是和WEP一样的RC4加密算法,但其动态密钥的特性很难被攻破。
TKIP与WEP一样基于RC4加密算法,但相比WEP算法,将WEP密钥的长度由40位加长到128位,初始化向量IV的长度由24位加长到48位,并对现有的WEP进行了改进,即追加了“每发一个包重新生成一个新的密钥(PerPacketKey)”、“消息完整性检查(MIC)”、“具有序列功能的初始向量”和“密钥生成和定期更新功能”四种算法,极大地提高了加密安全强度。
标准工作组认为:
WEP算法的安全漏洞是由于WEP机制本身引起的,与密钥的长度无关,即使增加加密密钥的长度,也不可能增强其安全程度,初始化向量IV长度的增加也只能在有限程度上提高破解难度,比如延长破解信息收集时间,并不能从根本上解决问题。
因为作为安全关键的加密部分,TKIP没有脱离WEP的核心机制。
而且,TKIP甚至更易受攻击,因为它采用了Kerberos密码,常常可以用简单的猜测方法攻破。
另一个严重问题是加/解密处理效率问题没有得到任何改进。
Wi-Fi联盟和IEEE802委员会也承认,TKIP只能作为一种临时的过渡方案,而IEEE802.11i标准的最终方案是基于IEEE802.1x认证的CCMP(CBC-MACProtocol)加密技术,即以AES(AdvancedEncryptionStandard)为核心算法。
它采用CBC-MAC加密模式,具有分组序号的初始向量。
CCMP为128位的分组加密算法,相比前面所述的所有算法安全程度更高。
消息完整性校验(MIC),是为了防止攻击者从中间截获数据报文、篡改后重发而设置的。
除了和802.11一样继续保留对每个数据分段(MPDU)进行CRC校验外,WPA为802.11的每个数据分组(MSDU)都增加了一个8个字节的消息完整性校验值,这和802.11对每个数据分段(MPDU)进行ICV校验的目的不同。
ICV的目的是为了保证数据在传输途中不会因为噪声等物理因素导致报文出错,因此采用相对简单高效的CRC算法,但是黑客可以通过修改ICV值来使之和被篡改过的报文相吻合,可以说没有任何安全的功能。
而WPA中的MIC则是为了防止黑客的篡改而定制的,它采用Michael算法,具有很高的安全特性。
当MIC发生错误的时候,数据很可能已经被篡改,系统很可能正在受到攻击。
此时,WPA还会采取一系列的对策,比如立刻更换组密钥、暂停活动60秒等,来阻止黑客的攻击。
IEEE802.11i
为了进一步加强无线网络的安全性和保证不同厂家之间无线安全技术的兼容,IEEE802.11工作组开发了作为新的安全标准的IEEE802.11i,并且致力于从长远角度考虑解决IEEE802.11无线局域网的安全问题。
IEEE802.11i标准中主要包含加密技术:
TKIP(TemporalKeyIntegrityProtocol)和AES(AdvancedEncryptionStandard),以及认证协议:
IEEE802.1x。
IEEE802.11i标准已在2004年6月24美国新泽西的IEEE标准会议上正式获得批准。
802.11i与WPA相比增加了一些特性:
AES:
更好的加密算法,但是无法与原有的802.11架构兼容,需要硬件升级。
CCMPandWARP:
以AES为基础。
IBSS:
802.11i解决IBSS(IndependentBasicServiceSet),而WPA主要处理ESS(ExtendedServiceSet)
Preauthentication:
用于用户在不同的BSS(BasicServiceSet)间漫游时,减少重新连接的时间延迟。
认证:
11i的安全体系也使用802.1x认证机制,通过无线客户端与radius服务器之间动态协商生成PMK(PairwiseMasterKey),再由无线客户端和AP之间在这个PMK的基础上经过4次握手协商出单播密钥以及通过两次握手协商出组播密钥,每一个无线客户端与AP之间通讯的加密密钥都不相同,而且会定期更新密钥,很大程度上保证了通讯的安全,其协商流程图如下:
图8单播和组播密钥协商过程
上面图中的ptk与gtk即单播和组播加解密使用的密钥。
CCMP加密:
ccmp提供了加密,认证,完整性和重放保护。
ccmp是基于ccm方式的,该方式使用了AES(AdvancedEncryptionStandard)加密算法。
CCM方式结合了用于加密的CounterMode(CTR)和用于认证和完整性的加密块链接消息认证码(CBC-MAC、CiphyBlockChaingMessageAutenticationCode)。
CCM保护MPDU数据和IEEE802.11MPDU帧头部分域的完整性。
AES定义在FIPSPUB197。
所有的在ccmp中用到的AES处理都使用一个128位的密钥和一个128位大小的数据块。
CCM方式定义在RFC3610。
CCM是一个通用模式,它可以用于任意面向块的加密算法。
CCM有两个参数(M和L),CCMP使用以下值作为CCM参数:
---M=8;表示MIC是8个字节。
---L=2;表示域长度位2个字节。
这有助于保持IEEE802.11MPDU的最大长度。
针对每个会话,CCM需要有一个全新的临时密钥。
CCM也要求用给定的临时密钥保护的每帧数据有唯一的nonce值。
CCM是用一个48位PN来实现的。
对于同样的临时密钥可以重用PN,这可以减少很多保证安全的工作。
CCMP处理用16个字节扩展了原来MPDU大小,其中8个为CCMP帧头,8个为MIC效验码。
CCMP帧头由PN,ExtIV和KeyID域组成。
PN是一个48位的数字,是一个6字节的数组。
PN5是PN的最高字节,PN0是最低字节。
值得注意的是CCMP不使用WEPICV。
图9CCMPMPDU扩展
KeyID字节的第五位,ExtIV域,表示CCMP扩展帧头8个字节。
如果是使用CCMP加密,则ExtIV位的值总是为1。
KeyID字节的第六第七位是为KeyID准备的。
保留的各个位值为0,而且在接收的时候被忽略掉。
检查重放的规则如下:
1)PN值连续计算每一个MPDU。
2)每个发送者都应为每个PTKSA,GTKSA和STAkeySA维护一个PN(48位的计数器)。
3)PN是一个48位的单调递增正整数,在相应的临时密钥被初始化或刷新的时候,它也被初始化为1。
4)接收者应该为每个PTKSA,GTKSA和STAKeySA维护一组单独的PN重放计数器。
接收者在将临时密钥复位的时候,会将这些计数器置0。
重放计数器被设置为可接收的CCMPMPDU的PN值。
5)接收者为每个PTKSA,GTKSA和STAKeySA维护一个独立的针对IEEE802.11MSDU优先级的重放计数器,并且从接收到的帧获取PN来检查被重放的帧。
这是在重放计数器的数目时,不使用IEEE802.11MSDU优先级。
发送者不会在重放计数器内重排帧,但可能会在计数器外重排帧。
IEEE802.11MSDU优先级是重排的一个可能的原因。
6)如果MPDU的PN值不连续,则它所在的MSDU整个都会被接收者抛弃。
接收者同样会抛弃任何PN值小于或者等于重放计数器值的MPDU,同时增加ccmp的重放计数的值。
CCMP加密过程如下图:
图10CCMP加密过程图
CCMP加密步骤如下:
1)增加PN值,为每个MPDU产生一个新的PN,这样对于同一个临时密钥TK永远不会有重复的PN。
需要注意的是被中转的MPDUs在中转过程中是不能被修改的;
2)MPDU帧头的各个域用于生成CCM方式所需的AdditionalAuthenticationData(AAD)。
CCM运算对这些包含在AAD的域提供了完整性保护。
在传输过程中可能改变的MPDU头部各个域在计算AAD的时候被置0;
3)CCMNonce块是从PN,A2(MPDU地址2)和优先级构造而来。
优先级作为保留值设为0;
4)将新的PN和KeyID置入8字节的CCMP头部;
5)CCM最初的处理使用临时密钥TK,AAD,Nonce和MPDU数据组成密文和MIC;
6)加密后的MPDU由最初的MPDU帧头,CCMP头部,加密过的数据和MIC组成。
当AP从STA接收到802.11数据帧时,满足以下条件则进行CCMP解密;
1)WPA/802.11iSTA协商使用CCMP加密;
2)Tempkey已经协商并安装完成。
解密过程:
图11CCMP解密过程图
1)解析加密过的MPDU,创建AAD和Nonce值;
2)AAD是由加密过的MPDU头部形成的;
3)Nonce值是根据A2,PN和优先级字节(保留,各位置0)创建而来;
4)提取MIC对CCM进行完整性校验;
5)CCM接收过程使用临时密钥,AAD,Nonce,MIC和MPDU加密数据来解密得到明文,同时对AAD和MPDU明文进行完整性校验;
6)从CCM接收过程收到的MPDU头部和MPDU明文数据连接起来组成一个未加密的MPDU;
7)解密过程防止了MPDUs的重放,这种重放通过确认MPDU里的PN值比包含在会话里的重放计数器大来实现,接着进行检查重放,解密失败的帧直接丢弃。
相比前面的安全方法,IEEE802.11i具有以下一些技术优势:
在WLAN底层引入AES算法,即加密和解密一般由硬件完成,克服WEP的缺陷,有线对等保密(WEP)协议的缺陷延缓了无线局域网(WLAN)在许多企业内的应用和普及。
无线局域网网络会暴露某个网络,因此,从安全的角度来讲,不能像核心企业网络而必须像接入网络那样来对待。
如果企业用户通过一个局域网交换中心互相连接,人们就可认为他们已经成为信任用户。
无论是wep加密还是tkip加密都是以rc4算法为核心,由于rc4算法本身的缺陷,在接入点和客户端之间以“RC4”方式对分组信息进行加密的技术,密码很容易被破解。
AES是一种对称的块加密技术,提供比WEP/TKIP中RC4算法更高的加密性能。
对称密码系统要求收发双方都知道密钥,而这种系统的最大困难在于如何安全地将密钥分配给收发的双方,特别是在网络环境中,11i体系使用802.1x认证和密钥协商机制来管理密钥。
AES加密算法使用128bit分组加码数据。
它的输出更具有随机性,对128比特、轮数为7的密文进行攻击时需要几乎整个的密码本,对192、256比特加密的密文进行攻击不仅需要密码本,还需要知道相关的但并不知道密钥的密文,这比WEP具有更高的安全性,攻击者要获取大量的密文,耗用很大的资源,花费更长的时间破译。
它解密的密码表和加密的密码表是分开的,支持子密钥加密,这种做法优于最初的用一个特殊的密钥解密,很容易防护幂攻击和同步攻击,加密和解密的速度快,在安全性上优于WEP。
AES算法支持任意分组的大小,密钥的大小为128、192、256,可以任意组合。
此外,AES还具有应用范围广、等待时间短、相对容易隐藏、吞吐量高的优点。
经过比较分析,可知此算法在性能等各方面都优于WEP和tkip,利用此算法加密,无线局域网的安全性会获得大幅度提高,从而能够有效地防御外界攻击。
3、无线局域网的安全策略
当我们使用了802.