WLAN安全策略——控制平面安全

安全策略的分类

WLAN的安全方案中,可以根据三个平面进行分类,分别是管理平面安全控制平面安全转发平面安全

WLAN安全策略,能够有效防止信息被窃取,防止未经授权的访问,提供稳定高效的无线接入。

篇幅受限,本篇笔记主要记录控制平面的安全策略。

控制平面的安全策略主要包括以下几个方面:

1. 无线用户接入安全

用户接入安全面向的就是 STA上线 过程中可能发生的安全问题。其安全策略主要包括WEP、WPA、WPA2、WPA3和WAPI等

WEP

Wired Equivalent Privacy(有线等效加密协议),由802.11标准定义,采用RC4加密算法。RC4是一种密钥长度可变的流加密算法,系统生成24位的初始向量,WLAN服务端和客户端上配置40位、104位或128位密钥,将两者进行校验和得到最终用于加密的密钥为64位、128位或152位。

WEP安全策略主要涉及链路认证数据加密

在STA上线过程中提到,链路认证分为开放系统认证共享密钥认证

在WEP中,如果选择开放系统认证,那么用户不需要任何认证,即可关联到该无线网络,关联上以后,可以选择是否进行数据加密,若选择数据加密,则要通过配置静态的共享密钥,实现数据加密。但是,在同一SSID下的用户,使用的是同一个静态共享密钥,因此安全性大大降低。

如果选择共享密钥认证,STA和AP需要预先设置好共同的密钥,AP在链路认证中验证两边的密钥是否相同。用户上线后,若要选择数据加密,则使用刚刚设置好的密钥进行加密,即链路认证和数据加密使用的是同一个密钥,同样地,同一个SSID下的所有用户都使用同一个密钥进行加密。

由于WEP共享密钥认证采用的是基于RC4对称流的加密算法,需要预先配置相同的静态密钥,无论从加密机制还是从加密算法本身,都很容易受到安全威胁。

image.png

根据异或特性,a^b=c,c^b=a

  • 发送侧 1、IV 值+静态 Key 通过 Key 生成器生成加密使用的 Key 流; 2、需发送的数据明文与 Key 流经过异或运算后形成发送的密文; 3、发送侧发送的数据报文中包含加密后的密文与 IV 值。

  • 接收侧 1、接收到数据包后从中获取 IV 值,使用IV 值+静态 Key 通过 Key 生成器生成解密使用 的 Key 流 2、接收到的用户密文与 Key 流经过异或运算后即可得到用户数据明文。

其中IV 值为 24bit 的初始向量,IV 值动态生成,每数据包变化。

WPA/WPA2

了解决这个问题,在802.11i标准没有正式推出安全性更高的安全策略之前,Wi-Fi联盟推出了针对WEP改良的WPA。WPA的核心加密算法还是采用RC4,在WEP基础上提出了临时密钥完整性协议TKIP( Temporal Key Integrity Protocol)加密算法,采用了802.1X的身份验证框架,支持EAP-PEAP、EAP-TLS等认证方式。随后802.11i安全标准组织又推出WPA2,区别于WPA,WPA2采用安全性更高的区块密码锁链-信息真实性检查码协议CCMP(Counter Mode with CBC-MAC Protocol)加密算法。

目前,WPA和WPA2都可以使用TKIP或CCMP加密算法,以达到更好的兼容性,它们在安全性上几乎没有差别。

WPA/WPA2安全策略涉及链路认证、接入认证、密钥协商和数据加密。

WPA/WPA2的链路认证只支持开放系统认证

接入认证

接入认证又分为企业版个人版,区别就在于是否有单独的用户认证服务器用来对用户进行认证。

WPA/WPA2支持基于EAP-TLS和EAP-PEAP的802.1X认证方式

基于EAP–TLS的802.1X认证流程图:

基于EAP-PEAP的802.1X认证流程图:

数字证书

图中有讲到证书的验签,这里介绍一下数字证书的原理。

在通信过程中,为了确保通信的保密性,往往会使用一些加密算法对通信数据进行加密,例如对称加密、非对称加密算法等。而这些加密算法需要通信双方交换密钥,这里就存在一个问题,如果有一个中间人,冒充其中一方,与对方交换密钥,如果没有验证对方的身份,那么后续的通信就会被中间人所截获。因此,数字证书就是为了验证身份而产生的。

