一种AKA方法及装置转让专利

申请号 : CN202010021669.4

文献号 : CN113098688B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 罗张宇

申请人 : 大唐移动通信设备有限公司

摘要 :

本申请公开了一种AKA方法及装置,针对现有技术中AKA过程交互多、耗时长的问题,该方法包括:用户设备接收空口节点发送的加密的空口安全配置信息,解密获取的空口安全配置信息,并通过所述空口节点将用户标识和非接入层消息发往非接入层节点,触发所述非接入层节点从网络安全中心获取第二密钥和初始非接入层安全算法,用户设备接收非接入层节点发送的加密的应答消息。本申请中,空口连接建立、鉴权、空口安全激活的过程并行执行,减少了AKA过程中所需的信令交互,加快了用户设备的启动过程,同时,削减了接入层和非接入层密钥体系之间的耦合性。

权利要求 :

1.一种鉴权与密钥协商AKA方法,应用于用户设备,其特征在于,包括:用户设备接收空口节点发送的加密的空口安全配置信息,并采用预先存储的第一密钥和初始空口安全算法,对所述加密的空口安全配置信息进行解密;

所述用户设备解密成功时,基于解密获取的空口安全配置信息,通过所述空口节点将用户标识和非接入层消息发往非接入层节点,触发所述非接入层节点基于所述非接入层消息生成应答消息,并采用从网络安全中心获取的第二密钥和初始非接入层安全算法,对所述应答消息进行加密;

所述用户设备确定对非接入层节点返回的加密的应答消息解密成功时,确定所述用户设备与非接入层节点密钥协商完毕。

2.如权利要求1所述的方法,其特征在于,用户设备接收空口节点发送的加密的空口安全配置信息之前,进一步包括:

所述用户设备基于预先存储的密钥生成种子,获取用户关联信息;

所述用户设备基于所述密钥生成种子和预设的根密钥生成函数,生成根密钥;

所述用户设备基于所述用户关联信息和所述根密钥,生成身份信息和密钥信息,并将所述身份信息和所述密钥信息发送至空口节点,触发所述空口节点将所述身份信息和所述密钥信息发送至网络安全中心,并基于所述网络安全中心返回的第一密钥和初始空口安全算法,对生成的空口安全配置信息进行加密。

3.如权利要求2所述的方法,其特征在于,所述用户设备基于所述用户关联信息和所述根密钥,生成身份信息和密钥信息,具体包括:所述用户设备基于第一截取长度和第一截取位置,对所述用户关联信息进行截取,生成身份信息;

所述用户设备基于第二截取长度和第二截取位置,对所述根密钥进行截取,生成密钥信息。

4.如权利要求3所述的方法,其特征在于,所述用户设备基于第一截取长度和第一截取位置,对所述用户关联信息进行截取之前,进一步包括:所述用户设备接收所述空口节点发送的截取信息,并基于所述空口节点发送的截取信息,确定第一截取长度、第一截取位置、第二截取长度和第二截取位置;或者,所述用户设备直接基于预存的截取信息,确定第一截取长度、第一截取位置、第二截取长度和第二截取位置;

其中,截取信息中包含第一截取长度、第一截取位置、第二截取长度和第二截取位置。

5.如权利要求4所述的方法,其特征在于,所述用户设备基于所述密钥生成种子和预设的根密钥生成函数,生成根密钥之后,对所述加密的空口安全配置信息进行解密之前,进一步包括:

所述用户设备对所述根密钥和预设的第一密钥生成参数进行组合,生成一个第一输入参数,并基于所述一个第一输入参数,采用所述第一密钥生成函数,生成并存储第一密钥;

或者,

所述用户设备基于所述根密钥和预设的第一密钥生成参数,直接采用所述第一密钥生成函数,生成并存储第一密钥。

6.如权利要求2所述的方法,其特征在于,所述用户设备基于所述密钥生成种子和预设的根密钥生成函数,生成根密钥之后,通过所述空口节点将用户标识和非接入层消息发往非接入层节点之前,进一步包括:所述用户设备直接生成非接入层消息;或者,所述用户设备基于所述根密钥和预设的第二密钥生成函数,生成第二密钥,并基于所述第二密钥,采用预先存储的初始非接入层安全算法,生成加密的非接入层消息。

7.如权利要求1所述的方法,其特征在于,所述用户设备基于解密获取的空口安全配置信息,通过所述空口节点将用户标识和非接入层消息发往非接入层节点时,具体包括:所述用户设备基于解密后的空口安全配置信息,确定新的第一密钥和新的空口安全算法,所述新的第一密钥和新的空口安全算法同时存储于空口节点中;

所述用户设备基于用户标识和非接入层消息,生成空口连接建立完成响应,并采用新的第一密钥和新的空口安全算法,对空口连接建立完成响应进行加密;

所述用户设备将加密的空口连接建立完成响应发送至空口节点,触发所述空口节点采用所述新的第一密钥和所述新的空口安全算法对所述加密的空口连接建立完成响应进行解密后,将所述用户标识和所述非接入层消息发往非接入层节点。

8.如权利要求7所述的方法,其特征在于,所述用户设备基于解密获取的空口安全配置信息,确定新的第一密钥和新的空口安全算法,具体包括:所述用户设备基于解密后的空口安全配置信息,获取空口密钥更新要求和空口安全算法更新要求;

所述用户设备基于所述空口密钥更新要求,确定新的第一密钥;

所述用户设备基于所述空口安全算法更新要求,确定新的空口安全算法。

9.如权利要求1‑8中任一项所述的方法,其特征在于,所述用户设备确定所述用户设备与非接入层节点密钥协商完毕之后,进一步包括:所述用户设备基于解密获取的应答消息,获取所述应答消息中携带的非接入层安全配置信息;

所述用户设备基于所述非接入层安全配置信息,生成并采用新的第二密钥和新的非接入层安全算法,与非接入层进行通信。

10.如权利要求1‑8中任一项所述的方法,其特征在于,所述用户设备确定所述用户设备与非接入层节点密钥协商完毕之后,进一步包括:所述用户设备将预设的密钥生成种子中包含的扩展项,替换为预设的扩展项参数,并生成新的密钥生成种子;或者,

所述用户设备调整预设的密钥生成种子中各项信息的顺序,生成新的密钥生成种子;

其中,所述密钥生成种子至少包含用户关联信息和扩展项信息。

11.一种鉴权与密钥协商AKA方法,应用于空口节点,其特征在于,包括:空口节点采用第一密钥和初始空口安全算法,对预存的空口安全配置信息进行加密,并将加密的空口安全配置信息发送至用户设备,其中,所述第一密钥和初始空口安全算法是网络安全中心返回的;

所述空口节点接收用户设备发送的加密的包含有用户标识和非接入层消息的空口连接建立完成响应,并基于所述空口安全配置信息,解密获取所述用户标识和非接入层消息,以及,将所述用户标识和非接入层消息发送至非接入层节点,触发所述非接入层节点基于所述非接入层消息生成应答消息,并采用从网络安全中心获取的第二密钥和初始非接入层安全算法,对所述应答消息进行加密。

12.如权利要求11所述的方法,其特征在于,所述空口节点基于所述空口安全配置信息,解密获取所述用户标识和非接入层消息,具体包括:所述空口节点基于所述空口安全配置信息,确定空口密钥更新要求和空口安全算法更新要求;

所述空口节点基于所述空口密钥更新要求,确定新的第一密钥;

所述空口节点基于所述空口安全算法更新要求,确定新的空口安全算法;

所述空口节点采用所述新的第一密钥和所述新的空口安全算法,解密获取所述用户标识和非接入层消息。

13.如权利要求12所述的方法,其特征在于,所述空口节点基于所述空口密钥更新要求,确定新的第一密钥,具体包括:所述空口节点对第一密钥和预设的第一密钥生成参数进行组合,生成一个第一输入参数,并基于所述一个第一输入参数,采用所述第一密钥生成函数,生成并存储新的第一密钥;或者,

所述空口节点基于所述第一密钥和预设的第一密钥生成参数,直接采用所述第一密钥生成函数,生成并存储新的第一密钥。

14.一种鉴权与密钥协商AKA方法,应用于网络安全中心,其特征在于,包括:网络安全中心基于接收到的空口节点发送的身份信息和密钥信息,根据查询结果,生成第一密钥,并将所述第一密钥和预存的初始空口安全算法发送至空口节点,触发所述空口节点将加密的空口安全配置信息发送至用户设备,以使所述用户设备基于解密获取的空口安全配置信息,通过所述空口节点将用户标识和非接入层消息发往非接入层节点,其中,所述加密的空口安全配置信息采用所述第一密钥和所述初始空口安全算法进行加密;

所述网络安全中心基于接收到的非接入层节点发送的第二密钥获取请求,确定用户标识,并基于所述用户标识,生成第二密钥,并将所述第二密钥和初始非接入层安全算法发送至非接入层节点。

15.如权利要求14所述的方法,其特征在于,所述网络安全中心生成第一密钥,具体包括:

所述网络安全中心对预设的根密钥和第一密钥生成参数进行组合,生成一个第一输入参数,并基于所述一个第一输入参数,采用预设的第一密钥生成函数,生成并存储第一密钥;或者,

所述络安全中心基于预设的根密钥和第一密钥生成参数,直接采用预设的第一密钥生成函数,生成并存储第一密钥。

16.如权利要求14或15所述的方法,其特征在于,所述网络安全中心生成第二密钥,具体包括:

所述网络安全中心对预设的根密钥和第二密钥生成参数进行组合,生成一个第二输入参数,并基于所述一个第二输入参数,采用预设的第二密钥生成函数,生成并存储第二密钥;或者,

所述网络安全中心基于预设的根密钥和第二密钥生成参数,直接采用预设的第二密钥生成函数,生成并存储第二密钥。

17.一种鉴权与密钥协商AKA方法,应用于非接入层节点,其特征在于,包括:非接入层节点接收空口节点发送的用户标识和非接入层消息,并基于所述用户标识,向网络安全中心发送第二密钥获取请求,其中,所述用户标识和非接入层消息是用户设备采用预先存储的第一密钥和初始空口安全算法,对接收到的空口节点发送的加密的空口安全配置信息解密成功时,所述用户设备基于解密获取的空口安全配置信息,通过空口节点向所述非接入层节点发送的;

所述非接入层节点基于所述非接入层消息,生成相应的应答消息,并采用网络安全中心返回的第二密钥和初始非接入层安全算法,对所述应答消息进行加密;

所述非接入层节点将加密的应答消息发送至用户设备,触发所述用户设备确定对非接入层节点返回的加密的应答消息解密成功时,确定所述用户设备与非接入层节点密钥协商完毕。

18.如权利要求17所述的方法,其特征在于,所述非接入层节点将加密的应答消息发送至用户设备之后,进一步包括:

所述非接入层节点基于所述应答消息中携带的非接入层安全配置信息,确定非接入层密钥更新要求和非接入层安全算法更新要求;

所述非接入层节点基于所述非接入层密钥更新要求,确定新的第二密钥;

所述非接入层节点基于所述非接入层安全算法更新要求,确定新的非接入层安全算法。

19.如权利要求17或18所述的方法,其特征在于,所述非接入层节点基于所述非接入层密钥更新要求,确定新的第二密钥,具体包括:所述非接入层节点对第二密钥和预设的第二密钥生成参数进行组合,生成一个第二输入参数,并基于所述一个第二输入参数,采用所述第二密钥生成函数,生成并存储新的第二密钥;或者,

所述非接入层节点基于所述第二密钥和预设的第二密钥生成参数,直接采用所述第二密钥生成函数,生成并存储新的第二密钥。

20.一种用户设备,其特征在于,包括:存储器,用于存储可执行指令;

