CN103313242B - 密钥的验证方法及装置 - Google Patents
密钥的验证方法及装置 Download PDFInfo
- Publication number
- CN103313242B CN103313242B CN201210071034.0A CN201210071034A CN103313242B CN 103313242 B CN103313242 B CN 103313242B CN 201210071034 A CN201210071034 A CN 201210071034A CN 103313242 B CN103313242 B CN 103313242B
- Authority
- CN
- China
- Prior art keywords
- sta
- request message
- response message
- mic
- message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012795 verification Methods 0.000 title claims abstract description 136
- 238000000034 method Methods 0.000 title claims abstract description 99
- 238000012545 processing Methods 0.000 claims abstract description 28
- 230000004044 response Effects 0.000 claims description 266
- 230000008569 process Effects 0.000 claims description 39
- 238000012790 confirmation Methods 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 4
- 230000001960 triggered effect Effects 0.000 claims description 4
- 230000006855 networking Effects 0.000 abstract 1
- 239000000523 sample Substances 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- VYLDEYYOISNGST-UHFFFAOYSA-N bissulfosuccinimidyl suberate Chemical compound O=C1C(S(=O)(=O)O)CC(=O)N1OC(=O)CCCCCCC(=O)ON1C(=O)C(S(O)(=O)=O)CC1=O VYLDEYYOISNGST-UHFFFAOYSA-N 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000000060 site-specific infrared dichroism spectroscopy Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种密钥的验证方法及装置。其中,该方法包括:AP接收STA再次关联或重关联到该AP时发送的第一请求消息,其中,上述第一请求消息携带有STA上次关联或重关联到该AP时对应的安全上下文标识;AP根据上述安全上下文标识检索本地保存的上述STA的安全上下文,并判断检索到的安全上下文是否有效;如果有效,AP直接与该STA进行密钥验证处理。通过本发明,简化了STA与AP重新建立链路的安全验证流程,避免了因流程复杂而导致入网时延较长的问题。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种密钥的验证方法及装置。
背景技术
电气和电子工程师协会(Institute for Electrical and ElectronicEngineers,简称为IEEE)802.11是第一代无线局域网(Wireless Local Area Networks,简称为WLAN)标准之一。如图1所示,一个IEEE 802.11网络包括:工作站(Station,简称为STA)、无线接入点(Access Point,简称为AP)。其中,STA可以是任何具备IEEE 802.11的媒体接入控制(Media Access Control,简称为MAC)层和物理层(Physical Layer,简称为PHY)接口的设备,通常由一台个人计算机(Personal Computer,简称为PC)或笔记本计算机加上无线网卡构成。此外,STA还可以是非计算机终端上的能提供无线连接的嵌入式设备(例如,802.11手机)。AP可以看成是一个无线的Hub,用于提供STA和现有骨干网络之间的桥接,该骨干网络可以是有线的,也可以是无线的。一个AP和在其覆盖范围的一个或多个STA组成一个基本服务集(Basic Service Set,简称为BSS)。BSS通过基本服务集标识(BSSID)来进行唯一标识,BSSID即是AP的MAC地址。终端在一个BSS内可以互相通信。采用相同的服务集标识SSID的多个BSS形成的更大规模的虚拟BSS,定义为扩展服务集(ExtendedService Set,简称为ESS)。终端在同一ESS内可以通信并且可以在下属的多个BSS间移动。在ESS内连接多个BSS的网络以及有线网络称为分布式***(Distribution System,简称为DS)。DS可以采用无线或有线技术,通常采用以太网技术。
STA接入IEEE 802.11网络时,为了完成认证以及互联网协议(InternetProtocol,简称为IP)地址分配功能,如图2所示,WLAN网络还包括认证服务器(Authentication Server,简称为AS)和动态主机配置协议服务器(Dynamic HostConfiguration protocol Server,简称为DHCP服务器)。AS是为STA提供认证服务的实体,仅有通过认证的STA才能被授权接入802.11网络。AS也可以嵌入在AP中,DHCP服务器则为STA分配IP地址,STA通过该WLAN网络可以接入因特网(Internet)。
图3是根据相关技术的IEEE 802.11i的安全的密钥体系架构的示意图,如图3所示,成对主密钥(Pairwise Master Key,简称为PMK)是STA和AS在可扩展认证协议(Extensible Authentication Protocol,简称为EAP)认证过程中各自生成的密钥,长度为256位,由PMK标识(PMKID)进行标识。成对临时密钥(Pairwise Transient Key,简称为PTK)是STA和AP分别根据PMK,以及STA生成的随机数SNonce和AP生成的随机数ANonce,各自推导出的密钥。PTK的低128位为密钥确认密钥(Key Confirmation Key,简称为KCK),中间128位为密钥加密密钥(Key Encryption Key,简称为KEK),剩下的最高有效位(MostSignificant Bit,简称为MSB为临时密钥(Temporal Key,简称为TK)。其中,KCK用于为4次握手过程和组密钥握手过程中的EAPOL-KEY(Extensible Authentication Protocol OVERLAN KEY)消息提供数据源认证;KEK用于为4次握手和组密钥握手的密钥信息帧EAPOL-KEY消息提供机密性保护;TK用户保护STA和AP之间的数据报文的传输。
此外,IEEE 802.11还定义了组临时密钥(Group Temporal Key,简称为GTK)。GTK是AP生成的一个随机数,在组密钥握手过程中,AP将GTK用KEK加密后,传输给STA。
图4是根据相关技术的STA接入IEEE 802.11网络时安全建立的流程图,如图4所示,具体包括以下几个步骤(步骤S401-步骤S416):
步骤S401-S402,通过AP广播信标(Beacon)消息,或者STA向AP主动发送探测请求(Probe Request)消息,AP向STA响应探测响应(Probe Response)消息,告知STA关于AP的能力、参数和安全参数等信息。
步骤S403-S404,STA和AP之间进行开放***认证。其中,开放***认证过程并没有建立真正的安全。
步骤S405-S406,STA和AP之间进行关联。STA向AP发送关联请求,AP接收到关联请求后向STA发送关联响应。通过该步骤,STA和AP之间建立了一个IEEE 802.11信道。
步骤S407,STA和AS之间进行EAP认证。在该过程完成后,STA和IEEE 802.11网络完成了双向认证,并分别生成了PMK。
步骤S408,AS通过远程用户拨号认证***(Remote Authentication Dial InUser Service,简称为RADIUS)发送接入接受(Access Accept)消息,告知AP认证成功,并将EAP过程中生成的PMK发送给AP。
步骤S409,AP向STA发送802.1X消息,其中,802.1X消息封装有EAP成功(EAP-Success)消息。
步骤S410,AP和STA之间开始进行四次握手过程,验证双方生成的密钥。AP生成随机数第一随机数ANonce,并将其携带于密钥信息帧(EAPOL-Key)消息中,发送给STA。
步骤S411,STA生成第二随机数SNonce,并根据SNonce和接收到的ANonce,以及EAP过程中生成的PMK生成PTK,并截取PTK获取密钥确认密钥KCK、KEK和临时密钥TK;STA向AP发送EAPOL-Key消息,其中携带第二随机数SNonce。该消息携带用KCK计算的消息完整性验证码(Message Integrity Code,简称为MIC)。
步骤S412,AP根据接收到的SNonce,和自己生成的ANonce以及EAP过程中生成的PMK,按照和STA同样的算法,推导出PTK,并截取PTK获取KCK、KEK和TK。AP用生成的KCK对接收到的EAPOL-Key消息进行验证。如果验证成功,AP向STA发送EAPOL-Key消息,该消息携带随机数ANonce,并携带用KCK计算的MIC。
步骤S413,STA对接收到的EAPOL-Key消息进行验证。如果验证成功,STA安装根据截取PTK获得的临时密钥TK,并向AP发送EAPOL-Key消息。该消息携带用KCK计算的MIC。至此,STA和AP之间的4次握手过程结束。
步骤S414,STA和AP之间进行组密钥握手过程。AP可选地生成第三随机数GNonce,并随机选择组临时密钥GTK,用KEK加密GTK,将加密的GTK和/或随机数GNonce携带于EAPOL-Key消息中,发送给STA。EAPOL-Key消息同样也携带用KCK计算的MIC。
步骤S415:STA对接收到的EAPOL-Key消息进行验证,如果成功,用KCK解密获得GTK;STA向AP发送EAPOL-Key消息,携带用KCK计算的MIC。AP对接收到的消息进行验证。至此,STA完成了初始连接的建立,可以进行数据包的收发了。
步骤S416,STA和WLAN网络进行DHCP过程,获取IP地址。
移动用户不断地进入或离开一个ESS的覆盖区域。每次当移动设备进入一个ESS时,移动设备必须进行如图4所示的STA入网建立初始链路的过程。如果STA在以前关联到过该AP,STA和AP处可能会缓存有前一次关联过程中的相关安全上下文。此时,按照IEEE802.11协议的定义,AP在关联步骤后,会省略EAP认证过程,直接发起四次握手过程。但是该流程仍然存在安全步骤较多,从而导致STA入网的时延较长的问题。当大量用户同时在较短时间内需要接入WLAN网络时(例如在地铁站,大量用户下了地铁后需要连接WLAN网络获取相关的路线信息),入网时延较长的问题会更严重。
针对相关技术中,STA与AP重新建立链路的过程中,安全验证流程复杂,而导致入网时延较长的问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术中STA与AP重新建立链路的过程中,安全验证流程复杂,而导致入网时延较长的问题,本发明提供了一种密钥的验证方法及装置,以至少解决上述问题。
根据本发明的一个方面,提供了一种密钥的验证方法,包括:AP接收STA再次关联或重关联到该AP时发送的第一请求消息,其中,上述第一请求消息携带有STA上次关联或重关联到该AP时对应的安全上下文标识;AP根据上述安全上下文标识检索本地保存的上述STA的安全上下文,并判断检索到的安全上下文是否有效;如果有效,AP直接与该STA进行密钥验证处理。
优选地,所述安全上下文标识,包括以下至少之一:成对主密钥标识PMKID、成对主密钥PMK序列号、以及可扩展认证协议(EAP)重认证协议(EAP-RP)中的重认证根密钥(rRK)标识或认证主会话密钥(rMSK)标识。
优选地,所述第一请求消息还携带所述STA生成的随机数SNonce。
优选地,所述AP直接与所述STA进行密钥验证处理,包括:所述AP生成随机数ANonce,根据所述安全上下文以及所述SNonce和所述ANonce推导成对临时密钥PTK,并根据所述PTK生成密钥确认密钥KCK;所述AP使用生成的所述KCK计算所述第一请求消息的第一响应消息的消息完整性验证码MIC,并向所述STA发送所述第一响应消息,其中,所述第一响应消息携带有所述第一响应消息的MIC;所述AP接收所述STA在接收到所述第一响应消息后返回的第二请求消息,并验证所述第二请求消息携带的MIC。
优选地,如果验证通过,验证所述第二请求消息携带的MIC之后,还包括:所述AP使用生成的所述KCK计算的所述第二请求消息的第二响应消息的MIC,并向所述STA发送所述第二响应消息,其中,所述第二响应消息携带有所述第二响应消息的MIC。
优选地,所述AP接收所述STA在接收到所述第一响应消息后返回的第二请求消息之前,还包括:所述STA根据本地保存的安全上下文以及所述ANonce和所述SNonce推导PTK,并根据所述PTK生成KCK;如果验证通过,所述STA向所述AP发送所述第二请求消息,其中,所述第二请求消息携带有所述STA使用生成的所述KCK计算的所述第二请求消息的MIC。
优选地,所述AP直接与所述STA进行密钥验证处理,包括:所述AP生成随机数ANonce,并向所述STA发送携带有所述ANonce的所述第一请求消息的第一响应消息;所述AP接收所述STA返回的第二请求消息,其中,所述第二请求消息携带有所述第二请求消息的MIC;所述AP根据所述安全上下文以及所述ANonce和所述SNonce推导PTK,并根据所述PTK生成KCK;所述AP使用生成的所述KCK验证所述第二请求消息的MIC,如果验证通过,所述AP使用生成的所述KCK计算所述第二请求消息的第二响应消息的MIC,并向所述STA发送第二响应消息,其中,所述第二响应消息携带有所述第二响应消息的MIC。
优选地,所述AP直接与所述STA进行密钥验证处理,包括:所述AP生成随机数ANonce,并向所述STA发送携带有所述ANonce的所述第一请求消息的第一响应消息;所述AP根据所述安全上下文以及所述ANonce和所述SNonce推导PTK,并根据所述PTK生成KCK;所述AP接收所述STA返回的第二请求消息,其中,所述第二请求消息携带有所述第二请求消息的MIC;所述AP使用生成的所述KCK验证所述第二请求消息的MIC,如果验证通过,所述AP使用生成的所述KCK计算所述第二请求消息的第二响应消息的MIC,并向所述STA发送第二响应消息,其中,所述第二响应消息携带有所述第二响应消息的MIC。
优选地,所述AP接收所述STA返回的第二请求消息之前,还包括:所述STA接收所述第一响应消息,根据本地保存的安全上下文以及所述ANonce和所述SNonce推导PTK,并根据所述PTK生成KCK;所述STA使用生成的所述KCK计算所述第二请求消息的MIC;所述STA向所述AP发送所述第二请求消息,其中,所述第二请求消息携带有所述第二请求消息的MIC。
优选地,所述AP直接与所述STA进行密钥验证处理,包括:所述AP生成随机数ANonce,并向所述STA发送携带有所述ANonce的所述第一请求消息的第一响应消息;所述AP接收所述STA返回的第二请求消息,其中,所述第二请求消息携带有所述STA生成的随机数SNonce和所述第二请求消息的MIC;所述AP根据所述安全上下文以及所述SNonce和所述ANonce推导PTK,并根据所述PTK生成密钥确认密钥KCK;所述AP使用生成的所述KCK验证所述第二请求消息的MIC,如果验证通过,所述AP使用生成的所述KCK计算所述第二请求消息的第二响应消息的MIC,并向所述STA发送所述第二响应消息,其中,所述第二响应消息携带有所述第二响应消息的MIC。
优选地,所述AP接收所述STA返回的第二请求消息之前,所述方法还包括:所述STA生成SNonce,根据本地保存的安全上下文以及所述SNonce和所述ANonce推导PTK,并根据所述PTK生成密钥确认密钥KCK;所述STA根据生成的所述KCK计算所述第二请求消息的MIC;所述STA向所述AP发送所述第二请求消息,其中,所述第二请求消息携带有所述第二请求消息的MIC。
优选地,AP接收STA再次关联或重关联到所述AP时发送的第一请求消息之前,还包括:所述AP接收所述STA发送的第二请求消息,生成随机数ANonce,并向所述STA发送所述第二请求消息的第二响应消息,其中,所述第二响应消息中携带有生成的所述ANonce;所述STA接收所述第二响应消息,生成随机数SNonce,根据保存的安全上下文以及接收到的所述ANonce和所述SNonce推导PTK,根据所述PTK生成KCK,并向所述AP返回所述第一请求消息,其中,所述第一请求消息中还携带有所述STA使用所述KCK计算的所述第一请求消息的MIC和所述SNonce。
优选地,所述AP直接与所述STA进行密钥验证处理,包括:所述AP根据检索到的安全上下文以及接收到的所述SNonce和所述ANonce推导PTK,根据所述PTK生成KCK;所述AP使用生成的所述KCK验证所述第二请求消息的MIC,如果验证通过,所述AP使用生成的所述KCK计算所述第一请求消息的第一响应消息的MIC,并向所述STA发送所述第一响应消息,其中,所述第一响应消息携带有所述第一响应消息的MIC。
优选地,所述第一请求消息为认证请求消息,或基于局域网的扩展认证协议开始EAPOL-Start消息,所述第二请求消息为关联请求消息;或者,所述第一请求消息为关联请求消息,所述第二请求消息为认证请求消息或基于局域网的扩展认证协议密钥EAPOL-KEY消息。
优选地,所述第一响应消息为认证响应消息,或EAP请求/标识消息,所述第二响应消息为关联响应消息;或者,所述第一响应消息为关联响应消息,所述第二请求消息为认证响应消息或基于局域网的扩展认证协议密钥EAPOL-KEY消息。
优选地,如果所述AP未检索到所述STA的安全上下文或者检测到的安全上下文无效,则所述第一响应消息中携带指示STA进行完整EAP认证或EAP重认证的参数。
优选地,所述安全上下文,包括:成对主密钥(PMK)。
根据本发明的另一方面,提供了一种密钥的验证装置,包括:接收模块,用于接收STA再次关联或重关联到AP时发送的第一请求消息,其中,上述第一请求消息携带有该STA上次关联或重关联到AP时对应的安全上下文标识;检索模块,用于根据上述安全上下文标识检索本地保存的上述STA的安全上下文;判断模块,用于判断检索到的安全上下文是否有效;验证模块,用于在判断模块的判断结果为有效时,直接与上述STA进行密钥验证处理。
优选地,所述安全上下文标识,包括以下至少之一:成对主密钥标识PMKID、成对主密钥PMK序列号、以及可扩展认证协议EAP重认证协议EAP-RP中的rRK标识或rMSK标识。
优选地,所述第一请求消息还携带所述STA生成的随机数SNonce。
优选地,所述验证模块,包括:第一生成单元,用于生成随机数ANonce,根据所述安全上下文以及所述SNonce和所述ANonce推导成对临时密钥PTK,并根据所述PTK生成密钥确认密钥KCK;第一计算单元,用于使用生成的所述KCK计算所述第一请求消息的第一响应消息的消息完整性验证码MIC;第一发送单元,用于向所述STA发送所述第一响应消息,其中,所述第一响应消息携带有所述第一响应消息的MIC;第一接收单元,用于接收所述STA在接收到所述第一响应消息后返回的第二请求消息;第一验证单元,用于验证所述第二请求消息携带的MIC。
优选地,如果所述第一验证单元验证通过,触发所述计算单元用生成的所述KCK计算的所述第二请求消息的第二响应消息的MIC,并由发送单元向所述STA发送所述第二响应消息,其中,所述第二响应消息携带有所述第二响应消息的MIC。
优选地,所述验证模块,包括:第二生成单元,用于生成随机数ANonce;第二发送单元,用于向所述STA发送携带有所述ANonce的所述第一请求消息的第一响应消息;第二接收单元,用于接收所述STA返回的第二请求消息,其中,所述第二请求消息携带有所述第二请求消息的MIC;所述第二生成单元,还用于根据所述安全上下文以及所述ANonce和所述SNonce推导PTK,并根据所述PTK生成KCK;第二验证单元,用于使用生成的所述KCK验证所述第二请求消息的MIC,如果验证通过,触发所述生成单元使用生成的所述KCK计算所述第二请求消息的第二响应消息的MIC,并由所述发送单元向所述STA发送第二响应消息,其中,所述第二响应消息携带有所述第二响应消息的MIC。
优选地,所述验证模块,包括:第三生成单元,用于生成随机数ANonce;第三发送单元,用于向所述STA发送携带有所述ANonce的所述第一请求消息的第一响应消息;第三接收单元,用于接收所述STA返回的第二请求消息,其中,所述第二请求消息携带有所述STA生成的随机数SNonce和所述第二请求消息的MIC;所述第三生成单元,还用于根据所述安全上下文以及所述SNonce和所述ANonce推导PTK,并根据所述PTK生成密钥确认密钥KCK;第三验证单元,用于使用生成的所述KCK验证所述第二请求消息的MIC;第三计算单元,用于在验证通过时,使用生成的所述KCK计算所述第二请求消息的第二响应消息的MIC;所述第三发送单元,还用于向所述STA发送所述第二响应消息,其中,所述第二响应消息携带有所述第二响应消息的MIC。
优选地,所述第一请求消息为认证请求消息,所述第二请求消息为关联请求消息;或者,所述第一请求消息为关联请求消息,所述第二请求消息为认证请求消息或EAPOL-KEY消息。
通过本发明,STA再次关联或重关联到AP时,AP根据STA的安全上下文标识检索本地保存的STA上次关联或重关联到该AP时的安全上下文,且检索到的该STA的安全上下文有效,则AP直接与该STA进行密钥验证处理,简化了STA与AP重新建立链路的安全验证流程,避免了因流程复杂而导致入网时延较长的问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据相关技术的一种802.11网络的示意图;
图2是根据相关技术的一种WLAN网络的示意图;
图3是根据相关技术的IEEE 802.11i的安全的密钥体系架构的示意图;
图4是根据相关技术的STA接入IEEE 802.11网络时安全建立的流程图;
图5是根据本发明实施例的密钥的验证方法的流程图;
图6是根据本发明优选实施例一的密钥的验证方法的流程图;
图7是根据本发明优选实施例二的密钥的验证方法的流程图;
图8是根据本发明优选实施例三的密钥的验证方法的流程图;
图9是根据本发明优选实施例四的密钥的验证方法的流程图;
图10是根据本发明实施例的密钥的验证装置的示意图;
图11是根据本发明实施例一种优选的验证模块的示意图;
图12是根据本发明实施例另一种优选的验证模块的示意图;
图13是根据本发明实施例又一种优选的验证模块的示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
根据本发明实施例提供了一种密钥的验证方法,简化了STA与AP重新建立链路的安全验证流程,避免了因流程复杂而导致入网时延较长的问题。
图5是根据本发明实施例的密钥的验证方法的流程图,如图5所示,该方法可以包括以下几个步骤(步骤S502-步骤S506):
步骤S502,AP接收STA再次关联或重关联到AP时发送的第一请求消息,其中,第一请求消息携带有STA上次关联或重关联到AP时对应的安全上下文标识。
步骤S504,AP根据安全上下文标识检索本地保存的STA的安全上下文,并判断检索到的安全上下文是否有效;
步骤S506,如果有效,AP直接与STA进行密钥验证处理。
通过本发明实施例,STA再次关联或重关联到AP时,AP根据STA的安全上下文标识检索本地保存的STA上次关联到该AP时的安全上下文,且检索到的该STA的安全上下文有效,则AP直接与该STA进行密钥验证处理,简化了STA与AP重新建立链路的安全验证流程,避免了因流程复杂而导致入网时延较长的问题。
STA和AP可以缓存上次关联或重关联生成的安全上下文,并可以通过不同的安全上下文标识进行标识。在本发明实施例的一个优选实施方式中,上述安全上下文标识,包括但不限于以下至少之一:成对主密钥标识(PMKID)、成对主密钥(PMK)序列号、以及可扩展认证协议(EAP)重认证协议(EAP-RP)中的重认证根密钥(re-authentication Root Key,简称为rRK)标识或重认证主会话密钥(re-authentication Master Session Key,简称为rMSK)标识。相应的,安全上下文可以包括以下至少之一:PMK、rRK以及rMSK。
在本发明优选实施例中,以安全上下文为PMK为例进行说明。AP接收STA再次关联或重关联到AP时发送的第一请求消息,该第一请求消息中携带有STA上次关联或重关联到AP时对应的PMKID,AP根据PMKID检索本地保存的STA的PMK,并判断检索到的安全上下文是否有效。如果检索到的PMK有效,则AP直接与STA进行密钥验证处理。其中,第一请求消息为认证请求消息,则第二请求消息为关联请求消息;或者,第一请求消息为关联请求消息,则第二请求消息为认证请求消息或EAPOL-KEY消息。相应的,第一响应消息为认证响应消息,第二响应消息为关联响应消息;或者,第一响应消息为关联响应消息,第二请求消息为认证响应消息或EAPOL-KEY消息。
下面通过具体实施例对本发明实施例的密钥的验证方法进行描述。
优选实施例一
根据本发明优选实施例,STA在向AP发送第一请求消息之前,生成随机数SNonce,并获取STA上次关联到AP时的PMKID,并将生成的SNonce和获取到的PMKID携带在第一请求消息中发送至AP。AP接收到第一请求消息后,根据PMKID对应的PMK,并判断检索到的PMK是否有效。若检索到的PMK有效,则AP直接与STA进行密钥验证处理。
在本发明实施例的一个优选实施方式中,AP直接与STA进行密钥验证处理可以包括:AP生成随机数ANonce,根据检索到的PMK以及接收到的SNonce和生成的ANonce推导PTK,并根据推导出的PTK生成KCK。AP使用生成的KCK计算第一请求消息的第一响应消息的MIC,并向STA发送第一响应消息,其中,第一响应消息携带有第一响应消息的MIC。AP接收STA在接收到第一响应消息后返回的第二请求消息,并验证第二请求消息携带的MIC。可选地,如果验证通过,AP使用生成的KCK计算的第二请求消息的第二响应消息的MIC,并向STA发送所述第二响应消息,其中,第二响应消息携带有第二响应消息的MIC。
优选地,AP接收STA在接收到第一响应消息后返回的第二请求消息之前,STA根据本地保存的PMK以及AP发送的ANonce和生成的SNonce推导PTK,并根据PTK生成KCK。STA使用生成的KCK验证第一响应消息中携带的MIC。如果验证通过,STA向AP发送第二请求消息,其中,第二请求消息携带有STA使用生成的KCK计算的第二请求消息的MIC。具体的,STA可以通过以下方式验证第一响应消息中携带的MIC:STA可以使用生成的KCK对接收到的第一响应消息计算哈希(Hash)值MIC,并将计算所得的MIC与接收到的MIC相比较,如果二者相同,则验证通过;否者,验证失败。
图6是根据本发明优选实施例一的密钥的验证方法的流程图,如图6所示,在不进行完整EAP认证或重认证的情况下,STA与AP之间快速建立安全上下文并快速入网的步骤,该方法可以包括以下步骤(步骤S601-步骤S613):
步骤S601,STA关联到AP,进行完整的EAP认证过程。在该过程中,STA和AP均存储了相关的安全上下文。该STA的安全上下文用安全上下文标识进行标识。优选地,该安全上下文标识可以是PMK标识(PMKID),或PMK序列号,或EAP重认证协议(EAP-RP)中的rRK标识,rMSK标识等。
步骤S602,STA从该AP处去关联。此时,STA和AP可选地分别进行安全上下文的缓存工作。
步骤S603,一段时间后,STA再次关联到该AP。STA接收到AP发送的信标(Beacon)消息,或STA主动向AP发送探测请求(Probe Request)消息,AP向STA发送探测响应(ProbeResponse)消息。其中,Beacon或Probe Response消息中携带有AP支持快速初始链路建立的能力指示。
步骤S604,STA处缓存有上一次关联到AP时的安全上下文,且仍然有效;STA生成随机数SNonce。
步骤S605,STA向AP发送认证请求消息,该消息携带有STA生成的随机数SNonce及安全上下文标识。优选地,该安全上下文标识为:PMKID,或PMK序列号或EAP重认证协议(EAP-RP)中的rRK标识,rMSK标识等。
步骤S606,AP接收到认证请求消息后,根据消息中的安全上下文标识检索该STA对应的安全上下文。如果该安全上下文仍然有效,则AP继续进行步骤S607;如果该安全上下文已经无效,或者AP未检索到该STA对应的安全上下文,则AP直接进行步骤S608。
步骤S607,AP生成随机数ANonce;AP根据缓存的PMK,以及ANonce和SNonce推导PTK;并根据PTK生成KCK,和/或KEK,和/或TK。
步骤S608,AP向STA发送认证响应消息。如果步骤S606中,AP检索到该STA对应的有效安全上下文,则该消息携带:随机数ANonce,消息完整性验证码MIC,和/或随机数SNonce。其中,MIC是AP使用推导出的KCK对该认证响应消息所计算的消息完整性验证码。如果步骤S606中,AP未检索到该STA对应的有效安全上下文,则该消息携带指示STA进行完整EAP认证或EAP重认证的参数。可选地,AP可以在该步骤中生成组密钥GTK和/或IGTK,并在认证响应消息中发送给STA。
步骤S609,STA根据缓存的安全上下文PMK,以及ANonce和SNonce推导PTK;根据PTK生成KCK,和/或KEK,和/或TK;STA对接收到的认证响应消息中的MIC进行验证。
步骤S610,如果验证成功,STA向AP发送关联请求消息,该消息携带有消息完整性验证码(MIC),和/或ANonce,和/或随机数SNonce。其中,MIC是STA使用推导出的KCK对该关联请求消息所计算的消息完整性验证码。
步骤S611,AP对接收到的关联请求消息中的MIC进行验证。
步骤S612,如果验证通过,AP向STA发送关联响应消息,该消息携带有消息完整性验证码(MIC),和/或ANonce,和/或SNonce。其中,MIC是AP使用推导出的KCK对该关联响应消息所计算的消息完整性验证码。可选地,AP可以在该步骤中生成组密钥GTK和/或IGTK,并在认证响应消息中发送给STA。
步骤S613,STA对接收到的关联响应消息中的MIC进行验证。如果验证成功,则STA和AP之间成功完成初始链路的建立,可以安全地收发数据报文了。
优选地,在上述步骤中,步骤S605中的认证请求消息或步骤S610中的关联请求消息中可以同时携带上层消息,例如,IP地址指定请求消息(例如,DHCP Discover消息);步骤S607或S611之后可以进行AP和DHCP服务器之间的IP地址指定过程;步骤S608中的认证响应消息或S612中的关联响应消息中可以同时携带上层消息,例如,IP地址指定响应消息(DHCPACK消息),或DHCP Offer消息等。
优选地,在上述步骤中,步骤S605中的认证请求消息还可以为关联请求消息;步骤S608中的认证响应消息还可以为关联响应消息;步骤S610中的关联请求消息还可以为认证请求消息,或EAPOL-KEY消息,或新定义的密钥验证请求消息;步骤S612中的关联响应消息还可以为认证响应消息,或EAPOL-KEY消息,或新定义的密钥验证响应消息。此时,步骤S612可选。
可选地,在上述步骤中,步骤S605中的认证请求消息还可以为关联请求消息;步骤S608中的认证响应消息还可以为认证请求消息,或EAPOL-KEY消息,或新定义的密钥验证请求消息;步骤S610中的关联请求消息还可以为认证响应消息,或EAPOL-KEY消息,或新定义的密钥验证响应消息。
优选实施例二
根据本发明优选实施例,STA在向AP发送第一请求消息之前,生成随机数SNonce,并获取STA上次关联到AP时的PMKID,并将生成的SNonce和获取到的PMKID携带在第一请求消息中发送至AP。AP接收到第一请求消息后,根据PMKID对应的PMK,判断检索到的PMK是否有效。若检索到的PMK有效,则AP直接与STA进行密钥验证处理。
在本发明实施例的一个优选实施方式中,AP直接与STA进行密钥验证处理可以包括:AP生成随机数ANonce,并向STA发送携带有生成的ANonce的第一请求消息的第一响应消息。AP接收STA返回的第二请求消息,其中,第二请求消息携带有第二请求消息的MIC。AP根据PMK以及生成的ANonce和SNonce推导PTK,并根据PTK生成KCK。AP使用生成的KCK验证第二请求消息的MIC,如果验证通过,则使用生成的KCK计算第二请求消息的第二响应消息的MIC,并向STA发送第二响应消息,其中,第二响应消息携带有第二响应消息的MIC。具体的,AP可以通过以下方式验证第二请求消息中携带的MIC:AP可以使用生成的KCK对接收到的第二请求消息计算哈希值MIC,并将计算所得的MIC与接收到的MIC向比较,如果二者相同,则验证通过;否者,验证失败。
优选地,AP接收STA返回的第二请求消息之前,STA接收AP发送的第一响应消息,根据本地保存的PMK以及接收到的ANonce和生成的SNonce推导PTK,并根据推导出的PTK生成KCK。STA使用生成的KCK计算第二请求消息的MIC,并向AP发送第二请求消息,其中,第二请求消息携带有第二请求消息的MIC。
图7是根据本发明优选实施例二的密钥的验证方法的流程图,如图7所示,在不进行完整EAP认证或重认证的情况下,STA与AP之间快速建立安全上下文并快速入网的流程,该方法可以包括以下几个步骤(步骤S701-步骤S713):
步骤S701-步骤S706同优选实施例一中的步骤S601-步骤S606。
步骤S707,AP生成随机数ANonce。
步骤S708,AP向STA发送认证响应消息。如果步骤S706中AP检索到该STA对应的有效安全上下文,则该消息携带:随机数ANonce,和/或随机数SNonce;如果步骤S706中AP未检索到该STA对应的有效安全上下文,则该消息携带指示STA进行完整EAP认证或EAP重认证的参数。可选地,AP可以在该步骤中生成组密钥GTK和/或IGTK,并在认证响应消息中发送给STA。
步骤S709,STA根据缓存的安全上下文PMK,以及ANonce和SNonce推导PTK;根据PTK生成KCK,和/或KEK,和/或TK;STA对接收到的认证响应消息中的MIC进行验证。
步骤S710,如果验证成功,STA向AP发送关联请求消息,该消息携带有消息完整性验证码(MIC),和/或ANonce,和/或随机数SNonce。其中,MIC是STA使用推导出的KCK对该关联请求消息所计算的消息完整性验证码。
步骤S711,AP根据缓存的PMK,以及ANonce和SNonce推导PTK;并根据PTK生成KCK,和/或KEK,和/或TK;AP对接收到的关联请求消息中的MIC进行验证。在该过程中,PTK的推导也可以在步骤S707后进行。
步骤S712,如果验证通过,AP向STA发送关联响应消息,该消息携带有消息完整性验证码MIC,和/或ANonce,和/或SNonce。其中,MIC是AP使用推导出的KCK对该关联响应消息所计算的消息完整性验证码。可选地,AP可以在该步骤中生成组密钥GTK和/或IGTK,并在认证响应消息中发送给STA。
步骤S713,STA对接收到的关联响应消息中的MIC进行验证。如果验证成功,则STA和AP之间成功完成初始链路的建立,可以安全地收发数据报文了。
在上述流程中,步骤S705中的认证请求消息或S710的关联请求消息中可以同时携带上层消息:例如IP地址指定请求消息(例如DHCP Discover消息);步骤S706或S711之后可以进行AP和DHCP服务器之间的IP地址指定过程;步骤S708中的认证响应消息或S712的关联响应消息中可以同时携带上层消息:例如IP地址指定响应消息(DHCP ACK消息),或DHCPOffer消息等。
在上述流程中,步骤S705中的认证请求消息还可以为关联请求消息;步骤S708中的认证响应消息还可以为关联响应消息;步骤S710中的关联请求消息还可以为认证请求消息,或EAPOL-KEY消息,或新定义的密钥验证请求消息;步骤S712)中的关联响应消息还可以为认证响应消息,或EAPOL-KEY消息,或新定义的密钥验证响应消息。
可选地,在上述流程中,步骤S705中的认证请求消息还可以为关联请求消息;步骤S708中的认证响应消息还可以为认证请求消息,或EAPOL-KEY消息,或新定义的密钥验证请求消息;步骤S710中的关联请求消息还可以为认证响应消息,或EAPOL-KEY消息,或新定义的密钥验证响应消息。
优选实施例三
根据本发明优选实施例,STA在向AP发送第一请求消息之前,获取STA上次关联到AP时的PMKID,并将获取到的PMKID携带在第一请求消息中发送至AP。AP接收到第一请求消息后,根据PMKID对应的PMK,并判断检索到的PMK是否有效。若检索到的PMK有效,则AP直接与STA进行密钥验证处理。具体的,AP可以判断PMK是否在还在有效生命周期内,如果在,则PMK有效;否则PMK无效。和/或AP也可以判断PMK中的认证与密钥管理(Authentication andKey Management,简称为AKM)是否与第一请求消息中的AKM一致,如果一致,则PMK有效;否则,PMK无效。
在本发明实施例的一个优选实施方式中,AP直接与STA进行密钥验证处理,可以包括:AP生成随机数ANonce,并向STA发送携带有ANonce的第一请求消息的第一响应消息;AP接收STA返回的第二请求消息,其中,第二请求消息携带有STA生成的随机数SNonce和第二请求消息的MIC;AP根据PMK以及SNonce和ANonce推导PTK,并根据PTK生成密钥确认密钥KCK;AP使用生成的KCK验证第二请求消息的MIC,如果验证通过AP使用生成的KCK计算第二请求消息的第二响应消息的MIC,并向STA发送第二响应消息,其中,第二响应消息携带有第二响应消息的MIC。
优选地,AP接收STA返回的第二请求消息之前,STA生成SNonce,根据本地保存的PMK以及SNonce和ANonce推导PTK,并根据PTK生成密钥确认密钥KCK;STA根据生成的KCK计算第二请求消息的MIC;STA向AP发送第二请求消息,其中,第二请求消息携带有第二请求消息的MIC。
图8是根据本发明优选实施例三的密钥的验证方法的流程图,如图8所示,在不进行完整EAP认证或重认证的情况下,STA与AP之间快速建立安全上下文并快速入网的流程,该方法可以包括以下几个步骤(步骤S801-步骤S812):
步骤S801,STA关联到AP,进行完整的EAP认证过程。在该过程中,STA和AP均存储了相关的安全上下文。该STA的安全上下文用安全上下文标识进行标识。优选地,该安全上下文标识可以是PMK标识(PMKID),或PMK序列号,或EAP重认证协议(EAP-RP)中的rRK标识,rMSK标识等。
步骤S802,STA从该AP处去关联。此时,STA和AP可选地分别进行安全上下文的缓存工作。
步骤S803,一段时间后,STA再次关联或重关联到该AP。STA接收到AP发送的信标(Beacon)消息,或STA主动向AP发送探测请求(Probe Request)消息,AP向STA发送探测响应(Probe Response)消息。其中,Beacon或Probe Response消息中携带有AP支持快速初始链路建立的能力指示。
步骤S804,STA中缓存有上一次关联到该AP时的安全上下文,且该安全上下文仍然有效。STA向AP发送认证请求(Authentication Request)消息,其中,认证请求消息携带有安全上下文标识。优选地,该安全上下文标识为:PMKID,或PMK序列号。步骤S805,AP接收到认证请求消息后,根据消息中的安全上下文标识检索该STA对应的安全上下文。如果该安全上下文仍然有效,则AP继续进行步骤S806;如果该安全上下文已经无效,或者AP未检索到该STA对应的安全上下文,则AP直接进行步骤S807。
步骤S806,AP生成随机数ANonce。
步骤S807,AP向STA发送认证响应消息。如果在步骤S805中,AP检索到该STA对应有效的安全上下文,则该消息携带随机数ANonce;如果在步骤S805中,AP未检索到该STA对应的有效安全上下文,则该消息携带指示STA进行完整EAP认证或EAP重认证的参数。可选地,AP可以在该步骤中生成组密钥GTK和/或IGTK,并在认证响应消息中发送给STA。
步骤S808,STA生成随机数SNonce,并根据缓存的安全上下文PMK,ANonce及SNonce推导PTK;根据PTK生成KCK,和/或KEK,和/或TK。
步骤S809,STA向AP发送关联请求消息,该消息携带有随机数SNonce,消息完整性验证码(MIC),和/或ANonce。其中,MIC是STA使用推导出的KCK对该关联请求消息所计算的消息完整性验证码。
步骤S810,AP根据缓存的PMK,以及ANonce和SNonce推导PTK;并根据PTK生成KCK,和/或KEK,和/或TK。AP对接收到的关联请求消息中的MIC进行验证。
步骤S811,如果验证通过,AP向STA发送关联响应消息,该消息携带有消息完整性验证码(MIC),和/或ANonce,和/或SNonce。其中,MIC是AP使用推导出的KCK对该关联响应消息所计算的消息完整性验证码。可选地,AP可以在该步骤中生成组密钥GTK和/或IGTK,并在关联响应消息中发送给STA。
步骤S812,STA对接收到的关联响应消息中的MIC进行验证。如果验证成功,则STA和AP之间成功完成初始链路的建立,可以安全地收发数据报文了。
在上述步骤中,步骤S804的认证请求消息或S809的关联请求消息中可以同时携带上层消息:例如IP地址指定请求消息(例如,DHCP Discover消息)。步骤S805或S810之后可能进行AP和DHCP服务器之间的IP地址指定过程;步骤S807中的认证响应消息或S811中的关联响应消息中可以同时携带上层消息,例如,IP地址指定响应消息(DHCP Ack消息),或DHCPOffer消息等。
在上述步骤中,步骤S804中的认证请求消息还可以为关联请求消息,或EAPOL-Start消息;步骤S807中的认证响应消息还可以为关联响应消息,或EAP请求/标识(EAP-Req/Identity)消息;步骤S809中的关联请求消息还可以为认证请求消息,或EAPOL-KEY消息,或新定义的密钥验证请求消息;步骤S811中的关联响应消息还可以为认证响应消息,或EAPOL-KEY消息,或新定义的密钥验证响应消息。
可选地,在上述步骤中,步骤S804中的认证请求消息还可以为关联请求消息;步骤S807中的认证响应消息还可以为认证请求消息,或EAPOL-KEY消息,或新定义的密钥验证请求消息;步骤S809中的关联请求消息还可以为认证响应消息,或EAPOL-KEY消息,或新定义的密钥验证响应消息。
在上述步骤中,可选地,安全上下文标识也可以在步骤S809中携带。此时步骤S805可以推迟到步骤S805后和S810之前进行。
优选实施例四
在本发明实施例中,不仅可以在认证开始时相AP发送STA上次关联或重关联到AP的安全上下文标识,也可以在后续过程中向AP发送上述安全上下文标识。例如,STA在向AP发送关联请求时携带STA上次关联或重关联到AP的安全上下文标识。
根据本发明实施例,AP接收STA再次关联或重关联到所述AP时发送的第一请求消息之前,AP还可以接收STA发送的第二请求消息,生成随机数ANonce,并向STA发送第二请求消息的第二响应消息,其中,第二响应消息中携带有生成的ANonce;STA接收第二响应消息,生成随机数SNonce,根据保存的安全上下文以及接收到的ANonce和生成的SNonce推导PTK,根据PTK生成KCK,并向AP返回第一请求消息,其中,第一请求消息中还携带有STA使用KCK计算的第一请求消息的MIC,以及STA生成的随机数SNonce。
在本发明实施例的一个优选实施方式中,AP直接与STA进行密钥验证处理可以包括:AP根据检索到的安全上下文以及接收到的SNonce和生成的ANonce推导PTK,根据PTK生成KCK;AP使用生成的KCK验证第二请求消息的MIC,如果验证通过,AP使用生成的KCK计算第一请求消息的第一响应消息的MIC,并向STA发送第一响应消息,其中,第一响应消息携带有第一响应消息的MIC。
图9是根据本发明优选实施例四的密钥的验证方法的流程图,如图9所示,在不进行完整EAP认证或重认证的情况下,STA与AP之间快速建立安全上下文并快速入网的流程,该方法可以包括以下几个步骤(步骤S901-步骤S912):
步骤S901-步骤S903与本发明优选实施例三中的步骤S801-步骤S803相同。
步骤S904,STA向AP发送EAPOL-Start消息。
步骤S905,AP接收STA发送的EAPOL-Start消息,并生成随机数ANonce。
步骤S906,AP向STA发送认证消息,其中,认证消息中携带有AP在步骤S905中生成的随机数ANonce。
步骤S907,STA接收AP发送的认证消息,并生成随机数SNonce,根据本地保存的PMK以及接收到的ANonce和生成的SNonce推导PTK,根据PTK生成KCK。
步骤S908,STA向AP发送关联请求,其中,关联请求中携带有STA上次关联或重关联到AP时的安全上下文标识(在本发明实施例中为PMKID)、利用KCK对关联请求计算的MIC,以及STA生成的随机数SNonce。
步骤S909,AP根据接收到的PMKID检索该STA的安全上下文,并确定检索到的安全上下文有效。
步骤S910,AP根据检索到的PMK以及接收到的SNonce和生成的ANonce推导PTK,并根据PTK生成KCK,利用生成的KCK计算接收到的关联请求的MIC,验证MIC。
步骤S911,AP向STA发送关联响应,如果验证通过,在关联响应中携带AP生成的随机数和AP根据生成的KCK对关联响应计算的MIC。
步骤S912,STA接收关联响应,并验证关联响应中携带的MIC。
优选地,步骤S908中的关联请求消息还可以为认证请求消息,或EAPOL-KEY消息,或新定义的密钥验证请求消息;步骤S911中的关联响应消息还可以为认证响应消息,或EAPOL-KEY消息,或新定义的密钥验证响应消息。
通过本发明所述的快速建立安全的方法,可以省略EAP认证或重认证过程,大大加快终端重建立链路的速度,减少终端重接入WLAN网络的时延。特别是对于大量用户需要在极短时间内接入WLAN网络的场景,性能有极大的提升。
根据本发明实施例,还提供了一种密钥的验证装置,简化了STA与AP重新建立链路的安全验证流程,避免了因流程复杂而导致入网时延较长的问题。
图10是根据本发明实施例的密钥的验证装置的示意图,该装置位于AP侧,如图10所示,该装置主要包括:接收模块10、检索模块20、判断模块30和验证模块40。其中,接收模块,用于接收STA再次关联或重关联到接入点AP时发送的第一请求消息,其中,第一请求消息携带有STA上次关联或重关联到AP时对应的安全上下文标识;检索模块20,与接收模块10相耦合,用于根据安全上下文标识检索本地保存的STA的安全上下文;判断模块30,与检索模块20相耦合,用于判断检索到的安全上下文是否有效;验证模块,与判断模块30相耦合,用于在判断模块30的判断结果为有效时,直接与STA进行密钥验证处理。
通过本发明实施例,STA再次关联或重关联到AP时,AP的检索模块20根据STA的安全上下文标识检索本地保存的STA上次关联到该AP时的安全上下文,且判断模块30判断检索到的该STA的安全上下文有效,则AP的验证模块40直接与该STA进行密钥验证处理,简化了STA与AP重新建立链路的安全验证流程,避免了因流程复杂而导致入网时延较长的问题。
STA和AP可以缓存上次关联生成的安全上下文,并可以通过不同的安全上下文标识进行标识。在本发明实施例的一个优选实施方式中,上述安全上下文标识,包括但不限于以下至少之一:成对主密钥标识(PMKID)、成对主密钥(PMK)序列号、以及可扩展认证协议(EAP)重认证协议(EAP-RP)中的rRK标识或rMSK标识。相应的,安全上下文可以包括以下至少之一:PMK、rRK以及rMSK。
在本发明优选实施例中,以安全上下文为PMK为例进行说明。AP接收STA再次关联或重关联到AP时发送的第一请求消息,该第一请求消息中携带有STA上次关联或重关联到AP时对应PMKID,AP根据PMKID检索本地保存的STA的PMK,并判断检索到的安全上下文是否有效。如果检索到的PMK有效,则AP直接与STA进行密钥验证处理。其中,第一请求消息为认证请求消息,则第二请求消息为关联请求消息;或者,第一请求消息为关联请求消息,则第二请求消息为认证请求消息,或EAPOL-KEY消息。相应的,第一响应消息为认证响应消息,第二响应消息为关联响应消息;或者,第一响应消息为关联响应消息,第二请求消息为认证响应消息或EAPOL-KEY消息。
下面通过具体实施例对本发明实施例的密钥的验证方法进行描述。
图11是根据本发明实施例一种优选的验证模块的示意图,可以用于实现优选实施例一的方法,如图11所示,验证模块40主要包括:第一生成单元402,用于生成随机数ANonce,根据检索模块20检索到的PMK以及接收模块10接收的SNonce和第一生成单元402生成的ANonce推导PTK,并根据PTK生成密钥确认密钥KCK;第一计算单元404,与第一生成单元402相耦合,用于使用生成的KCK计算第一请求消息的第一响应消息的MIC;第一发送单元406,与第一计算单元404相耦合,用于向STA发送第一响应消息,其中,第一响应消息携带有第一响应消息的MIC;第一接收单元408,用于接收STA在接收到第一响应消息后返回的第二请求消息;第一验证单元410,与第一接收单元408相耦合,用于验证第二请求消息携带的MIC。可选地,如果验证通过,触发第一计算单元404使用生成的KCK计算的第二请求消息的第二响应消息的MIC,并由第一发送单元406向STA发送第二响应消息,其中,第二响应消息携带有第二响应消息的MIC。
优选地,第一接收单元408接收STA在接收到第一响应消息后返回的第二请求消息之前,STA根据本地保存的PMK以及AP发送的ANonce和生成的SNonce推导PTK,并根据PTK生成KCK。STA使用生成的KCK验证第一响应消息中携带的MIC。如果验证通过,STA向AP发送第二请求消息,其中,第二请求消息携带有STA使用生成的KCK计算的第二请求消息的MIC。具体的,STA可以通过以下方式验证第一响应消息中携带的MIC:STA可以使用生成的KCK对接收到的第一响应消息计算Hash值MIC,并将计算所得的MIC与接收到的MIC相比较,如果二者相同,则验证通过;否者,验证失败。
图12是根据本发明实施例另一种优选的验证模块的示意图,可以用于实现优选实施例二的方法,如图12所示,验证模块40主要包括:第二生成单元412,用于生成随机数ANonce;第二发送单元414,用于向STA发送携带有ANonce的第一请求消息的第一响应消息;第二接收单元416,用于接收STA返回的第二请求消息,其中,第二请求消息携带有第二请求消息的MIC;第二生成单元412,还用于根据PMK以及ANonce和SNonce推导PTK,并根据PTK生成KCK;第二验证单元418,用于使用生成的KCK验证第二请求消息的MIC。
可选地,如果第二验证单元418的验证通过,触发第二生成单元412使用生成的KCK计算第二请求消息的第二响应消息的MIC,并由第二发送单元414向STA发送第二响应消息,其中,第二响应消息携带有第二响应消息的MIC。
优选地,AP的第二接收单元416接收STA返回的第二请求消息之前,STA接收AP发送的第一响应消息,根据本地保存的PMK以及接收到的ANonce和生成的SNonce推导PTK,并根据推导出的PTK生成KCK。STA使用生成的KCK计算第二请求消息的MIC,并向AP发送第二请求消息,其中,第二请求消息携带有第二请求消息的MIC。
图13是根据本发明实施例又一种优选的验证模块的示意图,可以用于实现优选实施例三的方法,如图13所示,验证模块40主要包括:第三生成单元420,用于生成随机数ANonce;第三发送单元422,与第三生成单元420相耦合,用于向STA发送携带有ANonce的第一请求消息的第一响应消息;第三接收单元424,与第三发送单元422相耦合,用于接收STA返回的第二请求消息,其中,第二请求消息携带有STA生成的随机数SNonce和所述第二请求消息的MIC;第三生成单元420,还用于根据PMK以及SNonce和ANonce推导PTK,并根据PTK生成密钥确认密钥KCK;第三验证单元428,用于使用生成的所述KCK验证所述第二请求消息的MIC;第三计算单元430,与第三验证单元428相耦合,用于在验证通过时,使用生成的KCK计算第二请求消息的第二响应消息的MIC;第三发送单元422,还用于向STA发送第二响应消息,其中,第二响应消息携带有第二响应消息的MIC。
优选地,AP的第三接收单元424接收STA返回的第二请求消息之前,STA生成SNonce,根据本地保存的PMK以及SNonce和ANonce推导PTK,并根据PTK生成密钥确认密钥KCK;STA根据生成的KCK计算第二请求消息的MIC;STA向AP发送第二请求消息,其中,第二请求消息携带有第二请求消息的MIC。
从以上的描述中,可以看出,本发明实现了如下技术效果:STA再次关联或重关联到AP时,AP根据STA的安全上下文标识检索本地保存的STA上次关联或重关联到该AP时的安全上下文,且检索到的该STA的安全上下文有效,则AP直接与该STA进行密钥验证处理,可以省略EAP认证或重认证过程,大大加快终端重建立链路的速度,减少终端重接入WLAN网络的时延。特别是对于大量用户需要在极短时间内接入WLAN网络的场景,性能有极大的提升。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (20)
1.一种密钥的验证方法,其特征在于,包括:
接入点AP接收站点STA再次关联或重关联到所述AP时发送的第一请求消息,其中,所述第一请求消息携带有所述STA上次关联或重关联到所述AP时对应的安全上下文标识;
所述AP根据所述安全上下文标识检索本地保存的所述STA的安全上下文,并判断检索到的所述安全上下文是否有效;
如果有效,所述AP直接与所述STA进行密钥验证处理;
其中,所述第一请求消息还携带所述STA生成的随机数SNonce;
其中,所述AP直接与所述STA进行密钥验证处理,包括:所述AP生成随机数ANonce,并向所述STA发送携带有所述ANonce的所述第一请求消息的第一响应消息;所述AP接收所述STA返回的第二请求消息,其中,所述第二请求消息携带有所述第二请求消息的MIC;所述AP根据所述安全上下文以及所述ANonce和所述SNonce推导PTK,并根据所述PTK生成KCK;所述AP使用生成的所述KCK验证所述第二请求消息的MIC,如果验证通过,所述AP使用生成的所述KCK计算所述第二请求消息的第二响应消息的MIC,并向所述STA发送第二响应消息,其中,所述第二响应消息携带有所述第二响应消息的MIC;或者
所述AP直接与所述STA进行密钥验证处理,包括:所述AP生成随机数ANonce,并向所述STA发送携带有所述ANonce的所述第一请求消息的第一响应消息;所述AP根据所述安全上下文以及所述ANonce和所述SNonce推导PTK,并根据所述PTK生成KCK;所述AP接收所述STA返回的第二请求消息,其中,所述第二请求消息携带有所述第二请求消息的MIC;所述AP使用生成的所述KCK验证所述第二请求消息的MIC,如果验证通过,所述AP使用生成的所述KCK计算所述第二请求消息的第二响应消息的MIC,并向所述STA发送第二响应消息,其中,所述第二响应消息携带有所述第二响应消息的MIC。
2.根据权利要求1所述的方法,其特征在于,所述安全上下文标识,包括以下至少之一:成对主密钥标识PMKID、成对主密钥PMK序列号、以及可扩展认证协议EAP重认证协议EAP-RP中的重认证根密钥rRK标识或认证主会话密钥rMSK标识。
3.根据权利要求1所述的方法,其特征在于,所述AP直接与所述STA进行密钥验证处理,包括:
所述AP生成随机数ANonce,根据所述安全上下文以及所述SNonce和所述ANonce推导成对临时密钥PTK,并根据所述PTK生成密钥确认密钥KCK;
所述AP使用生成的所述KCK计算所述第一请求消息的第一响应消息的消息完整性验证码MIC,并向所述STA发送所述第一响应消息,其中,所述第一响应消息携带有所述第一响应消息的MIC;
所述AP接收所述STA在接收到所述第一响应消息后返回的第二请求消息,并验证所述第二请求消息携带的MIC。
4.根据权利要求3所述的方法,其特征在于,如果验证通过,验证所述第二请求消息携带的MIC之后,还包括:
所述AP使用生成的所述KCK计算的所述第二请求消息的第二响应消息的MIC,并向所述STA发送所述第二响应消息,其中,所述第二响应消息携带有所述第二响应消息的MIC。
5.根据权利要求3所述的方法,其特征在于,所述AP接收所述STA在接收到所述第一响应消息后返回的第二请求消息之前,还包括:
所述STA根据本地保存的安全上下文以及所述ANonce和所述SNonce推导PTK,并根据所述PTK生成KCK;
所述STA使用生成的所述KCK验证所述第一响应消息中携带的MIC;
如果验证通过,所述STA向所述AP发送所述第二请求消息,其中,所述第二请求消息携带有所述STA使用生成的所述KCK计算的所述第二请求消息的MIC。
6.根据权利要求1所述的方法,其特征在于,所述AP接收所述STA返回的第二请求消息之前,还包括:
所述STA接收所述第一响应消息,根据本地保存的安全上下文以及所述ANonce和所述SNonce推导PTK,并根据所述PTK生成KCK;
所述STA使用生成的所述KCK计算所述第二请求消息的MIC;
所述STA向所述AP发送所述第二请求消息,其中,所述第二请求消息携带有所述第二请求消息的MIC。
7.根据权利要求2所述的方法,其特征在于,所述AP直接与所述STA进行密钥验证处理,包括:
所述AP生成随机数ANonce,并向所述STA发送携带有所述ANonce的所述第一请求消息的第一响应消息;
所述AP接收所述STA返回的第二请求消息,其中,所述第二请求消息携带有所述STA生成的随机数SNonce和所述第二请求消息的MIC;
所述AP根据所述安全上下文以及所述SNonce和所述ANonce推导PTK,并根据所述PTK生成密钥确认密钥KCK;
所述AP使用生成的所述KCK验证所述第二请求消息的MIC,如果验证通过,所述AP使用生成的所述KCK计算所述第二请求消息的第二响应消息的MIC,并向所述STA发送所述第二响应消息,其中,所述第二响应消息携带有所述第二响应消息的MIC。
8.根据权利要求7所述的方法,其特征在于,所述AP接收所述STA返回的第二请求消息之前,所述方法还包括:
所述STA生成SNonce,根据本地保存的安全上下文以及所述SNonce和所述ANonce推导PTK,并根据所述PTK生成密钥确认密钥KCK;
所述STA根据生成的所述KCK计算所述第二请求消息的MIC;
所述STA向所述AP发送所述第二请求消息,其中,所述第二请求消息携带有所述第二请求消息的MIC。
9.根据权利要求2所述的方法,其特征在于,AP接收STA再次关联或重关联到所述AP时发送的第一请求消息之前,还包括:
所述AP接收所述STA发送的第二请求消息,生成随机数ANonce,并向所述STA发送所述第二请求消息的第二响应消息,其中,所述第二响应消息中携带有生成的所述ANonce;
所述STA接收所述第二响应消息,生成随机数SNonce,根据保存的安全上下文以及接收到的所述ANonce和所述SNonce推导PTK,根据所述PTK生成KCK,并向所述AP返回所述第一请求消息,其中,所述第一请求消息中还携带有所述STA使用所述KCK计算的所述第一请求消息的MIC和所述SNonce。
10.根据权利要求9所述的方法,其特征在于,所述AP直接与所述STA进行密钥验证处理,包括:
所述AP根据检索到的安全上下文以及接收到的所述SNonce和所述ANonce推导PTK,根据所述PTK生成KCK;
所述AP使用生成的所述KCK验证所述第二请求消息的MIC,如果验证通过,所述AP使用生成的所述KCK计算所述第一请求消息的第一响应消息的MIC,并向所述STA发送所述第一响应消息,其中,所述第一响应消息携带有所述第一响应消息的MIC。
11.根据权利要求3至5、7至10中任一项所述的方法,其特征在于,所述第一请求消息为认证请求消息,或基于局域网的扩展认证协议开始EAPOL-Start消息,所述第二请求消息为关联请求消息;或者,所述第一请求消息为关联请求消息,所述第二请求消息为认证请求消息或基于局域网的扩展认证协议密钥EAPOL-KEY消息。
12.根据权利要求3至5、7至10中任一项所述的方法,其特征在于,所述第一响应消息为认证响应消息,或EAP请求/标识消息,所述第二响应消息为关联响应消息;或者,所述第一响应消息为关联响应消息,所述第二请求消息为认证响应消息或基于局域网的扩展认证协议密钥EAPOL-KEY消息。
13.根据权利要求3至5、7至10中任一项所述的方法,其特征在于,如果所述AP未检索到所述STA的安全上下文或者检测到的安全上下文无效,则所述第一响应消息中携带指示STA进行完整EAP认证或EAP重认证的参数。
14.根据权利要求1至5、7至10中任一项所述的方法,其特征在于,所述安全上下文,包括:成对主密钥PMK。
15.一种密钥的验证装置,其特征在于,包括:
接收模块,用于接收站点STA再次关联或重关联到接入点AP时发送的第一请求消息,其中,所述第一请求消息携带有所述STA上次关联或重关联到所述AP时对应的安全上下文标识;
检索模块,用于根据所述安全上下文标识检索本地保存的所述STA的安全上下文;
判断模块,用于判断检索到的所述安全上下文是否有效;
验证模块,用于在所述判断模块的判断结果为有效时,直接与所述STA进行密钥验证处理;
其中,所述第一请求消息还携带所述STA生成的随机数SNonce;
其中,所述验证模块包括:第一生成单元,用于生成随机数ANonce,根据所述安全上下文以及所述SNonce和所述ANonce推导成对临时密钥PTK,并根据所述PTK生成密钥确认密钥KCK;第一计算单元,用于使用生成的所述KCK计算所述第一请求消息的第一响应消息的消息完整性验证码MIC;第一发送单元,用于向所述STA发送所述第一响应消息,其中,所述第一响应消息携带有所述第一响应消息的MIC;第一接收单元,用于接收所述STA在接收到所述第一响应消息后返回的第二请求消息;第一验证单元,用于验证所述第二请求消息携带的MIC;或者,
所述验证模块,包括:第二生成单元,用于生成随机数ANonce;
第二发送单元,用于向所述STA发送携带有所述ANonce的所述第一请求消息的第一响应消息;第二接收单元,用于接收所述STA返回的第二请求消息,其中,所述第二请求消息携带有所述第二请求消息的MIC;所述第二生成单元,还用于根据所述安全上下文以及所述ANonce和所述SNonce推导PTK,并根据所述PTK生成KCK;第二验证单元,用于使用生成的所述KCK验证所述第二请求消息的MIC,如果验证通过,触发所述生成单元使用生成的所述KCK计算所述第二请求消息的第二响应消息的MIC,并由所述发送单元向所述STA发送第二响应消息,其中,所述第二响应消息携带有所述第二响应消息的MIC。
16.根据权利要求15所述的装置,其特征在于,所述安全上下文标识,包括以下至少之一:成对主密钥标识PMKID、成对主密钥PMK序列号、以及可扩展认证协议EAP重认证协议EAP-RP中的rRK标识或rMSK标识。
17.根据权利要求15所述的装置,其特征在于,如果所述第一验证单元验证通过,触发所述计算单元用生成的所述KCK计算的所述第二请求消息的第二响应消息的MIC,并由发送单元向所述STA发送所述第二响应消息,其中,所述第二响应消息携带有所述第二响应消息的MIC。
18.根据权利要求15所述的装置,其特征在于,所述验证模块,包括:
第二生成单元,用于生成随机数ANonce;
第二发送单元,用于向所述STA发送携带有所述ANonce的所述第一请求消息的第一响应消息;
第二接收单元,用于接收所述STA返回的第二请求消息,其中,所述第二请求消息携带有所述第二请求消息的MIC;
所述第二生成单元,还用于根据所述安全上下文以及所述ANonce和所述SNonce推导PTK,并根据所述PTK生成KCK;
第二验证单元,用于使用生成的所述KCK验证所述第二请求消息的MIC,如果验证通过,触发所述生成单元使用生成的所述KCK计算所述第二请求消息的第二响应消息的MIC,并由所述发送单元向所述STA发送第二响应消息,其中,所述第二响应消息携带有所述第二响应消息的MIC。
19.根据权利要求16所述的装置,其特征在于,所述验证模块,包括:
第三生成单元,用于生成随机数ANonce;
第三发送单元,用于向所述STA发送携带有所述ANonce的所述第一请求消息的第一响应消息;
第三接收单元,用于接收所述STA返回的第二请求消息,其中,所述第二请求消息携带有所述STA生成的随机数SNonce和所述第二请求消息的MIC;
所述第三生成单元,还用于根据所述安全上下文以及所述SNonce和所述ANonce推导PTK,并根据所述PTK生成密钥确认密钥KCK;
第三验证单元,用于使用生成的所述KCK验证所述第二请求消息的MIC;
第三计算单元,用于在验证通过时,使用生成的所述KCK计算所述第二请求消息的第二响应消息的MIC;
所述第三发送单元,还用于向所述STA发送所述第二响应消息,其中,所述第二响应消息携带有所述第二响应消息的MIC。
20.根据权利要求17至19中任一项所述的装置,其特征在于,所述第一请求消息为认证请求消息,所述第二请求消息为关联请求消息;或者,所述第一请求消息为关联请求消息,所述第二请求消息为认证请求消息或EAPOL-KEY消息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210071034.0A CN103313242B (zh) | 2012-03-16 | 2012-03-16 | 密钥的验证方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210071034.0A CN103313242B (zh) | 2012-03-16 | 2012-03-16 | 密钥的验证方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103313242A CN103313242A (zh) | 2013-09-18 |
CN103313242B true CN103313242B (zh) | 2018-06-12 |
Family
ID=49137921
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210071034.0A Active CN103313242B (zh) | 2012-03-16 | 2012-03-16 | 密钥的验证方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103313242B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4080987A4 (en) * | 2020-01-21 | 2023-05-24 | Huawei Technologies Co., Ltd. | DATA TRANSMISSION METHOD AND DEVICE |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9961545B2 (en) * | 2014-06-03 | 2018-05-01 | Qualcomm Incorporated | Systems, methods, and apparatus for authentication during fast initial link setup |
CN107211273B (zh) | 2015-02-12 | 2021-03-12 | 瑞典爱立信有限公司 | 涉及用于网络信令的快速初始链路建立fils发现帧的无线通信 |
CN105188057B (zh) * | 2015-08-26 | 2018-07-06 | 上海斐讯数据通信技术有限公司 | 一种提高网络接入认证安全的方法及*** |
CN105792334A (zh) * | 2016-02-26 | 2016-07-20 | 北京联盛德微电子有限责任公司 | 无线局域网站点、接入点以及无线局域网站点接入方法 |
US10623951B2 (en) | 2016-03-09 | 2020-04-14 | Qualcomm Incorporated | WWAN-WLAN aggregation security |
CN107666667B (zh) * | 2016-07-29 | 2019-09-17 | 电信科学技术研究院 | 一种数据传输方法、第一设备及第二设备 |
CN106162645B (zh) * | 2016-09-27 | 2017-06-23 | 广州赛意信息科技股份有限公司 | 一种移动应用的快速重连鉴权方法及*** |
US11160008B2 (en) | 2016-10-24 | 2021-10-26 | Sony Corporation | Communication device and communication method |
CN106941405A (zh) * | 2017-04-28 | 2017-07-11 | 北京星网锐捷网络技术有限公司 | 一种在无线局域网中终端认证的方法和装置 |
WO2020035009A1 (zh) | 2018-08-15 | 2020-02-20 | 飞天诚信科技股份有限公司 | 认证***及其工作方法 |
CN109150541B (zh) * | 2018-08-15 | 2020-05-19 | 飞天诚信科技股份有限公司 | 一种认证***及其工作方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050243769A1 (en) * | 2004-04-28 | 2005-11-03 | Walker Jesse R | Apparatus and method capable of pre-keying associations in a wireless local area network |
US7907734B2 (en) * | 2005-03-04 | 2011-03-15 | Panasonic Corporation | Key distribution control apparatus, radio base station apparatus, and communication system |
CN101111056B (zh) * | 2006-07-17 | 2010-05-12 | 西安电子科技大学 | 在无线局域网中的快速切换方法 |
CN101119199A (zh) * | 2006-08-02 | 2008-02-06 | 西安电子科技大学 | 一种在无线局域网中的安全快速切换方法 |
CN201409222Y (zh) * | 2009-05-22 | 2010-02-17 | 刘建 | 无线局域网鉴别与保密基础结构终端的安全关联建立装置 |
US8812833B2 (en) * | 2009-06-24 | 2014-08-19 | Marvell World Trade Ltd. | Wireless multiband security |
-
2012
- 2012-03-16 CN CN201210071034.0A patent/CN103313242B/zh active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4080987A4 (en) * | 2020-01-21 | 2023-05-24 | Huawei Technologies Co., Ltd. | DATA TRANSMISSION METHOD AND DEVICE |
Also Published As
Publication number | Publication date |
---|---|
CN103313242A (zh) | 2013-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103313242B (zh) | 密钥的验证方法及装置 | |
CN110035433B (zh) | 采用共享密钥、公钥和私钥的验证方法及装置 | |
CN109699031B (zh) | 采用共享密钥、公钥和私钥的验证方法及装置 | |
KR102024653B1 (ko) | 사용자 장비(ue)를 위한 액세스 방법, 디바이스 및 시스템 | |
US9392453B2 (en) | Authentication | |
JP5597676B2 (ja) | 鍵マテリアルの交換 | |
KR101062781B1 (ko) | 통신 시스템에서의 키 생성 | |
AU2006266651B2 (en) | Authentication system and method thereof in a communication system | |
CN107690138B (zh) | 一种快速漫游方法、装置、***、接入点和移动站 | |
US11044084B2 (en) | Method for unified network and service authentication based on ID-based cryptography | |
US20040236939A1 (en) | Wireless network handoff key | |
US20080046732A1 (en) | Ad-hoc network key management | |
EP1414262A1 (en) | Authentication method for fast handover in a wireless local area network | |
CN105553981B (zh) | 一种wlan网络快速认证和密钥协商方法 | |
JP2011139457A (ja) | 無線通信装置とサーバとの間でデータを安全にトランザクション処理する方法及びシステム | |
JP2018533883A (ja) | Diffie−Hellman手順によるセッション鍵生成のための方法およびシステム | |
JP2008547304A (ja) | 無線携帯インターネットシステム用の認証キー識別子の割り当て方法 | |
EP2957114B1 (en) | Method and network node for obtaining a permanent identity of an authenticating wireless device | |
KR20060134774A (ko) | 무선 휴대 인터넷 시스템의 mac 계층에서 보안 기능을 구현하기 위한 장치 및 이를 이용한 인증 방법 | |
US20200389788A1 (en) | Session Key Establishment | |
CN103096307A (zh) | 密钥验证方法及装置 | |
CN109561431B (zh) | 基于多口令身份鉴别的wlan接入访问控制***及方法 | |
Maccari et al. | Security analysis of IEEE 802.16 | |
Ciou et al. | A handover security mechanism employing the Diffie-Hellman key exchange approach for the IEEE802. 16e wireless networks | |
CN103200004B (zh) | 发送消息的方法、建立安全连接的方法、接入点和工作站 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |