对WAPI证书鉴别的安全性分析与改进

时间:2022-08-23 06:27:43

对WAPI证书鉴别的安全性分析与改进

摘要:wapi是国内第一个的无线局域网标准。该文对WAPI中的证书鉴别过程进行了安全性分析,并对其中的安全缺陷提出了改进方案,使协议达到预期的安全目标。

关键词:无线局域网;WAPI;WAI;安全分析

中图分类号:TP393文献标识码:A文章编号:1009-3044(2009)13-3405-02

1 WAPI概述

无线局域网鉴别与保密基础结构WAPI(WLAN Authentication and Privacy Infrastructure)是中国无线局域网国家标准GB15629.11[1]提出的用来实现无线局域网中的鉴别和加密的机制,是针对IEEE802.11中WEP协议的安全问题提出的WLAN安全解决方案。WAPI是由无线局域网鉴别基础结构WAI和无线局域网保密基础结构WPI组成,其中WAI包括安全策略的发现与协商、证书鉴别和密钥协商两部分,实现对用户的身份鉴别;WPI包括密钥封装协议和密码算法两部分,实现通信数据的加密传输。

2 WAI的工作原理及描述

WAI的工作原理如图1所示,整个系统由鉴别请求者实体(STA),接入点(AP),鉴别服务实体(ASE)组成。各部分定义如下:

STA(authentication supplicant entity):在接入服务之前请求进行鉴别操作的实体。该实体驻留在 STA中。(下文以STA标识)

AP(access point): 任何一个具备站点功能,通过无线媒体为关联的站点提供访问分布式服务的实体。

ASE(authentication service entity):为鉴别器和鉴别请求者提供身份鉴别服务的实体。主要功能是负责证书的发放。、验证与吊销等,是实现电子信息交换的核心。该实体驻留在ASU中。(下文以ASU标识)。

2.1 符号说明

Ca:STA的证书;

Cb:AP的证书Ra:ASU对STA证书的鉴别结果;

Rb:ASU对AP证书的鉴别结果;

Na:STA产生的随机数;

Nb :AP产生的随机数;

Pa:STA的临时公钥;

Pb:AP的临时公钥;

Ka:STA的公钥;

Kb:AP的公钥;

Kasu:ASU的公钥;

Ka-1:STA的私钥;

Kb-1:AP的私钥;

Kasu-1:ASU的私钥;

Sig(X,m):用密钥X对消息M进行签名;

ADDID:由MACAE||MACASUE 组成;

ECDH:ECDH参数;

2.2 安全接入过程描述

当 STA关联或重新关联至 AP/STA,STA 和 AP选择采用证书鉴别及密钥管理方法,或 AP 的本地策略要求重新进行证书鉴别过程,或 AP 收到 STA的预鉴别开始分组时,AP 向 STA发送鉴别激活分组激活 STA进行双向证书鉴别。若鉴别成功 ,则AP允许 STA 接入 ,否则解除其关联。安全接入由证书鉴别和密钥协商两部分组成。证书鉴别过程如下:

消息1:鉴别激活

APSTA:ID, Cb,ECDH

AP向STA发送鉴别激活请求以启动整个鉴别过程。

消息2:接入鉴别请求

STAAP: Sig( Ka-1,ID,Ca, Na, Pa,ECDH,Ta)

STA 接收到由 AP 发送的鉴别激活请求后,进行如下处理: STA 检查鉴别激活分组中标识字段;检查鉴别激活分组中鉴别标识字段与上一次证书鉴别过程中保存的鉴别标识是否一致;根据鉴别激活分组中的 AP 信任的 ASU 身份选择由该 ASU 颁发的证书或本证书,产生用于 ECDH 交换的临时私钥 x、临时公钥 P 和其 STA 挑战,生成接入鉴别请求分组,发送给 AP。

消息3:证书鉴别请求

APASU: Sig( Kb-1,ADDID,Ca , Cb,Na,Nb,Ta)

AP 收到 STA 发来的接入鉴别请求分组后,进行如下处理:检查鉴别标识字段相关值是否符合要求;检查 STA的身份字段是否与自己的身份一致,以及 ECDH参数字段是否与自己在鉴别激活分组中的 ECH 参数是否一致;验证 STA 签名;然后 AP 生成证书鉴别请求分组,发往ASU。

消息4:证书鉴别响应

ASUAP: Sig( Kasu-1,ADDID,{Ca ,Ra},{Cb,Rb},Ta)

ASU收到证书鉴别请求分组后,进行如下处理: ASU参照 RFC3280 验证 STAAE 证书和 STAASUE 证书;根据 STA证书和 STA 证书的验证结果,构造证书鉴别响应分组,并且附加相应的签名发往 AP。

消息5:接入鉴别响应

APSTA: Sig( Kb-1,ADDID, Pa,Pb,Na,Nb,{Ca ,Ra},{Cb,Rb},Ta)