处理器,用于读取并执行存储器中存储的可执行指令,执行下列过程:接收空口节点发送的加密的空口安全配置信息,并采用预先存储的第一密钥和初始空口安全算法,对所述加密的空口安全配置信息进行解密;

解密成功时,基于解密获取的空口安全配置信息,通过所述空口节点将用户标识和非接入层消息发往非接入层节点,触发所述非接入层节点基于所述非接入层消息生成应答消息,并采用从网络安全中心获取的第二密钥和初始非接入层安全算法,对所述应答消息进行加密;

确定对非接入层节点返回的加密的应答消息解密成功时,确定所述用户设备与非接入层节点密钥协商完毕。

21.如权利要求20所述的用户设备,其特征在于,接收空口节点发送的加密的空口安全配置信息之前,所述处理器进一步用于:基于预先存储的密钥生成种子,获取用户关联信息;

基于所述密钥生成种子和预设的根密钥生成函数,生成根密钥;

基于所述用户关联信息和所述根密钥,生成身份信息和密钥信息,并将所述身份信息和所述密钥信息发送至空口节点,触发所述空口节点将所述身份信息和所述密钥信息发送至网络安全中心,并基于所述网络安全中心返回的第一密钥和初始空口安全算法,对生成的空口安全配置信息进行加密。

22.如权利要求21所述的用户设备,其特征在于,基于所述用户关联信息和所述根密钥,生成身份信息和密钥信息时,所述处理器具体用于:基于第一截取长度和第一截取位置,对所述用户关联信息进行截取,生成身份信息;

基于第二截取长度和第二截取位置,对所述根密钥进行截取,生成密钥信息。

23.如权利要求22所述的用户设备,其特征在于,基于第一截取长度和第一截取位置,对所述用户关联信息进行截取之前,所述处理器进一步用于:接收所述空口节点发送的截取信息,并基于所述空口节点发送的截取信息,确定第一截取长度、第一截取位置、第二截取长度和第二截取位置;或者,直接基于预存的截取信息,确定第一截取长度、第一截取位置、第二截取长度和第二截取位置;

其中,截取信息中包含第一截取长度、第一截取位置、第二截取长度和第二截取位置。

24.一种空口节点,其特征在于,包括:存储器,用于存储可执行指令;

处理器,用于读取并执行存储器中存储的可执行指令,执行下列过程:采用第一密钥和初始空口安全算法,对预存的空口安全配置信息进行加密,并将加密的空口安全配置信息发送至用户设备,其中,所述第一密钥和初始空口安全算法是网络安全中心返回的;

接收用户设备发送的加密的包含有用户标识和非接入层消息的空口连接建立完成响应,并基于所述空口安全配置信息,解密获取所述用户标识和非接入层消息,以及,将所述用户标识和非接入层消息发送至非接入层节点,触发所述非接入层节点基于所述非接入层消息生成应答消息,并采用从网络安全中心获取的第二密钥和初始非接入层安全算法,对所述应答消息进行加密。

25.如权利要求24所述的空口节点,其特征在于,基于所述空口安全配置信息,解密获取所述用户标识和非接入层消息时,所述处理器具体用于:基于所述空口安全配置信息,确定空口密钥更新要求和空口安全算法更新要求;

基于所述空口密钥更新要求,确定新的第一密钥;

基于所述空口安全算法更新要求,确定新的空口安全算法;

采用所述新的第一密钥和所述新的空口安全算法,解密获取所述用户标识和非接入层消息。

26.一种网络安全中心,其特征在于,包括:存储器,用于存储可执行指令;

处理器,用于读取并执行存储器中存储的可执行指令,执行下列过程:基于接收到的空口节点发送的身份信息和密钥信息,根据查询结果,生成第一密钥,并将所述第一密钥和预存的初始空口安全算法发送至空口节点,触发所述空口节点将加密的空口安全配置信息发送至用户设备,以使所述用户设备基于解密获取的空口安全配置信息,通过所述空口节点将用户标识和非接入层消息发往非接入层节点,其中,所述加密的空口安全配置信息采用所述第一密钥和所述初始空口安全算法进行加密;

基于接收到的非接入层节点发送的第二密钥获取请求,确定用户标识,并基于所述用户标识,生成第二密钥,并将所述第二密钥和初始非接入层安全算法发送至非接入层节点。

27.如权利要求26所述的网络安全中心,其特征在于,生成第一密钥时,所述处理器具体用于:

对预设的根密钥和第一密钥生成参数进行组合,生成一个第一输入参数,并基于所述一个第一输入参数,采用预设的第一密钥生成函数,生成并存储第一密钥;或者,基于预设的根密钥和第一密钥生成参数,直接采用预设的第一密钥生成函数,生成并存储第一密钥。

28.一种非接入层节点,其特征在于,包括:存储器,用于存储可执行指令;

处理器,用于读取并执行存储器中存储的可执行指令,执行下列过程:接收空口节点发送的用户标识和非接入层消息,并基于所述用户标识,向网络安全中心发送第二密钥获取请求,其中,所述用户标识和非接入层消息是用户设备采用预先存储的第一密钥和初始空口安全算法,对接收到的空口节点发送的加密的空口安全配置信息解密成功时,所述用户设备基于解密获取的空口安全配置信息,通过空口节点向所述非接入层节点发送的;

基于所述非接入层消息,生成相应的应答消息,并采用网络安全中心返回的第二密钥和初始非接入层安全算法,对所述应答消息进行加密;

将加密的应答消息发送至用户设备,触发所述用户设备确定对非接入层节点返回的加密的应答消息解密成功时,确定所述用户设备与非接入层节点密钥协商完毕。

29.如权利要求28所述的非接入层节点,其特征在于,将加密的应答消息发送至用户设备之后,所述处理器进一步用于:基于所述应答消息中携带的非接入层安全配置信息,确定非接入层密钥更新要求和非接入层安全算法更新要求;

基于所述非接入层密钥更新要求,确定新的第二密钥;

基于所述非接入层安全算法更新要求,确定新的非接入层安全算法。

30.一种用户设备,其特征在于,包括:第一处理单元,用于接收空口节点发送的加密的空口安全配置信息,并采用预先存储的第一密钥和初始空口安全算法,对所述加密的空口安全配置信息进行解密;

第二处理单元,用于解密成功时,基于解密获取的空口安全配置信息,通过所述空口节点将用户标识和非接入层消息发往非接入层节点,触发所述非接入层节点基于所述非接入层消息生成应答消息,并采用从网络安全中心获取的第二密钥和初始非接入层安全算法,对所述应答消息进行加密;

第三处理单元,用于确定对非接入层节点返回的加密的应答消息解密成功时,确定所述用户设备与非接入层节点密钥协商完毕。

31.一种空口节点,其特征在于,包括:第一处理单元,用于采用第一密钥和初始空口安全算法,对预存的空口安全配置信息进行加密,并将加密的空口安全配置信息发送至用户设备,其中,所述第一密钥和初始空口安全算法是网络安全中心返回的;

第二处理单元,用于接收用户设备发送的加密的包含有用户标识和非接入层消息的空口连接建立完成响应,并基于所述空口安全配置信息,解密获取所述用户标识和非接入层消息,以及,将所述用户标识和非接入层消息发送至非接入层节点,触发所述非接入层节点基于所述非接入层消息生成应答消息,并采用从网络安全中心获取的第二密钥和初始非接入层安全算法,对所述应答消息进行加密。

32.一种网络安全中心,其特征在于,包括:第一处理单元,用于基于接收到的空口节点发送的身份信息和密钥信息,根据查询结果,生成第一密钥,并将所述第一密钥和预存的初始空口安全算法发送至空口节点,触发所述空口节点将加密的空口安全配置信息发送至用户设备,以使所述用户设备基于解密获取的空口安全配置信息,通过所述空口节点将用户标识和非接入层消息发往非接入层节点,其中,所述加密的空口安全配置信息采用所述第一密钥和所述初始空口安全算法进行加密;

第二处理单元,用于基于接收到的非接入层节点发送的第二密钥获取请求,确定用户标识,并基于所述用户标识,生成第二密钥,并将所述第二密钥和初始非接入层安全算法发送至非接入层节点。

33.一种非接入层节点,其特征在于,包括:第一处理单元,用于接收空口节点发送的用户标识和非接入层消息,并基于所述用户标识,向网络安全中心发送第二密钥获取请求,其中,所述用户标识和非接入层消息是用户设备采用预先存储的第一密钥和初始空口安全算法,对接收到的空口节点发送的加密的空口安全配置信息解密成功时,所述用户设备基于解密获取的空口安全配置信息,通过空口节点向所述非接入层节点发送的;

第二处理单元,用于基于所述非接入层消息,生成相应的应答消息,并采用网络安全中心返回的第二密钥和初始非接入层安全算法,对所述应答消息进行加密;

第三处理单元,用于将加密的应答消息发送至用户设备,触发所述用户设备确定对非接入层节点返回的加密的应答消息解密成功时,确定所述用户设备与非接入层节点密钥协商完毕。

34.一种存储介质,其特征在于,当所述存储介质中的指令由处理器执行时,使得所述处理器能够执行如权利要求1至10中任一项所述的鉴权与密钥协商AKA方法;或者,当所述存储介质中的指令由处理器执行时,使得所述处理器能够执行如权利要求11至

13中任一项所述的鉴权与密钥协商AKA方法;或者,当所述存储介质中的指令由处理器执行时,使得所述处理器能够执行如权利要求14至

16中任一项所述的鉴权与密钥协商AKA方法;或者,当所述存储介质中的指令由处理器执行时,使得所述处理器能够执行如权利要求17至

19中任一项所述的鉴权与密钥协商AKA方法。

说明书 :

一种AKA方法及装置

技术领域

[0001] 本申请涉及通信技术领域,尤其涉及一种AKA方法及装置。

背景技术

[0002] 鉴权与密钥协商(Authentication and Key Agreement,AKA)采用挑战应答机制,完成用户设备和网络间的身份认证流程,同时基于身份认证流程对通信加密密钥进行协
商。通过认证和加密,保护移动通信网络的安全。
[0003] 当前的通信系统中,以5G系统为例,参阅图1所示,AKA过程如下:
[0004] 步骤101至步骤103:用户设备(User Equipment,UE)与5G基站(next generation Node B,gNB)之间建立RRC连接。
[0005] 步骤104:UE向AMF传递非接入层消息,非接入层消息中携带用户标识。
[0006] 步骤105:AMF将用户标识及其他辅助信息传递给安全锚功能(Security Anchor Function,SEAF),并与其他网元交互,获取用户鉴权向量,该用户鉴权向量包括随机数
(RAND)、鉴权令牌(AUTN)、哈希后的期待响应(HXRES*)。参阅图1所示,SEAF、认证服务器功
能(Authentication Server Function,AUSF)、身份验证凭据存储库和处理功能
(Authentication credential Repository and Processing Function,ARPF)网元是该过
程中涉及到的核心网网元,图1中,AMF直接充任SEAF功能。
[0007] 步骤106至步骤107:AMF向UE发送RAND、AUTN,UE接收两者并检验AUTN的有效性,如果检验通过,则验证了网络的合法性,之后,UE计算出鉴权响应(RES*),并将RES*发给AMF。
AMF根据RES*计算出哈希后的期待响应HRES*,并与HXRES*作比较,如果HRES*与HXRES*相
等,则验证了UE的合法性。
[0008] 步骤108:AMF与AUSF、ARPF交互,确认UE的合法性,并得到密钥KSEAF,然后,由KSEAF可以得到KAMF,由KAMF可以得到KgNB以及下一跳密钥更新参数NH,该计算过程也在UE中发生。
[0009] 步骤109至步骤110:AMF向UE传递应用的某一套密钥指示ngKSI,以及初始非接入层安全算法,UE根据AMF的指示,开启非接入层消息的完整性保护与加密操作。
[0010] 步骤111:AMF告知基站(gNB)密钥KgNB。
[0011] 步骤112至步骤113:gNB向UE传递初始空口安全算法,激活空口加密,UE根据gNB的指示开启空口消息的完整性保护与加密操作。
[0012] 2G、3G、4G通信系统的AKA过程与5G系统中类似,在此不再赘述。
[0013] 显然,现有技术中,AKA过程大致可分为四阶段:空口连接建立、鉴权、非接入层安全激活、空口安全激活,而这四个阶段是依次进行的,接入层安全与非接入层安全耦合性较
高,此外,现有技术中的AKA过程空口交互信令过多,导致AKA过程耗时过长,当空口时延过
大时,例如卫星通信时,会导致用户设备的启动过程缓慢。
[0014] 由此可见,需要设计一种新的方案,以克服上述缺陷。

