一种密钥刷新的方法

文档序号:7627893阅读:175来源:国知局
专利名称:一种密钥刷新的方法
技术领域
本发明涉及通信技术领域,尤其涉及一种密钥刷新的方法。
背景技术
在无线局域网(WLAN)的认证过程中,将密钥的生成过程划分为几个层级,无线站点(STA)和无线接入点(AP)进行四次握手时,使用最终层级生成的密钥。
如图1所示,当STA与认证服务器进行了802.1X认证后,会产生一个主会话密钥(MSK),此时网络侧设备和STA上都有MSK。网络侧R0密钥持有者得到此MSK并连同一些其它的参数通过一定的算法生成PMK-R0;同样,网络侧R1密钥持有者从网络侧R0密钥持有者获得PMK-R0,并连同一些其它的参数通过一定的算法生成PMK-R1,最后AP获得该PMK-R1。在STA上,由MSK和一些参数通过同样的算法生成PMK-R0,然后生成PMK-R1。然后STA和PMK-R1进行四次握手,由该PMK-R1和一些参数在STA和AP上生成相同的密钥PTK。如果STA和AP有相同的PMK-R1,那么四次握手就可以进行,如果STA和AP的PMK-R1不一样,四次握手将无法完成。
MSK、PMK-R0、PMK-R1都有一个有效周期(即生命周期),并且是逐级递减的。当PMK-R1生命周期结束时,要求STA和AAA服务器重新进行认证以生成MSK,即初始密钥。由于重新认证时间比较长,增加时延,频繁的认证会影响服务质量。

发明内容
本发明提供一种密钥刷新的方法,以解决在通过多层级生成密钥的现有技术中,当密钥有效周期结束时需要重新产生初始密钥导致通信时长增加的问题;进一步解决频繁产生初始密钥而影响通信质量的问题。
本发明提供以下技术方案一种密钥刷新的方法,由初始密钥经过多层级运算后生成最后层级的密钥,其中各层级根据前一层级的密钥生成本层级具有有效周期的密钥;其中,至少在其中一层级将可变化的数据作为生成本层密钥的参数;并且,在层级的密钥的有效周期结束时通知前面的层级重新下发密钥,以及根据下发的密钥重新生成层级的密钥。
从密钥生命周期结束的层级开始逐层级通知,直到持有初始密钥的层级;再根据初始密钥向后逐层级生成层级的密钥,直到密钥的有效周期结束的层级或直到最后层级。
从密钥生命周期结束的层级开始逐层级通知并直到密钥的有效周期未结束的层级,由该层级下密钥;再根据该密钥向后逐层级生成层级的密钥,直到密钥的有效周期结束的层级或直到最后层级。
由使用有效周期结束的密钥的相关对象直接通知持有初始密钥的层级重新下发密钥,然后根据下发的初始密钥向后逐层级生成层级的密钥,直到密钥的有效周期结束的层级或直到最后层级。
每一层级都将可变化的数据作为生成本层密钥的参数。
所述可变化的数据为当前层级产生的随机数和/或由其他相关对象产生的随机数。
所述可变化的数据为当前层级中变化的参数值和/或从其他对象接收到的参数值。
一种在无线局域网(WLAN)的认证过程中刷新密钥的方法,在无线站点上(STA)和网络侧根据主会话密钥(MSK)或预共享密钥(PSK)生成具有有效期的成对主密钥R0(PMK-R0),以及根据PMK-R0生成具有有效周期的PMK-R1;其中,在生成PMK-R0和/或生成PMK-R1时至少使用可变数据;并且,在所述PMK-R1有效周期结束时由生成PMK-R1的层级通知生成PMK-R0的层级,并根据重新下发的PMK-R0重新生成PMK-R1密钥。
生成PMK-R0的层级接收到通知后通知持有MSK或PSK的层级重新下发密钥;然后,利用MSK或PSK重新生成PMK-R0并提供给生成PMK-R1的层级。
生成PMK-R0的层级接收到申请并确定PMK-R0的有效期未结束时,直接向生成PMK-R1的层级返回PMK-R0。
由STA直接通知网络侧持有MSK或PSK的层级重新下发密钥,生成PMK-R0的层级利用重新下发的MSK或PSK重新生成PMK-R0并提供给生成PMK-R1的层级。
所述可变数据为网络侧生成的随机数或者为生成密钥层级的可变参数值,并且将该可变数据传送到STA。
所述可变数据包括STA和网络侧生成的随机数,STA和网络侧生成随机数后相互传送给对方。
本发明在层级密钥的有效周期结束时从前面的层级获得密钥并与可变数据生成与原密钥不同的新密钥,在初始密钥的有效周期内不用重新产生初始密钥,减少了生成初始密钥的认证过程,因而能够减小时延;同时,引入可变数据生成密钥还可防止密钥受到攻击。