为了确认通信双方身份,需要一个权威的第三方来进行公证,例如CA,权威机构CA会颁布数字证书,让通信的双方通过这个证书来确认对方的身份。

下面以客户端C和服务端S通信为例,说明数字证书在中间的作用。

首先服务端S要到CA处申请一个数字证书。S首先自己生成一对公私密钥,将公钥、组织信息、个人信息(域名等)一起提交给CA机构(不会提交私钥),CA机构拿到这个信息摘要后,查验其真实性、合法性,然后CA用自己的私钥给信息摘要签一个名(准确的说是先将信息摘要进行hash求散列值,再将散列值进行私钥签名),把该签名、申请人S组织信息和个人信息(信息摘要)、证书有效时间等,生成一个证书,发送回给服务端S。

S获取到证书后,便可以与其他客户端进行通信。

C向S发起通信请求,S会将获取的证书发送给C。C收到该证书,发现上面有CA机构的一个签名,使用CA机构的公钥(各大浏览器和操作系统会存放各大权威机构的公钥)进行解密,得到S的信息摘要的散列值Hash_A;同时,前面提到,证书上是有S的信息摘要的(明文公开的),C通过相同的hash算法(证书上也会写明),得到摘要信息的散列值Hash_B,通过对比Hash_A和Hash_B是否相等,即可判断服务端S身份是否合法。

若合法,C通过证书拿到了S的公钥,便可以进行后续的密钥交换和通信过程。

对于一些中小型的企业或个人,部署一台认证服务器成本较高,因此WPA/WPA2提供了一种简化模式,即WPA/WPA2预共享密钥(WPA/WPA2-PSK)模式,仅要求在每个WLAN节点(WLAN服务端、无线路由器、网卡等)预先输入一个预共享密钥即可。只要密钥吻合,客户就可以获得WLAN的访问权。由于这个密钥仅仅用于认证过程,而不用于加密过程,因此不会导致诸如使用WEP密钥来进行802.11共享认证那样严重的安全问题。

使用认证服务器时,PMK就是通过协商得到,若使用预共享密钥,则PMK=PSK。PMK会在后续的加密密钥协商中有很大用处。

密钥协商

该过程协商的密钥是指用于后续数据加密所用的密钥,该阶段定义了两种密钥模型:

一种是成对密钥层次结构(对应PTK,Pairwise Transient Key),主要用来加密STA与AP之间往来的单播数据;

一种是群组密钥层次结构(对应GTK,Group Temporal Key),主要用来加密STA与AP之间的广播组播数据。

PTK和GTK的产生,是根据接入认证阶段生成的成对主钥PMK(Pairwise Master Key)产生。两个密钥的协商过程如下:

PTK密钥协商是一个四次握手过程:

AP发送EAPOL-Key帧给STA,帧中包含随机数ANonce

STA根据STA与AP的MAC地址、PMK、ANonceSNonce计算出PTK,STA发送EAPOL-Key帧给AP,帧中包含SNonce、RSN信息元素和EAPOL-Key帧的消息完整码MIC(Message Integrity Code)。

AP根据PMK、ANonce、SNonce、AP的MAC地址、STA的MAC地址计算出PTK,并校验MIC,核实STA的PMK是否和自己的一致。

AP发送EAPOL-Key帧给STA,并通知STA安装密钥,帧中包含Anonce、RSN信息元素、帧MIC、加密过的PTK。

STA发送EAPOL-Key帧给AP,并通知AP已经安装并准备开始使用加密密钥。AP收到后安装加密密钥。

GTK密钥协商是一个两次握手过程:

AP计算出GTK,用单播密钥加密GTK,发送EAPOL-Key帧给STA。

STA收到EAPOL-Key帧后,验证MIC,解密GTK,安装组播加密密钥GTK,并发送EAPOL-Key确认消息给AP。AP收到EAPOL-Key确认帧后,验证MIC,安装GTK。

数据加密

WPA/WPA2支持TKIP和CCMP两种加密算法。