发明内容

[0015] 本申请提供了一种AKA方法及装置,用以解决由于鉴权与空口连接建立、非接入层连接建立依次进行,信令交互过多,导致AKA过程耗时过长的问题,以及接入层安全与非接
入层安全耦合性较高的问题。
[0016] 本申请实施例提供的具体技术方案如下:
[0017] 一种AKA方法,应用于用户设备,包括:
[0018] 用户设备接收空口节点发送的加密的空口安全配置信息,并采用预先存储的第一密钥和初始空口安全算法,对所述加密的空口安全配置信息进行解密;
[0019] 所述用户设备解密成功时,基于解密获取的空口安全配置信息,通过所述空口节点将用户标识和非接入层消息发往非接入层节点,触发所述非接入层节点基于所述非接入
层消息生成应答消息,并采用从网络安全中心获取的第二密钥和初始非接入层安全算法,
对所述应答消息进行加密;
[0020] 所述用户设备确定对非接入层节点返回的加密的应答消息解密成功时,确定所述用户设备与非接入层节点密钥协商完毕。
[0021] 可选的,用户设备接收空口节点发送的加密的空口安全配置信息之前,进一步包括:
[0022] 所述用户设备基于预先存储的密钥生成种子,获取用户关联信息;
[0023] 所述用户设备基于所述密钥生成种子和预设的根密钥生成函数,生成根密钥;
[0024] 所述用户设备基于所述用户关联信息和所述根密钥,生成身份信息和密钥信息,并将所述身份信息和所述密钥信息发送至空口节点,触发所述空口节点将所述身份信息和
所述密钥信息发送至网络安全中心,并基于所述网络安全中心返回的第一密钥和初始空口
安全算法,对生成的空口安全配置信息进行加密。
[0025] 可选的,所述用户设备基于所述用户关联信息和所述根密钥,生成身份信息和密钥信息,具体包括:
[0026] 所述用户设备基于第一截取长度和第一截取位置,对所述用户关联信息进行截取,生成身份信息;
[0027] 所述用户设备基于第二截取长度和第二截取位置,对所述根密钥进行截取,生成密钥信息。
[0028] 可选的,所述用户设备基于第一截取长度和第一截取位置,对所述用户关联信息进行截取之前,进一步包括:
[0029] 所述用户设备接收所述空口节点发送的截取信息,并基于所述空口节点发送的截取信息,确定第一截取长度、第一截取位置、第二截取长度和第二截取位置;或者,
[0030] 所述用户设备直接基于预存的截取信息,确定第一截取长度、第一截取位置、第二截取长度和第二截取位置;
[0031] 其中,截取信息中包含第一截取长度、第一截取位置、第二截取长度和第二截取位置。
[0032] 可选的,所述用户设备基于所述密钥生成种子和预设的根密钥生成函数,生成根密钥之后,对所述加密的空口安全配置信息进行解密之前,进一步包括:
[0033] 所述用户设备对所述根密钥和预设的第一密钥生成参数进行组合,生成一个第一输入参数,并基于所述一个第一输入参数,采用所述第一密钥生成函数,生成并存储第一密
钥;或者,
[0034] 所述用户设备基于所述根密钥和预设的第一密钥生成参数,直接采用所述第一密钥生成函数,生成并存储第一密钥。
[0035] 可选的,所述用户设备基于所述密钥生成种子和预设的根密钥生成函数,生成根密钥之后,通过所述空口节点将用户标识和非接入层消息发往非接入层节点之前,进一步
包括:
[0036] 所述用户设备直接生成非接入层消息;或者,
[0037] 所述用户设备基于所述根密钥和预设的第二密钥生成函数,生成第二密钥,并基于所述第二密钥,采用预先存储的初始非接入层安全算法,生成加密的非接入层消息。
[0038] 可选的,所述用户设备基于解密获取的空口安全配置信息,通过所述空口节点将用户标识和非接入层消息发往非接入层节点时,具体包括:
[0039] 所述用户设备基于解密后的空口安全配置信息,确定新的第一密钥和新的空口安全算法,所述新的第一密钥和新的空口安全算法同时存储于空口节点中;
[0040] 所述用户设备基于用户标识和非接入层消息,生成空口连接建立完成响应,并采用新的第一密钥和新的空口安全算法,对空口连接建立完成响应进行加密;
[0041] 所述用户设备将加密的空口响应信息发送至空口节点,触发所述空口节点采用所述新的第一密钥和所述新的空口安全算法对所述加密的空口连接建立完成响应进行解密
后,将所述用户标识和所述非接入层消息发往非接入层节点。
[0042] 可选的,所述用户设备基于解密获取的空口安全配置信息,确定新的第一密钥和新的空口安全算法,具体包括:
[0043] 所述用户设备基于解密后的空口安全配置信息,获取空口密钥更新要求和空口安全算法更新要求;
[0044] 所述用户设备基于所述空口密钥更新要求,确定新的第一密钥;
[0045] 所述用户设备基于所述空口安全算法更新要求,确定新的空口安全算法。
[0046] 可选的,所述用户设备确定所述用户设备与非接入层节点密钥协商完毕之后,进一步包括:
[0047] 所述用户设备基于解密获取的应答消息,获取所述应答消息中携带的非接入层安全配置信息;
[0048] 所述用户设备基于所述非接入层安全配置信息,生成并采用新的第二密钥和新的非接入层安全算法,与非接入层进行通信。
[0049] 可选的,所述用户设备确定所述用户设备与非接入层节点密钥协商完毕之后,进一步包括:
[0050] 所述用户设备将预设的密钥生成种子中包含的扩展项,替换为预设的扩展项参数,并生成新的密钥生成种子;或者,
[0051] 所述用户设备调整预设的密钥生成种子中各项信息的顺序,生成新的密钥生成种子;
[0052] 其中,所述密钥生成种子至少包含用户关联信息和扩展项信息。
[0053] 一种AKA方法,应用于空口节点,包括:
[0054] 空口节点采用第一密钥和初始空口安全算法,对预存的空口安全配置信息进行加密,并将加密的空口安全配置信息发送至用户设备,其中,所述第一密钥和初始空口安全算
法是网络安全中心返回的;
[0055] 所述空口节点接收用户设备发送的用户标识和非接入层消息,并基于所述空口配置信息,解密获取所述用户标识和非接入层消息,以及,将所述用户标识和非接入层消息发
送至非接入层节点,触发所述非接入层节点基于所述非接入层消息生成应答消息,并采用
从网络安全中心获取的第二密钥和初始非接入层安全算法,对所述应答消息进行加密。
[0056] 可选的,所述空口节点基于所述空口配置信息,解密获取所述用户标识和非接入层消息,具体包括:
[0057] 所述空口节点基于所述空口安全配置信息,确定空口密钥更新要求和空口安全算法更新要求;
[0058] 所述空口节点基于所述空口密钥更新要求,确定新的第一密钥;
[0059] 所述空口节点基于所述空口安全算法更新要求,确定新的空口安全算法;
[0060] 所述空口节点采用所述新的第一密钥和所述新的空口安全算法,解密获取所述用户标识和非接入层消息。
[0061] 可选的,所述空口节点基于所述空口密钥更新要求,确定新的第一密钥,具体包括:
[0062] 所述空口节点对第一密钥和预设的第一密钥生成参数进行组合,生成一个第一输入参数,并基于所述一个第一输入参数,采用所述第一密钥生成函数,生成并存储新的第一
密钥;或者,
[0063] 所述空口节点基于所述第一密钥和预设的第一密钥生成参数,直接采用所述第一密钥生成函数,生成并存储新的第一密钥。
[0064] 一种AKA方法,应用于网络安全中心,包括:
[0065] 网络安全中心基于接收到的空口节点发送的身份信息和密钥信息,根据查询结果,生成第一密钥,并将所述第一密钥和预存的初始空口安全算法发送至空口节点,触发所
述空口节点将加密的空口安全配置信息发送至用户设备,并将所述用户设备基于解密获取
的空口安全配置信息返回的用户标识和非接入层消息发往非接入层节点,其中,所述加密
的空口安全配置信息采用所述第一密钥和所述初始空口安全算法进行加密;
[0066] 所述网络安全中心基于接收到的非接入层节点发送的第二密钥获取请求,确定用户标识,并基于所述用户标识,生成第二密钥,并将所述第二密钥和初始非接入层安全算法
发送至非接入层节点。
[0067] 可选的,所述网络安全中心生成第一密钥,具体包括:
[0068] 所述网络安全中心对预设的根密钥和第一密钥生成参数进行组合,生成一个第一输入参数,并基于所述一个第一输入参数,采用预设的第一密钥生成函数,生成并存储第一
密钥;或者,
[0069] 所述络安全中心基于预设的根密钥和第一密钥生成参数,直接采用预设的第一密钥生成函数,生成并存储第一密钥。
[0070] 可选的,所述网络安全中心生成第二密钥,具体包括:
[0071] 所述网络安全中心对预设的根密钥和第二密钥生成参数进行组合,生成一个第二输入参数,并基于所述一个第二输入参数,采用预设的第二密钥生成函数,生成并存储第二
密钥;或者,
[0072] 所述网络安全中心基于预设的根密钥和第二密钥生成参数,直接采用预设的第二密钥生成函数,生成并存储第二密钥。
[0073] 一种AKA方法,应用于非接入层节点,包括:
[0074] 非接入层节点接收空口节点发送的用户标识和非接入层消息,并基于所述用户标识,向网络安全中心发送第二密钥获取请求,其中,所述用户标识和非接入层消息是用户设
备采用预先存储的第一密钥和初始空口安全算法,对接收到的空口节点发送的加密的空口
安全配置信息解密成功时,基于解密获取的空口安全配置信息,通过空口节点向所述非接
入层节点发送的;
[0075] 所述非接入层节点基于所述非接入层消息,生成相应的应答消息,并采用网络安全中心返回的第二密钥和初始非接入层安全算法,对所述应答消息进行加密;
[0076] 所述非接入层节点将加密的应答消息发送至用户设备,触发所述用户设备确定对非接入层节点返回的加密的应答消息解密成功时,确定所述用户设备与非接入层节点密钥
协商完毕。
[0077] 可选的,所述非接入层节点将加密的应答消息发送至用户设备之后,进一步包括:
[0078] 所述非接入层节点基于所述应答消息中携带的非接入层安全配置信息,确定非接入层密钥更新要求和非接入层安全算法更新要求;
[0079] 所述非接入层节点基于所述非接入层密钥更新要求,确定新的第二密钥;
[0080] 所述非接入层节点基于所述非接入层安全算法更新要求,确定新的非接入层安全算法。
[0081] 可选的,所述非接入层节点基于所述非接入层密钥更新要求,确定新的第二密钥,具体包括:
[0082] 所述非接入层节点对第二密钥和预设的第二密钥生成参数进行组合,生成一个第二输入参数,并基于所述一个第二输入参数,采用所述第二密钥生成函数,生成并存储新的
第二密钥;或者,
[0083] 所述非接入层节点基于所述第二密钥和预设的第二密钥生成参数,直接采用所述第二密钥生成函数,生成并存储新的第二密钥。
[0084] 一种用户设备,包括:
[0085] 存储器,用于存储可执行指令;
[0086] 处理器,用于读取并执行存储器中存储的可执行指令,执行下列过程:
[0087] 接收空口节点发送的加密的空口安全配置信息,并采用预先存储的第一密钥和初始空口安全算法,对所述加密的空口安全配置信息进行解密;
[0088] 解密成功时,基于解密获取的空口安全配置信息,通过所述空口节点将用户标识和非接入层消息发往非接入层节点,触发所述非接入层节点基于所述非接入层消息生成应
答消息,并采用从网络安全中心获取的第二密钥和初始非接入层安全算法,对所述应答消
息进行加密;
[0089] 确定对非接入层节点返回的加密的应答消息解密成功时,确定所述用户设备与非接入层节点密钥协商完毕。
[0090] 可选的,接收空口节点发送的加密的空口安全配置信息之前,所述处理器进一步用于:
[0091] 基于预先存储的密钥生成种子,获取用户关联信息;
[0092] 基于所述密钥生成种子和预设的根密钥生成函数,生成根密钥;
[0093] 基于所述用户关联信息和所述根密钥,生成身份信息和密钥信息,并将所述身份信息和所述密钥信息发送至空口节点,触发所述空口节点将所述身份信息和所述密钥信息
发送至网络安全中心,并基于所述网络安全中心返回的第一密钥和初始空口安全算法,对
生成的空口安全配置信息进行加密。
[0094] 可选的,基于所述用户关联信息和所述根密钥,生成身份信息和密钥信息时,所述处理器具体用于:
[0095] 基于第一截取长度和第一截取位置,对所述用户关联信息进行截取,生成身份信息;
[0096] 基于第二截取长度和第二截取位置,对所述根密钥进行截取,生成密钥信息。
[0097] 可选的,基于第一截取长度和第一截取位置,对所述用户关联信息进行截取之前,所述处理器进一步用于:
[0098] 接收所述空口节点发送的截取信息,并基于所述空口节点发送的截取信息,确定第一截取长度、第一截取位置、第二截取长度和第二截取位置;或者,
[0099] 直接基于预存的截取信息,确定第一截取长度、第一截取位置、第二截取长度和第二截取位置;
[0100] 其中,截取信息中包含第一截取长度、第一截取位置、第二截取长度和第二截取位置。
[0101] 一种空口节点,包括:
[0102] 存储器,用于存储可执行指令;
[0103] 处理器,用于读取并执行存储器中存储的可执行指令,执行下列过程:
[0104] 采用第一密钥和初始空口安全算法,对预存的空口安全配置信息进行加密,并将加密的空口安全配置信息发送至用户设备,其中,所述第一密钥和初始空口安全算法是网
络安全中心返回的;
[0105] 接收用户设备发送的用户标识和非接入层消息,并基于所述空口配置信息,解密获取所述用户标识和非接入层消息,以及,将所述用户标识和非接入层消息发送至非接入
层节点,触发所述非接入层节点基于所述非接入层消息生成应答消息,并采用从网络安全
中心获取的第二密钥和初始非接入层安全算法,对所述应答消息进行加密。
[0106] 可选的,基于所述空口配置信息,解密获取所述用户标识和非接入层消息时,所述处理器具体用于:
[0107] 基于所述空口安全配置信息,确定空口密钥更新要求和空口安全算法更新要求;
[0108] 基于所述空口密钥更新要求,确定新的第一密钥;
[0109] 基于所述空口安全算法更新要求,确定新的空口安全算法;
[0110] 采用所述新的第一密钥和所述新的空口安全算法,解密获取所述用户标识和非接入层消息。
[0111] 一种网络安全中心,包括:
[0112] 存储器,用于存储可执行指令;
[0113] 处理器,用于读取并执行存储器中存储的可执行指令,执行下列过程:
[0114] 基于接收到的空口节点发送的身份信息和密钥信息,根据查询结果,生成第一密钥,并将所述第一密钥和预存的初始空口安全算法发送至空口节点,触发所述空口节点将
加密的空口安全配置信息发送至用户设备,并将所述用户设备基于解密获取的空口安全配
置信息返回的用户标识和非接入层消息发往非接入层节点,其中,所述加密的空口安全配
置信息采用所述第一密钥和所述初始空口安全算法进行加密;
[0115] 基于接收到的非接入层节点发送的第二密钥获取请求,确定用户标识,并基于所述用户标识,生成第二密钥,并将所述第二密钥和初始非接入层安全算法发送至非接入层
节点。
[0116] 可选的,生成第一密钥时,所述处理器具体用于:
[0117] 对预设的根密钥和第一密钥生成参数进行组合,生成一个第一输入参数,并基于所述一个第一输入参数,采用预设的第一密钥生成函数,生成并存储第一密钥;或者,
[0118] 基于预设的根密钥和第一密钥生成参数,直接采用预设的第一密钥生成函数,生成并存储第一密钥。
[0119] 一种非接入层节点,包括:
[0120] 存储器,用于存储可执行指令;
[0121] 处理器,用于读取并执行存储器中存储的可执行指令,执行下列过程:
[0122] 接收空口节点发送的用户标识和非接入层消息,并基于所述用户标识,向网络安全中心发送第二密钥获取请求,其中,所述用户标识和非接入层消息是用户设备采用预先
存储的第一密钥和初始空口安全算法,对接收到的空口节点发送的加密的空口安全配置信
息解密成功时,基于解密获取的空口安全配置信息,通过空口节点向所述非接入层节点发
送的;
[0123] 基于所述非接入层消息,生成相应的应答消息,并采用网络安全中心返回的第二密钥和初始非接入层安全算法,对所述应答消息进行加密;
[0124] 将加密的应答消息发送至用户设备,触发所述用户设备确定对非接入层节点返回的加密的应答消息解密成功时,确定所述用户设备与非接入层节点密钥协商完毕。
[0125] 可选的,将加密的应答消息发送至用户设备之后,所述处理器进一步用于:
[0126] 基于所述应答消息中携带的非接入层安全配置信息,确定非接入层密钥更新要求和非接入层安全算法更新要求;
[0127] 基于所述非接入层密钥更新要求,确定新的第二密钥;
[0128] 基于所述非接入层安全算法更新要求,确定新的非接入层安全算法。
[0129] 一种用户设备,包括:
[0130] 第一处理单元,用于接收空口节点发送的加密的空口安全配置信息,并采用预先存储的第一密钥和初始空口安全算法,对所述加密的空口安全配置信息进行解密;
[0131] 第二处理单元,用于解密成功时,基于解密获取的空口安全配置信息,通过所述空口节点将用户标识和非接入层消息发往非接入层节点,触发所述非接入层节点基于所述非
接入层消息生成应答消息,并采用从网络安全中心获取的第二密钥和初始非接入层安全算
法,对所述应答消息进行加密;
[0132] 第三处理单元,用于确定对非接入层节点返回的加密的应答消息解密成功时,确定所述用户设备与非接入层节点密钥协商完毕。
[0133] 一种空口节点,包括:
[0134] 第一处理单元,用于采用第一密钥和初始空口安全算法,对预存的空口安全配置信息进行加密,并将加密的空口安全配置信息发送至用户设备,其中,所述第一密钥和初始
空口安全算法是网络安全中心返回的;
[0135] 第二处理单元,用于接收用户设备发送的用户标识和非接入层消息,并基于所述空口配置信息,解密获取所述用户标识和非接入层消息,以及,将所述用户标识和非接入层
消息发送至非接入层节点,触发所述非接入层节点基于所述非接入层消息生成应答消息,
并采用从网络安全中心获取的第二密钥和初始非接入层安全算法,对所述应答消息进行加
密。
[0136] 一种网络安全中心,包括:
[0137] 第一处理单元,用于基于接收到的空口节点发送的身份信息和密钥信息,根据查询结果,生成第一密钥,并将所述第一密钥和预存的初始空口安全算法发送至空口节点,触
发所述空口节点将加密的空口安全配置信息发送至用户设备,并将所述用户设备基于解密
获取的空口安全配置信息返回的用户标识和非接入层消息发往非接入层节点,其中,所述
加密的空口安全配置信息采用所述第一密钥和所述初始空口安全算法进行加密;
[0138] 第二处理单元,用于基于接收到的非接入层节点发送的第二密钥获取请求,确定用户标识,并基于所述用户标识,生成第二密钥,并将所述第二密钥和初始非接入层安全算
法发送至非接入层节点。
[0139] 一种非接入层节点,包括:
[0140] 第一处理单元,用于接收空口节点发送的用户标识和非接入层消息,并基于所述用户标识,向网络安全中心发送第二密钥获取请求,其中,所述用户标识和非接入层消息是
用户设备采用预先存储的第一密钥和初始空口安全算法,对接收到的空口节点发送的加密
的空口安全配置信息解密成功时,基于解密获取的空口安全配置信息,通过空口节点向所
述非接入层节点发送的;
[0141] 第二处理单元,用于基于所述非接入层消息,生成相应的应答消息,并采用网络安全中心返回的第二密钥和初始非接入层安全算法,对所述应答消息进行加密;
[0142] 第三处理单元,用于将加密的应答消息发送至用户设备,触发所述用户设备确定对非接入层节点返回的加密的应答消息解密成功时,确定所述用户设备与非接入层节点密
钥协商完毕。
[0143] 一种存储介质,当所述存储介质中的指令由处理器执行时,使得所述处理器能够执行如上述任一项所述的用户设备实现的AKA方法;或者,
[0144] 当所述存储介质中的指令由处理器执行时,使得所述处理器能够执行如上述任一项所述的空口节点实现的AKA方法;或者,
[0145] 当所述存储介质中的指令由处理器执行时,使得所述处理器能够执行如上述任一项所述的网络安全中心实现的AKA方法;或者,
[0146] 当所述存储介质中的指令由处理器执行时,使得所述处理器能够执行如上述任一项所述的非接入层节点实现的AKA方法。
[0147] 本申请实施例中,用户设备接收空口节点发送的加密的空口安全配置信息,并采用预先存储的第一密钥和初始空口安全算法,解密获取的空口安全配置信息,通过所述空
口节点将用户标识和非接入层消息发往非接入层节点,触发所述非接入层节点采用从网络
安全中心获取的第二密钥和初始非接入层安全算法,加密应答消息;用户设备确定对非接
入层节点返回的加密的应答消息解密成功时,确定所述用户设备与非接入层节点密钥协商
完毕。
[0148] 这样,本申请实施例中,空口节点和非接入层节点通过网络安全中心获取第一密钥、初始空口安全算法、第二密钥、初始非接入层安全算法,此时,空口连接建立、鉴权、空口
安全激活的过程并行执行,减少了AKA过程中所需的信令交互,加快了用户设备的启动过
程,此外,接入层和非接入层的密钥体系相互独立,削减了接入层和非接入层密钥体系之间
的耦合性。