图1为现有WLAN中密钥生成层级的示意图;图2A为本发明实现密钥刷新的流程图;图2B、图2C、图2D为本发明中刷新密钥的示意图;图3A、图3B分别为本发明中WLAN系统刷新密钥的示意图和流程图。
具体实施例方式
在将密钥的生成过程划分为多层级的网络系统中,为了避免在刷新密钥时频繁的生成初始密钥而增加时延,本发明至少在其中一层级引入变化数据,由前一层级密钥和变化数据生成本层级的密钥;而且,在层级的密钥的有效周期(即生命周期)结束时由该层级通知前面的层级,以及利用重新下发的密钥和变化数据生成层级的新密钥。
为了提供安全性,较佳的方式是各层级均引入变化数据生成本层级的密钥。变化数据可以是由生成密钥的层级产生的随机数,也可以是该层级中变化的参数值。
密钥生命周期结束的层级通知前面层级下发密钥可以采用以下两种方式1、从密钥生命周期结束的层级开始逐层级通知,直到通知到持有初始密钥的层级,由该层级重新下发初始密钥;然后,根据初始密钥向后逐层级生成密钥,直到密钥的有效周期结束的层级,或直到最后层级(即重新生成所有的层级密钥)。
2、从密钥生命周期结束的层级开始逐层级通知,直到密钥的有效周期未结束的层级,由该层级重新下发密钥;然后,根据下发的密钥向后逐层级生成层级的密钥,直到密钥的有效周期结束的层级,或直到最后层级。
参阅图2A所示,采用方式1实现密钥刷新的处理过程如下步骤200、初始密钥经过多层级运算生成最后层级的密钥,并且,每一层级利用前一层级和本层级产生的随机数生成本层级的密钥。当然还可加入其他参数。
步骤210、最后层级的密钥生命周期结束。
步骤220、通知前一层级。
步骤230、前一层级判断本层级是否为持有初始密钥的层级,若是,则进行步骤240,否则,进行步骤220。
步骤240、重新下发初始密钥。
步骤250、根据初始密钥逐层级生成层级密钥,并且,每一层级利用前一层级和本层级产生的随机数生成本层级的密钥。
参阅图2B所示,经过层级1到层级N,根据初始密钥K0生成密钥Kn。各层级在生成本层级的密钥时,除了使用前一层级的密钥外还生成一个随机数作为生成密钥的输入参数,各层级的密钥的生命周期从前到后依次递减。
在层级N的密钥Kn的生命周期结束时,层级N通知前一层级N-1;层级N-1收到通知后,通知前一层级N-2,以此类推,直到通知到认证服务器。认证服务器向层级1下发初始密钥K0;然后,层级1产生一个随机数R1′,根据该随机数R1′和初始密钥K0生成密钥K1′,并将该密钥K1′传递给层级2;层级2产生一个随机数R2′,根据该随机数R2′和初始密钥K1生成密钥K2′,并将密钥K2′传递给层3,以此类推,直到层级N根据产生的随机数Rn′和密钥Kn-1′生成密钥Kn′。由于引入了随机数,因此各层生成的新密钥与原密钥不会相同,从而使各层级的密钥得到了刷新。
图2C与图2B不同之处在于,图2C中由中间层级N-1的密钥的有效周期结束而向前一层级N-2发送通知,之后的处理过程与图2B相同,不再赘述。
在图2C中,刷新密钥也可以只到层N-1,即层级N的密钥可暂不刷新。
采用方式2刷新密钥的方式与上述同理,如图2D所示,在层级N的密钥Kn的生命周期结束时,层级N通知前一层级N-1;层级N-1收到通知后,发现本层级的密钥的有效期未结束,直接将本层级的密钥Kn-1传递给层级N;层级N产生一个随机数Rn′,然后根据随机数Rn′和密钥Kn-1生成新密钥Kn′。由于引入随机数,因此,密钥Kn与密钥Kn′不相同,使层级N的密钥得到了刷新。
另外,如果有效周期结束的密钥被其他相关对象使用,也可以由该对象直接通知持有初始密钥的层级,该层级重新下发初始密钥,然后按上述描述的方式逐层级生成密钥。
下面以WLAN系统中刷新密钥为例进一步说明。
根据现有的802.11r草案中定义的密钥的生成算法,PMK-R0和PMK-R1的生成参数都不是随机的,在参数不变的情况下,通过密钥生成算法生成的新密钥也不会变,即输入不变,输出也不变。但按上述方法引入随机数后,新生成的PMK-R0和PMK-R1均会改变。
在WLAN系统中,无线站点(STA)与认证服务器进行了802.1X认证后,会产生一个主会话密钥(MSK),在网络侧,将MSK存储在认证、授权和计费服务器(AAA服务器)上,这样可避免MSK受到攻击。
参阅图3A所示,STA与AAA服务器认证后生成MSK,R0持有者产生一个随机参数A,并利用MSK和此随机参数和其它参数生成PMK-R0;其次,R1持有者产生随机参数B,并利用此随机参数和PMK-R0以及其它参数生成PMK-R1。与此同时,R0持有者和R1持有者将生成的随机参数A、B和其它参数传给STA,STA同网络侧一样逐级产生密钥。
参阅图3B所示,PMK-R1生命周期到后,刷新密钥的过程如下步骤300、R1持有者通知R0持有者。
步骤310、R0持有者向AAA服务器申请重新下发MSK。
步骤320、AAA服务器将MSK下发给R0持有者。
步骤330、网络侧R0持有者产生随机数A′作为生成密钥PMK-R0的一个参数,并将随机数A′和用于生成PMK-R0的其他参数传递给STA。
步骤340、STA和网络侧的R0持有者根据MSK、随机数A′和其他参数生成PMK-R0,并下发给R1持有者。
步骤350、网络侧的R1持有才产生随机参数B′作为生成密钥PMK-R1的一个参数,并将随机数B′和用于生成PMK-R1的其他参数传递给STA。
步骤360、STA和网络侧的R1持有者根据MSK、随机数B′和其他参数生成PMK-R1;至此,本次密钥刷新完成。
在步骤330和步骤350中,STA侧的R0持有者和R1持有者也同样可生成一个随机数,并传递给网络侧的R0持有者和R1持有者,通过STA与网络设备相互传递随机数后,生成PMK-R0和PMK-R1时采用两个随机数。当然,也可其中一个层级采用两个随机数,另一个层级采用一个随机数,只要STA和网络侧的同层级保持一致即可。
由于STA上的PMK-R1与网络侧的PMK-R1有效周期相同,因此,在PMK-R1的有效周期结束时,可由STA直接通知网络侧的AAA服务器,由AAA服务器重新下发MSK,其后生成PMK-R0和PMK-R1的过程与上述相同,不再赘述。
在本发明中,对于初始密钥如何产生并不影响本发明的实现,如WLAN中的初始密钥也可以是预共享密钥(PSK);同样,本发明并不限于WLAN系统,同样适用于其他将密钥的生成过程划分为多层级的网络系统中,如微波接入全球互通(WiMAX)系统中。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若对本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种密钥刷新的方法,由初始密钥经过多层级运算后生成最后层级的密钥,其中各层级根据前一层级的密钥生成本层级具有有效周期的密钥;其特征在于,至少在其中一层级将可变化的数据作为生成本层密钥的参数;并且,在层级的密钥的有效周期结束时通知前面的层级重新下发密钥,以及根据下发的密钥重新生成层级的密钥。
2.如权利要求1所述的方法,其特征在于,从密钥生命周期结束的层级开始逐层级通知,直到持有初始密钥的层级;再根据初始密钥向后逐层级生成层级的密钥,直到密钥的有效周期结束的层级或直到最后层级。
3.如权利要求1所述的方法,其特征在于,从密钥生命周期结束的层级开始逐层级通知并直到密钥的有效周期未结束的层级,由该层级下密钥;再根据该密钥向后逐层级生成层级的密钥,直到密钥的有效周期结束的层级或直到最后层级。
4.如权利要求1所述的方法,其特征在于,由使用有效周期结束的密钥的相关对象直接通知持有初始密钥的层级重新下发密钥,然后根据下发的初始密钥向后逐层级生成层级的密钥,直到密钥的有效周期结束的层级或直到最后层级。
5.如权利要求1所述的方法,其特征在于,每一层级都将可变化的数据作为生成本层密钥的参数。
6.如权利要求1至5任一项所述的方法,其特征在于,所述可变化的数据为当前层级产生的随机数和/或由其他相关对象产生的随机数。
7.如权利要求1至5任一项所述的方法,其特征在于,所述可变化的数据为当前层级中变化的参数值和/或从其他对象接收到的参数值。
8.一种在无线局域网(WLAN)的认证过程中刷新密钥的方法,在无线站点上(STA)和网络侧根据主会话密钥(MSK)或预共享密钥(PSK)生成具有有效期的成对主密钥R0(PMK-R0),以及根据PMK-R0生成具有有效周期的PMK-R1;其特征在于,在生成PMK-R0和/或生成PMK-R1时至少使用可变数据;并且,在所述PMK-R1有效周期结束时由生成PMK-R1的层级通知生成PMK-R0的层级,并根据重新下发的PMK-R0重新生成PMK-R1密钥。
9.如权利要求8所述的方法,其特征在于,生成PMK-R0的层级接收到通知后通知持有MSK或PSK的层级重新下发密钥;然后,利用MSK或PSK重新生成PMK-R0并提供给生成PMK-R1的层级。
10.如权利要求8所述的方法,其特征在于,生成PMK-R0的层级接收到申请并确定PMK-R0的有效期未结束时,直接向生成PMK-R1的层级返回PMK-R0。
11.如权利要求8所述的方法,其特征在于,由STA直接通知网络侧持有MSK或PSK的层级重新下发密钥,生成PMK-R0的层级利用重新下发的MSK或PSK重新生成PMK-R0并提供给生成PMK-R1的层级。
12.如权利要求8至11任一项所述的方法,其特征在于,所述可变数据为网络侧生成的随机数或者为生成密钥层级的可变参数值,并且将该可变数据传送到STA。
13.如权利要求8至11任一项所述的方法,其特征在于,所述可变数据包括STA和网络侧生成的随机数,STA和网络侧生成随机数后相互传送给对方。
全文摘要
本发明公开了一种密钥刷新方法,由初始密钥经过多层级运算后生成最后层级的密钥,其中各层级根据前一层级的密钥生成本层级具有有效周期的密钥;其中,至少在其中一层级将可变化的数据作为生成本层密钥的参数;并且,在层级的密钥的有效周期结束时通知前面的层级重新下发密钥,以及根据下发的密钥重新生成层级的密钥。采用本发明能够减小时延和防止密钥受到攻击。
文档编号H04L9/08GK1964254SQ200510124410
公开日2007年5月16日 申请日期2005年11月11日 优先权日2005年11月11日
发明者庄宏成, 杜汉美 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1