TKIP加密算法 区别于WEP共用一个共享密钥,TKIP采用一套动态密钥协商和管理方法,每个无线用户都会动态地协商一套密钥,保证了每个用户使用独立的密钥。每个用户的密钥是由密钥协商阶段协商出来的PTK、发送方的MAC地址和报文序列号计算生成的,通过这种密钥混合的防护方式来防范针对WEP的攻击。

TKIP采用信息完整性校验机制,一方面保证接收端接收报文的完整性;另一方面保证接收端和发送端数据的合法性。信息完整性校验码是通过密钥协商阶段协商出来的MIC Key、目的MAC地址、源MAC地址和数据包计算生成的。

CCMP加密算法 区别于WEP和TKIP采用的流密码机制,CCMP采用了以高级加密标准AES(Advanced Encryption (加密) Standard)的块密码为基础的安全协议。这种基于块密码的加密技术克服了RC4算法本身的缺陷,安全性更高。

整个WPA/WPA2的密钥协商过程可以用下面一个图来展示:

WPA/WPA2-PSK破解原理
如果采用的是PSK认证方式,整个密钥协商的过程中,只有PMK是未知的,而PMK在PSK认证方式中,是由SSID和PSK生成的,而PSK又与WIFI密码有关。因此,如果我抓到了四次握手中的报文,便可以离线使用密码字典进行破解,只要该密码能通过一步步计算,得到PTK中的MIC值与握手包中的相同,那么我们也就破解出了这个WIFI的密码,并且可以用它生成PTK,拿去解密流量数据包。

WPA3

WPA3是Wi-Fi联盟组织发布的新一代Wi-Fi加密协议,在WPA2的基础上增加了新的功能,以简化Wi-Fi安全保障方法、实现更可靠的身份验证,提高数据加密强度。所有的WPA3网络都必须进行管理帧保护PMF(Protected Management Frame),保证数据的安全性。

根据Wi-Fi网络的用途和安全需求的不同,WPA3又分为WPA3个人版、WPA3企业版,即WPA3-SAE和WPA3-802.1X。WPA3为不同网络提供了额外功能:WPA3个人版增强了对密码安全的保护,而WPA3企业版的用户可以选择更高级的安全协议,保护敏感数据。

个人版

对比WPA2个人版,WPA3个人版能提供更可靠的基于密码的身份验证。这是由于WPA3个人版使用了更安全的协议——对等实体同时验证SAE(Simultaneous Authentication (身份验证) of Equals)。SAE取代了WPA2个人版的PSK认证方式,可以有效地抵御离线字典攻击,增加暴力破解的难度。SAE能够提供前向保密,即使攻击者知道了网络中的密码,也不能解密获取到的流量,大大提升了WPA3个人网络的安全。WPA3个人版只支持AES加密方式。

SAE在WPA/WPA2-PSK原有的四次握手前增加了SAE握手,实质上是为了动态协商成对主密钥PMK。WPA/WPA2-PSK的PMK只与SSID和预共享密钥有关,而SAE引入了动态随机变量,每次协商的PMK都是不同的,提升了安全性。

SAE交互流程:

交换密钥阶段 (SAE Commit)

这个阶段的主要目的是生成四次握手的PMK,由认证的两个实体(AP和STA)各自发送一个包含了用随机数封装起来的PWE(password element of an ECC group)。PWE是由密码和协商对象的MAC衍生出来的密钥,最终通过运算得出PMK。Commit阶段结束后,两个认证实体都生成了PMK,但是并不知道两者的PMK是否一致。

验证密钥阶段 (SAE Confirm)

这个阶段的主要目的是校验两个实体是否拥有相同的PMK,通过使用PMK的一部分来对上一轮发送的Commit报文进行完整性校验。如果双方都可以校验通过,说明两端的PMK是一致的,可以进行四次握手过程。

SAE交互完成后生成PMK作为四次握手的输入,四次握手的过程与WPA2-PSK认证类似。