AE 收到证书鉴别响应分组后,进行如下处理:

a) 根据 ADDID 确定对应的证书鉴别请求分组,检查证书的验证结果字段中的第一个一次性随机数值与自己在证书鉴别请求分组中的 AP的挑战是否相同;查找自身所信任的 ASU的签名,验证其签名;若 STA 证书鉴别结果成功,本地生成用于ECDH交换的临时私钥 y和临时公钥 y? P,使用自己的临时私钥 y和 STA 的临时公钥 x? P进行ECDH 计算,并进行KD-HMAC-SHA256扩展,得到基密钥 BK。构造接入鉴别响应分组发送给 STA。

STA 收到接入鉴别响应分组后,进行如下处理: 根据传入的数据字段进行某些验证操作(略); 验证 AP的签名;验证该接入鉴别响应分组中的接入结果;检查 AP 证书的鉴别结果是否有效。STA 使用自己的临时私钥 x 和AP 的临时公钥y・P进行ECDH 计算,并进行KD-HMAC-SHA256扩展,生成基密钥 BK。

3 安全性分析

经过分析发现,AP向STA发送的鉴别激活分组中没有相应的有效身份信息,即数据信息为空,因此伪造AP向 STA发送鉴别激活分组骗取信任十分容易。中间人通过伪AP进行非法攻击。如图2详细攻击过程描述如下:

1) Attacker监测通信信道,截获AP发送给STA的鉴别激活请求。

2) Attacker假冒AP发送鉴别激活分组。从以上分析可以知道,鉴别激活分组中只包含AP证书,ECDH等信息,并没有进行签名,也没有时间戳机制。因此,STA认为收到的信息来自合法的AP。

3) STA向Attacker发送接入鉴别请求分组,将自己的证书以及系统时间用私钥加密后发给Attacker。

4) Attacker收到STA发来的接入鉴别请求转发给AP。

5) AP收到Attacker发来的接入鉴别请求后,通过验证STA证书以及ECDH参数认为Attacker是合法STA。构造证书鉴别请求发送给ASU。

6) ASU收到AP的证书认证请求,验证AP的签名和证书的有效性后,再验证STA证书的有效性。由于此STA的证书、AP证书是真实的,故ASU对STA、AP的鉴别结果为true,并构造证书鉴别响应分组发回AP。

7) AP从ASU返回的证书鉴别响应中得到的证书鉴别结果为STA是合法的,因此构造接入鉴别响应发送给Attacker。

8) Attacker收到接入鉴别响应后,将数据分组转发给STA,STA用AP的公钥解密后,获取对AP的鉴别结果 true,因此信任AP。

AP随后发起密钥协商请求,将没有签名的数据分组发送给Attacker。Attacker收到分组后,可以与STA进行密钥协商,并进行通信。从而形成伪AP攻击。

4 对证书鉴定过程的改进方案

从分析中间人攻击可以看出,造成WAI安全隐患的根源在于STA和AP间没有直接认证机制。为解决这一问题,本文提出WAI协议的改进方案。

AP向STA发送鉴别激活分组激活STA进行证书鉴别过程,该分组中加入系统时间及AP对它们的签名。加入系统时间保证了签名的变化性,使Attacker不能截获此数据并加以利用;加入AP签名后,即使Attacker截获此数据,由于签名数据具有不可逆性,因此Attacker不能利用此数据假冒AP与STA进行通行,从而保障了STA与AP的鉴别结果互信。

5 总结

WAPI是我国自主研发的WLAN标准,它在我国的协议标准制定和无线通信安全等领域是一个里程碑。本文指出了WAI的证书鉴别过程存在的伪AP攻击,并提出了改进方案。改进方案弥补了安全缺陷,提高了协议的抗攻击能力。

参考文献:

[1] RFC2828.Internet Security G lossary[S].Intenet Engineering Task force,2000.

[2] 罗作民,秦严,土锋,等.基于双策略的WAPI协议改进[J].计算机应用,2009(2).

[3] 张帆,马建峰.WAPI实施方案的安全性分析[J].西安电子科技大学学报,2005(4).

[5] 林秀春,全春来,王清理.基于效率提高和安全性完善的WAPI标准改进实现[J].计算机工程与设计,2006(3).

[7] 周庆忠,赵海霞.无线局域网的安全性与改进方法研究[J].微计算机信息,2006,9(1):202-204.

张永平(1958-),男,辽宁东沟人,中国矿业大学计算机科学与技术学院硕士生导师,副教授,研究方向:计算机网络,信息安全;

金卫华(1984-),男,四川广安人,中国矿业大学计算机科学与技术学院硕士研究生,研究方向:无线局域网安全;

陈宪超(1983-),男,山东菏泽人,徐州赫思曼有限公司工程师。

上一篇:基于RS-232数据自动采集系统 下一篇:基于语义的Web服务匹配算法研究