无线局域网安全策略分析与应用研究
2021-09-16刘仁山
刘仁山
(呼伦贝尔学院 内蒙古 海拉尔 021008)
1 无线网络安全概述
无线局域网(WLAN)以无线信道作为传输媒介,利用电磁波在空气中收发数据实现了传统有线局域网的功能,相对有线网络而言,无线局域网布放和实施简单快捷,基于802.11标准的无线网络技术飞速发展,为用户提供的接入带宽越来越大,在办公大楼、体育场、候机大厅等场所得到了广泛应用,由于无线侧数据在自由空间传输,无线覆盖的区域内如果配置合适的接收设备都能够获取到信号,导致未授权的用户可获得访问权,信息存在泄露和被攻击的风险,WLAN常见的安全威胁有以下两个方面[1]:一是,未经授权地使用网络服务。非法用户未经授权使用WLAN网络,与授权用户共享带宽,影响到合法用户的使用体验以及可能泄露用户信息,存在认证风险;二是,数据安全风险。无线传输作为开放空间数据传送,信息容易被未授权的第三方拦截,导致数据被窃听和被篡改,导致数据的机密性和完整性遭到破坏。
因此WLAN网络实施过程中要加强安全保护,要实现数据传输的机密性、可认证性和完整性,认证和加密是必须要考虑的因素,认证是从用户接入角度确保访问者可信任,加密是对用户数据提供隐私保护确保机密性,另外数据完整性保护通过相应的校验算法来实现。
2 无线局域网加密算法和安全协议
无线局域网安全涉及到多种加密、认证和完整性保护算法,比如RC4算法、DES和AES算法。无线局域网通过TKIP和CCMP安全协议来实现加密算法的应用,TKIP协议的核心算法是RC4,而CCMP协议是基于AES算法实现的,下面对无线网络支持的安全加密算法进行比较分析。
2.1加密算法
为了对数据进行保护,防止泄露和偷窥,可以采用多种加密算法对信息进行保护,尤其WLAN基于无线空间传输的特性,数据更加容易泄露,因此,优秀的加密算法对于保护数据的安全性至关重要,目前无线网络设备支持的算法有:
2.1.1 RC4算法
RC4算法产生于1987年,与AES等分组算法不同,RC4采用面向流的序列密码,密钥长度可变,一个明文的字节(8比特)与一个密钥的字节进行异或就生成了一个密文的字节,连续不断地对明文字节流进行处理,产生密文输出流。[2]
2.1.2 DES算法
DES算法是一个经典的分组加密算法,以64位为分组对数据进行加密(分组),加密和解密使用的是同一个算法(对称);密钥长64位,事实上56位参与DES运算,每8位中最后一位是奇偶校验位(保证密钥每8位都有奇数个1);56位秘钥虽然很短,但目前并没有发现它的致命缺陷,当秘钥长度扩展到168位时,形成的3DES算法具有更强大的抗穷举搜索攻击的能力。[3]
2.1.3 AES算法
AES算法采用56位密钥进行加密/解密在面临高速穷举攻击仍然有很大的风险,因此科学家们设计了168位密钥空间的3DES,虽然变得安全但是加解密效率降低,2000年9月美国设计出高级加密标准(Advanced Encryption Standard),AES能有效抵御所有已知攻击,易于在现有软硬件平台上实现,且加解密过程效率优于DES,AES密钥空间根据需要采用128位、192位和256位三种不同长度。
上述加密算法RC4属于流加密方式,而DES和AES属于分组加密方式,流加密和分组加密各有优势,对于需要加密/解密数据流的应用,比如,在数据通信信道或浏览器/网络链路上,流加密可能是更好的选择,而对于处理数据分组的应用,比如,文件传递、电子邮件,分组加密则更合适。
2.2 安全协议
为了实现安全算法的应用,在无线局域网安全领域开发适合不同场景应用的安全协议,TKIP协议采用RC4算法实现了加密机制,CCMP协议采用AES算法实现了加密机制,同时采用CBC-MAC算法实现了CCMP协议的完整性保护功能,采用EAP协议实现802.1X认证。[4]
2.2.1 TKIP协议
TKIP协议(Temporal Key Integrity Protocol)是IEEE802.11i规范中负责处理无线安全问题的加密协议。核心加密算法仍然采用WEP协议中的RC4算法,TKIP并不直接使用由PTK(Pairwise Transient Key)分解出来的密钥作为加密报文的密钥,而是将该密钥作为基础密钥。经过两个阶段的密钥混合过程后,生成一个新的、每一次报文传输都不一样的密钥,该密钥才是用作直接加密的密钥,通过这种方式 可以进一步增强WLAN的安全性。TKIP以一种比较可靠的Michael完整性校验算法保护源地址,防止伪造帧。
2.2.2 CCMP协议
CCMP协议(Counter CBC-MAC Protocol,CCMP)是802.11i定义的默认加密方式,以AES为核心算法进行加密,以密码块链信息认证码(CBC-MAC)来进行完整性验证,CCMP/AES采用128为加密密钥,信息被加密成128位的密文分组。鉴于AES算法足够安全,报文加密、密钥管理等所需的密钥不必经过密钥混合,它们通过四次握手以动态的方式生成,无论在加密安全性还是完整性校验上,CCMP/AES的性能要远优于TKIP/RC4。
2.2.3 EAP协议
EAP协议(Extensible Authentication Protocol,EAP)是IEEE802.1X框架下的一个认证协议,它本身并未规定如何识别用户身份,但设计有可多种选择的EAP认证方法,它提供了客户端、认证者和认证服务器之间认证帧格式以及交互过程,整个认证过程主要参与者是客户端和认证服务器,认证者只是起到中介作用,客户端与认证者通过EAPOL(EAP over LAN)协议[5],认证者通过RADIUS封包来传递EAP,据此实现客户端和RADIUS服务器的EAP协议交互信息传递,EAP包含多种类型,比如:EAP-MD5属于最早的EAP类型,采用用户名和密码的认证方式;EAP-TLS类型是第一种标准的符合三项要求的身份认证方式,客户端和认证服务器采用数字证书;EAP-TTLS类型只有认证服务器采用数字证书;EAP-PEAP类型客户端采用用户名和密码,认证服务器采用数字证书。
3 无线局域网安全策略
安全策略就是对WLAN进行安全体系设置,包括设置接入认证、加密和完整性验证的协议和算法等。STA接入AP无线网络需要经历三个阶段:扫描阶段、链路认证阶段和关联阶段,在关联阶段配置用户接入安全策略,包括STA的认证、数据加密和完整性保护,可通过采用WEP、WPA和WPA2安全策略实现。
3.1 有线等效加密WEP策略
WEP(Wired Equivalent Privacy)是1999年通过的IEEE802.11b标准的一部分,用来保护用户数据,IEEE802.11n不支持此加密办法,如果采用此加密方法,无线速率将降低,WEP极其不安全,在实施过程中可采用开放系统认证和共享密钥认证两种方式,开放系统认证过程不需要认证,用户上线后,可以通过配置选择是否对业务数据进行WEP加密;共享密钥认证通过共享密钥认证,通过协商出来的密钥对业务数据进行RC4加密,所有用户共享一个密钥。
3.2 WPA/WPA2安全策略
WPA(Wi-Fi Protected Access)有WPA和WPA2两个标准,WPA 实现了IEEE802.11i标准的大部分,WPA2是IEEE802.11i安全标准组织的区别于WPA的安全性更高的安全标准,在链路认证阶段采用开放认证,在用户接入认证阶段实施WPA/WPA2安全策略。WPA/WPA2分为企业版和个人版,WPA/WPA2企业版采用IEEE802.1X的接入认证方式,利用RADIUS服务器和可扩展认证协议EAP进行认证,在大型企业网络中,通常采用WPA/WPA2企业版的认证方式;WPA/WPA2个人版(WPA/WPA2-PSK)模式,不需要专门的认证服务器,要求在认证双方设备上预先输入一个预共享密钥即可,适合于安全性要求不高的小型无线局域网应用场景。
3.3 WPA/WPA2混合安全策略
由于无线终端的种类多种多样,支持的认证和加密方式也有所差异,为了便于多种类型的终端接入,方便网络管理员的管理,可以使用混合方式配置WPA和WPA2。配置安全策略为WPA-WPA2,则支持WPA或WPA2的终端都可以接入设备进行认证;配置加密方式为TKIP-AES,则支持TKIP加密或AES加密的终端都可以对业务报文进行加密。
无线局域网安全策略分类如表1所示:
表1 安全策略分类表
4 安全策略数据保护流程
通过对多种无线安全策略进行比较分析,无论是加密还是认证以及完整性保护方面WPA2安全策略都是最安全的,也是密码学分析以及实践检验验证的无线领域最安全的技术。本文针对WPA2的工作流程进行分析,了解其原理,加强对其应用的理解。根据不同的应用场景选择个人版或者企业版。
4.1 WPA/WPA2安全认证策略
4.1.1 WPA/WPA2-PSK安全认证流程
WPA/WPA2-PSK认证主要用于个人、家庭与小型SOHO网络,对网络安全要求相对较低,不需要认证服务器。预共享密码可以用ASCII和HEX两种方式来输入,ASCII为字符模式,即输入5个(64bit模式)或13个(128bit模式)字符。HEX模式为十六进制模式,即输入10个(64bit模式)或26个(128bit模式)从0-9及A-F之间的字符。其认证流程如图1所示:
4.1.2 WPA/WPA2-(802.1x + EAP)安全认证流程
STA接入AP过程需要经历两个认证阶段,包括链路认证阶段和接入认证阶段,链路认证阶段采用开放系统认证,接入认证阶段基于IEEE802.1x的EAP协议进行认证,IEEE802.1x是基于端口的接入认证协议,端口可以是物理端口也可以是逻辑端口,既可以用于有线网络也可用于无线网络,它是一种通用架构,它依靠可扩展身份认证协议(EAP)进行认证,需要RADIUS服务器作为认证端,接入认证成功后,客户端生成成对主密钥,通过服务器证书加密发送至服务器端,服务利用私钥解密获得PMK,据此双方协商生成一致的PMK,PMK用于创建实际加密和解密所需的动态密钥即成对临时密钥(Pairwise Transient Key),采用PTK密钥加密和解密单播数据,如图2所示:
图2 802.1X认证流程图
4.2 WPA/WPA2安全加密策略
WPA默认采用TKIP+RC4安全加密机制,WPA2默认采用AES+CCMP安全加密机制,为保障数据的安全,安全策略设计为EAP链路认证通过之后进行数据加密保护,AES+CCMP进行数据加密保护的流程,如图3所示:
图3 AES+CCMP加密流程图
在认证阶段协商生成PMK密钥并不负责数据的加密传输,PMK作为主密钥用于生成临时密钥PTK,利用PMK交互信息生成PTK的步骤如下:
(1) 认证者AC生成Anonce并向客户端STA发送包含Anonce的EAPOL-Key(EAPOL是基于LAN的EAP协议)消息,其中Snonce、Anonce分别代表客户端和认证者的Nonce,Nonce是防范再注入攻击的随机值;
(2) 客户端产生Snonce,由Anonce和Snonce使用伪随机函数产生PTK,并发送包含Snonce和MIC的EAPOL-Key消息;
(3) 认证者根据Anonce和Snonce产生PTK,并对MIC进行校验,随后发送EAPOL-Key消息,其中包含Anonce、MIC以及是否安装加密密钥;
(4)客户端发送EAPOL-Key消息,确认双方PTK一致且密钥已经安装。
以上步骤称为四次握手生成PTK密钥的过程,PTK作为基本密钥参与加密和解密数据的过程,这样保证每个用户在每次连接网络时都有一个独立的密钥。
PTK密钥是加密的关键要素,利用CCMP+AES算法对数据进行加密和完整性保护,CCMP是WPA2默认的加密方式,以AES算法为核心,目前还没有发现破解方法,CCMP使用密码块链信息认证码(CBC-MAC)来进行完整性验证,WPA2也可选TKIP+RC4算法进行加密和完整性保护,但TKIP+RC4算法安全性远不如CCMP+AES,如果无线终端只支持WEP加密,则升级为TKIP+RC4无需升级硬件,而升级为CCMP+AES可能需要升级硬件。
5 无线局域网安全策略配置
5.1 WPA/WPA2-PSK(个人版)安全策略配置
security psk命令用来配置WPA/WPA2的预共享密钥认证和加密,命令格式:
security{wpa|wpa2|wpa-wpa2}psk{pass-phrase|hex}key-value{aes|tkip|aes-tkip}
# 配置WPA预共享密钥方式接入认证和认证密钥,采用tkip加密方式。
[AC6605] wlan
[AC6605-wlan-view] security-profile name sec-wpa
[AC6605-wlan-sec-prof-p1] security wpa psk pass-phrase lrsabc123 tkip
# 配置WPA2预共享密钥方式接入认证和认证密钥(aes方式)。
[AC6605] wlan
[AC6605-wlan-view] security-profile name sec-wpa2
[AC6605-wlan-sec-prof-p1] security wpa2 psk pass-phrase lrs123abc aes
# 配置WPA-WPA2混合认证方式,使用混合加密(aes-tkip方式)。
[AC6605] wlan
[AC6605-wlan-view] security-profile name sec-wpa/wpa2
[AC6605-wlan-sec-prof-p1]security wpa-wpa2 psk pass-phrase 123abclrs aes-tkip
5.2 WPA/WPA2-802.1x(企业版)安全策略配置
security dot1x命令用来配置WPA/WPA2的802.1X认证和加密,命令格式:
security{wpa|wpa2|wpa-wpa2}dot1x{aes|tkip|aes-tkip}
# 配置WPA的TKIP 802.1X认证方式。
[AC6605] wlan
[AC6605-wlan-view] security-profile name sec-wpa
[AC6605-wlan-sec-prof-p1] security wpa dot1x tkip
# 配置WPA2的AES 802.1X认证方式。
[AC6605] wlan
[AC6605-wlan-view] security-profile name sec-wpa2
[AC6605-wlan-sec-prof-p1] security wpa2 dot1x aes
# 配置WPA-WPA2混合方式,使用混合加密,认证方式为802.1X。
[AC6605] wlan
[AC6605-wlan-view] security-profile name sec-wpa/wpa2
[AC6605-wlan-sec-prof-p1] security wpa-wpa2 dot1x aes-tkip
6 结论
无线局域网安全是无线网络通信的关键技术,它为无线传播环境下的网络安全提供保障,尽管没有任何安全机制能够保证网络的绝对安全,但是部署合适的认证和加密解决方案可以使无线局域网的安全性的得到极大增强,尤其是WPA2的认证和加密技术更加成熟,可实施的安全策略更加多样,因此在不同的场景得到了普遍应用。