由于数学性质,决定u1×v1很难被推算出来。这样攻击者只能通过不断的尝试密码,这样被攻破的时间也大大被加长。但是,通过整个流程我们之前在commit message中的v1和u1都是在每次协商的时候随机生成的,所以如果密码出错,再试下一次密码的时候,v1和u1又发生了变化,所以即便再尝试了n次后,好不容易找到了正确的密码,生成的PTK和你想破解的用户的PTK也会不一样,这样即便你缓存了所有的数据包,也解不出来。能解出来的数据包也只是之后的数据,这样也就保证了之前的数据,也就是所谓的前向保护。

WAPI

WAPI(WLAN authentication and privacy infrastructure),是由中国提出的,以802.11无线协议为基础的无线安全标准。

WAPI流程:

1、无线客户端(STA)首先和WLAN设备(AP)进行802.11链路协商

该过程按照802.11标准定义的过程进行。无线客户端主动发生探测请求 probe (探针) request或者侦听AP发送的Beacon帧,发现可用的无线网络。此时,支持WAPI安全机制的AP将会回应或者发送携带WAPI信息的探测应答probe response或Beacon帧。在发现可用的无线网络之后,无线客户端继续发起链路认证交互(authentication)和关联交互(association)。

2、WLAN设备触发对无线客户端的鉴别处理

无线客户端成功关联WLAN设备后,设备在判定此客户端为WAPI用户时,将会激活对此用户的身份验证过程。设备会向无线客户端发送鉴别激活触发消息,触发无线客户端发起WAPI鉴别交互过程。

3、鉴别服务器进行证书鉴别完成身份认证

无线客户端发起接入鉴别请求后,WLAN设备会向远端的鉴别服务器发起证书鉴别请求,鉴别请求消息中同时包含有无线客户端和WLAN设备的证书信息。鉴别服务器根据证书对二者的身份进行鉴别,并将验证结果发给WLAN设备。WLAN设备和无线客户端任何一方如果发现对方的身份非法,都将会主动终止无线连接。

鉴别过程

基于证书方式:

  1. 鉴别激活:当STA关联或重新关联至AC时,AC判断该用户为WAPI用户时,由AC向STA发送鉴别激活以启动整个鉴别过程。

  2. 接入鉴别请求:STA向AC发出接入鉴别请求,将STA证书与STA的当前系统时间发往AC,其中系统时间称为接入鉴别请求时间。

  3. 证书鉴别请求:AC收到STA接入鉴别请求后,首先记录鉴别请求时间,然后向鉴别服务器发出证书鉴别请求,即将STA证书、接入鉴别请求时间、AC证书及使用AC的私钥对它们的签名构成证书鉴别请求发送给鉴别服务器。

  4. 证书鉴别响应:鉴别服务器收到AC的证书鉴别请求后,验证AC的签名和STA证书的有效性。若不正确,则鉴别过程失败;否则,进一步验证STA证书。验证完毕后,鉴别服务器将STA证书鉴别结果信息、AC证书鉴别结果信息和鉴别服务器对它们的签名构成证书鉴别响应发送给AC。

  5. 接入鉴别响应:AC对鉴别服务器返回的证书鉴别响应进行签名验证,得到STA证书的鉴别结果,根据此结果对STA进行接入控制。AC将收到的证书鉴别响应回送至STA。STA验证鉴别服务器的签名后,得到AC证书的鉴别结果,根据该鉴别结果决定是否接入该WLAN服务。若鉴别成功,则AC允许STA接入;否则,解除其关联。

基于预共享密钥方式:

WAPI-PSK方式:预共享密钥鉴别是基于STA与AC双方的预共享密钥所进行的鉴别。鉴别前STA与AC必须预先配置有相同的密钥,即预共享密钥。鉴别时直接将预共享密钥转换为BK。

WAPI-PSK方式不需要昂贵的证书系统,适用于家庭用户或小型企业网络。

4、无线客户端和WLAN设备进行密钥协商

WLAN设备经鉴别服务器认证成功后,设备会发起与无线客户端的密钥协商过程,先协商出用于加密单播报文的单播密钥,然后再协商出用于加密组播报文的组播密钥。

密钥协商流程

