专利名称:一种预共享密钥的更新方法及系统的制作方法
技术领域:
本发明涉及无线局域网(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的生存 期等参数;
5> USKSA (单播会话密钥安全关联)是单播密钥协商(基于BK协商) 的结果;其中包含USK (单播会话密钥)、USK/USKSA的生存期等参数;
> MSKSA (组播会话密钥安全关联)是组播密钥通告的结杲;其中 包含MSK (组播会话密钥)、MSK/MSKSA的生存期等参数;
>STAKeySA (站间密钥安全关联)是站间密钥通告的结果,其中包 含STAKey (站间密钥)等参数。
WPI是用于实现无线局域网中数据传输保护的安全方案,包括使用WAI 过程中协商出的各密钥进行数据加密、数据鉴别和重放保护等功能。
在WAPI中,采用两种方式导出BK,分别是在证书鉴别过程中导出、 或由预共享密钥直接导出。因此预共享密钥的安全性直接影响WAPI的安全 性。
现有技术中,预共享密钥通常由用户分别在终端和AP ( Access Point, 接入点)上手工设置和更新。手工更新预共享密钥具有以下缺点
1、 由于AP通常都没有键盘、屏幕等输入/输出设备,因此通常需要在 与AP相连的PC (个人电脑)上更新AP中的预共享密钥,安全性很难保证, 并且操作复杂;
2、 无法实现预共享密钥的频繁、动态更新。
为了实现密钥的自动生成/更新,并保证密钥不在不安全的网络中进行 传输,现有技术通常采用Di伍e-Hellman密钥交换算法进行密钥的秘密协商。
下面将对Diffie-Hellman密钥交换算法进行简要的描述。
图1是现有技术中的Diffie-Hellman密钥交换算法的流程图,如图1所 示,当WLAN中的节点A和节点B (例如,AP和STA)要进行保密通信 时,可以按如下步骤进行密钥的秘密协商
5101:节点A和节点B预先设定DH算法参数P和g; P和g为整数, 且P〉g;
为了提高安全性,P通常为大质数,g通常为P的原根(primitive root), 因此可以将P称为Diffie-Hellman密钥交换算法的质数参数,将g称为 Diffie-Hellman密钥交换算法的原根参数;P和g都是公开的Di伍e-Hellman
算法参数。
102:节点A选取随机数sx,并计算PX-gSx(modP); 其中mod表示取模运算。
103:节点B选取随机数sy,并计算PY = gsy(mod P);
104:节点A和节点B进行PX值和PY值的交换,即节点A将PX值 发送给节点B,节点B将PY值发送给节点A;
105:节点A计算基密钥K= (PY)sx(mod P);节点B计算密钥 K'=(PX)sy(mod P);
根据模运算的规则可知
K=(PY)sx(mod P)
=(gsy(modP))sx(modP)
=(gsy x sx)(m0d P)
=(gsx)(modP)sy(modP) =(PX)sy(mod P)= K'。
可见,在步骤105中,节点A和节点B协商出了共同的密钥。
Diffie-Hellman密钥交换算法虽然在理论上尚无法证明其安全性,但由 于该算法是基于离散对数难题,因此目前被认为是一种安全的密钥交换算 法。但是,为了保证Diffie-Hellman密钥交换算法的安全性,其中的质数参 数P通常需要是512 Bit (比特)以上的大质数,因此计算量非常大,通常 需要专用的芯片实现,增加了设备成本
发明内容
本发明所要解决的技术问题是,克服现有技术的不足,提供一种预共享 密钥的更新方法及系统,以便在不增加设备成本的前提下实现安全、快捷地 更新预共享密钥的目的。
为了解决上述问题,本发明提供一种预共享密钥的更新方法,该方法包
括
通信双方将待更新的预共享密钥所对应的素质数作为Diffie-Hellman密 钥交换算法的质数参数P;
通信双方使用所述质数参数P、小于所述质数参数P的正整数g、以及 各自生成的随机数sx和sy,分别计算PX二gSx(modP)和PY-gSy(modP);
通信双方交换PX值和PY值,并将(PY)sx(mod P)= (PX)sy(mod P)作为新 的预共享密钥。
此外,所述g为所述质数参数P的原根。
此外,所述待更新的预共享密钥所对应的素质数是大于所述待更新的 预共享密钥的最小素质数、或小于所述待更新的预共享密钥的最大素质数、 或与所述待更新的预共享密钥差值最小的素质数。
此外,所述通信双方分别在关联请求和关联响应中交换所述PX值和PY 值、或在重新关联请求和重新关联响应中交换所述PX值和PY值、或在链 路验证请求和链路验证响应中交换所述PX值和PY值,并将(PY)sx(mod P)= (PX)sy(mod P)作为新的预共享密钥。
此外,在所述待更新的预共享密钥超过预先设定的生存期后,所述通信 双方中的一方向另一方发送携带预共享密钥更新标识以及所述PX值的消 息;
所述另 一方接收到所述携带预共享密钥更新标识的消息后,发送所述 PY值。
此外,所述通信双方为接入点和无线站点、或接入点和接入点、或无 线站点和无线站点。
本发明还提供一种预共享密钥的更新系统,该系统包含第 一通信节点和第二通信节点,其特征在于,第一通信节点和第二通信节点中包含存储单 元、密钥更新单元和通信单元;其中
第 一通信节点和第二通信节点的存储单元用于存储预共享密钥;
第一通信节点和第二通信节点的密钥更新单元用于分别从第一通信节 点和第二通信节点的存储单元中获取待更新的预共享密钥,将该待更新的预 共享密钥所对应的素质数作为Diffie-Hellman密钥交换算法的质数参数P, 并使用所述质数参数P、小于所述质数参数P的正整数g、以及各自生成的 随机数sx和sy,分别计算PX = gsx(mod P)和PY = gsy(mod P);并分别通 过第 一通信节点和第二通信节点的通信单元交换PX值和PY值;
第一通信节点和第二通信节点的密钥更新单元分别从第一通信节点和 第二通信节点的通信单元获得PY值和PX值后,将(PY广(mod P)= (PX)sy(mod P)作为新的预共享密钥。
此外,所述g为所述质数参数P的原根。
此外,所述待更新的预共享密钥所对应的素质数是大于所述待更新的 预共享密钥的最小素质数、或小于所述待更新的预共享密钥的最大素质数、 或与所述待更新的预共享密钥差值最小的素质数。
此外,所述第一通信节点和第二通信节点分别为接入点和无线站点、 或无线站点和接入点、或接入点和接入点、或无线站点和无线站点。
综上所述,本发明通过对用于DH交换的质数参数P的动态调整,使得 DH交换增加了 一个不公开的参数,并且新的质数参数P是根据原共享密钥 的值选择得到的,因此增大了质数参数P的随机性和动态范围;进而在质数 参数P较小(DH交换的计算量也会相应地减小)的情况下也能保证一定的 安全性。
图1是现有技术中的Diffie-Hellman密钥交换算法的流程图; 图2是本发明实施例预共享密钥的更新方法流程图;图3是本发明实施例预共享密钥的更新系统结构示意图。
具体实施例方式
本发明的核心思想是,利用Diffie-Hellman密钥交换算法(以下简称DH 交换)的基本原理进行预共享密钥的更新,并在每次使用DH交换时更新质 数参数P,以便在使用较小的P值的前提下,即可实现较为安全的DH交换。
下面将结合附图和实施例对本发明进行详细描述。
图2是本发明实施例预共享密钥的更新方法流程图;本实施例中,假定 待更新的预共享密钥为PSK0,该共享密钥可以是用户手工输入的密钥,也 可以是上一次更新的密钥;通信双方节点分别为STA (例如,移动终端)和 AP。如图2所示,该方法包括如下步骤
201: STA向AP发送4笨询请求;
202: AP向STA返回纟果询响应;
探询响应帧中包含WAPI信息元素(具体格式详见WAPI标准文档)。 本实施例中,WAPI信息元素中包含的鉴别和密钥管理套件为WAI预共享 密钥鉴别和密钥管理,即AP指定采用预共享密钥导出BK。
203: STA向AP发送链路验证请求;
204: AP向STA返回链路验证响应;
205: STA选择PSKO所对应的素质数(即大于2的质数)作为新的、 用于DH交换的质数参数P,并选择质数参数P的原根参数g;
其中,PSKO所对应的质数参数P可以是大于PSK0的最小素质数、 或大于PSK0且大于某一预先设定的阈值的最小素质数、或小于PSK0的最 大素质数、或小于PSK0且小于某一预先设定的阈值的最大素质数、或与 PSKO差值最小的素质数等。当然,如果PSKO本身就是素质数,也可以将 PSKO作为质数参数P。
STA也可以根据预先在STA和AP中存储的映射表为PSKO选择对应的 质数参数P,所述映射表中设置了不同的PSK0的取值区间所对应的质数参 数P。此外,由于质数参数P可能有多个原根,因此原根参数g也可以是根据
STA和AP预先协商的规则(例如预先存储的映射表)选择。
206: STA生成随机数sx,并计算PX = gsx(mod P);
207: STA向AP发送关联请求,该请求中包含WAPI信息元素,以及 上述PX值;
208:接收到STA发送的关联请求后,AP按照与STA相同的规则选择 质数参数P、原根参数g;
209: AP生成随机数sy,计算PY = gsy(mod P);并生成新的预共享密钥..
PSKl=(PX)sy(mod P)。
210: AP向STA发送关联响应,其中包含PY值。
211: STA接收到关联响应后,生成与AP相同的新的共享密钥
PSKl=(PY)sx(mod P)。
至此,STA与AP完成了预共享密钥的更新。
虽然上述实施例中以AP和STA之间进行预共享密钥的更新为例对本发 明进行了描述,很显然,本发明同样适用于AP和AP之间、STA和STA之 间的预共享密钥的更新。
此外,本发明的技术方案也可以应用于采用预共享密钥的有线网络中。
才艮据本发明的基本原理,上述实施例还可以有多种变换方式,例如
(一 )STA和AP也可以在重新关联请求/响应、链路验证请求/响应、 信标帧和链路验证请求、信标帧和关联请求/重新关联请求、或其它交互消 息中交换PY/PX值;
(二) 预共享密钥的更新可以在每次进行关联、重新关联、或链路验证 时进行;
(三) 预共享密钥也可以定时更新,例如,当预共享密钥的更新发起方(如AP)在预共享密钥过期时,向使用该预共享密钥的另一方发送包含预
共享密钥更新标识、以及PX值的消息(如探询响应),开始预共享密钥的
更新操作。
(四)DH交换的原4艮参数g也可以换为一个小于质数参数P的正整数 g,;当然不是用原根会一定程度上降低DH交换算法的安全性。
图3是本发明实施例预共享密钥的更新系统结构示意图,如图3所示, 该系统包含第一通信节点、第二通信节点。
第一通信节点和第二通信节点可以是接入点和无线站点、或接入点和 接入点、或无线站点和无线站点。
第一通信节点和第二通信节点中包含存储单元、密钥更新单元和通信 单元;其中
第一通信节点和第二通信节点的存储单元用于存储预共享密钥;
第一通信节点和第二通信节点的密钥更新单元用于从存储单元中获取 待更新的预共享密钥,将该待更新的预共享密钥所对应的素质数作为 Diffie-Hellman密钥交换算法的质数参数P,并使用所述质数参数P、小于所 述质数参数P的正整数g、以及各自生成的随机数sx和sy,分别计算PX = gSx(modP)和PY = gsy(mod P);并分别通过第一通信节点和第二通信节点的 通信单元交换PX值和PY值;
第一通信节点和第二通信节点的密钥更新单元分别从第一通信节点和 第二通信节点的通信单元获得PY值和PX值后,将(PY)sx(mod P)= (PX)sy(mod P)作为新的预共享密钥,并将其分别存入第一通信节点和第二通信节点的存 储单元。
其中,所述g为所述质数参数P的原根。
所述待更新的预共享密钥所对应的素质数是大于所述待更新的预共享 密钥的最小素质数、或小于所述待更新的预共享密钥的最大素质数、或与所 述待更新的预共享密钥差值最小的素质数。综上所述,本发明通过对用于DH交换的质数参数P的动态调整,使得 DH交换增加了 一个不公开的参数,并且新的质数参数P是根据原共享密钥 的值选择得到的,因此增大了质数参数P的随机性和动态范围;进而在质数 参数P较小(DH交换的计算量也会相应地减小)的情况下也能保证一定的 安全性。
权利要求
1、一种预共享密钥的更新方法,其特征在于,该方法包括通信双方将待更新的预共享密钥所对应的素质数作为Diffie-Hellman密钥交换算法的质数参数P;通信双方使用所述质数参数P、小于所述质数参数P的正整数g、以及各自生成的随机数sx和sy,分别计算PX=gsx(mod P)和PY=gsy(mod P);通信双方交换PX值和PY值,并将(PY)sx(mod P)=(PX)sy(mod P)作为新的预共享密钥。
2、 如权利要求l所述的方法,其特征在于, 所述g为所述质数参数P的原根。
3、 如权利要求l所述的方法,其特征在于,所述待更新的预共享密钥所对应的素质数是大于所述待更新的预共享 密钥的最小素质数、或小于所述待更新的预共享密钥的最大素质数、或与所 述待更新的预共享密钥差值最小的素质数。
4、 如权利要求l所述的方法,其特征在于,所述通信双方分别在关联请求和关联响应中交换所述PX值和PY值、 或在重新关联请求和重新关联响应中交换所述PX值和PY值、或在链路验 证请求和链路^S正响应中交换所述PX值和PY值,并将(PY)sx(mod P)= (PX)sy(mod P)作为新的预共享密钥。
5、 如权利要求l所述的方法,其特征在于,在所述待更新的预共享密钥超过预先设定的生存期后,所述通信双方中 的 一方向另 一方发送携带预共享密钥更新标识以及所述PX值的消息;所述另 一方接收到所述携带预共享密钥更新标识的消息后,发送所述 PY值。
6、 如权利要求l所述的方法,其特征在于,所述通信双方为4妄入点和无线站点、或4妄入点和"t妄入点、或无线站点 和无线站点。
7、 一种预共享密钥的更新系统,该系统包含第一通信节点和第二通信 节点,其特征在于,第一通信节点和第二通信节点中包含存储单元、密钥 更新单元和通信单元;其中第 一通信节点和第二通信节点的存储单元用于存储预共享密钥;第一通信节点和第二通信节点的密钥更新单元用于分别从第一通信节 点和第二通信节点的存储单元中获取待更新的预共享密钥,将该待更新的预 共享密钥所对应的素质数作为Diffie-Hellman密钥交换算法的质数参数P, 并使用所述质数参数P、小于所述质数参数P的正整数g、以及各自生成的 随机数sx和sy,分别计算PX = gsx(mod P)和PY = gsy(mod P);并分别通 过第 一通信节点和第二通信节点的通信单元交换PX值和PY值;第 一通信节点和第二通信节点的密钥更新单元分别从第 一通信节点和 第二通信节点的通信单元获得PY值和PX值后,将(PY)sx(mod P)= (PX)sy(mod P)作为新的预共享密钥。
8、 如权利要求7所述的系统,其特征在于, 所述g为所述质数参数P的原根。
9、 如权利要求7所述的系统,其特征在于,所述待更新的预共享密钥所对应的素质数是大于所述待更新的预共享 密钥的最小素质数、或小于所述待更新的预共享密钥的最大素质数、或与所 述待更新的预共享密钥差值最小的素质数。
10、 如权利要求7所述的系统,其特征在于,所述第一通信节点和第二通信节点分别为接入点和无线站点、或无线 站点和接入点、或接入点和接入点、或无线站点和无线站点。
全文摘要
一种预共享密钥的更新方法及系统,该方法包括通信双方将待更新的预共享密钥所对应的素质数作为Diffie-Hellman密钥交换算法的质数参数P;通信双方使用所述质数参数P、小于所述质数参数P的正整数g、以及各自生成的随机数sx和sy,分别计算PX=g<sup>sx</sup>(mod P)和PY=g<sup>sy</sup>(mod P);通信双方交换PX值和PY值,并将(PY)<sup>sx</sup>(mod P)=(PX)<sup>sy</sup>(mod P)作为新的预共享密钥。
文档编号H04W12/00GK101521882SQ20091011974
公开日2009年9月2日 申请日期2009年3月24日 优先权日2009年3月24日
发明者建 刘 申请人:建 刘