无线局域网鉴别与保密基础结构单播密钥协商方法及系统的制作方法

文档序号:7707022阅读:191来源:国知局
专利名称:无线局域网鉴别与保密基础结构单播密钥协商方法及系统的制作方法
技术领域
本发明涉及无线局域网(Wireless Local Area Networks,简称WLAN), 尤其涉及一种无线局域网鉴别与保密基础结构中的单播密钥协商方法及系统。
背景技术
无线局域网作为宽带无线IP (Internet Protocol,因特网协议)网络的 一种典型的实现形式,是指采用无线传输媒介的计算机局域网络,它能在难 以布线的区域进行通信,是传统有线局域网的重要补充。无线局域网技术是 计算机网络技术与无线通信技术相结合的产物,具有支持移动计算、架构灵 活快捷、维护所需费用较低和可扩展性好等优点,为通信的移动化和个人化 提供了手段。
随着全球信息化的逐步深入,网络安全的重要性越来越明显,因为信息 丟失、缺损和泄漏所造成的损失额度之大远远超出了人们的预测,因此各国 均将网络信息安全提升至国家安全战略的位置。
现有技术中的WAPI (无线局域网鉴别与保密基础结构)是一种提高无 线局域网的安全性的机制。WAPI将基于三元对等鉴别的访问控制方法应用 于无线局域网技术领域,以保障合法客户端通过合法接入点接入网络,并实 现客户端和接入点间的保密通信。
WAPI由无线局域网鉴别基础结构(WAI)和无线局域网保密基础结构 (WPI)两部分组成。
WAI是实现无线局域网中的身份鉴别和密钥管理的安全方案,用于完 成STA (STAtion,无线站点)和AP (Access Point,接入点)之间、STA 和STA之间的双向身份鉴别,并协商建立安全关联。其中,安全关联包含
>BKSA (基密钥安全关联)是证书鉴别过程协商的结果、或通过预 共享密钥(PSK)导出的结果;其中包含BK(基密钥)、BK/BKSA的生存 期等参数;
> USKSA (单播密钥安全关联)是单播密钥协商(基于BK协商)的 结果;其中包含USK (单播密钥)、USK/USKSA的生存期等参数;
> MSKSA (组播会话密钥安全关联)是组播密钥通告的结果;其中 包含MSK (组播会话密钥)、MSK/MSKSA的生存期等参数;
>STAKeySA (站间密钥安全关联)是站间密钥通告的结果,其中包 含STAKey (站间密钥)等参数。
在WAPI中,采用两种方式导出BK,分别是在证书鉴别过程中协商、 或由预共享密钥直接导出。导出BK后,通信双方(例如,STA和AP)可 以使用BK进行单播密钥(USK)的协商,单播密钥协商完毕后,通信双方 使用单播密钥进行数据的传输保护。
图l是现有技术中的单播密钥的协商方法流程图,包括如下步骤
101: AP向STA发送单播密钥协商请求分组;
单播密钥协商请求分组中包含BKID、 ADDID和Ni等参数,其中
BKID为AP和STA先前协商得到基密钥BK的标识符;
ADDID由AP和STA的MAC ( Media Access Control,介质访问控制) 地址组成;
K为AP生成的随才几数。
102:接收到单播密钥协商请求分组后,STA生成随机数N2,然后计算
Ke"KD誦HMAC國SHA256(BK,ADDIDIIN,IIN2llString);其中
BK为上述BKID所标识的基密钥;KD-HMAC-SHA256为基于SHA256 算法的HMAC ( Hashed Message Authentication Code,散列信息认证码)算 法,也就是一种带密钥(以BK为密钥)的HASH (哈希)算法;String为 一预先设置的字符串(比特串),当前标准中为"pairwise key expansion forunicast and additional keys and nonce" ; "||,,表示字符串(比特串)连接才喿 作,"ADDIDII凡IIN2llString"为KD-HMAC-SHA256算法所使用的字符参数。
计算得到Key后,STA将其中的一部分(例如,前16个字节)作为单 播密钥USK。图1中以T (.)表示从Key中提取(或称为截取)部分字符串 (比特串)的操作。
103: STA向AP发送单播密钥协商响应分组;
单播密钥协商响应分组中包含BKID、随机数N2等参数。
104: AP接收到单播密钥协商响应分组后计算
Ke尸KD國画AC-SHA256(BK,ADDIDIINillN2llString),并从中提取USK。 105: AP向STA发送单播密钥协商确认分组,结束单播密钥的协商流程。
WPI是用于实现无线局域网中数据传输保护的安全方案,包括使用WAI 过程中协商出的各密钥进行数据加密、数据鉴别和重》文保护等功能。
WPI保密基础结构对MAC子层的MPDU( MAC层协议数据单元,MAC protocol data unit)进行力口、解密处理,4旦对于WAI协议分组不进行加解密 处理。WPI中采用的分组密码算法为SMS4 (称为WPI-SMS4) , WPI-SMS4 工作在OFB ( output feedback,输出反馈)才莫式,如图2a和图2b所示。其 中,图2a为WPI采用的OFB加密模式示意图,图2b为WPI采用的OFB 解密模式示意图。
如图2a和图2b所示,采用OFB模式对信息进行分组加解密时,在每 次加解密开始时对第一个分组需要使用IV (Initialization Vector,初始化向 量)。IV的初值通常由加密方以明文方式传送给解密方,并且在加解密过 程中按照预先设定的规则变化(例如,以固定步长递增),以尽量避免相同 的信息使用相同的IV进行加密。
但是,由于IV的长度需要与分组加密算法的分组长度相同,因此很难 通过增加IV长度的方式来降低IV重复使用的概率,也就是说很难避免重复 使用IV。在这种情况下,由于IV的初值采用明文的方式由加密方发送给解 密方,或者由加密方和解密方按照易于猜测的固定规则设置(例如,双方都将IV的初值设置为O),随后在加解密过程中按照固定的规则变化,IV溢 出时发送方重新设置IV的初值,再次将IV的初值发送给解密方;因此只要 有足够的时间,窃听者就很容易识别并截获到足够多的使用相同IV的加密 数据,这对无线局域网的安全造成了较大的威胁。