附图说明

[0149] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本
发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以
根据这些附图获得其他的附图。
[0150] 图1为现有技术中的AKA方法的流程示意图;
[0151] 图2为本申请实施例中提供的一种AKA系统的结构示意图;
[0152] 图3为本申请实施例中提供的一种AKA方法的流程示意图;
[0153] 图4为本申请实施例中提供的一种AKA方法的信令交互示意图;
[0154] 图5为本申请实施例中提供的一种用户设备的结构示意图;
[0155] 图6为本申请实施例中提供的另一种用户设备的结构示意图;
[0156] 图7为本申请实施例中提供的一种空口节点的结构示意图;
[0157] 图8为本申请实施例中提供的另一种空口节点的结构示意图;
[0158] 图9为本申请实施例中提供的一种网络安全中心的结构示意图;
[0159] 图10为本申请实施例中提供的另一种网络安全中心的结构示意图;
[0160] 图11为本申请实施例中提供的一种非接入层节点的结构示意图;
[0161] 图12为本申请实施例中提供的另一种非接入层节点的结构示意图。

具体实施方式

[0162] 针对现有技术中由于鉴权与空口连接建立、非接入层连接建立依次进行,信令交互过多,导致AKA过程耗时过长的问题,以及接入层安全与非接入层安全耦合性较高的问
题,为了削减接入层和非接入层密钥体系之间的耦合性,提高AKA过程效率,在本申请实施
例中,提供一种用于快速AKA的解决方案。
[0163] 为了使本领域普通人员更好地理解本申请的技术方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
[0164] 参阅图2所示,本申请实施例中,提供一种AKA系统,该系统至少包括:UE、空口节点(Air Interface Node,AIN)、网络安全中心(Network Security Center,NSC)、非接入层节
点(Non‑Access Interface Node,NAIN)。
[0165] 需要说明的是,本申请实施例适用于所有当用户设备接入网络时需要进行鉴权的通信系统,例如,5G系统、长期演进(Long Term Evolution,LTE)系统等,为了便于描述,接
下来,将仅以5G系统为例进行说明。
[0166] UE,用于向空口节点发送根密钥和用户关联信息,触发AIN在NSC返回第一密钥和初始空口安全算法时,向UE反馈空口安全配置信息;以及,基于空口安全配置信息,向AIN发
送加密的空口响应消息;以及,接收NAIN返回的应答消息,确定用户设备与非接入层节点密
钥协商完毕。
[0167] AIN,用于将接收到根密钥和用户关联信息发送至NSC,在NSC确定UE合法时,AIN将空口安全配置信息发送至UE;以及,用于将非接入层消息发送至NAIN。
[0168] NSC,用于基于身份信息和密钥信息的组合,将第一密钥和初始空口安全算法发送至AIN;以及,用于基于用户标识,将第二密钥和初始非接入层安全算法发送至NAIN。
[0169] NAIN,用于基于接收到的非接入层消息,向UE发送应答消息,所述应答消息中携带非接入层安全配置信息。
[0170] 本申请实施例中,当用户在营业厅办理入网登记时,生成密钥生成种子(R0)时,存在以下两种情况:
[0171] 第一种情况:用户登记卡中已存在半密钥生成种子,但半密钥生成种子中不包含用户关联信息。
[0172] 本申请实施例中,用户登记卡包括但不限于订阅用户身份模块(Subscriber Identity Module,SIM)、嵌入式SIM(Embedded‑SIM,eSIM),用户关联信息包括但不限于是
用户的身份证号码、虹膜、指纹、人脸。
[0173] 此时,用户需要在营业厅录入用户关联信息,并将半密钥生成种子与用户关联信息结合,作为密钥生成种子(R0),R0中还可包含但不限于以下信息:营业厅编码、营业厅内
编码、办理时间、扩展项。
[0174] 第二种情况:用户登记卡中不存在半密钥生成种子。
[0175] 此时,基于用户关联信息,生成密钥生成种子(R0),R0中还可包含但不限于以下信息:营业厅编码、营业厅内编码、办理时间、扩展项。
[0176] R0生成后,同时存储于NSC和UE的用户登记卡中。
[0177] UE和NSC中同时存储有根密钥生成函数、第一密钥生成函数和第二密钥生成函数,其中,根密钥生成函数(f1)、第一密钥生成函数(f2)和第二密钥生成函数(f3)都需满足由
输入无法推测出输入,例如,根密钥生成函数可为安全哈希算法,采用的密钥生成函数为现
有技术,在此不再赘述。
[0178] 此外,UE和NSC中同时存储有初始空口安全算法和初始非接入层安全算法,所述初始空口安全算法和初始非接入层安全算法根据UE的注册文件得到。
[0179] NSC和UE基于R0和根密钥生成函数,可以分别计算出根密钥K0=f1(R0)。
[0180] 需要说明的是,在NSC中,根据用户标识,将R0、K0、f1、f2、f3以及初始空口安全算法和初始非接入层安全算法存储于UE登记表中。
[0181] 参阅图3所示,本申请实施例中,进行AKA的流程如下。
[0182] 步骤301:UE将身份信息、密钥信息发送至AIN。
[0183] 本申请实施例中,在执行步骤301前,存在以下两种情况:
[0184] 第一种情况:UE接收到AIN发送的截取信息,所述截取信息中包含第一截取长度、第一截取位置、第二截取长度和第二截取位置。
[0185] 此时,UE基于接收到的AIN发送的截取信息,确定并第一截取长度、第一截取位置、第二截取长度和第二截取位置。
[0186] 例如,UE基于接收到的AIN发送的截取信息,确定第一截取长度、第一截取位置、第二截取长度和第二截取位置,其中,第一截取长度和第一截取位置表征截取最高6位,第二
截取长度和第二截取位置表征截取最低5位。
[0187] 第二种情况:UE未接收到AIN发送的截取信息。
[0188] 此时,UE直接基于预存的截取信息,确定第一截取长度、第一截取位置、第二截取长度和第二截取位置。
[0189] 例如,UE直接基于预存的截取信息,确定第一截取长度、第一截取位置、第二截取长度和第二截取位置,其中,第一截取长度和第一截取位置表征截取最高2位,第二截取长
度和第二截取位置表征截取最低3位。
[0190] 进一步的,UE基于第一截取长度和第一截取位置,对用户关联信息进行截取,生成身份信息;
[0191] UE基于第二截取长度和第二截取位置,对根密钥进行截取,生成密钥信息;
[0192] UE将身份信息和密钥信息发送至AIN。
[0193] 例如,假设,第一截取长度和第一截取位置表征截取最高6位,第二截取长度和第二截取位置表征截取最低5位,用户关联信息为7A41852CABD2(十六进制),K0为
4D5B6123EAC(十六进制),UE基于第一截取长度和第一截取位置,对7A41852CABD2进行截
取,生成身份信息7A4185,基于第二截取长度和第二截取位置,对4D5B6123EAC进行截取,生
成密钥信息3EAC,UE将7A4185和3EAC发送至AIN。
[0194] 步骤302:AIN将身份信息和密钥信息发送至NSC。
[0195] 本申请实施例中,AIN在执行步骤302时,可以同时将小区全球识别码(Cell Global Identifier,CGI)和寻呼区全球识别码(Paging area Global Identity,PGI)发送
至NSC。
[0196] 步骤303:NSC查询UE登记表,获取第一密钥和初始空口安全算法。
[0197] 本申请实施例中,NSC确定接收到的身份信息和密钥信息时,基于身份信息和密钥信息,查询UE登记表,并根据查询结果,获取用户标识对应的第一密钥和初始空口安全算
法。
[0198] 本申请实施例中,NSC可在接收到身份信息和密钥信息时,生成第一密钥,也可以在存储R0时,同时生成并存储第一密钥,此处并不限定。
[0199] 具体的,NSC可采用但不限于以下两种方式生成第一密钥:
[0200] 第一种方式:NSC对NSC中存储的根密钥和预设的第一密钥生成参数进行组合,生成一个第一输入参数,并基于所述一个第一输入参数,采用第一密钥生成函数,生成并存储
第一密钥。
[0201] 本申请实施例中,第一密钥生成参数可以采用但不限于CGI、固定数值、部分根密钥,只需保证UE和NSC都能够知晓即可。
[0202] 例如,假设,K0为4D5B6123EAC(十六进制),预设的第一密钥生成参数为根密钥的最低6位,即,第一密钥生成参数为123EAC(十六进制),那么,NSC对K0和第一密钥生成参数
进行组合,生成一个第一输入参数4D5B6123EAC123EAC,并基于4D5B6123EAC123EAC,采用第
一密钥生成函数,生成并存储第一密钥(SK1)。
[0203] 第二种方式:NSC基于根密钥和预设的第一密钥生成参数,直接采用第一密钥生成函数,生成并存储第一密钥。
[0204] 例如,假设,K0为4D5B6123EAC(十六进制),预设的第一密钥生成参数为根密钥的最低6位,即,第一密钥生成参数为123EAC(十六进制),那么,NSC基于K0和第一密钥生成参
数,直接采用第一密钥生成函数,生成并存储第一密钥(SK1)。
[0205] 步骤304:NSC将第一密钥和初始空口安全算法发送至AIN。
[0206] 本申请实施例中,初始空口安全算法中至少包含空口加密算法和空口完整性保护算法,例如,空口加密算法和空口完整性保护算法都可采用祖冲之算法,下面为了便于描
述,初始空口安全算法采用祖冲之算法(ZUC算法)。
[0207] 步骤305:AIN采用第一密钥和初始空口安全算法,对空口安全配置信息进行加密。
[0208] 本申请实施例中,空口安全配置信息中显式的或隐式的包括但不限于以下两种信息:
[0209] 第一种信息:初始空口安全算法更新要求,用于指示UE更换初始空口安全算法。
[0210] 例如,空口安全配置信息用于指示UE采用高级加密标准(Advanced Encryption Standard,AES)算法作为新的初始空口安全算法。
[0211] 第二种信息:空口密钥更新要求,用于指示UE更换第一密钥。
[0212] 例如,空口安全要求用于指示UE每一次进行空口通信时,采用新的第一密钥。
[0213] 又例如,空口安全要求用于指示UE采用指定的密钥作为第一密钥,进行空口通信。
[0214] 步骤306:AIN将加密的空口配置信息发送至UE。
[0215] 例如,AIN将采用ZUC算法进行加密的空口配置信息发送至UE,空口配置信息中包含初始空口安全算法更新要求和空口密钥更新要求,初始空口安全算法更新要求用于指示
UE采用AES算法作为新的初始空口安全算法,空口密钥更新要求用于指示UE每一次进行空
口通信时,采用新的第一密钥。
[0216] 步骤307:UE采用第一密钥和初始空口安全算法,解密获取空口安全配置信息。
[0217] 本申请实施例中,UE中第一密钥的生成方法,与步骤303中第一密钥的生成方法相同,在此不再赘述。
[0218] 本申请实施例中,UE采用第一密钥和初始空口安全算法,对加密的空口安全配置信息解密成功时,验证了网络的合法性。
[0219] 进一步的,步骤307中,UE采用第一密钥和初始空口安全算法,对加密的空口安全配置信息解密成功后,执行以下步骤:
[0220] A1、UE基于空口安全配置信息,获取空口密钥更新要求和空口安全算法更新要求。
[0221] 例如,UE采用第一密钥和初始空口安全算法,对加密的空口安全配置信息解密成功时,基于空口安全配置信息,获取空口密钥更新要求和空口安全算法更新要求,其中,空
口安全算法更新要求表征采用AES算法作为新的空口安全算法,空口密钥更新要求表征每
一次进行空口通信时,采用新的第一密钥。
[0222] A2、UE基于空口密钥更新要求,确定新的第一密钥。
[0223] 在步骤A2中,存在但不限于以下两种情况:
[0224] 第一种情况:空口密钥更新要求表征每一次进行空口通信时,采用新的第一密钥。
[0225] 此时,可采取但不限于以下两种方式生成新的第一密钥:
[0226] 第一种方式:UE对第一密钥和预设的第一密钥更新参数进行组合,生成一个更新输入参数,并基于所述一个更新输入参数,采用第一密钥生成函数,生成并存储新的第一密
钥。
[0227] 本申请实施例中,第一密钥更新参数可以采用但不限于CGI、固定数值、部分第一密钥、逐跳加1的空口密钥升级参数,只需保证UE和NSC都能够知晓即可。
[0228] 例如,假设,SK1为5A68C95C6B7D(十六进制),预设的第一密钥更新参数为SK1的最高8位,即,第一密钥更新参数为5A68C95C(十六进制),那么,UE对SK1和5A68C95C进行组合,
生成一个输入更新参数5A68C95C6B7D5A68C95C,采用第一密钥生成函数,生成并存储新的
第一密钥(SK2)。
[0229] 第二种方式:UE基于SK1和预设的第一密钥更新参数,直接采用第一密钥生成函数,生成并存储新的第一密钥(SK2)。
[0230] 例如,假设,SK1为5A68C95C6B7D(十六进制),预设的第一密钥更新参数为SK1的最高8位,即,第一密钥更新参数为5A68C95C(十六进制),那么,UE基于SK1和5A68C95C,直接采
用第一密钥生成函数,并存储新的第一密钥(SK2)。
[0231] 第二种情况:空口安全要求表征采用指定的密钥作为第一密钥,进行空口通信。
[0232] 此时,UE基于空口密钥更新要求,直接将指定的密钥作为新的第一密钥。
[0233] 例如,假设,空口安全要求表征仍使用SK1作为第一密钥,UE基于空口密钥更新要求,将SK1作为新的第一密钥。
[0234] 又例如,空口安全要求表征使用密钥SK3作为第一密钥,UE基于空口密钥更新要求,将SK3作为新的第一密钥。
[0235] A3、UE基于空口安全算法更新要求,确定新的空口安全算法。
[0236] 例如,UE基于空口安全算法更新要求,确定新的空口安全算法为AES算法。
[0237] 步骤308:UE基于空口安全配置信息,对用户标识和非接入层消息进行加密。
[0238] 需要说明的是,本申请实施例中,在执行步骤308时,存在以下两种情况:
[0239] 第一种情况:UE采用第二密钥和初始非接入层安全算法,对非接入层消息进行加密,并基于空口安全配置信息,对用户标识和加密的非接入层消息进行加密。
[0240] 具体的,UE可采用但不限于以下两种方式生成第二密钥:
[0241] 第一种方式:UE对根密钥和预设的第二密钥生成参数进行组合,生成一个第二输入参数,并基于第二输入参数,采用第二密钥生成函数,生成并存储第二密钥。
[0242] 本申请实施例中,第二密钥生成参数可以采用但不限于跟踪区标识(Tracking Area Identity,TAI)、固定数值、部分根密钥,只需保证UE和NSC都知道即可。
[0243] 例如,假设,K0为4D5B6123EAC(十六进制),预设的第二密钥生成参数为根密钥的最高6位,即,第二密钥生成参数为4D5B61(十六进制),那么,UE对K0和第二密钥生成参数进
行组合,生成一个第二输入参数4D5B6123EAC4D5B61,并基于4D5B6123EAC4D5B61,采用第二
密钥生成函数,生成并存储第二密钥(SK1’)。
[0244] 第二种方式:UE基于根密钥和预设的第二密钥生成参数,直接采用第二密钥生成函数,生成并存储第二密钥。
[0245] 例如,假设,K0为4D5B6123EAC(十六进制),预设的第二密钥生成参数为根密钥的最高6位,即,第二密钥生成参数为4D5B61(十六进制),那么,UE基于K0和第二密钥生成参
数,直接采用第二密钥生成函数,生成并存储第二密钥(SK1’)。
[0246] 进一步的,UE采用第二密钥和初始非接入层安全算法,对非接入层消息进行加密。
[0247] 本申请实施例中,与初始空口安全算法类似,初始非接入层安全算法中至少显式的或隐式的包含非接入层加密算法和非接入层完整性保护算法。
[0248] 例如,假设,初始非接入层安全算法为AES算法,UE采用SK1’和AES算法对非接入层消息进行加密。
[0249] 进一步的,UE基于空口配置信息,采用新的第一密钥和新的空口安全算法,对用户标识和加密的非接入层消息进行加密。
[0250] 例如,UE基于空口配置信息,采用SK2和AES算法,对空口响应信息进行加密。
[0251] 第二种情况:UE基于空口安全配置信息,直接对用户标识和非接入层消息进行加密。
[0252] 本申请实施例中,UE基于空口安全配置信息,采用新的第一密钥和新的空口安全算法,直接对用户标识和非接入层消息进行加密。
[0253] 例如,UE基于空口安全配置信息,采用SK2和AES算法,直接对用户标识和非接入层消息进行加密。
[0254] 步骤309:UE将加密的用户标识和非接入层消息发送至AIN。
[0255] 步骤310:AIN基于空口安全配置信息,解密获取空口响应信息。
[0256] 具体的,AIN基于空口安全配置信息,确定新的第一密钥和新的空口安全算法,并基于新的第一密钥和新的空口安全算法,解密获取空口响应信息。
[0257] 本申请实施例中,AIN基于空口安全配置信息,解密获取空口响应信息时,验证了UE的合法性。
[0258] 本申请实施例中,AIN确定并生成新的第一密钥的方法,与步骤307中的步骤A2相同,在此不再赘述,AIN可基于A2中的两种情况,确定并生成新的第一密钥(SK2)。
[0259] 例如,AIN采用SK2和AES算法,解密获取空口响应信息。
[0260] 进一步的,AIN基于空口响应信息,获取用户标识和加密的非接入层消息。
[0261] 步骤311:AIN将用户标识和非接入层消息发送至NAIN。
[0262] 步骤312:NAIN向NSC发送用户标识。
[0263] 例如,NAIN接收到用户标识和非接入层消息之后,向NSC发送携带用户标识的第二密钥获取请求。
[0264] 步骤313:NSC查询UE登记表,获取第二密钥和初始非接入层安全算法。
[0265] 本申请实施例中,NSC接收到第二密钥获取请求时,基于用户标识,查询UE登记表,确定相应的根密钥、第二密钥生成函数以及初始非接入层安全算法。
[0266] 例如,NSC到第二密钥获取请求时,基于用户标识,查询UE登记表,确定UE对应的K0、f2、以及初始非接入层安全算法。
[0267] 之后,NSC可采取与步骤308中相同的方式,基于根密钥和第二密钥生成函数,生成第二密钥。
[0268] 步骤314:NSC将第二密钥和初始非接入层安全算法发送至NAIN。
[0269] 步骤315:NAIN采用第二密钥和初始非接入层安全算法,对应答消息进行加密。
[0270] 具体的,本申请实施例中,执行步骤315时,存在以下两种情况:
[0271] 第一种情况:非接入层消息是加密的。
[0272] 具体的,NAIN采用第二密钥和初始非接入层安全算法,对加密的非接入层消息进行解密,并针对解密后的非接入层消息生成相应的应答消息。
[0273] 例如,NAIN基于SK1’和AES算法,对加密的非接入层消息进行解密,并针对解密后的非接入层消息生成相应的应答消息。
[0274] 进一步的,NAIN采用第二密钥和初始非接入层安全算法,对应答消息进行加密。
[0275] 例如,NAIN采用SK1’和AES算法,对应答消息进行加密。
[0276] 第二种情况:非接入层消息是未加密的。
[0277] NAIN直接针对非接入层消息生成相应的应答消息,并采用第二密钥和初始非接入层安全算法,对应答消息进行加密。
[0278] 例如,NAIN直接针对非接入层消息生成相应的应答消息,并采用SK1’和AES算法,对应答消息进行加密。
[0279] 步骤316:NAIN将加密的应答消息发送至UE。
[0280] 步骤317:UE采用第二密钥和初始非接入层安全算法,解密获取应答消息。
[0281] 具体的,UE采用第二密钥和初始非接入层安全算法,对加密的应答消息解密成功时,确定UE与NAIN密钥协商完毕。
[0282] 例如,UE采用SK1’和AES算法,对加密的应答消息解密成功时,确定UE与NAIN密钥协商完毕。
[0283] 进一步的,本申请实施例中,应答消息中可携带非接入层安全配置信息,非接入层安全配置信息中包括但不限于以下两种信息:
[0284] 第一种:非接入层算法更新要求,用于指示UE更换非接入层安全算法。
[0285] 例如,非接入层算法更新要求用于指示UE采用Snow 3G算法作为新的空口安全算法。
[0286] 第二种:非接入层密钥更新要求,用于指示UE更换第二密钥。
[0287] 例如,非接入层安全要求用于指示UE每一次进行非接入层通信时,采用新的第二密钥。
[0288] 又例如,非接入层安全要求用于指示UE采用指定的密钥作为第二密钥,进行非接入层通信。
[0289] 进一步,本申请实施例中,若执行步骤315时,应答消息中还携带密钥生成种子更新指示,UE可以采取但不限于以下方式,生成新的密钥生成种子:
[0290] 第一种方式:UE将预设的密钥生成种子中包含的扩展项,替换为预设的扩展项参数,并生成新的密钥生成种子。
[0291] 本申请实施例中,扩展项参数包括但不限于是随机的固定数值、逐跳增长的参数。
[0292] 例如,UE将密钥生成种子中包含的扩展项,替换为固定数值ACDC1010(十六进制)。
[0293] 第二种方式:UE调整预设的密钥生成种子中各项信息的顺序,生成新的密钥生成种子。
[0294] 例如,假设,密钥生成种子中依次包含用户关联信息、办理时间、扩展项,UE调整密钥生成种子中各项信息的顺序,按照办理时间、用户关联信息、扩展项的顺序,生成新的密
钥生成种子。
[0295] 需要说明的是,本申请实施例中,在步骤301之前,AIN可以采用广播方式,通知UE空口密钥更新要求。
[0296] 接下来,参阅图4所示,以5G场景为例,说明UE、AIN、NSC、NAIN之间的信令交互过程。
[0297] 步骤401:UE向AIN发送空口连接建立请求,所述空口连接建立请求中携带身份信息和密钥信息。
[0298] 假设,在步骤401之前,UE接收到AIN发送的广播消息,广播消息中携带截取信息,截取信息中包含第一截取长度、第一截取位置、第二截取长度和第二截取位置,其中,第一
截取长度和第一截取位置表征截取最高6位,第二截取长度和第二截取位置表征截取最低5
位。
[0299] 那么,UE基于接收到的AIN发送的截取信息,确定第一截取长度和第一截取位置表征截取最高6位,第二截取长度和第二截取位置表征截取最低5位,第一截取长度和第一截
取位置表征截取最高6位,第二截取长度和第二截取位置表征截取最低5位,假设,用户关联
信息为7A41852CABD2(十六进制),K0为4D5B6123EAC(十六进制),UE基于第一截取长度和第
一截取位置,对7A41852CABD2进行截取,生成身份信息7A4185,基于第二截取长度和第二截
取位置,对4D5B6123EAC进行截取,生成密钥信息3EAC,UE将7A4185和3EAC发送至AIN。
[0300] 步骤402:AIN向NSC发送用户身份识别请求,所述用户身份识别请求中携带身份信息、密钥信息、CGI、PGI。
[0301] 步骤403:NSC查询UE登记表,获取第一密钥、初始空口安全算法。
[0302] NSC确定接收到的身份信息和密钥信息时,基于身份信息和密钥信息,查询UE登记表,并根据查询结果,获取用户标识对应的第一密钥和初始空口安全算法。
[0303] 之后,NSC基于根密钥和CGI,直接采用第一密钥生成函数,生成并存储第一密钥(SK1)。
[0304] 步骤404:NSC向AIN发送用户身份识别响应,所述用户身份识别响应中携带第一密钥和初始空口安全算法。
[0305] NSC向AIN发送用户身份识别响应,用户身份识别响应中携带SK1和初始空口安全算法,其中,初始空口安全算法为ZUC算法。
[0306] 步骤405:AIN采用第一密钥和初始空口安全算法,对携带空口安全配置信息的空口连接建立消息进行加密。
[0307] AIN采用SK1和初始空口安全算法,对携带空口安全配置信息的空口连接建立消息进行加密。
[0308] 步骤406:AIN向UE发送空口连接建立消息。
[0309] 步骤407:UE采用第一密钥和初始空口安全算法,解密获取空口安全配置信息。
[0310] UE采用SK1和ZUC算法,解密获取空口安全配置信息,基于空口安全配置信息,获取空口密钥更新要求和空口安全算法更新要求,其中,空口安全算法更新要求表征采用AES算
法作为新的空口安全算法,空口密钥更新要求表征每一次进行空口通信时,采用新的第一
密钥。
[0311] UE基于空口密钥更新要求,确定采用第一密钥和CGI,直接采用第一密钥生成函数,生成并存储新的第一密钥(SK2)。
[0312] UE基于空口安全算法更新要求,确定新的空口安全算法为AES算法。
[0313] 步骤408:UE采用第二密钥和初始非接入层安全算法,对非接入层消息进行加密。
[0314] UE对根密钥和PGI进行组合,生成一个第二输入参数,并基于第二输入参数,采用第二密钥生成函数,生成并存储第二密钥(SK1’)。
[0315] 进一步的,假设,初始非接入层安全算法为AES算法,UE采用SK1’和初始非接入层安全算法,对非接入层消息进行加密。
[0316] 步骤409:UE基于空口安全配置信息,对用户标识和加密的非接入层消息进行加密。
[0317] UE基于用户标识和加密的非接入层消息,生成空口连接建立完成响应,并采用SK1’和AES算法,对空口连接建立完成响应进行加密。
[0318] 步骤410:UE向AIN发送空口连接建立完成响应,空口连接建立完成响应中携带用户标识和加密的非接入层消息。
[0319] 步骤411:AIN基于空口安全配置信息,解密获取空口响应信息。
[0320] AIN基于空口安全配置信息,确定新的第一密钥和新的初始空口安全算法,并基于SK2和AES算法,解密获取用户标识和加密的非接入层消息。
[0321] 步骤412:AIN向NAIN发送初始上下文建立请求,初始上下文建立请求中携带用户标识和加密的非接入层消息。
[0322] 步骤413:NAIN向NSC发送第二密钥获取请求,第二密钥获取请求中携带用户标识。
[0323] 步骤414:NSC查询UE登记表,获取第二密钥和初始非接入层安全算法。
[0324] NSC到第二密钥获取请求时,基于用户标识,查询UE登记表,确定UE对应的K0、f2、以及初始非接入层安全算法。
[0325] 之后,NSC可采取与步骤408中相同的方式,基于根密钥和第二密钥生成函数,生成SK1’。
[0326] 步骤415:NSC向NAIN发送第二密钥获取响应,第二密钥获取响应中携带第二密钥和初始非接入层安全算法。
[0327] 步骤416:NAIN第二密钥和初始非接入层安全算法,解密获取非接入层消息。
[0328] NAIN采用SK1’和AES算法,对加密的非接入层消息进行解密,并针对解密后的非接入层消息生成相应的应答消息。
[0329] 步骤417:NAIN采用第二密钥和初始非接入层安全算法,对应答消息进行加密。
[0330] NAIN采用SK1’和AES算法,对应答消息进行加密。
[0331] 步骤418:NAIN向UE发送加密的应答消息。
[0332] 步骤419:UE采用第二密钥和初始非接入层安全算法,解密获取应答消息。
[0333] UE采用SK1’和AES算法,解密获取应答消息,确定UE与NAIN密钥协商完毕。
[0334] 基于同一发明构思,本申请实施例中,提供一种用户设备,参阅图5所示,至少包括:
[0335] 处理器500,用于读取存储器502中的程序,执行下列过程:
[0336] 接收空口节点发送的加密的空口安全配置信息,并采用预先存储的第一密钥和初始空口安全算法,对所述加密的空口安全配置信息进行解密;
[0337] 解密成功时,基于解密获取的空口安全配置信息,通过所述空口节点将用户标识和非接入层消息发往非接入层节点,触发所述非接入层节点基于所述非接入层消息生成应
答消息,并采用从网络安全中心获取的第二密钥和初始非接入层安全算法,对所述应答消
息进行加密;
[0338] 确定对非接入层节点返回的加密的应答消息解密成功时,确定所述用户设备与非接入层节点密钥协商完毕。
[0339] 可选的,接收空口节点发送的加密的空口安全配置信息之前,所述处理器500进一步用于:
[0340] 基于预先存储的密钥生成种子,获取用户关联信息;
[0341] 基于所述密钥生成种子和预设的根密钥生成函数,生成根密钥;
[0342] 基于所述用户关联信息和所述根密钥,生成身份信息和密钥信息,并将所述身份信息和所述密钥信息发送至空口节点,触发所述空口节点将所述身份信息和所述密钥信息
发送至网络安全中心,并基于所述网络安全中心返回的第一密钥和初始空口安全算法,对
生成的空口安全配置信息进行加密。
[0343] 可选的,基于所述用户关联信息和所述根密钥,生成身份信息和密钥信息时,所述处理器500具体用于:
[0344] 基于第一截取长度和第一截取位置,对所述用户关联信息进行截取,生成身份信息;
[0345] 基于第二截取长度和第二截取位置,对所述根密钥进行截取,生成密钥信息。
[0346] 可选的,基于第一截取长度和第一截取位置,对所述用户关联信息进行截取之前,所述处理器500进一步用于:
[0347] 接收所述空口节点发送的截取信息,并基于所述空口节点发送的截取信息,确定第一截取长度、第一截取位置、第二截取长度和第二截取位置;或者,
[0348] 直接基于预存的截取信息,确定第一截取长度、第一截取位置、第二截取长度和第二截取位置;
[0349] 其中,截取信息中包含第一截取长度、第一截取位置、第二截取长度和第二截取位置。
[0350] 可选的,基于所述密钥生成种子和预设的根密钥生成函数,生成根密钥之后,对所述加密的空口安全配置信息进行解密之前,所述处理器500进一步用于:
[0351] 对所述根密钥和预设的第一密钥生成参数进行组合,生成一个第一输入参数,并基于所述一个第一输入参数,采用所述第一密钥生成函数,生成并存储第一密钥;或者,
[0352] 基于所述根密钥和预设的第一密钥生成参数,直接采用所述第一密钥生成函数,生成并存储第一密钥。
[0353] 可选的,基于所述密钥生成种子和预设的根密钥生成函数,生成根密钥之后,通过所述空口节点将用户标识和非接入层消息发往非接入层节点之前,所述处理器500进一步
用于:
[0354] 直接生成非接入层消息;或者,
[0355] 基于所述根密钥和预设的第二密钥生成函数,生成第二密钥,并基于所述第二密钥,采用预先存储的初始非接入层安全算法,生成加密的非接入层消息。
[0356] 可选的,基于解密获取的空口安全配置信息,通过所述空口节点将用户标识和非接入层消息发往非接入层节点时,所述处理器500具体用于:
[0357] 基于解密后的空口安全配置信息,确定新的第一密钥和新的空口安全算法,所述新的第一密钥和新的空口安全算法同时存储于空口节点中;
[0358] 基于用户标识和非接入层消息,生成空口连接建立完成响应,并采用新的第一密钥和新的空口安全算法,对空口连接建立完成响应进行加密;
[0359] 将加密的空口响应信息发送至空口节点,触发所述空口节点采用所述新的第一密钥和所述新的空口安全算法对所述加密的空口连接建立完成响应进行解密后,将所述用户
标识和所述非接入层消息发往非接入层节点。
[0360] 可选的,基于解密获取的空口安全配置信息,确定新的第一密钥和新的空口安全算法,所述处理器500具体用于:
[0361] 基于解密后的空口安全配置信息,获取空口密钥更新要求和空口安全算法更新要求;
[0362] 基于所述空口密钥更新要求,确定新的第一密钥;
[0363] 基于所述空口安全算法更新要求,确定新的空口安全算法。
[0364] 可选的,确定所述用户设备与非接入层节点密钥协商完毕之后,所述处理器500进一步用于:
[0365] 基于解密获取的应答消息,获取所述应答消息中携带的非接入层安全配置信息;
[0366] 基于所述非接入层安全配置信息,生成并采用新的第二密钥和新的非接入层安全算法,与非接入层进行通信。
[0367] 可选的,确定所述用户设备与非接入层节点密钥协商完毕之后,所述处理器500进一步用于:
[0368] 将预设的密钥生成种子中包含的扩展项,替换为预设的扩展项参数,并生成新的密钥生成种子;或者,
[0369] 调整预设的密钥生成种子中各项信息的顺序,生成新的密钥生成种子;
[0370] 其中,所述密钥生成种子至少包含用户关联信息和扩展项信息。
[0371] 收发机501,用于在处理器500的控制下接收和发送数据。
[0372] 其中,在图5中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器500代表的一个或多个处理器和存储器502代表的存储器的各种电路链接在一起。总线架构还
可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都
是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机501可
以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单
元。针对不同的用户设备,用户接口503还可以是能够外接内接需要设备的接口,连接的设
备包括但不限于小键盘、显示器、扬声器、麦克风、操纵杆等。
[0373] 处理器500负责管理总线架构和通常的处理,存储器502可以存储处理器500在执行操作时所使用的数据。
[0374] 基于同一发明构思,本申请实施例中,提供一种用户设备,参阅图6所示,至少包括:第一处理单元601、第二处理单元602和第三处理单元603,其中,
[0375] 第一处理单元601,用于接收空口节点发送的加密的空口安全配置信息,并采用预先存储的第一密钥和初始空口安全算法,对所述加密的空口安全配置信息进行解密;
[0376] 第二处理单元602,用于解密成功时,基于解密获取的空口安全配置信息,通过所述空口节点将用户标识和非接入层消息发往非接入层节点,触发所述非接入层节点基于所
述非接入层消息生成应答消息,并采用从网络安全中心获取的第二密钥和初始非接入层安
全算法,对所述应答消息进行加密;
[0377] 第三处理单元603,用于确定对非接入层节点返回的加密的应答消息解密成功时,确定所述用户设备与非接入层节点密钥协商完毕。
[0378] 第一处理单元601、第二处理单元602和第三处理单元603相互配合,以实现用户设备在上述各个实施例中的功能。
[0379] 基于同一发明构思,本申请实施例提供一种存储介质,当所述存储介质中的指令由处理器执行时,使得所述处理器能够执行上述流程中用户设备实现的任一项方法。
[0380] 基于同一发明构思,本申请实施例中,提供一种空口节点,参阅图7所示,至少包括:
[0381] 存储器701,用于存储可执行指令;
[0382] 处理器702,用于读取并执行存储器中存储的可执行指令,执行下列过程:
[0383] 采用第一密钥和初始空口安全算法,对预存的空口安全配置信息进行加密,并将加密的空口安全配置信息发送至用户设备,其中,所述第一密钥和初始空口安全算法是网
络安全中心返回的;
[0384] 接收用户设备发送的用户标识和非接入层消息,并基于所述空口配置信息,解密获取所述用户标识和非接入层消息,以及,将所述用户标识和非接入层消息发送至非接入
层节点,触发所述非接入层节点基于所述非接入层消息生成应答消息,并采用从网络安全
中心获取的第二密钥和初始非接入层安全算法,对所述应答消息进行加密。
[0385] 可选的,基于所述空口配置信息,解密获取所述用户标识和非接入层消息时,所述处理器702具体用于:
[0386] 基于所述空口安全配置信息,确定空口密钥更新要求和空口安全算法更新要求;
[0387] 基于所述空口密钥更新要求,确定新的第一密钥;
[0388] 基于所述空口安全算法更新要求,确定新的空口安全算法;
[0389] 采用所述新的第一密钥和所述新的空口安全算法,解密获取所述用户标识和非接入层消息。
[0390] 可选的,基于所述空口密钥更新要求,确定新的第一密钥时,所述处理器702具体用于:
[0391] 对第一密钥和预设的第一密钥生成参数进行组合,生成一个第一输入参数,并基于所述一个第一输入参数,采用所述第一密钥生成函数,生成并存储新的第一密钥;或者,
[0392] 基于所述第一密钥和预设的第一密钥生成参数,直接采用所述第一密钥生成函数,生成并存储新的第一密钥。
[0393] 收发机703,用于在处理器702的控制下接收和发送数据。
[0394] 其中,在图7中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器702代表的一个或多个处理器和存储器701代表的存储器的各种电路链接在一起。总线架构还
可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都
是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机703可
以是多个元件,即包括发送机和收发机,提供用于在传输介质上与各种其他装置通信的单
元。处理器702负责管理总线架构和通常的处理,存储器701可以存储处理器702在执行操作
时所使用的数据。
[0395] 基于同一发明构思,本申请实施例中,提供一种空口节点,参阅图8所示,至少包括:第一处理单元801和第二处理单元802,其中,
[0396] 第一处理单元801,用于采用第一密钥和初始空口安全算法,对预存的空口安全配置信息进行加密,并将加密的空口安全配置信息发送至用户设备,其中,所述第一密钥和初
始空口安全算法是网络安全中心返回的;
[0397] 第二处理单元802,用于接收用户设备发送的用户标识和非接入层消息,并基于所述空口配置信息,解密获取所述用户标识和非接入层消息,以及,将所述用户标识和非接入
层消息发送至非接入层节点,触发所述非接入层节点基于所述非接入层消息生成应答消
息,并采用从网络安全中心获取的第二密钥和初始非接入层安全算法,对所述应答消息进
行加密。
[0398] 第一处理单元801和第二处理单元802相互配合,以实现空口节点在上述各个实施例中的功能。
[0399] 基于同一发明构思,本申请实施例提供一种存储介质,当所述存储介质中的指令由处理器执行时,使得所述处理器能够执行上述流程中空口节点实现的任一项方法。
[0400] 基于同一发明构思,本申请实施例中,提供一种网络安全中心,参阅图9所示,至少包括:
[0401] 存储器901,用于存储可执行指令;
[0402] 处理器902,用于读取并执行存储器中存储的可执行指令,执行下列过程:
[0403] 基于接收到的空口节点发送的身份信息和密钥信息,根据查询结果,生成第一密钥,并将所述第一密钥和预存的初始空口安全算法发送至空口节点,触发所述空口节点将
加密的空口安全配置信息发送至用户设备,并将所述用户设备基于解密获取的空口安全配
置信息返回的用户标识和非接入层消息发往非接入层节点,其中,所述加密的空口安全配
置信息采用所述第一密钥和所述初始空口安全算法进行加密;
[0404] 基于接收到的非接入层节点发送的第二密钥获取请求,确定用户标识,并基于所述用户标识,生成第二密钥,并将所述第二密钥和初始非接入层安全算法发送至非接入层
节点。
[0405] 可选的,生成第一密钥时,所述处理器902具体用于:
[0406] 对预设的根密钥和第一密钥生成参数进行组合,生成一个第一输入参数,并基于所述一个第一输入参数,采用预设的第一密钥生成函数,生成并存储第一密钥;或者,
[0407] 基于预设的根密钥和第一密钥生成参数,直接采用预设的第一密钥生成函数,生成并存储第一密钥。
[0408] 可选的,生成第二密钥时,所述处理器902具体用于:
[0409] 对预设的根密钥和第二密钥生成参数进行组合,生成一个第二输入参数,并基于所述一个第二输入参数,采用预设的第二密钥生成函数,生成并存储第二密钥;或者,
[0410] 基于预设的根密钥和第二密钥生成参数,直接采用预设的第二密钥生成函数,生成并存储第二密钥。
[0411] 收发机903,用于在处理器902的控制下接收和发送数据。
[0412] 其中,在图9中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器902代表的一个或多个处理器和存储器901代表的存储器的各种电路链接在一起。总线架构还
可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都
是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机903可
以是多个元件,即包括发送机和收发机,提供用于在传输介质上与各种其他装置通信的单
元。处理器902负责管理总线架构和通常的处理,存储器901可以存储处理器902在执行操作
时所使用的数据。
[0413] 基于同一发明构思,本申请实施例中,提供一种网络安全中心,参阅图10所示,至少包括:第一处理单元1001和第二处理单元1002,其中,
[0414] 第一处理单元1001,用于基于接收到的空口节点发送的身份信息和密钥信息,根据查询结果,生成第一密钥,并将所述第一密钥和预存的初始空口安全算法发送至空口节
点,触发所述空口节点将加密的空口安全配置信息发送至用户设备,并将所述用户设备基
于解密获取的空口安全配置信息返回的用户标识和非接入层消息发往非接入层节点,其
中,所述加密的空口安全配置信息采用所述第一密钥和所述初始空口安全算法进行加密;
[0415] 第二处理单元1002,用于基于接收到的非接入层节点发送的第二密钥获取请求,确定用户标识,并基于所述用户标识,生成第二密钥,并将所述第二密钥和初始非接入层安
全算法发送至非接入层节点。
[0416] 第一处理单元1001和第二处理单元1002相互配合,以实现网络安全中心在上述各个实施例中的功能。
[0417] 基于同一发明构思,本申请实施例提供一种存储介质,当所述存储介质中的指令由处理器执行时,使得所述处理器能够执行上述流程中网络安全中心实现的任一项方法。
[0418] 基于同一发明构思,本申请实施例中,提供一种非接入层节点,参阅图11所示,至少包括:
[0419] 存储器1101,用于存储可执行指令;
[0420] 处理器1102,用于读取并执行存储器中存储的可执行指令,执行下列过程:
[0421] 接收空口节点发送的用户标识和非接入层消息,并基于所述用户标识,向网络安全中心发送第二密钥获取请求,其中,所述用户标识和非接入层消息是用户设备采用预先
存储的第一密钥和初始空口安全算法,对接收到的空口节点发送的加密的空口安全配置信
息解密成功时,基于解密获取的空口安全配置信息,通过空口节点向所述非接入层节点发
送的;
[0422] 基于所述非接入层消息,生成相应的应答消息,并采用网络安全中心返回的第二密钥和初始非接入层安全算法,对所述应答消息进行加密;
[0423] 将加密的应答消息发送至用户设备,触发所述用户设备确定对非接入层节点返回的加密的应答消息解密成功时,确定所述用户设备与非接入层节点密钥协商完毕。
[0424] 可选的,所述应答消息中携带非接入层安全配置信息,所述非接入层安全配置信息中至少包含接入层密钥更新要求和非接入层安全算法更新要求。
[0425] 可选的,将加密的应答消息发送至用户设备之后,所述处理器1102进一步用于:
[0426] 基于所述非接入层安全配置信息,确定非接入层密钥更新要求和非接入层安全算法更新要求;
[0427] 基于所述非接入层密钥更新要求,确定新的第二密钥;
[0428] 基于所述非接入层安全算法更新要求,确定新的非接入层安全算法。
[0429] 可选的,基于所述非接入层密钥更新要求,确定新的第二密钥时,所述处理器1102具体用于:
[0430] 对第二密钥和预设的第二密钥生成参数进行组合,生成一个第二输入参数,并基于所述一个第二输入参数,采用所述第二密钥生成函数,生成并存储新的第二密钥;或者,
[0431] 基于所述第二密钥和预设的第二密钥生成参数,直接采用所述第二密钥生成函数,生成并存储新的第二密钥。
[0432] 收发机1103,用于在处理器1102的控制下接收和发送数据。
[0433] 其中,在图11中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器1102代表的一个或多个处理器和存储器1101代表的存储器的各种电路链接在一起。总线架
构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这
些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机
1103可以是多个元件,即包括发送机和收发机,提供用于在传输介质上与各种其他装置通
信的单元。处理器1102负责管理总线架构和通常的处理,存储器1101可以存储处理器1102
在执行操作时所使用的数据。
[0434] 基于同一发明构思,本申请实施例中,提供一种非接入层节点,参阅图12所示,至少包括:第一处理单元1201、第二处理单元1202和第三处理单元1203,其中,
[0435] 第一处理单元1201,用于接收空口节点发送的用户标识和非接入层消息,并基于所述用户标识,向网络安全中心发送第二密钥获取请求,其中,所述用户标识和非接入层消
息是用户设备采用预先存储的第一密钥和初始空口安全算法,对接收到的空口节点发送的
加密的空口安全配置信息解密成功时,基于解密获取的空口安全配置信息,通过空口节点
向所述非接入层节点发送的;
[0436] 第二处理单元1202,用于基于所述非接入层消息,生成相应的应答消息,并采用网络安全中心返回的第二密钥和初始非接入层安全算法,对所述应答消息进行加密;
[0437] 第三处理单元1203,用于将加密的应答消息发送至用户设备,触发所述用户设备确定对非接入层节点返回的加密的应答消息解密成功时,确定所述用户设备与非接入层节
点密钥协商完毕。
[0438] 第一处理单元1201、第二处理单元1202和第三处理单元1203相互配合,以实现非接入层节点在上述各个实施例中的功能。
[0439] 基于同一发明构思,本申请实施例提供一种存储介质,当所述存储介质中的指令由处理器执行时,使得所述处理器能够执行上述流程中非接入层节点实现的任一项方法。
[0440] 本申请实施例中,用户设备接收空口节点发送的加密的空口安全配置信息,并采用预先存储的第一密钥和初始空口安全算法,解密获取的空口安全配置信息,通过所述空
口节点将用户标识和加密的非接入层消息发往非接入层节点,触发所述非接入层节点采用
从网络安全中心获取的第二密钥和初始非接入层安全算法,解密获取所述非接入层消息;
用户设备确定对非接入层节点返回的加密的应答消息解密成功时,确定所述用户设备与非
接入层节点密钥协商完毕。
[0441] 这样,本申请实施例中,空口节点和非接入层节点通过网络安全中心获取第一密钥、初始空口安全算法、第二密钥、初始非接入层安全算法,此时,空口连接建立、鉴权、空口
安全激活的过程并行执行,减少了AKA过程中所需的信令交互,加快了用户设备的启动过
程,此外,接入层和非接入层的密钥体系相互独立,削减了接入层和非接入层密钥体系之间
的耦合性。
[0442] 对于系统/装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0443] 需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者一个操作与另一个实体或者另一个操作区分开来,而不一定要求或者暗示这些实体
或者操作之间存在任何这种实际的关系或者顺序。
[0444] 在本申请实施例中,用户设备(User Equipment,UE)包括但不限于移动台(Mobile Station,MS)、移动终端(Mobile Terminal)、移动电话(Mobile Telephone)、手机
(handset)及便携设备(portable equipment)等,该用户设备可以经无线接入网(Radio 
Access Network,RAN)与一个或多个核心网进行通信,例如,用户设备可以是移动电话(或
称为“蜂窝”电话)、具有无线通信功能的计算机等,用户设备还可以是便携式、袖珍式、手持
式、计算机内置的或者车载的移动装置。
[0445] 本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实
施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机
可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序产
品的形式。
[0446] 本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流
程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序
指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产
生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实
现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0447] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指
令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或
多个方框中指定的功能。
[0448] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或
其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一
个方框或多个方框中指定的功能的步骤。
[0449] 尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优
选实施例以及落入本申请范围的所有变更和修改。
[0450] 显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围
之内,则本申请也意图包含这些改动和变型在内。