AC经鉴别服务器认证成功后,会发起与STA的密钥协商过程,密钥协商包括单播密钥协商过程和组播密钥协商过程。

  • 单播密钥协商过程

    STA与AC之间交互的单播数据利用单播密钥协商过程所协商出的单播加密密钥和单播完整性校验密钥来实现数据的安全性。单播密钥协商是采用KD-HMAC-SHA256算法利用BK生成单播会话密钥USK。单播密钥协商过程不仅要协商出STA和AC会话时单播数据的加密密钥,而且还要协商出会话过程所使用的组播密钥的保护密钥和鉴别密钥。

    图12-7  WAPI单播密钥协商流程图

    图12-7 所示,单播密钥协商的流程如下:

    1. 单播密钥协商请求分组

      建立有效的基密钥安全关联后,AC向STA发送单播密钥协商请求分组,开始与STA进行单播密钥协商。

    2. 单播密钥协商响应分组

      STA收到AC的单播密钥协商请求分组后,进行如下处理:

      1. 检查此次单播密钥协商是否为更新过程。

        • 如果是,执行步骤b;
        • 如果不是,执行步骤c。

      WAPI密钥管理协议也允许STA直接发送单播密钥协商响应分组给AC,主动发起单播密钥更新过程。

      1. 检查AC质询与本地保存的上次单播密钥协商过程所协商的质询是否相同。如果不同,丢弃分组。

      2. STA生成随机数质询,利用基密钥、AC随机数质询、STA随机数质询,采用密钥导出算法KD-HMAC-SHA256,生成单播会话密钥和下次单播密钥协商过程的AC质询。

      3. 用消息鉴别密钥通过HMAC-SHA256算法计算本地消息鉴别码,构造单播密钥协商响应分组发送给AC。

    3. 单播密钥协商确认分组

      AC收到单播密钥协商响应分组后,进行如下处理:

      1. 检查AC质询是否正确。如果不正确,丢弃分组。

      2. 利用基密钥、AC质询、STA质询,采用密钥导出算法KD-HMAC-SHA256,生成单播会话密钥和下次单播会话密钥协商过程的AC质询,利用消息鉴别密钥通过HMAC-SHA256算法计算本地消息鉴别码,与分组中的消息鉴别码比较。如果不同,丢弃分组。

      3. 如果为基密钥安全关联建立后的首次单播密钥协商,在基础模式下,检查响应分组中的WAPI信息元素和自己收到的关联请求帧的WAPI信息元素是否相同。如果不同,解除认证。在独立模式(即Ad-hoc网络模式)下,检查响应分组中的WAPI信息元素中的单播密钥算法是否支持,如果不支持,解除认证。

      4. 用消息鉴别密钥通过HMAC-SHA256算法计算本地消息鉴别码,构造单播密钥协商确认分组,发送给STA。

  • 组播密钥协商过程

    组播密钥协商过程建立在单播密钥协商过程基础上,完成AC组播密钥的通告。

    AC利用自己通告的、由组播主密钥导出的组播加密密钥和组播完整性校验密钥对其发送的广播/组播数据实现安全性,而STA则采用AC通告的、由组播主密钥导出的组播加密密钥和组播完整性校验密钥对收到的广播/组播数据进行解密。

    图12-8  WAPI组播密钥协商流程图

    图12-8 所示,组播密钥协商的流程如下:

    1. 组播密钥通告分组

      单播密钥协商成功后,AC将组播主密钥(利用随机数算法生成的),利用前面协商出的单播密钥对组播密钥进行加密,发送组播密钥通告分组,向STA通告组播密钥。

    2. 组播密钥响应分组

      STA收到组播密钥通告分组后,进行如下处理:

      1. STA利用单播密钥标识字段标识的消息鉴别密钥计算校验和,与消息鉴别码字段进行比较。如果不同,丢弃分组。

      2. 检查密钥通告标识字段值是否单调递增。如果不是,丢弃分组。

      3. 对密钥数据解密得到16个八位位组的通告主密钥,利用KD-HMAC-SHA256算法进行扩展,生成长度为32个八位位组的会话密钥(其中前16个八位位组为加密密钥,后16个八位位组为完整性校验密钥)。

      4. 保存密钥通告标识字段值,生成组播密钥响应分组发送给AC。

      5. WLAN服务端收到WLAN客户端的组播密钥响应分组后,进行如下处理:

        1. 利用单播密钥标识字段标识的消息鉴别密钥计算校验和,与消息鉴别码字段进行比较。如果不同,丢弃分组。

        2. 比较密钥通告标识等字段与发送的组播密钥通告分组中的相应字段值。如果都相同,则本次组播密钥通告成功;否则,丢弃分组。

5、WLAN设备根据鉴别结果允许无线客户端访问网络。

WAPI的优势体现在:

  • 双向身份鉴别

    双向鉴别机制既可以防止非法的STA接入WLAN网络,同时也可以杜绝非法的WLAN设备伪装成合法的设备。

  • 数字证书身份凭证

    WAPI有独立的证书服务器,使用数字证书作为STA和WLAN设备的身份凭证,提升了安全性。对于STA申请或取消入网,管理员只需要颁发新的证书或取消当前证书。

  • 完善的鉴别协议

    在WAPI中使用数字证书作为用户身份凭证,在鉴别过程中采用椭圆曲线签名算法,并使用安全的消息杂凑算法保障消息的完整性,攻击者难以对进行鉴别的信息进行修改和伪造,所以安全等级高。

除了以上介绍的几种接入认证方式,在用户接入过程中,还有其他的一些安全策略。例如PMF(ProtectedManagementFrame,管理帧保护)

在WPA2中,WLAN网络只对数据帧进行加密,而对管理帧没有加密,因此可能引发一下安全问题:

  • 黑客窃取AP和用户之间通信的管理帧信息;
  • 黑客仿冒AP向用户发送去关联和去认证请求,使用户下线;
  • 黑客仿冒用户向AP发送去关联请求,使用户下线;
  • Spoof攻击通过侦听获取STA和AP的相关信息,然后进行伪造欺骗合法设备

2. WIDS/WIPS

WIDS(Wireless Intrusion Detection System,无线入侵检测系统)依照一定的安全策略,对网络、系统的运行状况进行监视,分析用户的活动,判断入侵事件的类型,检测非法的网络。

WIPS(Wireless Intrusion Prevention System,无线入侵防预系统)通过对无线网络的实时监测,对于检测到的入侵事情,攻击行为进行主动防御和预警。

AP工作模式

AP工作模式有两种:正常模式和监测模式。

正常模式(normal)

  • 如果系统未开启空口扫描功能,该射频用于传输普通的WLAN业务数据。
  • 如果系统开启了空口扫描功能,则该射频除了传输普通的WLAN业务数据,还具备了监控功能,可能会对传输普通的WLAN业务数据造成一定的影响。

监测模式(monitor)

监控模式,只具备监控功能,不能用于普通的WLAN业务,只能用于具有监控功能的WLAN业务,如WIDS、频谱分析和终端定位等

非法设备类型

非法设备可以通过管理帧或者数据帧来识别:

有关无线管理帧的类别、作用等细节可以看看这篇文章: WIFI基础入门–802.11–成帧细节(管理帧)–5_佛戏人生的博客-CSDN博客

判断是否为非法设备:

应对策略

反制列表

泛洪攻击检测与防范

Spoof攻击检测与防范

3. URL过滤

为了防止用户访问恶意网址而引起一些安全问题而产生的一种安全策略。

根据匹配方式的不同,以及黑白名单的策略,对指定url进行放行或者阻断。

4. 入侵检测

通过分析网络流量,检测入侵(包括缓冲区溢出攻击、木马、蠕虫等),并通过一定的响应方式,实时地中止入侵行为,保护企业信息系统和网络架构免受侵害。入侵防御的基本实现机制如下

入侵防御签名用来描述网络中攻击行为的特征,WAC通过将数据流和入侵防御签名进行比较来检测和防范攻击。

根据签名进行对应的处理动作

参考文章

【WLAN从入门到精通-基础篇】第10期——WLAN安全策略 (huawei.com)

WPA3也不安全啦?H2E了解一下_DX11的博客-CSDN博客_wpa3抓包

本期话题:WAPI技术简介 - WLAN技术专栏 - 技术甜甜圈 - 新华三集团-H3C

WIFI基础入门–802.11–成帧细节(管理帧)–5_佛戏人生的博客-CSDN博客

WAPI - S5720HI V200R011C10 配置指南-WLAN-AC - 华为 (huawei.com)