发明内容
本发明所要解决的技术问题是,克服现有技术的不足,提供一种可提高 无线局域网安全性的单播密钥的协商方法及系统。
为了解决上述问题,本发明提供一种无线局域网鉴别与保密基础结构单 播密钥协商方法,通信节点A和通信节点B协商得到基密钥BK后,该方 法包括
通信节点A生成随机数sx和Nl5并将N,和PX包含在单播密钥协商请 求分组中发送给通信节点B;其中,PX=gsx(modP);
接收到单播密钥协商请求分组后,通信节点B生成随机数sy和N2,将 BK、Ni和N2作为参数,采用散列信息认证码HMAC算法生成单播密钥USK, 并将PY和N2包含在单播密钥协商响应分组中发送给通信节点A,其中, PY=gsy(mod P);
接收到单播密钥协商响应分组后,通信节点A生成所述单播密钥USK;
通信节点A和通信节点B使用K=(PY)sx(mod P)=(PX)sy(mod P)生成分组 加解密过程中使用的初始化向量IV的初值;
其中,P和g为正整数,且P〉g。
此外,通信节点A和通信节点B从所述K或所述K的变换序列中提耳又 N个比特作为IV的初值;其中,N为通信节点A和通信节点B之间所采用 的分组加密算法分组长度。
此外,通信节点A和通信节点B还从所述K或所述K的变换序列中提 取L个比特作为IV的变换次数值S; L<N。
此外,通信节点A和通信节点B采用如下方式生成所述K的变换序列
Str:St产T(K);或
St产T(K)||String;或
St产ADDIDII T(K川String;
其中,T(K)表示从K对应的比特串中截取预先设定长度的比特串,||表 示比特串连接操作,String为通信节点A和通信节点B预先设定的比特串; ADDID由通信节点A和通信节点B的介质访问控制地址对应的比特串连才妄 而成。
此外,所述P为质数。
此外,所述通信节点A和通信节点B分别为接入点AP和无线站点 STA;或STA和AP;或AP和AP;或STA和STA。
本发明还提供一种无线局域网鉴别与保密基础结构单播密钥协商系统, 该系统包含通信节点A和通信节点B,其特征在于,通信节点A中设置 有密钥生成单元A和通信单元A,通信节点B中设置有密钥生成单元B和 通信单元B,其中
所述密钥生成单元A用于生成随机数sx和N!,并将M和PX包含在单 播密钥协商请求分组中,通过通信单元A发送给所述通信节点B;其中, PX=gsx(mod P);
所述密钥生成单元B用于在通过通信单元B接收到所述单播密钥协商 请求分组后,生成随机数sy和N2,将BK、 Ni和N2作为参数,采用散列信 息认证码HMAC算法生成单播密钥USK,并将PY和N2包含在单播密钥协 商响应分组中,通过通信单元B发送给所述通信节点A,其中,PY= gsy(mod
p);
所述密钥生成单元A还用于在通过通信单元A接收到单播密钥协商响 应分组后,生成与通信节点B所述单播密钥USK;
所述密钥生成单元A和密钥生成单元B还用于使用K=(PY)sx(mod P"(PX)sy(modP)生成分组加解密过程中使用的初始化向量IV的初值;
其中,P和g为正整H且P〉g。此外,所述密钥生成单元A和密钥生成单元B从所述K或所述K的变 换序列中提取N个比特作为IV的初值;其中,N为通信节点A和通信节点 B之间所采用的分组加密算法分组长度。
此外,所述密钥生成单元A和密钥生成单元B还用于从所述K或所述 K的变换序列中提取L个比特作为IV的变换次数值S; L<N。
此外,所述通信节点A和通信节点B分别为AP和STA;或STA和 AP;或AP和AP;或STA和STA。
综上所述,采用本发明的方法及系统,通信节点之间(例如AP和STA 之间)协商生成了相同的IV以及IV的变换次数值S,并且生成IV和S所 用的关键参数之一 K值是采用Diffie-Hellman算法的原理秘密协商得到的。 这样,由于IV值没有明文传输,窃听者无法获知各数据包所对应的IV值, 并且不知道经过多少个数据包后会出现重复的IV,因此也不知道哪些数据 包对应相同的IV值,增大了窃听者破解密钥的难度,提高了WAPI的安全 性。


图l是现有技术中的单播密钥的协商方法流程图2a为现有技术中WPI采用的OFB加密模式示意图2b为现有技术中WPI采用的OFB解密模式示意图3是本发明实施例单播密钥的协商方法流程图4是本发明实施例无线局域网鉴别与保密基础结构单播密钥协商系 统结构示意图。
具体实施例方式
本发明的核心思想是,在进行单播密钥的协商时,通信双方分别生成 Diffie-Hellman算法所使用的临时公钥PX和PY,并交换PX值和PY值;然 后分别4吏用对应的临时私钥sx和sy、采用Diffie-Hellman算法的原理生成相同的IV的初值。
下面将结合附图和实施例对本发明进行详细描述。
图3是本发明实施例单播密钥的协商方法流程图,本实施例中的通信双 方(通信节点A和通信节点B )分别为AP和STA,在AP和STA通过证书 鉴别过程协商得到基密钥BK、或通过预共享密钥直接导出BK后,由AP 发起单播密钥的协商流程;该方法包括如下步骤
301: AP采用与STA预先协商设置的Diffie-Hellman算法参数P和g, 以及AP生成的随机数sx,计算PX = gsx(mod P);
其中,P和g为整数,且P〉g; mod表示取模运算。
为了进一步提高安全性,P通常为大质数,因此可以将P称为 Diffie-Hdlman算法的质数参数,而将g称为Diffie-Hdlman算法的底数参数。
302: AP向STA发送单播密钥协商请求分组;
单播密钥协商请求分组中包含BKID、 ADDID、 N!和PX等参数。其

BKID为AP和STA先前协商得到基密钥BK的标识符;
ADDID由AP和STA的MAC (Media Access Control,介质访问控制) 地址组成;
M为AP生成的随机数。
303:接收到单播密钥协商请求分组后,STA釆用步骤102中描述的方 式生成USK;并生成随机数sy,计算并存储IV参数K=(PX)sy(mod P);
后续加解密双方进行分组加解密时,可以从K中提取N个比特作为IV 初值,L个比特作为IV的变换次数值S;其中,N-分组加密算法的分组长 度,且L〈N〈K的比特数。
也就是说,在加解密过程中,加解密双方可以按照固定的步长(例如1 ) 循环递增或递减IV,但是递增或递减的次数不能超过S。
例如,以IV长度为4个比特为例,如果协商得到的IV为1100, S=4, 则在加解密过程中IV可以按照如下规律循环递增1100—1101—1110—1111—0001。
当然,加解密双方也可以不协商IV的变换次数值S,当IV溢出时重新 使用上述IV初值。由于窃听者不知道IV初值,因此也无法获知经过多少个 数据包后会出现重复的IV值。
此外,也可以对IV参数K进行函数变换生成变换序列Key,然后从变 换序列Key中提取IV的初值以及S值。
例如,可以采用如下子步骤生成IV:
303a:计算Key=KD-HMAC-SHA256(BK, K);
303b:从Key中提取N个比特(例如前N个比特)作为IV。
当然,同样的方法也可以用于生成S值。
304: STA计算PY = gsy(modP),并向AP发送单播密钥协商响应分组;
单播密钥协商响应分组中包含STA生成的随机数N2、 BKID, PY等 参数。
可选的,单播密钥协商响应分组中还可以包含底数参数更新标识,该标 识用于指示AP是否应在本次生成单播密钥/IV初值后更新底数参数g。例如 当底数参数更新标识的值为0时,表示不更新底数参数;当底数参数更新标 识的值为1时,表示更新底数参数。
此外,底数参数更新标识还可以用于指示更新后的底数参数g的位数或 位数的范围。例如当底数参数更新标识的值为0时,表示不更新底数参数; 当底数参数更新标识的值为1时,表示更新后的底数参数g为长度为8~ 10 比特的值;当底数参数更新标识的值为2时,表示更新后的底数参数g为长 度为11 ~ 13比特的值,以此类推。
STA可以根据本地的计算能力和对安全性的要求设置底数参数更新标 识的值,即设置是否更新底数参数g以及更新后的位数。
305:接收到单播密钥协商响应分组后,AP计算并存储IV参数K'= (PY)sx(modP);然后采用与步骤303相同的算法生成IV,和变换次数值S,。
需要注意的是,根据模运算的规则可知,由于K'= (PY)sx(mod P) =(gsy(modP))sx(modP) =(gsy x sx)(m0d P) =(gsx)(modP)sy(mod P) =(PX)sy(mod P)= K; 因此,IV'=IV, s,=s。
306: AP 4艮据单播密钥协商响应分组中携带的底数参数更新标识判断是 否需要更新底数参数g,并根据本地的计算能力和对安全性的要求判断是否 支持STA的底数参数更新要求;如果支持,则AP在确定更新后的底数参数 g的位数后,按照预先设置的规则从计算得到的Key值(以二进制表示)中 选取对应个数的比特值组成新的底数参数g。
307: AP向STA发送单播密钥协商确认分组;
单播密钥协商确认分组中可以包含底数参数更新确认标识,该标识用于
表示是否已更新底数参数g,并可以进一步表示更新后的底数参数g的位数。 例如
当底数参数更新确认标识的值为0时,表示未更新底数参数,当底数参 数更新确认标识的值为l时,表示已更新底数参数;或者当底数参数更新 确认标识的值为0时,表示未更新底数参数,当底数参数更新确认标识的值 为9时,表示更新后的底数参数g的长度为9比特,以此类推。
308:接收到单播密钥协商确认分组后,STA根据底数参数更新确认标 识采用与AP相同的方式对底数参数g进行更新。
综上所述,采用以上步骤,AP和STA协商生成了相同的IV以及IV的 变换次数值S,并且生成IV和S所用的关键参数之一 K值是采用 Diffie-Hellman算法的原理秘密协商得到的。这样,由于IV值没有明文传输, 窃听者无法获知各数据包所对应的IV值,并且不知道经过多少个数据包后 会出现重复的IV,因此也不知道哪些数据包对应相同的IV值,增大了密钥 的破解难度,提高了WAPI的安全性。图4是本发明实施例无线局域网鉴别与保密基础结构单播密钥协商系 统结构示意图,该系统包含通信节点A和通信节点B,通信节点A中设 置有密钥生成单元A和通信单元A,通信节点B中设置有密钥生成单元B 和通信单元B。
通信节点A和通信节点B分别为AP和STA;或STA和AP;或AP 和AP;或STA和STA。
所述密钥生成单元A用于生成随机数sx和NP并将和PX包含在单 播密钥协商请求分组中,通过通信单元A发送给所述通信节点B;其中, PX=gsx(mod P);
所述密钥生成单元B用于在通过通信单元B接收到所述单播密钥协商 请求分组后,生成随机数sy和N2,将BK、 Ni和N2作为参数,采用散列信 息认证码HMAC算法生成单播密钥USK,并将PY和N2包含在单播密钥协 商响应分组中,通过通信单元B发送给所述通信节点A,其中,PY=gsy(mod
p);
所述密钥生成单元A还用于在通过通信单元A接收到单播密钥协商响 应分组后,生成与通信节点B所述单播密钥USK;
所述密钥生成单元A和密钥生成单元B还用于使用K=(PY)sx(mod P)-(PX)sy(modP)生成分组加解密过程中使用的初始化向量IV的初值。
其中,P和g为正整数,且P〉g。
此外,所述密钥生成单元A和密钥生成单元B从所述K或所述K的变 换序列中提取N个比特作为IV的初值;其中,N为通信节点A和通信节点 B之间所采用的分组加密算法分组长度。
此外,所述密钥生成单元A和密钥生成单元B还用于从所述K或所述 K的变换序列中提取L个比特作为IV的变换次数值S; L<N。
根据本发明的基本原理,上述实施例还可以有多种变换方式,例如 (一)AP和STA还可以使用更复杂的变换方式生成变换序列Key,如首先对K进行字符变换令Str=T(K)||String,或令Str= ADDID|| T(K)IIString,然后再计算Key=KD-HMAC-SHA256(BK, Str)。
其中,T("为截取操作函数,表示从K中截取预先设定的长度的比特串。 上述T(K)可以是从按顺序(从前到后、或从后向前)从K对应的比特串中 截取预先设定的长度的比特串,也可以是从预先设定的比特位置从K对应 的比特串中截取预先设定的长度的比特串。
(二) 除了从K或K的各种变换序列中提取出IV的初值外,也可以将 K或K的变换序列作为参数,直接使用哈希函数生成特定长度的IV初值。
(三) 使用本发明的方法在通信双方生成K时所采用的参数P通常为 大质数,但如果对IV初值的安全性要求不高的话,P也可以是一个小质数, 或一个大于g的正整数。
权利要求
1、一种无线局域网鉴别与保密基础结构单播密钥协商方法,其特征在于,通信节点A和通信节点B协商得到基密钥BK后,该方法包括通信节点A生成随机数sx和N1,并将N1和PX包含在单播密钥协商请求分组中发送给通信节点B;其中,PX=gsx(mod P);接收到单播密钥协商请求分组后,通信节点B生成随机数sy和N2,将BK、N1和N2作为参数,采用散列信息认证码HMAC算法生成单播密钥USK,并将PY和N2包含在单播密钥协商响应分组中发送给通信节点A,其中,PY=gsy(mod P);接收到单播密钥协商响应分组后,通信节点A生成所述单播密钥USK;通信节点A和通信节点B使用K=(PY)sx(mod P)=(PX)sy(mod P)生成分组加解密过程中使用的初始化向量IV的初值;其中,P和g为正整数,且P>g。
2、 如权利要求l所述的方法,其特征在于,通信节点A和通信节点B从所述K或所述K的变换序列中提取N个比 特作为IV的初值;其中,N为通信节点A和通信节点B之间所采用的分组 加密算法分组长度。
3、 如权利要求2所述的方法,其特征在于,通信节点A和通信节点B还从所述K或所述K的变换序列中提取L个 比特作为IV的变换次数值S; L<N。
4、 如权利要求2或3所述的方法,其特征在于,通信节点A和通信节点B采用如下方式生成所述K的变换序列Str:Str=T(K);或Str= T(K)| I String;或Str= ADDIDII T(K川String;其中,T(K)表示从K对应的比特串中截取预先设定长度的比特串,||表示比特串连接操作,String为通信节点A和通信节点B预先设定的比特串; ADDID由通信节点A和通信节点B的介质访问控制地址对应的比特串连接 而成。
5、 如权利要求l所述的方法,其特征在于, 所述P为质数。
6、 如权利要求l所述的方法,其特征在于,所述通信节点A和通信节点B分别为接入点AP和无线站点STA; 或STA和AP;或AP和AP;或STA和STA。
7、 一种无线局域网鉴别与保密基础结构单播密钥协商系统,该系统包 含通信节点A和通信节点B,其特征在于,通信节点A中设置有密钥生 成单元A和通信单元A,通信节点B中设置有密钥生成单元B和通信单元 B,其中所述密钥生成单元A用于生成随机数sx和NP并将&和PX包含在单 播密钥协商请求分组中,通过通信单元A发送给所述通信节点B;其中, PX=gsx(mod P);所述密钥生成单元B用于在通过通信单元B接收到所述单播密钥协商 请求分组后,生成随机数sy和N2,将BK、 Ni和N2作为参数,采用散列信 息认证码HMAC算法生成单播密钥USK,并将PY和N2包含在单播密钥协 商响应分组中,通过通信单元B发送给所述通信节点A,其中,PY=gsy(modp);所述密钥生成单元A还用于在通过通信单元A接收到单播密钥协商响 应分组后,生成与通信节点B所述单播密钥USK;所述密钥生成单元A和密钥生成单元B还用于使用K=(PY)sx(mod P)=(PX)sy(modP)生成分组加解密过程中使用的初始化向量IV的初值;其中,P和g为正整凄史,且P〉g。
8、 如权利要求7所述的系统,其特征在于,所述密钥生成单元A和密钥生成单元B从所述K或所述K的变换序列 中提取N个比特作为IV的初值;其中,N为通信节点A和通信节点B之间 所采用的分组加密算法分组长度。
9、 如权利要求8所述的系统,其特征在于,所述密钥生成单元A和密钥生成单元B还用于从所述K或所述K的变 换序列中提取L个比特作为IV的变换次数值S; L<N。
10、 如权利要求7所述的系统,其特征在于,所述通信节点A和通信节点B分别为AP和STA;或STA和AP;或 AP和AP;或STA和STA。
全文摘要
一种无线局域网鉴别与保密基础结构单播密钥协商方法,通信节点A和通信节点B协商得到基密钥BK后,通信节点A生成随机数sx和N<sub>1</sub>,并将N<sub>1</sub>和PX=g<sup>sx</sup>(mod P)包含在单播密钥协商请求分组中发送给通信节点B;接收到单播密钥协商请求分组后,通信节点B生成随机数sy和N<sub>2</sub>,将BK、N<sub>1</sub>和N<sub>2</sub>作为参数,采用HMAC算法生成单播密钥USK,并将PY=g<sup>sy</sup>(modP)和N<sub>2</sub>包含在单播密钥协商响应分组中发送给通信节点A;接收到单播密钥协商响应分组后,通信节点A生成所述单播密钥USK;通信节点A和通信节点B使用(PY)<sup>sx</sup>(mod P)生成初始化向量IV的初值;其中,P和g为正整数,且P>g。
文档编号H04W84/12GK101527905SQ20091013373
公开日2009年9月9日 申请日期2009年4月8日 优先权日2009年4月8日
发明者建 刘 申请人:建 刘
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1