专利名称:一种密钥的分发方法
技术领域:
本发明涉及IEEE802.16无线接入标准技术领域,特别是指一种密钥的分发方法。
背景技术:
IEEE802.16无线接入标准的MAC层中定义了一个专门的安全子层,用来完成基站(BS)与移动终端(MSS)之间的身份认证、授权、业务数据加解密等功能。对于数据加解密的过程,具体地说是原始的业务数据(而非管理消息,管理消息是不需要加密的)在发送端发送前,先经过发送端安全子层的加密过程形成密文数据,然后发送;在接收端,将接收到的密文数据经过接收端的安全子层的解密过程恢复成原始的业务数据。
为了能够在接收方正确解密数据,发送方和接收方需要在业务数据发送之前协商好将要使用的加解密算法和相应的密钥。使用加密防止信息被窃取的方式有一个基本原则,就是不能期望使用秘密的算法,只能通过使用秘密的密钥来达到加密的目的。因此,在发送数据前协商的加解密算法应该是公开的算法,是不需要频繁更换的,而与之相对应的密钥是需要定时更新的,以期达到较高的安全性。
对于高层的业务数据来说,安全子层的加解密过程是透明的,因此不能出现由于密钥更新而导致业务数据中断的情况。这就需要一种技术来保证密钥更新过程中数据业务的连续性。
现有协议中定义了完整的管理消息和操作流程来完成加密业务数据所使用的传输密钥(TEK)的更新,并保证了在TEK更新的过程中不会中断业务数据。现对其过程详细描述如下。
首先,协议规定了加密业务数据和解密业务数据时采用相同的密钥,即采用对称的加解密算法。使用的密钥均由BS产生,然后应MSS的请求发送给MSS。
其次,目前技术包括了密钥的更新和分发两个过程。图1描述了详细过程。
密钥更新过程在BS侧完成,参见图1右侧部分所示。BS始终维护了新旧两个TEK,两个TEK的生命周期有一半是相互重叠的。在当前较旧的TEK生命周期到期时,也就是当前较新的TEK的生命周期的二分之一处时,BS产生一个更新的TEK,同时将到期的TEK作废。此时较新的TEK变成当前较旧的TEK,而新产生的TEK变成当前较新的TEK。
结合图1举例说明当前BS持有TEK0和TEK1两个传输密钥,下标较大的传输密钥较新。当TEK0到期时,也就是TEK1生命周期的二分之一处,产生一个新的传输密钥TEK2,同时将TEK0作废。当TEK1到期时,产生TEK3,依此类推。以上描述的传输密钥更新过程由BS控制持续进行,且不受MSS的影响。
密钥分发过程则由BS和MSS配合完成。MSS在一个恰当的时间(这个时间对本发明没有影响,因此不做深入说明)向BS发送密钥请求消息(KeyRequest),请求新的传输密钥TEK。BS收到该消息后,将当前所持有的新旧两套传输密钥(TEKn,TEKn+1)用密钥响应消息(Key Response)发送给发出请求的MSS。以上描述的请求----响应过程周期性地发生,从而实现MSS上的传输密钥TEK周期性地更新。
分析上述密钥分发过程,BS在响应MSS发送的密钥请求消息(KeyRequest)时,总是将当前BS所持有的新旧两套TEK发送给发出请求的MSS,如MSS发送第n次密钥请求消息后,BS在响应消息中将TEKn和TEKn+1发送给MSS;在MSS发送第n+1次密钥请求消息后,BS会在响应消息中将TEKn+1和TEKn+2发送给MSS。可以看到TEKn+1在两次响应消息中各发送了一次,而对于MSS来说第二次发送的TEKn+1是重复信息,完全没有必要。
综上所述,现有IEEE802.16协议提供的密钥分发流程中,BS总是无条件地将其当前所持有的新旧两套TEK发送给MSS,在大部分情况下重复发送TEK增加了空口开销。
发明内容
有鉴于此,本发明的主要目的在于提供了一种密钥的分发方法,以使减少现有密钥分发流程中不必要的空口开销。
本发明提供的密钥分发方法,该方法包括以下步骤A、MSS判断当前状态是否处于与BS的同步状态,若是,则设置密钥请求消息为仅请求新的传输密钥;否则设置密钥请求消息为请求新旧两套传输密钥;B、MSS将所述密钥请求消息发送给BS;C、BS接收所述密钥请求消息,确定出密钥请求消息是仅请求新的传输密钥、或请求新旧两套传输密钥,对应的将新的传输密钥、或新旧两套传输密钥通过密钥响应信息传送给MSS;D、MSS接收所述密钥响应信息,记录该消息所携带的传输密钥。
其中,步骤A所述判断当前状态是否处于与BS的同步状态的步骤包括判断当前状态为MSS第一次发送密钥请求消息时,为未处于与BS的同步状态。
其中,步骤A所述判断当前状态是否处于与BS的同步状态的步骤包括判断当前状态为MSS的传输密钥状态机与BS失步后又重新建立同步的状态时,为未处于与BS的同步状态。
可选的,步骤A所述设置密钥请求消息为仅请求新的传输密钥、或请求新旧两套传输密钥是通过设置密钥请求消息中一特定字段的不同值来表示的;步骤C所述确定出密钥请求消息是仅请求新的传输密钥、或请求新旧两套传输密钥是根据所述特定字段不同值确定出的。
可选的,步骤A所述设置密钥请求消息为仅请求新的传输密钥、或请求新旧两套传输密钥是通过设置密钥请求消息中是否包含一特定字段来表示的;步骤C所述确定出密钥请求消息是仅请求新的传输密钥、或请求新旧两套传输密钥是根据密钥请求消息中是否包含所述特定字段确定出的。
较佳的,所述特定字段为1个比特位。
可选的,所述特定字段为密钥请求消息中新增的字段或者是密钥请求消息中原有的未使用的备用字段。
由上述方法可以看出,本发明密钥的请求方MSS可以明确通知被请求方BS所请求的传输密钥,BS根据MSS的指示做出相应的响应,是仅发送新的传输密钥还是发送新旧两套传输密钥,避免了在MSS和BS同步的情况下,不必要的两遍的传输密钥的发送。
图1为密钥更新示意图。
图2为本发明密钥分发流程图。
具体实施例方式
分析现有技术的方案,可以看出,在正常的情况下,MSS与BS同步时,在MSS发送第n次密钥请求信息时,MSS已经存储有当前的密钥TEKn,因此,实际是不需要BS再发送TEKn给MSS。而仅在一些MSS和BS并不同步的特殊的情况下,才会使得BS发送的新旧密钥和MSS记录的密钥都不相同,也仅在MSS和BS不同步时,MSS才需要BS发送的新旧两套TEK。
其中,上述MSS和BS并不同步的情况包括a)MSS第一次发送密钥请求消息(Key Request)时,可以认为是MSS要求与BS同步的时刻;b)MSS的TEK状态机与BS失步后又重新建立同步时。
对于MSS,在发送密钥请求消息前,非常清楚自己当前是否处于以上列出的两种情况,因此可以由MSS来决定是同时请求新旧两套传输密钥还是只请求当前较新的传输密钥。
本发明方案在现有的密钥请求消息中,增加一个指示标记NewKeyOnly。MSS使用该指示标记通知BS是只请求较新的传输密钥(置NewKeyOnly=1),还是同时请求新旧两套传输密钥(置NewKeyOnly=0)。BS端根据密钥请求消息中的指示标记确定是只发送较新的传输密钥(NewKeyOnly=1),还是同时将新旧两套传输密钥发送给请求的MSS(NewKeyOnly=0)。
下面参见图2示出的流程图对本发明的方法进行详细说明。对于BS侧,仍和背景技术所述持续维护两个传输密钥的轮流更新,而当MSS在一定时间请求获得更新的传输密钥时,包括以下步骤步骤201~203MSS判断当前状态是否处于与BS的同步状态,若是,则设置密钥请求消息中的NewKeyOnly=1,表示仅请求新的传输密钥;否则,设置密钥请求消息中的NewKeyOnly=0,表示同时请求新旧两套传输密钥。
其中,当MSS判断当前状态为MSS第一次发送密钥请求消息的状态,或MSS的TEK状态机与BS失步后又重新建立同步的状态时,都视为未与BS处于同步状态。
步骤204MSS将携带NewKeyOnly的密钥请求信息发送给BS。
步骤205~206BS接收所述密钥请求消息,读取消息中的NewKeyOnly值,当NewKeyOnly=1时,通过密钥响应信息将较新的传输密钥发送给MSS;当NewKeyOnly=0时,通过密钥响应信息将新旧两套传输密钥发送给MSS。
步骤207MSS接收并记录BS发送的密钥。
上述采用的是增加的指示标记。该指示标记可以是新增的字段,也可以是现有消息中的备用字段。
另外,根据协议IEEE802.16的规定,MSS在发送密钥请求消息时,是可以省略消息中的某些字段的,因此在MSS判断与BS不同步,要设置密钥请求消息中的NewKeyOnly=0的情况时,也可以省略掉NewKeyOnly字段,相应的在BS侧判断接收的密钥请求信息中不包含NewKeyOnly字段时,则认为NewKeyOnly=0,执行NewKeyOnly=0情况下的操作。
本方案采用按需发送的方式很好地解决了传输密钥更新过程中不必要的空口开销问题。以DES-CBC加密算法为例,其使用的TEK本身长度为64bit,TEK生命周期32bit,TEK序列号2bit,CBC初始向量64bit,共计162bit,扣除密钥请求消息中增加的NewKeyOnly标志位1bit。因此在一次密钥请求/响应的消息交互中本方案较现有方案实际节省161bit。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种密钥分发方法,其特征在于,该方法包括以下步骤A、MSS判断当前状态是否处于与BS的同步状态,若是,则设置密钥请求消息为仅请求新的传输密钥;否则设置密钥请求消息为请求新旧两套传输密钥;B、MSS将所述密钥请求消息发送给BS;C、BS接收所述密钥请求消息,确定出密钥请求消息是仅请求新的传输密钥、或请求新旧两套传输密钥,对应的将新的传输密钥、或新旧两套传输密钥通过密钥响应信息传送给MSS;D、MSS接收所述密钥响应信息,记录该消息所携带的传输密钥。
2.根据权利要求1所述的方法,其特征在于,步骤A所述判断当前状态是否处于与BS的同步状态的步骤包括判断当前状态为MSS第一次发送密钥请求消息时,为未处于与BS的同步状态。
3.根据权利要求1所述的方法,其特征在于,步骤A所述判断当前状态是否处于与BS的同步状态的步骤包括判断当前状态为MSS的传输密钥状态机与BS失步后又重新建立同步的状态时,为未处于与BS的同步状态。
4.根据权利要求1所述的方法,其特征在于,步骤A所述设置密钥请求消息为仅请求新的传输密钥、或请求新旧两套传输密钥是通过设置密钥请求消息中一特定字段的不同值来表示的;步骤C所述确定出密钥请求消息是仅请求新的传输密钥、或请求新旧两套传输密钥是根据所述特定字段不同值确定出的。
5.根据权利要求1所述的方法,其特征在于,步骤A所述设置密钥请求消息为仅请求新的传输密钥、或请求新旧两套传输密钥是通过设置密钥请求消息中是否包含一特定字段来表示的;步骤C所述确定出密钥请求消息是仅请求新的传输密钥、或请求新旧两套传输密钥是根据密钥请求消息中是否包含所述特定字段确定出的。
6.根据权利要求4或5所述的方法,其特征在于,所述特定字段为1个比特位。
7.根据权利要求4或5所述的方法,其特征在于,所述特定字段为密钥请求消息中新增的字段或者是密钥请求消息中原有的未使用的备用字段。
全文摘要
本发明提供了一种密钥分发方法,包括步骤A.MSS判断当前状态是否处于与BS的同步状态,若是,则设置密钥请求消息中特定字段表示仅请求新的传输密钥;否则设置特定字段表示同时请求新旧两套传输密钥;B.MSS将携带特定字段的密钥请求信息发送给BS;C.BS接收所述密钥请求消息,根据特定字段所表示的含义,将新的传输密钥、或者新旧两套传输密钥通过密钥响应信息传送给MSS;D.MSS接收所述密钥响应信息,记录所携带的密钥。使用本发明,避免了每次请求传输密钥时都要BS发送新旧两套TEK给MSS,节省了空口开销。
文档编号H04L9/12GK1885766SQ200510079608
公开日2006年12月27日 申请日期2005年6月23日 优先权日2005年6月23日
发明者张俊, 肖正飞 申请人:华为技术有限公司