发明内容
本发明实施例提供了一种组密钥的更新方法和相关装置及系统,用于实现BSS中GTK的更新,且不会加重接入点的额外负荷。
为解决上述技术问题,本发明实施例提供以下技术方案:
第一方面,本发明实施例提供一种组密钥更新方法,包括:
接入点AP设定组密钥GTK的更新周期;
每当所述GTK的更新周期到达时,所述接入点更新GTK;
所述接入点接收关联表中的移动站STA在所述GTK的更新周期到达之后的预置延迟时间段内发送的GTK请求,所述关联表中记录有与所述接入点通信的所有移动站,所述预置延迟时间段小于所述GTK的更新周期;
在所述GTK的更新周期到达之后的预置延迟时间段到达时,所述接入点根据所述GTK请求向关联表中的移动站发送更新后的GTK。
结合第一方面,在第一方面的第一种可能的实现方式中,所述方法还包括:当有移动站与所述接入点关联时,所述接入点将新关联的移动站加入到所述关联表中;
所述接入点接收新关联的移动站发送的GTK请求;
若所述接入点已经更新了GTK但是仍在使用旧的GTK时,所述接入点将所述旧的GTK和更新后的GTK都发送给所述新关联的移动站,以使所述新关联的移动站在所述GTK的更新周期到达之后的预置延迟时间段没有到达时使用所述旧的GTK,和在所述GTK的更新周期到达之后的预置延迟时间段到达之后使用所述更新后的GTK。
结合第一方面,在第一方面的第二种可能的实现方式中,所述方法还包括:当有移动站与所述接入点关联时,所述接入点将新关联的移动站加入到所述关联表中;
所述接入点接收新关联的移动站发送的GTK请求;
若所述接入点还没有更新GTK且仍在使用旧的GTK时,所述接入点将所述旧的GTK发送给所述新关联的移动站,以使所述新关联的移动站在所述GTK的更新周期到达之后的预置延迟时间段没有到达时使用所述旧的GTK,和在所述GTK的更新周期到达之后的预置延迟时间段内向所述接入点发送GTK请求。
第二方面,本发明实施例还提供另一种组密钥更新方法,包括:
移动站STA设定组密钥GTK的请求周期;
在每次所述GTK的请求周期到达之后的预置延迟时间段内,所述移动站向与所述移动站关联的接入点AP发送GTK请求,以使所述接入点为所述移动站分配GTK,所述接入点设定的GTK的更新周期与所述GTK的请求周期相同。
结合第二方面,在第二方面的第一种可能的实现方式中,所述方法还包括:若所述移动站与所述接入点关联时,所述移动站向所述接入点发送GTK请求;
所述移动站接收所述接入点发送的更新后的GTK和仍在使用的旧的GTK,以使所述移动站在所述GTK的请求周期到达之后的预置延迟时间段没有到达时使用所述旧的GTK,和在所述GTK的请求周期到达之后的预置延迟时间段到达之后使用所述更新后的GTK。
结合第二方面,在第二方面的第二种可能的实现方式中,所述方法还包括:若所述移动站与所述接入点关联时,所述移动站向所述接入点发送GTK请求;
所述移动站接收所述接入点发送的仍在使用的旧的GTK,以使所述移动站在所述GTK的请求周期到达之后的预置延迟时间段没有到达时使用所述旧的GTK,和在所述GTK的请求周期到达之后的预置延迟时间段内向所述接入点发送GTK请求。
第三方面,本发明实施例还提供另一种组密钥更新方法,包括:
接入点AP设定组密钥GTK的更新周期;
每当所述GTK的更新周期到达时,所述接入点更新GTK,并向关联表中的移动站STA发送更新后的GTK,所述关联表中记录有与所述接入点通信的所有移动站。
结合第三方面,在第三方面的第一种可能的实现方式中,所述方法还包括:当有移动站离开所述接入点的覆盖范围时,所述接入点将离开的移动站从所述关联表中删除,以使当GTK的更新周期到达时不再向离开的移动站发送更新后的GTK。
结合第三方面或第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述方法还包括:
当有移动站与所述接入点关联时,所述接入点将新关联的移动站加入到所述关联表中。
第四方面,本发明实施例还提供了一种接入点(AP,Access Point),包括:
周期设定单元,用于设定组密钥GTK的更新周期;
更新单元,用于每当所述GTK的更新周期到达时,更新GTK;
接收单元,用于接收关联表中的移动站STA在所述GTK的更新周期到达之后的预置延迟时间段内发送的GTK请求,所述关联表中记录有与所述接入点通信的所有移动站,所述预置延迟时间段小于所述GTK的更新周期;
发送单元,用于在所述GTK的更新周期到达之后的预置延迟时间段到达时,根据所述GTK请求向关联表中的移动站发送更新后的GTK。
结合第四方面,在第四方面的第一种可能的实现方式中,所述更新单元,还用于当有移动站与所述接入点关联时,将新关联的移动站加入到所述关联表中;
所述接收单元,还用于所述接入点接收新关联的移动站发送的GTK请求;
发送单元,还用于若所述接入点已经更新了GTK但是仍在使用旧的GTK时,将所述旧的GTK和更新后的GTK都发送给所述新关联的移动站,以使所述新关联的移动站在所述GTK的更新周期到达之后的预置延迟时间段没有到达时使用所述旧的GTK,和在所述GTK的更新周期到达之后的预置延迟时间段到达之后使用所述更新后的GTK。
结合第四方面,在第四方面的第二种可能的实现方式中,所述更新单元,还用于当有移动站与所述接入点关联时,将新关联的移动站加入到所述关联表中;
所述接收单元,还用于接收新关联的移动站发送的GTK请求;
所述发送单元,还用于若所述接入点还没有更新GTK且仍在使用旧的GTK时,将所述旧的GTK发送给所述新关联的移动站,以使所述新关联的移动站在所述GTK的更新周期到达之后的预置延迟时间段没有到达时使用所述旧的GTK,和在所述GTK的更新周期到达之后的预置延迟时间段内向所述接入点发送GTK请求。
第五方面,本发明实施例还提供了一种移动站,包括:
周期设定单元,用于设定组密钥GTK的请求周期;
发送单元,用于在每次所述GTK的请求周期到达之后的预置延迟时间段内,向与所述移动站关联的接入点AP发送GTK请求,以使所述接入点为所述移动站分配GTK,所述接入点设定的GTK的更新周期与所述GTK的请求周期相同。
结合第五方面,在第五方面的第一种可能的实现方式中,所述移动站还包括:第一接收单元,其中,
所述发送单元,还用于若所述移动站与所述接入点关联时,向所述接入点发送GTK请求;
第一接收单元,用于接收所述接入点发送的更新后的GTK和仍在使用的旧的GTK,以使所述移动站在所述GTK的请求周期到达之后的预置延迟时间段没有到达时使用所述旧的GTK,和在所述GTK的请求周期到达之后的预置延迟时间段到达之后使用所述更新后的GTK。
结合第五方面,在第五方面的第二种可能的实现方式中,所述移动站还包括:第二接收单元,其中,
所述发送单元,还用于若所述移动站与所述接入点关联时,向所述接入点发送GTK请求;
第二接收单元,用于接收所述接入点发送的仍在使用的旧的GTK,以使所述移动站在所述GTK的请求周期到达之后的预置延迟时间段没有到达时使用所述旧的GTK;
所述发送单元,还用于在所述GTK的请求周期到达之后的预置延迟时间段内向所述接入点发送GTK请求。
第六方面,本发明实施例还提供了一种组密钥更新系统,包括:前述第四方面或第四方面的第一种可能的实现方式或第四方面的第二种可能的实现方式所述的接入点,前述第五方面或第五方面的一种可能的实现方式或第五方面的第二种可能的实现方式所述的移动站。
第七方面,本发明实施例还提供了另一种接入点,包括:
周期设定单元,用于设定组密钥GTK的更新周期;
更新单元,用于每当所述GTK的更新周期到达时,更新GTK;
发送单元,用于更新完成GTK之后,向关联表中的移动站STA发送更新后的GTK,所述关联表中记录有与所述接入点通信的所有移动站。
结合第七方面,在第七方面的第一种可能的实现方式中,所述更新单元,还用于当有移动站离开所述接入点的覆盖范围时,将离开的移动站从所述关联表中删除,以使当GTK的更新周期到达时不再向离开的移动站发送更新后的GTK。
结合第七方面,在第七方面的第二种可能的实现方式中,所述更新单元,还用于当有移动站与所述接入点关联时,将新关联的移动站加入到所述关联表中。
从以上技术方案可以看出,本发明实施例具有以下优点:
在本发明的一实施例中,由接入点设定GTK的更新周期,定期更新GTK,与该接入点关联的移动站向该接入点发送GTK请求,接入点在接收到请求后,向移动站发送更新后的GTK,而不需要每当有移动站离开该接入点时都更新GTK,避免频繁的更新GTK,避免了接入点的超负荷工作。
在本发明的另一实施例中,接入点设定GTK的更新周期,每当GTK的更新周期到达时,接入点更新GTK,更新完GTK之后,接入点根据关联表向该关联表中的移动站发送更新后的GTK,而不需要每当有移动站离开该接入点时都更新GTK,避免频繁的更新GTK,避免了接入点的超负荷工作。
具体实施方式
本发明实施例提供了一种组密钥更新方法和相关装置及系统,用于实现BSS中GTK的更新,且不会加重接入点的额外负荷。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域的技术人员所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的组密钥更新方法,涉及的方法执行主体是接入点(AP,AccessPoint)和移动站(STA,station),接下来描述的是接入点和移动站之间的交互过程,但是接下来将分别介绍接入点和移动站各自执行的方法,首先从接入点的角度出发进行详细介绍,然后在后续实施例中对移动站再做详细说明。
本发明实施例提供的组密钥更新方法,如图1所示,包括:
101、接入点设定GTK的更新周期。
在本发明实施例中,在接入点的覆盖范围内存在有一个或者多个的移动站,在接入点的关联表中记录有与该接入点通信的所有移动站,当一个移动站与接入点通信之前要经历一个关联过程,接入点在关联过程中将256位的GTK发送给移动站,GTK是一组全局加密密钥,所有与该接入点建立通信的移动站均使用相同的GTK,接入点用这个GTK来加密所有广播报文,移动站使用这个GTK来解密由接入点发送的广播报文。为了保证信息安全,接入点会更新GTK。
在智能交通领域中,在交通工具如汽车上安装有移动站(STA,Station),通常也称之为WiFi收发模块,用于接收WiFi网络中的实时路况信息,从而给汽车驾驶者提供路线参考。汽车驾驶者驾驶汽车在交通路段上行驶,则移动站在多个接入点之间进进出出,按照现有技术的实现方式,每当一个移动站离开接入点时,为了保证信息安全,接入点都需要更新一下GTK,按照如此方式,若在同一时间内有多个移动站相继离开GTK,则接入点需要多次更新GTK,这严重增加了接入点的负荷。
在本发明实施例中,接入点更新GTK的方式不再是每有一个移动站离开该接入点就立即更新GTK,而是接入点设定GTK的更新周期,即固定周期的更新GTK,另外,GTK更新周期可以由接入点与网络侧的服务器协商来确定。具体的,接入点可以设定GTK的更新周期为1分钟,则时间每过1分钟,接入点就会生成新的GTK,这种固定周期更新GTK的方式不需要在每有移动站离开接入点时都更新GTK,避免加重接入点的额外负荷。
102、每当GTK的更新周期到达时,接入点更新GTK。
在设定完成GTK的更新周期之后,接入点开始计时,每当该更新周期到达时,接入点都更新GTK,即生成新的GTK,例如,设定的GTK更新周期为1分钟时,则计时器开始计时后,每过1分钟,接入点都会生成一个新的GTK。
103、接入点接收关联表中的移动站在GTK的更新周期到达之后的预置延迟时间段内发送的GTK请求,其中,关联表中记录有与该接入点通信的所有移动站,预置延迟时间段小于GTK的更新周期。
在本发明实施例中,与该接入点关联的移动站可以同样设定有GTK请求周期,该GTK请求周期与接入点设定的GTK更新周期保持相(Phase,相)一致,具有相同的周期时间值,接入点和移动站都设置有一个预置延迟时间段,该预置延迟时间段小于GTK的更新周期,移动站在GTK的更新周期到达之后的预置延迟时间段内向与之关联的接入点发送GTK请求,该GTK请求用于向接入点请求分配GTK。例如GTK的更新周期设定为1分钟,则预置延迟时间段可以设置为0.1分钟,则在GTK的更新周期1分钟到达之后的0.1分钟之内,移动站可以向接入点发起GTK请求。
在本发明实施例中,关联表中的移动站向接入点发送GTK请求,接入点可以接收到关联表中的移动站发送的GTK请求,由于关联表中维护的是该接入点的覆盖范围内与该接入点进行通信的所有移动站,当一个移动站离开接入点时接入点就可以将该接入点从关联表中删除掉,也就是说,一个已经离开的移动站是不能够向所离开的接入点发送GTK请求的。
104、在GTK的更新周期到达之后的预置延迟时间段到达时,接入点根据GTK请求向关联表中的移动站发送更新后的GTK。
在本发明实施例中,在GTK的更新周期到达之后的预置延迟时间段到达时,接入点根据前述接收到的GTK请求向关联表中发送GTK请求的移动站发送更新后的GTK。在实际应用中,接入点与移动站之间的四次握手成功之后,接入点可以以单播的方式,分别向关联表中的所有移动站发送更新后的GTK。
需要说明的是,在本发明实施例中,接入点更新GTK之后接入点并不是马上开始使用更新后的GTK,而是需要由移动站向接入点发送GTK请求,基于GTK请求,接入点才会向发送GTK请求的移动站发送GTK,也就是说,本发明实施例中,接入点是基于请求才会发送GTK的,这与现有技术中每次有移动站离开都更新GTK是完全不同的实现方式。当接入点将更新后的GTK发送给移动站之后,接入点就开始使用更新后的GTK对接入点与移动站之间的广播信息帧进行加密了。
需要说明的是,前述实施例所描述的是接入点与已经进入该接入点的覆盖范围内并且与该接入点正在进行通信的移动站之间的GTK的更新方法,本发明实施例还可以包括接入点与刚进入该接入点的覆盖范围内与该接入点关联时的移动站之间的处理方式,此时关联表中还没有包括新关联的移动站,本发明实施例提供的方法还可以包括如下步骤:
A1、当有移动站与接入点关联时,接入点将新关联的移动站加入到关联表中;
A2、接入点接收新关联的移动站发送的GTK请求;
A3、若接入点已经更新了GTK但是仍在使用旧的GTK时,接入点将旧的GTK和更新后的GTK都发送给新关联的移动站,以使新关联的移动站在GTK的更新周期到达之后的预置延迟时间段没有到达时使用旧的GTK,和在GTK的更新周期到达之后的预置延迟时间段到达之后使用更新后的GTK。
对于步骤A1,当有新的移动站与该接入点关联时,接入点可以更新关联表,将新关联的移动站加入到该关联表中。在步骤A2中,当一个新的移动站与该接入点关联时,新的移动站首先向接入点发送GTK请求,以向该接入点请求分配GTK,在步骤A3中,接入点接收该GTK请求时,对此时接入点的状态进行判断,若接入点已经更新了GTK但是仍在使用旧的GTK时,接入点将旧的GTK和更新后的GTK都发送给新关联的移动站,由于新产生的GTK不是马上使用,而是延迟一段时间(即预置延迟时间段)之后才开始使用,故新关联的移动站在GTK的更新周期到达之后的预置延迟时间段没有到达时使用旧的GTK,和在GTK的更新周期到达之后的预置延迟时间段到达之后使用更新后的GTK。
为了更加清楚的说明步骤A1至A3,接下来以一个实际的应用场景进行详细说明,请参阅图2所示,图2为接入点和移动站固定周期更新GTK的示意图,本实施例中,AP以固定周期更新GTK,STA定期向AP发送请求,更新GTK周期和发送GTK请求的周期相同,如都为1分钟。在图2中,横轴代表时间。AP对应的那个时间轴上,GTK1代表GTK1产生的时间点,GTK2代表GTK2产生的时间点。新产生的GTK不是马上使用,而是延迟一个预置延迟时间段例如0.1分钟之后才开始用,每个GTK的使用时间与AP更新GTK的时间是一致的。当一个STA与该AP关联时,STA与AP进行四次握手,STA向AP发送GTK请求,此时AP已经生成了最新的GTK2但是仍在使用GTK1,则AP将当前使用的GTK1以及新产生的GTK2都发送给STA,当移动站与接入点关联成功之后,移动站在第二次发送GTK请求后,AP可以只发送GTK3,也可以发送GTK2、GTK3,在图2中仅示出了后者。在AP的广播信息中,会有组密钥标识符(GTK ID),STA可以根据所述GTK ID确定用哪个GTK解密广播信息。
需要说明的是,本发明实施例还可以包括接入点与刚进入该接入点的覆盖范围内与该接入点关联的移动站之间的处理方式,此时关联表中还没有包括新关联的移动站,本发明实施例提供的方法还可以包括如下步骤:
B1、当有移动站与接入点关联时,接入点将新关联的移动站加入到关联表中;
B2、接入点接收新关联的移动站发送的GTK请求;
B3、若接入点还没有更新GTK且仍在使用旧的GTK时,接入点将旧的GTK发送给新关联的移动站,以使新关联的移动站在GTK的更新周期到达之后的预置延迟时间段没有到达时使用旧的GTK,和在GTK的更新周期到达之后的预置延迟时间段内向接入点发送GTK请求。
步骤B1、B2和前述的步骤A1、A2相同,对于步骤B3,接入点接收该GTK请求时,对此时接入点的状态进行判断,若接入点还没有更新GTK且仍在使用旧的GTK时,接入点将旧的GTK发送给新关联的移动站,由于新产生的GTK不是马上使用,而是延迟一段时间(即预置延迟时间段)之后才开始使用,故新关联的移动站在GTK的更新周期到达之后的预置延迟时间段没有到达时使用旧的GTK,和在GTK的更新周期到达之后的预置延迟时间段内向接入点发送GTK请求,以向接入点请求最新的GTK。
为了更加清楚的说明步骤B1至B3,接下来以一个实际的应用场景进行详细说明,请参阅图3所示,图3为接入点和移动站定期更新GTK的示意图,本实施例中,AP定期更新GTK,STA定期向AP发送请求,更新周期和发送请求的周期相同,如都为1分钟。在图3中,横轴代表时间。AP对应的那个时间轴上,GTK1代表GTK1产生的时间点,GTK2代表GTK2产生的时间点。新产生的GTK不是马上使用,而是延迟一个预置延迟时间段例如0.1分钟之后才开始用,每个GTK的使用时间与AP更新GTK的时间是一致的。若STA在GTK1启用后,并在GTK2产生前进入AP的覆盖范围,STA与AP进行四次握手,STA向AP发送GTK请求,此时AP还没有更新GTK且仍在使用GTK1,STA与AP四次握手后,AP将已产生的并正在使用的GTK1发送给STA。当AP更新GTK产生GTK2时,STA向AP发送GTK请求,AP向STA发送GTK2此时STA具备2个GTK,在AP使用GTK2之前,STA照旧使用GTK1,在AP使用GTK2后,STA也开始使用GTK2。当AP使用GTK2加密广播信息时,STA就可以用GTK2解密广播信息。此后STA请求GTK的时间点可以与AP更新GTK的时间点总是保持同步。需要说明的是,STA向AP发送GTK请求的时间点也可以稍晚于AP生成GTK2的时间点,只要保证在AP使用GTK2之前将GTK2发送给STA即可。
在本发明实施例中,由接入点设定GTK的更新周期,定期更新GTK,并且在接收到与该接入点关联的移动站发送的GTK请求后,接入点向移动站发送更新后的GTK,而不需要每当有移动站离开该接入点时都更新GTK,避免频繁的更新GTK,避免了接入点的超负荷工作。
上述实施例描述的是接入点和移动站之间的交互过程中执行主体为接入点一端,接下来对移动站一端进行详细说明,请参阅图4所示,本发明实施例提供的组密钥更新方法,包括:
401、移动站设定GTK的请求周期。
在本发明实施例中,在接入点的覆盖范围内存在有一个或者多个的移动站与该接入点关联,在接入点的关联表中记录有与该接入点通信的所有移动站,当一个移动站进入接入点的覆盖范围内并且与该接入点通信时可以称之为该移动站与该接入点相关联,在本发明实施例中以其中一个移动站为执行主体进行GTK更新方法的描述,对于接入点关联的多个移动站同样可以按照此处描述的移动站执行方法进行具体实现。
在智能交通领域中,在交通工具如汽车上安装有移动站STA,通常也称之为WiFi收发模块,用于接收WiFi网络中的实时路况信息,从而给汽车驾驶者提供路线参考。汽车驾驶者驾驶汽车在交通路段上行驶,则移动站在多个接入点之间进进出出,按照现有技术的实现方式,每当一个移动站离开接入点时,为了保证信息安全,接入点都需要更新一下GTK,按照如此方式,若在同一时间内有多个移动站相继离开GTK,则接入点需要多次更新GTK,这严重增加了接入点的负荷。
在本发明实施例中,接入点更新GTK的方式不再是每有一个移动站离开该接入点就立即更新GTK,而是接入点设定GTK的更新周期,即固定周期的更新GTK,由移动站向接入点请求最新的GTK,接入点接收到请求后为移动站分配GTK,可以避免频繁的更新GTK。
需要说明的是,在本发明实施例中,移动站设定的GTK请求周期可以由移动站根据具体的应用场景而设定,接入点设定的GTK的更新周期与GTK的请求周期保持相同。例如,移动站设定GTK的请求周期为1分钟,则时间每走过1分钟,移动站就向接入点请求一次GTK。
402、在每次GTK的请求周期到达之后的预置延迟时间段内,移动站向与该移动站关联的接入点发送GTK请求,以使接入点为该移动站分配GTK,其中,接入点设定的GTK的更新周期与GTK的请求周期相同。
在移动站设定完成GTK的请求周期之后,移动站开始计时,在每次GTK的请求周期到达之后的预置延迟时间段内,在GTK的请求周期到达时,与该移动站关联的接入点已经更新了GTK,例如,移动站与接入点协商设定的预置延迟时间段为0.1分钟,移动站设定的GTK请求周期为1分钟时,则计时器开始计时后,每过1分钟在0.1分钟内移动站就会向接入点发起GTK请求。
需要说明的是,前述实施例所描述的是已经进入接入点的覆盖范围内并且与该接入点通信的移动站与该接入点之间的GTK的更新方法,本发明实施例还可以包括接入点与刚进入该接入点的覆盖范围内与该接入点关联时的移动站之间的处理方式,此时关联表中还没有包括新关联的移动站,本发明实施例提供的方法还可以包括如下步骤:
C1、若移动站与该接入点关联时,移动站向接入点发送GTK请求;
C2、移动站接收接入点发送的更新后的GTK和仍在使用的旧的GTK,以使移动站在GTK的请求周期到达之后的预置延迟时间段没有到达时使用旧的GTK,和在GTK的请求周期到达之后的预置延迟时间段到达之后使用更新后的GTK。
对于步骤C1,当有新的移动站与该接入点关联时,移动站向接入点发送GTK请求,以使接入点向该新关联的移动站分配GTK。接入点接收该GTK请求时,对此时接入点的状态进行判断,若接入点已经更新了GTK但是仍在使用旧的GTK时,接入点将旧的GTK和更新后的GTK都发送给新关联的移动站,在步骤C2中,移动站接收接入点发送的旧的GTK和更新后的GTK,由于新产生的GTK不是马上使用,而是延迟一段时间(即预置延迟时间段)之后才开始使用,故新关联的移动站在GTK的更新周期到达之后的预置延迟时间段没有到达时使用旧的GTK,和在GTK的更新周期到达之后的预置延迟时间段到达之后使用更新后的GTK。
需要说明的是,本发明实施例还可以包括接入点与刚进入该接入点的覆盖范围内与该接入点关联的移动站之间的处理方式,此时关联表中还没有包括新关联的移动站,本发明实施例提供的方法还可以包括如下步骤:
D1、若移动站与接入点关联时,移动站向接入点发送GTK请求;
D2、移动站接收接入点发送的仍在使用的旧的GTK,以使移动站在GTK的请求周期到达之后的预置延迟时间段没有到达时使用旧的GTK,和在GTK的请求周期到达之后的预置延迟时间段内向接入点发送GTK请求。
步骤D1和前述的步骤C1相同,接入点接收该GTK请求时,对此时接入点的状态进行判断,若接入点还没有更新GTK且仍在使用旧的GTK时,接入点将旧的GTK发送给新关联的移动站,对于步骤D2,移动站接收接入点发送的旧的GTK,由于新产生的GTK不是马上使用,而是延迟一段时间(即预置延迟时间段)之后才开始使用,故新关联的移动站在GTK的更新周期到达之后的预置延迟时间段没有到达时使用旧的GTK,和在GTK的更新周期到达之后的预置延迟时间段内向接入点发送GTK请求,以向接入点请求最新的GTK。
在本发明实施例中,由接入点设定GTK的更新周期,定期更新GTK,并且在接收到与该接入点关联的移动站发送的GTK请求后,接入点向移动站发送更新后的GTK,而不需要每当有移动站离开该接入点时都更新GTK,避免频繁的更新GTK,避免了接入点的超负荷工作。
上述实施例介绍了一种GTK的更新方法,描述的是接入点与移动站之间交互的一个完整流程,接下来介绍本发明实施例提供的另一种GTK的更新方法,如图5所示,包括如下步骤:
501、接入点设定GTK的更新周期。
在本发明实施例中,接入点更新GTK的方式不再是按照现有技术中描述的每有一个移动站离开该接入点就立即更新GTK,而是接入点设定GTK的更新周期,即固定周期的更新GTK,具体设定的GTK更新周期可以由接入点根据具体的应用场景设定。例如,GTK更新周期可以由接入点与网络侧的服务器协商来确定。具体的,接入点可以设定GTK的更新周期为1分钟,则时间每过1分钟,接入点就会生成新的GTK,这种固定周期更新GTK的方式不需要在每有移动站离开接入点时都更新GTK,避免加重接入点的额外负荷。
502、每当GTK的更新周期到达时,接入点更新GTK,并向关联表中的移动站发送更新后的GTK,其中,关联表中记录有与该接入点通信的所有STA。
在本发明实施例中,在设定完成GTK的更新周期之后,接入点开始计时,每当该更新周期到达时,接入点都更新GTK,即生成新的GTK,例如,设定的GTK更新周期为1分钟时,则计时器开始计时后,每过1分钟,接入点都会生成一个新的GTK。在接入点更新GTK完成之后就向关联表中的移动站发送更新后的GTK,在实际应用中,接入点与移动站之间的四次握手成功之后,接入点可以以单播的方式,分别向关联表中的所有移动站发送更新后的GTK。
需要说明的是,在本发明实施例中,接入点更新GTK完全由接入点自己设定的更新周期来控制,更新GTK之后接入点马上将更新后的GTK发送给移动站,然后,接入点就开始使用更新后的GTK对接入点与移动站之间的广播信息帧进行加密了。
需要说明的是,在本发明实施例中除了包括步骤501和502之外,还可以包括如下步骤:当有移动站离开接入点的覆盖范围时,接入点将离开的移动站从关联表中删除,以使当GTK的更新周期到达时不再向离开的移动站发送更新后的GTK。
另外,本发明实施例还可以包括如下步骤:当有移动站与该接入点关联时,接入点将新关联的移动站加入到关联表中。
由于关联表中维护的是该接入点的覆盖范围内与该接入点通信的所有移动站,当一个移动站离开接入点时接入点就可以将该接入点从关联表中删除掉,也就是说,接入点是不需要向不在关联表中包括的移动站发送更新的GTK。当有移动站进入接入点的覆盖范围时,接入点将新关联的移动站加入到关联表中,则接入点在按照关联表向移动站发送更新后的GTK时,也会向新关联的移动站发送更新后的GTK。
在本发明实施例中,由接入点设定GTK的更新周期,定期更新GTK,在更新完GTK后向与该接入点关联的移动站发送更新后的GTK,而不需要每当有移动站离开该接入点时都更新GTK,避免频繁的更新GTK,避免了接入点的超负荷工作。
以上实施例介绍了本发明实施例提供的GTK更新方法,接下来介绍与该方法相对应的装置,在实际应用中,本发明实施例提供的接入点和移动站具体可以通过软件或硬件集成的方式来实现对GTK的更新。在本发明实施例中将介绍和上述方法实施例中介绍的方法相对应的装置,具体各单元的执行方法可参见上述方法实施例,在此仅描述相关单元的内容,具体说明如下。
本发明实施例提供的一种接入点,请参阅图6所示,接入点600,包括:
周期设定单元601,用于设定组密钥GTK的更新周期;
更新单元602,用于每当GTK的更新周期到达时,更新GTK;
接收单元603,用于接收关联表中的移动站STA在GTK的更新周期到达之后的预置延迟时间段内发送的GTK请求,所述关联表记录有与该接入点的通信的所有移动站,所述预置延迟时间段小于GTK的更新周期;
发送单元604,用于在GTK的更新周期到达之后的预置延迟时间段到达时,根据GTK请求向关联表中的移动站发送更新后的GTK。
需要说明的是,在本发明实施例中,作为其中一种可实现的方式是,
更新单元602,还用于当有移动站与该接入点关联时,将新关联的移动站加入到关联表中;
接收单元603,还用于接入点接收新关联的移动站发送的GTK请求;
发送单元604,还用于若接入点已经更新了GTK但是仍在使用旧的GTK时,将旧的GTK和更新后的GTK都发送给新关联的移动站,以使新关联的移动站在GTK的更新周期到达之后的预置延迟时间段没有到达时使用旧的GTK,和在GTK的更新周期到达之后的预置延迟时间段到达之后使用更新后的GTK。
需要说明的是,在本发明实施例中,作为其中另一种可实现的方式是,
更新单元602,还用于当有移动站与该接入点关联时,将新关联的移动站加入到关联表中;
接收单元603,还用于接收新关联的移动站发送的GTK请求;
发送单元604,还用于若接入点还没有更新GTK且仍在使用旧的GTK时,将旧的GTK发送给所述新关联的移动站,以使新关联的移动站在GTK的更新周期到达之后的预置延迟时间段没有到达时使用旧的GTK,和在GTK的更新周期到达之后的预置延迟时间段内向接入点发送GTK请求。
需要说明的是,上述装置各模块/单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,其带来的技术效果与本发明方法实施例相同,具体内容可参见本发明前述实施例所示的方法实施例中的叙述,此处不再赘述。
在本发明实施例中,由周期设定单元设定GTK的更新周期,更新单元定期更新GTK,并且接收单元在接收到与该接入点关联的移动站发送的GTK请求后,发送单元向移动站发送更新后的GTK,而不需要每当有移动站离开该接入点时都更新GTK,避免频繁的更新GTK,避免了接入点的超负荷工作。
上述实施例描述的是接入点和移动站之间的交互过程中执行主体为接入点一端,接下来对移动站一端进行详细说明,请参阅图7所示,本发明实施例提供的移动站700,包括:
周期设定单元701,用于设定组密钥GTK的请求周期;
发送单元702,用于在每次GTK的请求周期到达之后的预置延迟时间段内,向与该移动站关联的接入点AP发送GTK请求,以使接入点为移动站分配GTK,接入点设定的GTK的更新周期与GTK的请求周期相同。
需要说明的是,在本发明实施例中,对于移动站700,作为其中一种可实现的方式是,移动站700还可以包括(未在图7中示出):第一接收单元,其中,
发送单元701,还用于若移动站与该接入点关联时,向接入点发送GTK请求;
第一接收单元,用于接收接入点发送的更新后的GTK和仍在使用的旧的GTK,以使移动站在GTK的请求周期到达之后的预置延迟时间段没有到达时使用旧的GTK,和在GTK的请求周期到达之后的预置延迟时间段到达之后使用所述更新后的GTK。
需要说明的是,在本发明实施例中,对于移动站700,作为其中另一种可实现的方式是,移动站700还可以包括(未在图7中示出):第二接收单元,其中,
发送单元702,还用于若移动站与该接入点关联时,向接入点发送GTK请求;
第二接收单元,用于接收接入点发送的旧的GTK,以使移动站在GTK的请求周期到达之后的预置延迟时间段没有到达时使用旧的GTK;
发送单元702,还用于在GTK的请求周期到达之后的预置延迟时间段内向接入点发送GTK请求。
在本发明实施例中,周期设定单元设定GTK的请求周期,由接入点设定GTK的更新周期,定期更新GTK,并且发送单元在发送GTK请求后,接入点向移动站发送更新后的GTK,而不需要每当有移动站离开该接入点时都更新GTK,避免频繁的更新GTK,避免了接入点的超负荷工作。
上述实施例介绍了一种接入点与移动站,接下来介绍本发明实施例提供的另一种接入点,如图8所示,接入点800,包括:
周期设定单元801,用于设定组密钥GTK的更新周期;
更新单元802,用于每当GTK的更新周期到达时,更新GTK;
发送单元803,用于更新完成GTK之后,向关联表中的移动站STA发送更新后的GTK,关联表中记录有与该接入点的通信的所有移动站。
需要说明的是,在本发明实施例中,对于更新单元802而言,作为其中一种可实现的方式是,
更新单元802,还用于当有移动站离开接入点的覆盖范围时,将离开的移动站从关联表中删除,以使当GTK的更新周期到达时不再向离开的移动站发送更新后的GTK。
需要说明的是,在本发明实施例中,对于更新单元802而言,作为其中另一种可实现的方式是,
更新单元802,还用于当有移动站与接入点关联时,将新关联的移动站加入到所述关联表中。
在本发明实施例中,由周期设定单元设定GTK的更新周期,更新单元定期更新GTK,在更新完GTK后发送单元向与该接入点关联的移动站发送更新后的GTK,而不需要每当有移动站离开该接入点时都更新GTK,避免频繁的更新GTK,避免了接入点的超负荷工作。
接下来对本发明实施例提供的接入点和移动站的应用场景进行介绍,例如,接入点和移动站具体可以应用于WiFi网络中的一种组密钥更新系统,在该系统中可以包括:
如图6实施例所示的接入点和如图7实施例所示的移动站。
WiFi网络中的组密钥更新系统在实际应用中具体可以包括:
一个网络侧服务器,用于维护接入点与移动站之间的映射关系以及提供路况信息;
多个接入点,与网络侧服务器连接,用于向移动站提供路况信息并向移动站更新GTK;
多个移动站,与接入点是无线连接,可通过接入点从网络侧服务器获得路况信息。
为了详细说明本发明实施例提供的组密钥更新系统,请参阅图9所示,网络侧服务器分别与AP1和AP2相连接,移动站STA1装载在汽车上,STA1首先处于AP1的覆盖范围之内,汽车向前行驶一段距离之后,STA1离开了AP1的覆盖范围,进入STA2的覆盖范围内,其中AP1和AP2实现的GTK更新方法具体可以如前述实施例所描述的方法。
接下来介绍本发明实施例提供的另一种接入点,请参阅图10所示,接入点1000包括:
第一输入装置1001、第一输出装置1002、第一处理器1003和第一存储器1004(其中接入点1000中的第一处理器1003的数量可以一个或多个,图10中以一个处理器为例)。在本发明的一些实施例中,第一输入装置1001、第一输出装置1002、第一处理器1003和第一存储器1004可通过总线或其它方式连接,其中,图10中以通过总线连接为例。
其中,第一处理器1003用于执行如下步骤:设定组密钥GTK的更新周期,并存储到第一存储器1004;每当所述GTK的更新周期到达时,更新GTK,并存储到第一存储器1004;计算GTK的更新周期到达之后的预置延迟时间段,并存储到第一存储器1004;
第一输入装置1001用于接收关联表中的移动站STA在所述GTK的更新周期到达之后的预置延迟时间段内发送的GTK请求;
第一存储器1004还用于存储所述关联表中记录有与所述接入点通信的所有移动站,所述预置延迟时间段小于所述GTK的更新周期;
第一输出装置1002用于在所述GTK的更新周期到达之后的预置延迟时间段到达时,根据所述GTK请求向关联表中的移动站发送更新后的GTK。
在本发明的一些实施例中,第一处理器1003还用于当有移动站与所述接入点关联时,将新关联的移动站加入到所述关联表中,并将对关联表的更新存储到第一存储器1004;判断所述接入点是否已经更新了GTK但是仍在使用旧的GTK;
第一输入装置1001还用于接收新关联的移动站发送的GTK请求;
第一输出装置1002还用于若所述接入点已经更新了GTK但是仍在使用旧的GTK时,将所述旧的GTK和更新后的GTK都发送给所述新关联的移动站,以使所述新关联的移动站在所述GTK的更新周期到达之后的预置延迟时间段没有到达时使用所述旧的GTK,和在所述GTK的更新周期到达之后的预置延迟时间段到达之后使用所述更新后的GTK。
在本发明的一些实施例中,第一处理器1003还用于当有移动站与所述接入点关联时,将新关联的移动站加入到所述关联表中,并将对关联表的更新存储到第一存储器1004;判断所述接入点是否还没有更新GTK且仍在使用旧的GTK;
第一输入装置1001还用于接收新关联的移动站发送的GTK请求;
第一输出装置1002还用于若所述接入点还没有更新GTK且仍在使用旧的GTK时,所述接入点将所述旧的GTK发送给所述新关联的移动站,以使所述新关联的移动站在所述GTK的更新周期到达之后的预置延迟时间段没有到达时使用所述旧的GTK,和在所述GTK的更新周期到达之后的预置延迟时间段内向所述接入点发送GTK请求。
接下来介绍本发明实施例提供的另一种移动站,请参阅图11所示,移动站1100包括:
第二输入装置1101、第二输出装置1102、第二处理器1103和第二存储器1104(其中接入点1100中的第二处理器1103的数量可以一个或多个,图11中以一个处理器为例)。在本发明的一些实施例中,第二输入装置1101、第二输出装置1102、第二处理器1103和第二存储器1104可通过总线或其它方式连接,其中,图11中以通过总线连接为例。
其中,第二处理器1103用于执行如下步骤:设定组密钥GTK的请求周期,设定的GTK的更新周期与所述GTK的请求周期相同,并存储到第二存储器1104;计算每次所述GTK的请求周期到达之后的预置延迟时间段,并存储到第二存储器1104;
第二输出装置1102用于在每次所述GTK的请求周期到达之后的预置延迟时间段内,所述移动站向与所述移动站关联的接入点AP发送GTK请求;所述第二存储器1104还用于存储该GTK请求;
第二输入装置1101用于接收所述接入点为所述移动站分配的GTK。
在本发明的一些实施例中,第二处理器1103还用于判断所述移动站是否与所述接入点关联,并将判断结果存储到第二存储器1104;
第二输出装置1102还用于若所述移动站与所述接入点关联时,向所述接入点发送GTK请求;
第二输入装置1101还用于接收所述接入点发送的更新后的GTK和仍在使用的旧的GTK,以使所述移动站在所述GTK的请求周期到达之后的预置延迟时间段没有到达时使用所述旧的GTK,和在所述GTK的请求周期到达之后的预置延迟时间段到达之后使用所述更新后的GTK。
在本发明的一些实施例中,第二处理器1103还用于判断所述移动站是否与所述接入点关联,并将判断结果存储到第二存储器1104;
第二输出装置1102还用于若所述移动站与所述接入点关联时,向所述接入点发送GTK请求;
第二输入装置1101还用于接收所述接入点发送的仍在使用的旧的GTK,以使所述移动站在所述GTK的请求周期到达之后的预置延迟时间段没有到达时使用所述旧的GTK,和在所述GTK的请求周期到达之后的预置延迟时间段内向所述接入点发送GTK请求。
接下来介绍本发明实施例提供的另一种接入点,请参阅图12所示,接入点1200包括:
第三输入装置1201、第三输出装置1202、第三处理器1203和第三存储器1204(其中接入点1200中的第三处理器1203的数量可以一个或多个,图12中以一个处理器为例)。在本发明的一些实施例中,第三输入装置1201、第三输出装置1202、第三处理器1203和第三存储器1204可通过总线或其它方式连接,其中,图12中以通过总线连接为例。
其中,
第三处理器1203用于执行如下步骤:设定组密钥GTK的更新周期,并存储到第三存储器1204;计算所述GTK的更新周期,并存储到第三存储器1204;每当所述GTK的更新周期到达时,更新GTK,并存储到第三存储器1204;
所述第三存储器1204用于存储关联表,所述关联表中记录有与所述接入点通信的所有移动站;
第三输入装置1201用于将第三存储器1204中存储的关联表输入到第三输出装置1202;
第三输出装置1202用于向关联表中的移动站STA发送更新后的GTK。
在本发明的一些实施例中,第三处理器1203还用于当有移动站离开所述接入点的覆盖范围时,所述接入点将离开的移动站从所述关联表中删除,以使当GTK的更新周期到达时不再向离开的移动站发送更新后的GTK,并将关联表更新的结果存储到第三存储器1204。
在本发明的一些实施例中,第三处理器1203还用于当有移动站与所述接入点关联时,所述接入点将新关联的移动站加入到所述关联表中,并将关联表更新的结果存储到第三存储器1204。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上对本发明所提供的一种组密钥更新方法和相关装置及系统进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。