一种保护认证流程中参数的方法及装置与流程

文档序号:25034993发布日期:2021-05-11 17:06阅读:62来源:国知局
本申请涉及通信
技术领域
:,尤其涉及一种保护认证流程中参数的方法及装置。
背景技术
::在无线通信场景中,用户设备与核心网进行数据传输之前,核心网设备需要对用户设备进行认证鉴权,从而避免核心网遭受非法访问和攻击,以及避免影响其他合法终端正常访问核心网资源。标准第三代合作伙伴项目(3rdgenerationpartnershipproject,3gpp)ts33.501中定义了第五代移动通信技术(5th-generation,5g)系统的主认证和密钥协商(authenticationandkeyagreement,aka)流程,该流程用于实现用户设备(userequipment,ue)和网络之间的相互认证,并提供可在后续ue和服务网络之间的安全交互中使用的密钥材料。在认证过程中,ue和网络侧设备之间交互安全相关参数,所述安全相关参数用于推演密钥,但是在交互的过程中这些安全相关参数存在被篡改的风险。技术实现要素:本申请实施例提供了参数保护方法及装置,通过在主认证流程中对架构间抗降维(anti-biddingdownbetweenarchitectures,abba)等安全相关参数进行完整性验证来识别认证过程中传输的安全相关参数是否被篡改。本申请实施例涉及第一消息认证码和第二消息认证码均用于完整性保护,不同实施例中,所述第一消息认证码和第二消息认证码可能由不同的网元生成,生成时采用的密钥和参数也可能不同,因此不能将不同实施例中的第一消息认证码或第二消息认证码视为同一个消息认证码。另外上述“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性。第一方面,本申请实施例提供一种认证过程中参数保护方法,该方法包括:用户设备接收安全锚功能网元(securityanchorfunction,seaf)发送的认证请求消息;所述认证请求消息包括架构间抗降维参数(abba);所述用户设备对所述abba进行完整性验证。其中,需要指出的是,在用户设备接收seaf发送的认证请求消息之前,所述用户设备ue向seaf发送注册请求消息,使得seaf收到ue的注册请求消息后向鉴权服务功能(authenticationserverfunction,ausf)发起认证请求。另外,进一步需要指出的是,所述用户设备对所述abba进行完整性验证之后,所述方法还包括:若所述abba的完整性验证成功,所述用户设备向所述seaf发送认证响应消息。另外,进一步需要指出的是,所述用户设备对所述abba进行完整性验证之后,所述方法还包括:若所述abba的完整性验证失败,所述用户设备向所述seaf发送指示信息,所述指示信息用于指示完整性验证失败。可以理解的是,如果完整性认证失败,则及时终止认证流程,从而节省后续交互的信令资源。另外,还需要指出的是,认证过程中,ue接收seaf发送的认证请求消息,该认证请求消息包含abba和/或密钥集标识符ngksi等安全相关参数。该认证请求消息还携带用于完整性保护的第一消息认证码。该认证请求消息还包含认证令牌autn和随机数rand等参数。在一种实现方式中,上述第一消息认证码为abba和/ngksi等安全相关参数的消息认证码;在另一种实现方式中,上述第一消息认证码为上述携带abba和/ngksi等安全相关参数的认证请求消息的消息认证码。ue接收上述认证请求消息后,对所述abba和/或ngksi等安全相关参数或者携带所述安全相关参数的认证消息进行完整性验证,包括:ue生成安全密钥,并利用所述安全密钥生成所述安全相关参数或者携带所述安全相关参数的认证消息的第二消息认证码。根据认证方法的不同,所述安全密钥的生成有所不同。当认证方法为eapaka’时,ue可以根据根密钥k生成加密密钥ck,完整性密钥ik,并使用(ck,ik)生成或作为安全密钥;ue还可以使用所述ck,ik以及服务网络名称snname等生成ck’,ik’,并使用(ck’,ik’)生成或作为安全密钥;ue还可以根据所述ck,ik以及接入类型生成安全密钥,其中接入类型可以为3gpp类型或非3gpp类型,所述3gpp的类型标识为1,所述非3gpp的类型标识为2;ue还可以根据所述ck’,ik’以及用户标识等参数生成mk,并使用mk生成或作为安全密钥;ue还可以使用kausf生成或作为安全密钥,其中所述kausf为所述mk的一部分。当认证方法为5gaka时,ue可以根据根密钥k生成加密密钥ck,完整性密钥ik,并使用(ck,ik)生成或作为安全密钥;ue还可以根据所述ck,ik以及服务网络名称snname等生成kausf,并使用所述kausf生成或作为安全密钥;ue还可以根据响应res,在接收到的认证请求消息中携带的随机数rand和snname生成5gaka响应res*,并使用所述res*生成或作为安全密钥;ue还可以对所述res*和所述rand进行哈希运算生成哈希响应hres*,并使用所述hres*生成或作为安全密钥;ue采用所生成的安全密钥生成abba,和/或ngksi等安全相关参数的消息认证码,作为第二消息认证码。在另一种可能的实现中,ue采用所生成的安全密钥生成携带安全相关参数的认证请求消息的消息认证码,作为第二消息认证码。ue根据接收到的第一消息认证码和所生成的第二消息认证码对所述安全相关参数或携带所述安全相关参数的认证请求消息的完整性进行验证。具体地,ue对所述第一消息认证码和第二消息认证码进行比对。若结果为相同则完整性验证成功;若结果为不同则完整性验证失败。若所述完整性验证成功,ue向seaf发送认证响应,网络侧继续认证流程。ue接收seaf发送的认证结果(验证结果)或n1消息。若认证成功,所述ue根据锚密钥kseaf,用户永久标识(supi)以及所述abba生成下层密钥kamf。所述ue根据所述kamf生成非接入层密钥。若所述完整性验证失败,所述ue向seaf发送用于指示完整性验证失败的指示信息或者认证拒绝消息。所述认证拒绝消息携带所述用于指示完整性验证失败的指示信息。第二方面,本申请实施例提供一种认证过程中参数保护方法,所述方法包括:安全锚点功能网元seaf接收用户设备ue发送的注册请求消息。seaf收到ue的注册请求消息后向鉴权服务功能ausf发起认证请求。在认证过程中,seaf向ue发送认证请求消息,该认证请求消息包含abba和/或密钥集标识符ngksi等安全相关参数。该认证请求消息还携带用于完整性保护的第一消息认证码。在一种可能的实现中,seaf生成abba和/ngksi等安全相关参数的消息认证码,作为第一消息认证码。在另一种可能的实现中,seaf生成上述携带abba和/ngksi等安全相关参数的认证请求消息的消息认证码,作为第一消息认证码。具体地,seaf使用安全密钥生成上述安全相关参数或者上述携带安全相关参数的认证请求消息的消息认证码,作为第一消息认证码。一种可能的实现中,seaf接收ausf发送的安全密钥,并利用接收到的安全密钥对安全相关参数或携带上述安全相关参数的认证请求消息进行完整性保护以生成第一消息认证码;另一种可能的实现中,seaf生成安全密钥,并利用所生成的安全密钥对安全相关参数或携带上述安全相关参数的认证请求消息进行完整性保护以生成第一消息认证码。具体地,seaf可使用hxres*,和/或,hxres*的一部分,作为安全密钥,或者使用hxres*,和/或,hxres*的一部分,生成安全密钥。其中所述hxres*为来自ausf的哈希预期响应。安全密钥的生成还可以包括其他的输入参数,本申请不作限制。本申请实施例对生成安全密钥所使用的算法以及安全密钥的长度不作限制。第三方面,本申请实施例提供一种认证过程中参数保护方法,所述方法包括:鉴权服务功能ausf接收安全锚点功能网元seaf发送的认证请求消息。ausf接收该认证请求消息后向统一数据管理网元(unifieddatamanager,udm)发送认证向量获取请求。ausf接收udm返回的认证向量和可选的用户永久标识supi。可选地,ausf还接收udm返回的加密密钥ck,完整性密钥ik。当认证方法为eapaka’时,ausf接收的认证向量包含包含认证令牌autn,随机数rand,期望响应xres,中间加密密钥ck’和中间完整性密钥ik’;当认证方法为5gaka时,ausf接收的认证向量包含:认证令牌autn,随机数rand,5gaka预期响应xres*和鉴权服务功能密钥kausf;可选地,5gaka时ausf还接收udm预期响应xres。ausf接收上述认证向量和可选的用户永久标识supi,加密密钥ck,完整性密钥ik后,生成安全密钥,该安全密钥用于对abba,ngksi等安全相关参数进行完整性保护。根据认证方法的不同,所述安全密钥的生成有所不同。当认证方法为eapaka’时,ausf可以根据接收到的ck和ik,即(ck,ik)生成或作为安全密钥;ausf还可以根据接收到的认证向量中的ck’,ik’,即(ck’,ik’)生成或作为安全密钥;ausf还可以根据所述ck,ik以及接入类型生成安全密钥,其中接入类型可以为3gpp类型或非3gpp类型,所述3gpp的类型标识为1,所述非3gpp的类型标识为2;ausf还可以根据所述ck’,ik’以及用户标识等参数生成mk,并使用mk生成或作为安全密钥;ausf还可以使用kausf生成或作为安全密钥,其中所述kausf为所述mk的一部分。当认证方法为5gaka时,ausf可以根据接收到的ck和ik,即(ck,ik)生成或作为安全密钥;ausf还可以根据接收到的认证向量中的kausf生成或作为安全密钥;ausf还可以使用接收到的认证向量中的xres*生成或作为安全密钥;ausf还可以对xres*和rand进行哈希运算生成hxres*,并使用所述hxres*生成或作为安全密钥;一种可能的实现中,ausf向seaf发送所生成的安全密钥。在一种可能的实现中,ausf接收seaf发送的abba,和/或ngksi等安全相关参数,ausf采用所生成的安全密钥对abba,和/或ngksi等安全相关参数进行完整性保护以生成第一消息认证码,并向seaf发送该第一消息认证码。第四方面,本申请实施例提供一种装置,该装置包括:接收模块,用于接收安全锚功能网元(securityanchorfunction,seaf)发送的认证请求消息;所述认证请求消息包括架构间抗降维参数(abba);处理模块,用于对所述abba进行完整性验证。发送模块,用于,在接收模块接收seaf发送的认证请求消息之前,向seaf发送注册请求消息,使得seaf收到ue的注册请求消息后向鉴权服务功能(authenticationserverfunction,ausf)发起认证请求。另外,进一步需要指出的是,所述处理模块对所述abba进行完整性验证之后,若所述abba的完整性验证成功,所述发送模块向所述seaf发送认证响应消息。另外,进一步需要指出的是,所述处理模块对所述abba进行完整性验证之后,若所述abba的完整性验证失败,所述用户设备向所述seaf发送指示信息,所述指示信息用于指示完整性验证失败。另外,需要指出的是,所述接收模块,用于接收所述seaf发送的认证请求消息;所述认证请求消息包含abba和/或ngksi等安全相关参数;所述认证请求消息还包含第一消息认证码。所述第一消息消息认证码用于对所述安全相关参数或所述认证请求消息进行完整性保护在一种实现方式中,上述第一消息认证码为abba和/ngksi等安全相关参数的消息认证码;在另一种实现方式中,上述第一消息认证码为上述携带abba和/ngksi等安全相关参数的认证请求消息的消息认证码。所述接收模块接收上述认证请求消息后,所述处理模块对所述abba和/或ngksi等安全相关参数或者携带所述安全相关参数的认证消息进行完整性验证,包括:所述处理模块生成安全密钥,并利用所述安全密钥生成所述安全相关参数或者携带所述安全相关参数的认证消息的第二消息认证码。一种可能的实现中,所述处理模块采用所生成的安全密钥生成abba,和/或ngksi等安全相关参数的消息认证码,作为第二消息认证码。在另一种可能的实现中,所述处理模块采用所生成的安全密钥生成携带上述安全相关参数的认证请求消息的消息认证码,作为第二消息认证码。所述处理模块根据接收到的第一消息认证码和所生成的第二消息认证码对所述安全相关参数或携带所述安全相关参数的认证请求消息的完整性进行验证。具体地,所述处理模块对所述第一消息认证码和第二消息认证码进行比对。若结果为相同则完整性验证成功;若结果为不同则完整性验证失败。若所述完整性验证成功,所述发送模块向seaf发送认证响应,网络侧继续认证流程。所述接收模块接收seaf发送的认证结果(验证结果)或n1消息。若认证成功,所述处理模块根据锚密钥kseaf,用户永久标识(supi)以及所述abba生成下层密钥kamf。所述处理模块根据所述kamf生成非接入层密钥。若所述完整性验证失败,所述发送模块向seaf发送用于指示完整性验证失败的指示信息或者认证拒绝消息。所述认证拒绝消息携带所述用于指示完整性验证失败的指示信息。该装置具有实现上述第一方面的任意一种可能的实现中用户设备ue行为的功能。第五方面,本申请实施例提供一种装置,该装置包括:发送模块,用于向ue发送认证请求消息,所述认证请求消息包含abba和/或ngksi等安全相关参数。所述安全相关参数或所述认证请求消息经完整性保护。处理模块,用于对abba和/或ngksi等安全相关参数或者携带上述安全相关参数的认证请求消息进行完整性保护。接收模块,用于接收所述ue发送的注册请求消息和认证响应消息;所述接收模块还可以用于接收ausf发送的安全密钥。该装置具有实现上述第二方面的任意一种可能的实现中seaf行为的功能。第六方面,本申请实施例提供一种装置,该装置包括:接收模块,用于接收seaf发送的认证请求;处理模块,用于生成安全密钥,所述安全密钥用于对abba和/或ngksi等安全相关参数或者携带上述安全相关参数的认证请求消息进行完整性保护;发送模块,用于向seaf发送处理模块所生成的安全密钥;该装置具有实现上述第三方面的任意一种可能的实现中ausf行为的功能。第七方面,本申请实施例提供一种参数保护方法,该方法包括:用户设备ue向网络侧的安全锚点功能网元seaf发送携带用户标识的注册请求消息,使得seaf收到ue的注册请求消息后向鉴权服务功能ausf发起认证请求。认证过程中,ue接收seaf发送的认证请求消息,所述认证请求消息包含abba和/或ngksi等安全相关参数,所述认证请求消息还包含认证令牌autn和随机数rand等参数。ue收到所述携带安全相关参数的认证请求消息之后,ue对所述安全相关参数进行完整性保护,包括:ue生成安全密钥,并利用所述安全密钥对所述安全相关参数进行完整性保护,即使用所述安全密钥生成第一消息认证码。根据认证方法的不同,所述安全密钥的生成有所不同。当认证方法为eapaka’时,ue可以根据根密钥k生成加密密钥ck,完整性密钥ik,并使用所述(ck,ik)生成或作为安全密钥;ue还可以使用所述ck,ik以及服务网络名称snname生成ck’,ik’,并使用所述(ck’,ik’)生成或作为安全密钥;ue还可以根据所述ck,ik以及接入类型生成安全密钥,其中接入类型可以为3gpp类型或非3gpp类型,所述3gpp的类型标识为1,所述非3gpp的类型标识为2;ue还可以根据所述ck’,ik’以及用户标识等参数生成的mk,并使用mk生成或作为安全密钥;ue还可以使用kausf生成或作为安全密钥,其中所述kausf为所述mk的一部分。当认证方法为5gaka时,ue可以根据根密钥k生成加密密钥ck,完整性密钥ik,并使用所述(ck,ik)生成或作为安全密钥;ue还可以根据所述ck,ik以及服务网络名称snname生成kausf,并使用所述kausf生成或作为安全密钥;ue还可以根据响应res,接收到的认证请求消息中携带的随机数rand和snname生成5gaka响应res*,并使用所述res*生成或作为安全密钥;ue还可以对所述res*和所述rand进行哈希运算生成哈希响应hres*,并使用所述hres*生成或作为安全密钥;在一种可能的实现中,ue使用所述安全密钥对所述相关安全参数进行完整性保护,包括ue使用所生成的安全密钥计算上述abba,和/或ngksi等安全相关参数的消息认证码,并将该消息认证码作为第一消息认证码。在另一种可能的实现中,ue使用所述安全密钥对携带所述相关安全参数的认证响应消息进行完整性保护,包括ue使用所生成的安全密钥,计算携带所述安全相关参数的认证响应消息的消息认证码,将该消息认证码作为第一消息认证码。其中所述认证响应消息携带abba,和/或ngksi等安全相关参数。ue向seaf发送所述第一消息认证码,包括ue向seaf发送携带所述第一消息认证码的认证响应消息,或者ue向seaf发送认证响应消息和所述第一消息认证码。第八方面,本申请实施例提供一种参数保护方法,该方法包括:安全锚点功能网元seaf接收用户设备ue发送的注册请求消息。seaf收到ue的注册请求消息后向鉴权服务功能ausf发起认证请求。在认证过程中,seaf向ue发送认证请求消息,该认证请求消息包含abba和/或ngksi等安全相关参数。seaf接收ue发送的携带第一消息认证码的认证响应消息,或,seaf接收到认证响应消息和第一消息认证码。所述第一消息认证码为abba,和/或ngksi等安全相关参数的消息认证码,或者为携带所述安全相关参数的认证响应消息的消息认证码。seaf接收ue发送的认证响应消息后,对所述abba,和/或,ngksi等安全相关参数或所述携带安全相关参数的认证响应消息进行完整性验证。具体地,seaf生成第二消息认证码,所述第二消息认证码为所述安全相关参数的消息认证码或为携带所述安全相关参数的认证响应消息的消息认证码,并根据所述第二消息认证码和来自ue的第一消息认证码进行完整性验证。可能的,seaf接收ausf发送的安全密钥,并使用接收到的安全密钥计算所述第二消息认证码。所述第二消息认证码为所述安全相关参数的消息认证码或为携带所述安全相关参数的认证响应消息的消息认证码。可能的,seaf生成安全密钥,并使用所生成的安全密钥,计算所述第二消息认证码。具体地,seaf可使用哈希预期响应hxres*,和/或,所述hxres*的一部分,作为安全密钥,或者使用hxres*,和/或,hxres*的一部分,生成安全密钥。其中所述hxres*为来自ausf的哈希预期响应,seaf接收所述ausf发送的所述hxres*。在另一种可能的实现中,当seaf接收到的所述第一消息认证码时,seaf将所述第一消息认证码发送给ausf,使得ausf生成安全密钥并使用所生成的安全密钥进行安全相关参数的完整性验证。可选地,若ausf验证完整性失败,则ausf通知seaf完整性验证失败。若seaf进行的完整性验证成功,则继续进行认证流程;若seaf进行的完整性验证失败或seaf接收到ausf发送的完整性验证失败的通知,则seaf终止认证流程。可选地,seaf向所述ue发送认证拒绝消息。第九方面,本申请实施例提供一种装置,该装置包括:发送模块,用于向网络侧的安全锚点功能网元seaf发送注册请求消息;接收模块,用于接收所述seaf发送的认证请求消息;所述认证请求消息包含abba和/或ngksi等安全相关参数。处理模块,用于生成安全密钥,并利用所述安全密钥对所述abba和/或ngksi等安全相关参数或携带所述安全相关参数的认证响应消息进行完整性保护。所述发送模块还用于向seaf发送经完整性保护的安全相关参数,或者发送经完整性保护的携带安全相关参数的认证响应消息。该装置具有实现上述第七方面的任意一种可能的实现中用户设备ue行为的功能。第十方面,本申请实施例提供一种装置,该装置包括:发送模块,用于向ue发送认证请求消息,所述认证请求消息包含abba和/或ngksi等安全相关参数;处理模块,用于对abba和/或ngksi等安全相关参数或者携带上述安全相关参数的认证响应消息进行完整性验证;接收模块,用于接收所述ue发送的注册请求消息和认证响应消息;所述接收模块还可以用于接收ausf发送的安全密钥。该装置具有实现上述第八方面的任意一种可能的实现中seaf行为的功能。第十一方面,本申请实施例提供一种认证结果更新的方法,该方法包括:在用户侧与网络侧主认证流程之后,用户设备ue接收seaf/amf发送的非接入层安全模式命令(nassmc),所述nassmc消息经网络侧使用nas完整性密钥进行完整性保护。其中所述nas完整性密钥基于kamf推演所生成。所述nassmc消息包含ue安全能力,nas算法,ngksi,abba等参数。所述ue接收nassmc后基于kamf推演完整性密钥,并使用所述密钥进行完整性验证。所述ue还验证所述nassmc中的ue安全能力是否与ue所保存的安全能力相同。若验证通过,ue向seaf/amf发送安全模式完成消息;若验证不通过,ue向seaf/amf发送安全模式拒绝消息。所述seaf/amf接收ue发送的安全模式完成或安全模式拒绝消息之后,向统一数据管理功能网元udm发送通知,用于通知所述udm,ue的认证结果或认证状态,或者用于更新所述udm处,ue的认证结果或者认证状态。在另一种可能的实现中,所述seaf/amf接收ue发送的安全模式完成消息或安全模式拒绝消息之后,向ausf发送通知,用于向ausf通知ue的认证结果或ue的认证状态;所述ausf接收所述通知后,向udm发送通知,用于向udm通知ue的认证结果或认证状态,或用于更新udm处ue的认证结果或认证状态。udm在接收到seaf/或ausf的通知之后,保存或更新ue的认证结果或认证状态。第十二方面,本申请实施例提供一种装置,该装置包括:接收模块,发送模块以及处理模块。所述接收模块用于接收seaf/或ausf发送的通知消息,所述通知包含ue的认证结果或认证状态;所述处理模块用于保存或更新ue的认证结果或认证状态;所述发送模块用于在认证流程中向ausf发送认证向量。该装置具有实现上述第十一方面的任意一种可能的实现中udm行为的功能。第十三方面,提供一种设备,该设备包括:用于存储计算机指令的存储单元、用于收发数据的通信接口,以及与所述存储单元和通信接口耦合的处理器;所述处理器执行所述计算机指令以实现上述第一方面的任意一种可能的设计中用户设备ue行为的功能。第十四方面,提供一种设备,该设备包括:用于存储计算机指令的存储单元、用于收发数据的通信接口,以及与所述存储单元和通信接口耦合的处理器;所述处理器执行所述计算机指令以实现上述第二方面的任意一种可能的设计中seaf行为的功能。第十五方面,提供一种设备,该设备包括:用于存储计算机指令的存储单元、用于收发数据的通信接口,以及与所述存储单元和通信接口耦合的处理器;所述处理器执行所述计算机指令以实现上述第三方面的任意一种可能的设计中ausf行为的功能。第十六方面,提供一种设备,该设备包括:用于存储计算机指令的存储单元、用于收发数据的通信接口,以及与所述存储单元和通信接口耦合的处理器;所述处理器执行所述计算机指令以实现上述第七方面的任意一种可能的设计中用户设备ue行为的功能。第十七方面,提供一种设备,该设备包括:用于存储计算机指令的存储单元、用于收发数据的通信接口,以及与所述存储单元和通信接口耦合的处理器;所述处理器执行所述计算机指令以实现上述第八方面的任意一种可能的设计中seaf行为的功能。第十八方面,提供一种设备,该设备包括:用于存储计算机指令的存储单元、用于收发数据的通信接口,以及与所述存储单元和通信接口耦合的处理器;所述处理器执行所述计算机指令以实现上述第十一方面的任意一种可能的设计中udm行为的功能。第十九方面,提供一种设备,该设备包括用于收发数据的通信接口以及与所述通信接口耦合的处理器;所述处理器实现上述第一方面的任意一种可能的设计中用户设备ue行为的功能;所述处理器还通过所述通信接口执行上述第一方面的任意一种可能的设计中用户设备ue所涉及的数据收发。第二十方面,提供一种设备,该设备包括用于收发数据的通信接口以及与所述通信接口耦合的处理器;所述处理器实现上述第二方面的任意一种可能的设计中seaf行为的功能;所述处理器还通过所述通信接口执行上述第二方面的任意一种可能的设计中seaf所涉及的数据收发。第二十一方面,提供一种设备,该设备包括用于收发数据的通信接口以及与所述通信接口耦合的处理器;所述处理器实现上述第三方面的任意一种可能的设计中ausf行为的功能;所述处理器还通过所述通信接口执行上述第三方面的任意一种可能的设计中ausf所涉及的数据收发。第二十二方面,提供一种设备,该设备包括用于收发数据的通信接口以及与所述通信接口耦合的处理器;所述处理器实现上述第七方面的任意一种可能的设计中用户设备ue行为的功能;所述处理器还通过所述通信接口执行上述第七方面的任意一种可能的设计中用户设备ue所涉及的数据收发。第二十三方面,提供一种设备,该设备包括用于收发数据的通信接口以及与所述通信接口耦合的处理器;所述处理器实现上述第八方面的任意一种可能的设计中seaf行为的功能;所述处理器还通过所述通信接口执行上述第八方面的任意一种可能的设计中seaf所涉及的数据收发。第二十四方面,提供一种设备,该设备包括用于收发数据的通信接口以及与所述通信接口耦合的处理器;所述处理器实现上述第十一方面的任意一种可能的设计中udm行为的功能;所述处理器还通过所述通信接口执行上述第十一方面的任意一种可能的设计中udm所涉及的数据收发。第二十五方面,提供一种非易失性计算机可读存储介质,所述计算机可读存储介质存储的程序,所述程序被处理器执行,以完成本申请实施例提供的任意一个设备执行的任意一种方法的部分或全部步骤。第二十六方面,提供一种计算机程序产品,当所述计算机程序产品在计算机设备上运行时,使得所述计算机设备执行本申请实施例提供的任意一个设备执行的任意一种方法的部分或全部步骤。可以看到,本申请实施例的认证过程中,网络侧向用户设备ue发送认证请求时,携带abba和/或ngksi等安全相关参数;网络侧使用安全密钥对所述安全相关参数或携带安全相关参数的认证请求消息进行完整性保护,并由ue采用与网络侧相同的方法生成安全密钥并进行完整性验证;或者ue使用安全密钥对所述安全相关参数或携带安全相关参数的认证响应消息进行完整性保护,并由网络侧采用相同的方法生成安全密钥并进行完整性验证。从而识别认证过程中传输的所述安全相关参数是否被攻击者篡改,若所述参数被篡改则及时终止认证流程。附图说明为了更清楚地说明本申请实施例或
背景技术
:中的技术方案,下面将对本申请实施例或
背景技术
:中所需要使用的附图进行说明。图1a为本申请实施例涉及的一种网络系统架构图;图1b为本申请实施例涉及的又一种网络系统架构图;图2为现有技术中的一种主认证流程示意图;图3为现有技术中的另一种主认证流程示意图;图4为现有技术中的密钥架构示意图;图5为本申请实施例的一种参数保护方法的流程示意图;图6为本申请实施例的又一种参数保护方法的流程示意图;图7为本申请实施例的又一种参数保护方法的流程示意图;图8为本申请实施例的又一种参数保护方法的流程示意图;图9为本申请实施例的又一种参数保护方法的流程示意图;图10为本申请实施例的又一种参数保护方法的流程示意图;图11为本申请实施例的又一种参数保护方法的流程示意图;图12为本申请实施例的又一种参数保护方法的流程示意图;图13为本申请实施例的一种认证结果更新方法的流程示意图;图14为本申请实施例的又一种认证结果更新方法的流程示意图;图15为本申请实施例的一种装置的结构示意图;图16为本申请实施例的一种设备的结构示意图;图17为本申请实施例的又一种设备的结构示意图。具体实施方式本申请实施例提供了一种参数保护方法及装置,在主认证流程中引入对安全相关参数的完整性验证,用以解决因安全相关参数被攻击者篡改而造成的资源浪费和潜在的网络欺诈问题。其中,方法和装置是基于同一发明构思的,由于方法及装置解决问题的原理相似,因此装置与方法的实施可以相互参见,重复之处不再赘述。以下对本申请实施例中涉及的部分用语进行解释说明,以便于理解。1)消息认证码(messageauthenticationcodes,mac),一种对消息进行完整性验证及其来源进行认证的技术,它通过收发双方共享的密钥对消息进行计算得到一个固定长度的mac值来实现的。2)哈希运算,主要用于信息安全领域中加密算法,它把一些不同长度的信息转化成杂乱的128位的编码里,叫做哈希值。另外,本申请实施例中的术语“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b的情况,其中,a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。除非有相反的说明,本申请实施例提及“第一”、“第二”等序数词是用于对多个对象进行区分,不用于限定多个对象的顺序、时序、优先级或者重要程度。此外,本申请实施例和权利要求书及附图中的术语“包括”和“具有”不是排他的。例如,包括了一系列步骤或模块的过程、方法、系统、产品或设备,不限定于已列出的步骤或模块,还可以包括没有列出的步骤或模块。本申请实施例提供的参数保护方法可以应用于各种通信系统,例如:5g通信系统,或未来的各种通信系统等。本申请实施例描述的网络架构以及业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。以5g系统为例,具体来说,5g系统中定义了新的通信场景:超高可靠低时延通信(ultra-reliableandlow-latencycommunication,urllc)、增强移动宽带(enhancedmobilebroadband,embb)和海量机器连接通信(massivemachinetypecommunication,mmtc),这些通信场景对通信安全有更严苛的需求。因此,终端与核心网进行数据传输之前,认证鉴权作为最基本的安全防范技术,在5g通信过程中尤为重要。终端与核心网之间通过aka流程相互认证,并协商可在后续安全过程中可使用的安全上下文,所述安全上下文包括用于认证,完整性保护和加密的安全参数等。5g主认证流程分为5gaka和改进的可扩展认证协议eapaka’两种。图1a为本申请实施例适用的一种可能的网络架构示意图,该网络架构由用户设备(userequipment,ue)、接入网(radioaccessnetwork,ran)和运营商网络组成,运营商网络包括核心网(corenetwork,cn)和数据网(datanetwork,dn),ue通过ran接入运营商网络。cn作为承载网络提供到dn的接口,为ue提供通信连接、认证、管理、策略控制以及对数据业务完成承载等。其中,cn包括:接入和移动管理网元(accessandmobilitymanagementfunction,amf)、安全锚点功能(securityanchorfunction,seaf)、会话管理功能(sessionmanagementfunction,smf)、用户面节点功能(userplanefunction,upf)、认证服务器功能(authenticationserverfunction,ausf)、统一数据管理功能(unifieddatamanager,udm)、网络暴露功能(networkexposurefunction,nef)、应用功能(applicationfunction,af)、网络切片选择功能(networksliceselectionfunction,nssf)、策略控制功能(policycontrolfunction,pcf)、网络功能仓储功能(nfrepositoryfunction,nrf)等。图1a中,n1、n2、n3、n4和n6为相应网元之间的接口;namf、nsmf、nausf、nudm、nnef、npcf、naf、nnssf和nnrf分别为amf、smf、ausf、udm、nef、pcf、af、nssf和nrf所展现的服务化接口。图1b为上述网络架构图中本申请实施例涉及的主要网元及其连接关系,包括ue、amf、ausf和udm等。具体描述如下:ue为逻辑实体,具体的,ue可以是终端设备(terminalequipment)、通信设备(communicationdevice)、物联网(internetofthings,iot)设备、车联网设备中的任意一种。其中,终端设备可以是智能手机(smartphone)、智能手表(smartwatch),智能平板(smarttablet)、穿戴式设备、机车(汽车或电动车)或车载终端等等。通信设备可以是服务器、网关(gateway,gw)、控制器等等。物联网设备可以是传感器,电表以及水表等等。ue通过n1接口与amf通信。amf负责终端的接入管理和移动性管理,如注册管理,连接管理,移动管理,可达性管理等;在实际应用中,其包括了长期演进系统(longtermevolution,lte)中网络框架中移动性管理实体(mobilitymanagemententity,mme)里的移动性管理功能,并加入了接入管理功能。此外,安全锚点功能(securityanchorfunction,seaf)提供主认证服务。目前的标准定义中seaf和amf合设置。namf为amf所提供的服务化接口。udm是由运营商提供的控制面网元,负责生成认证参数,存储运营商网络的签约用户永久标识(subscriberpermanentidentifier,supi)、注册信息、信任状(credential)、签约数据等。nudm为udm所提供的服务化接口。此外,认证凭据库和处理功能(authenticationcredentialrepositoryandprocessingfunction,arpf)位于udm中,用于生成鉴权参数。ausf是由运营商提供的控制面网元,可用于运营商网络对网络签约用户的认证。nausf为ausf所提供的服务化接口。seaf/amf和ausf可以位于同一个网络中,例如seaf/amf和ausf均位于归属公共陆地移动网(homepubliclandmobilenetwork,hplmn),简称为归属网络;seaf/amf和ausf也可以位于不同的网络中,例如,seaf/amf位于拜访公共陆地移动网(visitedpubliclandmobilenetwork,vplmn),简称为拜访网络,而ausf位于归属网络,若ue在归属的覆盖范围之外则无法直接接入归属网络获取服务,此时,若ue在拜访网络的覆盖范围之内,ue为了能够获取拜访网络和归属网络提供的网络服务,则需要接入拜访网络;ue通过非接入层(non-accessstratum,nas)消息向seaf/amf发送注册请求,seaf/amf决定发起认证,向ausf发送携带用户永久标识supi或者用户隐藏标识(subscriptionconcealedidentifier,suci),以及服务网络名称(servingnetworkname,snname)的认证请求,所述服务网络名称由服务编码(servicecode)和服务网络标识snid组成,举例来说,该服务编码可以是字符串5g、6g或7g,在此不作限制;ausf检验认证请求中的服务网络名称是否与预期的服务网络名称相符,验证成功则向udm发送认证向量获取请求;udm收到请求后选择认证方法并生成认证向量(authenticationvector,av),其中,认证方法可以是eapaka’或5gaka。图2描述了eapaka’主认证流程:s201、udm生成认证向量。eapaka’中udm生成变形认证向量av',av’包含认证令牌(authenticationtoken,autn),随机数rand,期望响应(expectedresponse,xres),中间加密密钥ck’(cipherkey)和中间完整性密钥ik’(integritykey)。s202、udm通过nudm认证响应消息nudm_ueauthentication_getresponse向ausf发送上述变形认证向量av’,所述nudm_ueauthentication_getresponse还可能携带用户永久标识supi。s203、ausf收到udm发送的变形认证向量后,通过nausf认证响应消息nausf_ueauthentication_authenticateresponse向seaf/amf发送eaprequest/aka’-challenge消息,该消息中包括参数autn和rand等参数。s204、seaf/amf通过nas认证请求消息将s203中的eaprequest/aka’-challenge消息透传输给ue,上述认证请求消息还携带abba和密钥集标识符(keysetidentifier,ngksi)等安全相关参数。其中,需要指出的是,如果seaf和amf没有合设,那么在一种实现方式中,seaf会将ausf发送的认证参数转发给amf,然后amf通过nas认证请求消息将abba和ngksi发送给ue。s205、ue验证变形认证向量的新鲜性,验证成功后生成加密密钥ck,完整性密钥ik和响应res。上述认证请求验证成功后,ue还将推演中间加密密钥ck’和中间完整性密钥ik’。作为一种可能的实现方式,ue还从ck’和ik’生成扩展的主会话密钥emsk,并使用emsk的256位最高有效位作为ausf密钥kausf,然后计算锚密钥kseaf。并使用kseaf,abba和supi计算kamf。s206、ue向seaf/amf发送nas认证响应消息,该nas认证响应消息携带eapresponse/aka’-challenge消息,该eapresponse/aka’-challenge消息中包括响应res。s207、seaf/amf通过nausf认证请求nausf_ueauthentication_authenticaterequest将eapresponse/aka’-challenge消息透明传输给ausf,相应的ausf接收上述消息。s208、ausf对接收到的消息进行验证,并通知udm认证结果。ausf通过nudm_ueauthentication_resultconfirmationrequest向udm通知ue的认证状态,包括supi、认证结果、认证流程的时间戳、和服务网络名称。可能地,ausf只通知udm成功的认证,但是这取决于运营商策略。若验证失败ausf则向seaf/amf返回错误消息;若验证成功则继续以下步骤:s209、可选地,ausf和ue可以通过seaf/amf交换通知消息eap-request/aka'-notification和eap-response/aka'-notification,seaf/amf透明传输ausf与ue之间的消息。s210、ausf利用从udm接收到的ck’和ik’计算推演扩展的主会话密钥emsk,并选取emsk的256位最高有效位作为ausf密钥kausf,接着从kausf推演锚密钥kseaf。ausf通过nausf认证响应nausf_ueauthentication_authenticateresponse向seaf/amf发送eapsuccess消息和锚密钥kseaf,相应的seaf/amf接收eapsuccess消息,即认证成功消息。seaf/amf接收认证成功消息之后,利用abba、supi和来自ausf的kseaf来生成amf密钥kamf。s211、seaf通过nas消息向ue发送eapsuccess消息,该nas消息中还携带ngksi,abba等安全相关参数。ue收到认证成功消息后计算kausf,kseaf,kamf,其中kamf由abba、supi和kseaf推演而成;可选的,ue在收到认证请求后(步骤s204)计算密钥并建立临时安全上下文(包括kausf,kseaf和kamf),当ue收到认证成功消息后ue将临时安全上下文作为部分安全上下文。另外,所述密钥kausf,kseaf,kamf可参考图4的密钥架构。图3描述了5gaka主认证流程:s301、udm生成认证向量。5gaka中认证向量为第一认证向量5gheav,是包含autn,rand,5gaka预期响应xres*和kausf的四元组。s302、udm通过nudm认证响应消息nudm_ueauthentication_getresponse将第一认证向量5gheav和可选的用户永久标识supi发送给ausf,相应的,ausf接收第一认证向量和可选的用户永久标识supi。s303、ausf保存认证向量中的xres*和可选的用户永久标识supi。s304、ausf对xres*和rand进行哈希运算生成哈希预期响应hxres*,对kausf进行推演生成kseaf,并将autn,rand,hxres*和kseaf作为第二认证向量5gseav。s305、ausf通过nausf认证响应消息nausf_ueauthentication_authenticateresponse将第二认证向量中的autn,rand和hxres*发送给seaf/amf。s306、seaf/amf通过nas认证请求消息将第二认证向量中的autn和rand传输给ue,上述认证请求还将携带ngksi、abba等安全相关参数。s307、ue验证认证请求后,生成5gaka响应res*,ue还可以生成kausf和kseaf;s308、ue通过nas认证响应将res*发送给seaf/amf。s309、seaf/amf收到认证响应后对res*和rand进行哈希运算计算哈希响应hres*,并将hres*与来自ausf的hxres*进行对比,若相同则继续认证流程,若不相同则终止认证流程。s310、seaf/amf通过nausf认证请求消息nausf_ueauthentication_authenticaterequest将ue返回的res*转发给ausf,由ausf进行下一步的验证。s311、ausf收到包括响应res*的nausf认证请求消息后,验证响应res*,具体地,ausf将res*与步骤s303中保存的xres*进行对比,若相同则说明认证成功,若不相同则说明认证失败。s312、ausf通过nausf认证响应消息nausf_ueauthentication_authenticateresponse向seaf/amf发送认证结果。如果认证成功,则ausf还在该nausf认证响应消息中包括锚密钥kseaf。ausf通过nudm_ueauthentication_resultconfirmationrequest向udm通知ue的认证状态,包括supi、认证结果、认证流程的时间戳、和服务网络名称。可能地,ausf只通知udm成功的认证,但是这取决于运营商策略。seaf/amf接收到nausf认证响应消息nausf_ueauthentication_authenticateresponse后,使用abba、supi和来自ausf的kseaf来生成amf密钥kamf,并可以向ue发送nas安全模式命令(securitymodecommand,smc)消息,该消息中可能包括abba、ngksi等安全参数。主认证流程成功之后,用户侧与网络侧进行密钥协商,建立ue与amf之间的安全上下文,以确定用户侧与网络侧数据传输的密钥材料及密钥算法。具体地,amf发起nas安全模式控制(securitymodecontrol,smc)流程,向ue发送nas安全模式命令(securitymodecommand,smc)消息,所述nassmc消息由基于ngksi所指示的kamf生成的nas完整性密钥进行完整性保护;ue收到nassmc消息后,采用跟网络侧相同的计算方法计算nas完整性密钥,并进行nassmc消息完整性验证。验证成功后,ue应使用ngksi指示的安全上下文启动nas完整性保护和加密/解密,向网络侧发送nas安全模式完成(securitymodecomplete,smp)消息;验证失败,ue则向网络侧发送nas安全模式拒绝消息。参见图2、图3中描述的认证流程,seaf/amf向ue发送认证请求时携带abba、ngksi等参数,其中abba是由kseaf推演kamf时的输入参数,而ngksi用于指示kamf。主认证流程成功之后的nassmc流程中,kamf用于对nassmc消息进行完整性保护。现有技术中,上述abba、ngksi等参数没有经过保护,若被攻击者篡改,ue侧与网络侧将推演出不同的kamf,导致两侧生成的nas完整性密钥不相同,ue侧的nassmc验证失败,从而导致密钥协商失败。由于主认证流程已成功,udm保存了该ue认证成功的状态,若不通知udm删除认证成功状态,则可能导致拜访网络欺诈。并且,ue和网络侧不能及时检测参数被篡改,而是进行认证流程,导致资源浪费。另外,进一步需要指出的是,图4为分别与图2、图3认证方式对应的密钥推演流程。具体的,针对ue侧,ue保存与网络侧相同的长期密钥k;当认证方式为5gaka认证时,ue会根据k生成ck,ik;根据ck,ik以及服务网络名称snname等生成kausf;根据kausf以及snname生成锚密钥kseaf;根据kseaf,supi以及abba生成kamf。当认证方式为eapaka’时,ue会根据k生成ck,ik;根据ck,ik以及snname等生成ck’,ik’;根据ck’,ik’和supi生成kausf;根据kausf及snname生成锚密钥kseaf;根据kseaf,supi以及abba生成kamf。具体的针对网络侧,udm保存与ue侧相同的根密钥k,并根据k生成ck,ik;当认证方式为5gaka时,udm根据ck,ik以及snname等生成kausf,并将所述kausf发送给ausf;当认证方式为eapaka’时,udm根据ck,ik以及snname等生成ck’,ik’,并将所述ck’,ik’发送给ausf,ausf根据ck’,ik’以及supi生成kausf。ausf根据接收到的或者生成的kausf以及snname生成锚密钥kseaf,并在主认证流程成功之后将所述kseaf发送给seaf/amf;seaf/amf收到kseaf之后根据所述kseaf,supi以及abba生成kamf。图4所述的密钥架构中所列举的密钥均可以用于对安全参数进行密钥保护,具体的,可参考下述实施例中的具体保护方式。当然,用于完整性保护的密钥也可以根据密钥架构中所列举的密钥推演而来。另外需要指出的是,本申请实施例或权利要求中的表述“用户设备或seaf/amf或ausf或udm使用某个或某些参数生成密钥”不具有排他性,即生成密钥还可能有其他的输入参数,本申请不作限定。例如,ue可以根据所述ck,ik以及服务网络名称snname生成kausf,不代表ue生成kausf的输入参数只能包含ck,ik以及snname,还可能包含没有列出的其他输入参数。图5为本申请实施例的一种参数保护方法的流程示意图;该实施例在认证流程中引入了对abba,ngksi等安全相关参数的完整性保护;具体地,由ausf生成安全密钥并发送给seaf/amf,seaf/amf使用接收到的安全密钥对安全相关参数进行完整性保护,ue采用与网络侧相同的方法生成安全密钥并完成对安全相关参数完整性验证。该实施例适用于图2中的eapaka’流程和图3中的5gaka流程。s500、seaf/amf发起认证请求。ue通过nas消息向seaf/amf发送注册请求;seaf/amf接收到该注册请求之后,向ausf发起认证请求,seaf/amf向ausf发送用户永久标识supi或者用户隐藏标识suci,以及服务网络名称;可选地,seaf/amf向ausf发送接入类型标识;常见的接入类型包括3gpp接入类型以及非3gpp接入类型,其中所述3gpp的类型标识为1;所述非3gpp的类型标识为2。ausf接收到seaf/amf发送的认证请求之后,向udm发送请求以获取认证向量;udm收到请求后选择认证方法并生成认证向量。s501、udm向ausf发送认证向量和可选的用户永久标识supi,相应的,ausf接收udm发送的认证向量和可选的用户永久标识supi。在eapaka’场景下,udm向ausf发送变形认证向量av’(rand,autn,xres,ck’,ik’)。在5gaka场景下,udm向ausf发送第一认证向量5gheav(rand,autn,xres*,kausf)。可选地,udm还可以向ausf发送加密密钥ck和完整性密钥ik。可选地,在5gaka场景下,udm还可以向ausf发送预期响应xres。该预期响应xres为udm根据根密钥k和随机数rand生成。udm向ausf发送加密密钥ck和完整性密钥ik,一种可能的实现方式中,udm通过nudm_ueauthentication_getresponse消息向ausf发送ck和ik,udm也可以通过其他方式发送,本申请不作限定。s502、ausf收到udm发送的认证向量和可选的supi,ck,ik后,生成安全密钥。其中,需要指出的是,该安全密钥用于对abba,ngksi等安全相关参数进行完整性保护,安全密钥的生成可以参考图4所述的密钥架构。根据认证方法的不同,安全密钥的生成有所不同。在eapaka’场景下,ausf生成安全密钥的可能方式如下:可选的,ausf使用以下参数中的任意一种或多种的组合生成安全密钥,或者,ausf使用以下参数中的任意一种或多种的组合作为安全密钥:ck,ck的一部分,ik,ik的一部分,ck’,ck’的一部分,ik’,ik’的一部分,主密钥mk,主密钥mk的一部分,扩展的主会话密钥emsk,扩展的主会话密钥emsk的一部分,kausf,kausf的一部分,xres,xres的一部分,kseaf,kseaf的一部分。应理解,在该发明中,ausf使用以上参数的任意一种或多种的组合生成安全密钥时,为ausf使用以上参数的任意一种或者多种的组合作为输入参数,采用预定义的算法,生成安全密钥。ausf生成安全密钥还可能使用其他的参数作为输入参数。这里对其他参数不做限制。ausf使用以上参数的任意多种的组合作为安全密钥时,指ausf将多种参数的串联作为安全密钥。一种可能的实现中,ausf使用ck或ck的一部分生成或者作为安全密钥,还包括,ausf接收udm发送的ck,ausf使用接收到的ck或ck的一部分生成或者作为安全密钥。一种可能的实现中,ausf使用ik或ik的一部分生成或者作为安全密钥,还包括,ausf接收udm发送的ik,ausf使用接收到的ik或ik的一部分生成或者作为安全密钥。可选的,ausf可以将(ck,ik)作为安全密钥,具体地,ausf将ck作为安全密钥,和/或将ik作为安全密钥,或者将ck,ik串联ck||ik作为安全密钥,或者将上述参数作为输入参数生成安全密钥。一种可能的实现中,ausf使用ck’或ck’的一部分生成或者作为安全密钥,还包括,ausf接收udm发送的ck’,ausf使用接收到的ck’或ck’的一部分生成或者作为安全密钥。一种可能的实现中,ausf使用ik’或ik’的一部分生成或者作为安全密钥,还包括,ausf接收udm发送的ik’,ausf使用接收到的ik’或ik’的一部分生成或者作为安全密钥。其中所述ck’,ik’为udm根据ck,ik以及snname等参数生成的密钥;可选的,ausf可以将(ck’,ik’)作为安全密钥,具体地,ausf将ck’作为安全密钥,和/或将ik’作为安全密钥,或者将ck’,ik’串联ck’||ik’作为安全密钥,或者将上述参数作为输入参数生成安全密钥。一种可能的实现中,ausf使用ck,ik以及接入类型标识来生成安全密钥,常见的接入类型包括3gpp接入类型以及非3gpp接入类型,其中所述3gpp的类型标识为1;所述非3gpp的类型标识为2。一种可能的实现中,ausf使用主密钥mk或mk的一部分生成或者作为安全密钥,还包括,ausf接收udm发送的ck’和ik’,ausf使用接收到的ck’和ik’、以及supi等生成mk,ausf使用生成的mk或mk的一部分生成或者作为安全密钥。一种可能的实现中,ausf使用主密钥emsk或emsk的一部分生成或者作为安全密钥,还包括,ausf接收udm发送的ck’和ik’,ausf使用接收到的ck’和ik’、以及supi等生成emsk,并使用该emsk或该emsk的一部分生成或者作为安全密钥。一种可能的实现中,ausf使用kausf或kausf的一部分生成或者作为安全密钥,还包括,ausf接收udm发送的ck’和ik’,ausf使用接收到的ck’和ik’、以及supi等生成emsk,ausf将emsk的一部分作为kausf,并使用该kausf或该kausf的一部分生成或者作为安全密钥。一种可能的实现中,ausf使用xres或xres的一部分生成安全或者作为密钥,还包括,ausf接收udm发送的xres,ausf使用接收到的xres或者xres的一部分生成或者作为安全密钥。一种可能的实现方式,ausf使用kseaf或kseaf的一部分生成或者作为安全密钥,还包括,ausf接收udm发送的ck’和ik’,ausf使用接收到的ck’和ik’、以及supi等生成emsk,ausf将emsk的一部分作为kausf,ausf使用该kausf和服务网络名称生成kseaf,ausf使用生成的kseaf或kseaf的一部分生成或者作为安全密钥。在5gaka场景下,ausf生成安全密钥的可能方式如下:可选的,ausf使用以下参数中的任意一种或多种的组合作为安全密钥,或者,ausf使用以下参数中的任意一种或多种的组合生成安全密钥:kausf,kausf的一部分,xres*,xres*的一部分,hxres*,hxres*的一部分,kseaf,kseaf的一部分,ck,ck的一部分,ik,ik的一部分,xres,xres的一部分。应理解,ausf使用以上参数的任意一种或多种的组合生成安全密钥时,不排除ausf同时还可使用其他的参数。这里对其他参数不做限制。ausf使用以上参数的任意多种的组合作为安全密钥时,指ausf将多种参数的串联作为安全密钥。一种可能的实现中,ausf使用kausf或kausf的一部分生成或者作为安全密钥,还包括,ausf接收udm发送的kausf,ausf使用接收到的kausf或kausf的一部分生成或者作为安全密钥。一种可能的实现中,ausf使用xres*或xres*的一部分生成或者作为安全密钥,还包括,ausf接收udm发送的xres*,ausf使用接收到的xres*或xres*的一部分生成或者作为安全密钥。一种可能的实现中,ausf使用xres或xres的一部分生成或者作为安全密钥,还包括,ausf接收udm发送的xres,并使用接收到的xres或xres的一部分生成或者作为安全密钥。一种可能的实现中,ausf使用hxres*或hxres*的一部分生成或者作为安全密钥,还包括,ausf对从udm处接收到的xres*和rand进行哈希计算生成哈希预期响应hxres*,ausf使用生成的hxres*或hxres*的一部分生成或者作为安全密钥。一种可能的实现中,ausf使用kseaf或kseaf的一部分生成或者作为安全密钥,还包括,ausf接收udm发送的kausf,ausf使用接收到的kausf和服务网络名称生成kseaf,ausf使用生成的kseaf或kseaf的一部分生成或者作为安全密钥。本发明实施例对生成安全密钥所使用的算法以及安全密钥的长度不作限定。s503、ausf向seaf/amf发送安全密钥,相应的,seaf/amf接收ausf发送的安全密钥。ausf可以通过发送nausf_ueauthentication_authenticateresponse消息向seaf/amf发送所述安全密钥,也可以采用其他方式发送,本申请不作限定。s504、seaf/amf使用ausf发送的安全密钥对abba和/或ngksi等安全相关参数进行完整性保护。具体地,seaf/amf使用ausf发送的安全密钥,生成第一消息认证码。举例来说,该第一消息认证码为seaf/amf根据安全密钥生成的安全相关参数的消息认证码。比如seaf/amf将安全密钥,abba和/或ngksi作为输入,使用完整性保护算法以生成第一消息认证码。生成第一消息认证码还可以包含其他输入参数,其他输入参数可以是安全密钥的长度、和/或abba的长度、和/或ngksi的长度等。本申请对其他输入参数和生成第一消息认证码所使用的完整性保护算法不作限制。s505、seaf/amf向ue发送认证请求消息,所述认证请求消息携带abba,ngksi以及s504中所生成的第一消息认证码;或者seaf/amf向ue发送认证请求消息以及s504中所生成的第一消息认证码。相应的,ue接收seaf/amf发送的认证请求消息,或者ue接收seaf/amf发送的认证请求消息和第一消息认证码。s506、ue收到seaf/amf发送的认证请求消息后,验证安全相关参数的完整性。具体地,ue生成安全密钥,并使用所生成的安全密钥验证安全相关参数的完整性。ue采用与网络侧相同的算法和参数生成安全密钥,即s502中所述密钥生成方法。在eapaka’场景下,ue生成安全密钥的可能方式如下:可选的,ue使用以下参数中的任意一种或多种的组合生成安全密钥,或者,ue使用以下参数中的任意一种或多种的组合作为安全密钥:ck,ck的一部分,ik,ik的一部分,ck’,ck’的一部分,ik’,ik’的一部分,,主密钥mk,mk的一部分,扩展的主会话密钥emsk,扩展的主会话密钥emsk的一部分,kausf,kausf的一部分,res,res的一部分,kseaf,kseaf的一部分。应理解,ue使用以上参数的任意一种或多种的组合生成安全密钥时,不排除ue同时还使用其他的参数,这里其他参数与ausf生成安全密钥时使用的其他参数相同。ue使用以上参数的任意多种的组合作为安全密钥时,指ue将多种参数的串联作为安全密钥。一种可能的实现中,ue使用ck或ck的一部分生成或者作为安全密钥,还包括,ue根据根密钥k生成ck,并使用所生成的ck或ck的一部分生成或者作为安全密钥。一种可能的实现中,ue使用ik或ik的一部分生成或者作为安全密钥,还包括,ue根据根密钥k生成ik,并使用所生成的ik或ik的一部分生成或者作为安全密钥。可选的,ue可以将(ck,ik)作为安全密钥,具体地,ausf将ck作为安全密钥,和/或将ik作为安全密钥,或者将ck,ik串联ck||ik作为安全密钥,或者将上述参数作为输入参数生成安全密钥。一种可能的实现中,ue使用ck’或ck’的一部分生成或者作为安全密钥,还包括,ue根据根密钥k生成ck,使用所生成的ck以及服务网络名称等生成ck’,并使用所生成的ck’或ck’的一部分生成或者作为安全密钥。一种可能的实现中,ue使用ik’或ik’的一部分生成或者作为安全密钥,还包括,ue根据根密钥k生成ik,使用所生成的ik以及服务网络名称等生成ik’,并使用所生成的ik’或ik’的一部分生成或者作为安全密钥。可选的,ue可以将(ck’,ik’)作为安全密钥,具体地,ausf将ck’作为安全密钥,和/或将ik’作为安全密钥,或者将ck’,ik’串联ck’||ik’作为安全密钥,或者将上述参数作为输入参数生成安全密钥。一种可能的实现中,ue还可以根据ck,ik以及接入类型标识来生成安全密钥,常见的接入类型包括3gpp接入类型以及非3gpp接入类型,其中所述3gpp的类型标识为1;所述非3gpp的类型标识为2。一种可能的实现中,ue使用主密钥mk或mk的一部分生成安全密钥,还包括,ue根据根密钥k生成ck,ik,并使用所生成ck,ik以及服务网络名称等生成ck’和ik’,并使用所生成的ck’和ik’、以及supi等生成mk,ue使用生成的mk或mk的一部分生成或者作为安全密钥。一种可能的实现中,ue使用扩展的主会话密钥emsk或emsk的一部分生成或者作为安全密钥,还包括,ue根据根密钥k生成ck,ik,使用所生成的ck,ik以及服务网络等名称生成ck’和ik’,并使用所生成的ck’和ik’、以及supi等生成emsk,并使用该emsk或该emsk的一部分生成或者作为安全密钥。一种可能的实现中,ue使用kausf或kausf的一部分生成或者作为安全密钥,还包括,ue根据根密钥k生成ck,ik,使用所生成的ck,ik以及服务网络名称等生成ck’和ik’,并使用所生成的ck’和ik’、以及supi等生成emsk,ue将emsk的一部分作为kausf,并使用该kausf或该kausf的一部分生成或者作为安全密钥。一种可能的实现中,ue使用res或res的一部分生成安全或者作为密钥,还包括,ue根据根密钥k以及rand生成res,并使用所生成的res或者res的一部分生成或者作为安全密钥。一种可能的实现中,ue使用kseaf或kseaf的一部分生成或者作为安全密钥,还包括,ue根据根密钥k生成ck,ik,使用所生成的ck,ik以及服务网络名称等生成ck’和ik’,并使用所生成的ck’和ik’、以及supi等生成emsk,并将emsk的一部分作为kausf,ue使用该kausf和服务网络名称生成kseaf,ausf使用生成的kseaf或kseaf的一部分生成或者作为安全密钥。在5gaka场景下,ue生成安全密钥的可能方式如下:可选的,ue使用以下参数中的任意一种或多种的组合作为安全密钥,或者,ue使用以下参数中的任意一种或多种的组合作为安全密钥:kausf,kausf的一部分,res*,res*的一部分,hres*,hres*的一部分,kseaf,kseaf的一部分,res,res的一部分。应理解,ue使用以上参数的任意一种或多种的组合生成安全密钥时,不排除ue同时还使用其他的参数。这里其他参数与ausf生成安全密钥时使用的其他参数相同。ue使用以上参数的任意多种的组合作为安全密钥时,指ue将多种参数的串联作为安全密钥。一种可能的实现中,ue使用res或res的一部分生成安全或者作为密钥,还包括,ue根据根密钥k以及rand生成res,并使用所生成的res或者res的一部分生成或者作为安全密钥。一种可能的实现中,ue使用kausf或kausf的一部分生成或者作为安全密钥,还包括,ue根据根密钥k生成ck,ik,使用所生成的ck,ik以及服务网络名称等生成kausf,并使用所生成的kausf或kausf的一部分生成或者作为安全密钥。一种可能的实现中,ue使用res*或res*的一部分生成或者作为安全密钥,还包括,ue根据根密钥k以及rand生成ck,ik,和res,使用所生成的ck,ik,res,rand以及服务网络名称snname生成res*,并使用所生成的res*或res*的一部分生成或者作为安全密钥。一种可能的实现中,ue使用hres*或hres*的一部分生成或者作为安全密钥,还包括,ue根据根密钥k以及rand生成ck,ik和res,使用所生成的ck,ik,res,rand以及服务网络名称snname生成res*,并对res*和rand进行哈希计算生成hres*,ue使用所生成的hres*或hres*的一部分生成或者作为安全密钥。一种可能的实现中,ue使用kseaf或kseaf的一部分生成或者作为安全密钥,还包括,ue根据根密钥k生成ck,ik,使用所生成的ck,ik以及服务网络名称等生成kausf,使用所生成的kausf和服务网络名称参数生成kseaf,ue使用所生成的kseaf或kseaf的一部分生成或者作为安全密钥。ue生成安全密钥可以发生在认证流程开始之后到s506之间。另外,本申请对生成安全密钥所使用的算法以及安全密钥的长度不作限定。ue使用安全密钥验证安全相关参数的完整性。具体地,ue使用安全密钥,采用与网络侧相同的参数和方法生成安全相关参数的第二消息认证码,并将计算的第二消息认证码与接收到的第一消息认证码相比较。若比较结果为相同,则完整性验证成功,否则,完整性验证失败。如果ue验证所述安全相关参数的完整性通过,则ue继续进行认证流程,发送认证响应消息。可选地,如果验证通过,ue开始使用接收到的abba和/或ngksi。具体地,ue使用接收到的abba作为生成kamf的输入;ue使用接收到的ngksi作为kamf的密钥标识符;如果ue验证所述安全相关参数的完整性没有通过,ue则终止认证流程。一种可能的方式中,ue向所述seaf/amf发送指示信息,该指示信息用于指示完整性验证失败或用于通知网络侧停止认证流程的认证终止。一种可能的方式中,ue向所述seaf/amf发送认证拒绝消息。所述认证拒绝消息携带所述指示信息。ue向所述seaf/amf发送指示信息,包括,可能地,ue向seaf/amf发送一个nas消息,该nas消息用于指示完整性验证失败或用于通知网络侧停止认证流程。该nas消息可能是认证拒绝消息。s507、上述完整性验证通过后,用户侧和网络侧继续进行剩余的认证流程。可选的,在eapaka’场景下,执行步骤s205~s211;可选的,在5gaka场景下,执行步骤s307~s312。若认证流程结果为认证成功,即ue身份验证成功,所述ue将根据kausf以及服务网络名称snname生成锚密钥kseaf,并根据所述kseaf,用户标识supi以及abba生成kamf。ue根据所述kamf生成非接入层nas密钥,所述nas密钥用于对所述用户设备和所述网络侧的seaf/amf之间的通信进行保护。可以理解的是,该nas密钥包括nas层加密密钥和完整性保护密钥,分别用于nas层通信的加密和完整性保护。s508~s509为nas安全模式控制流程,当上述主认证流程成功后,seaf/amf发起nas安全模式控制流程,用以确定使用上述5gaka或eapaka’主认证流程所建立的安全上下文。s508、seaf/amf向ue发送非接入层安全模式命令消息(nassmc),相应的,ue接收seaf/amf发送的nassmc消息。所述nassmc消息包含ue安全能力,选定的nas算法以及用于识别kamf的ngksi;所述nassmc消息还可以包含abba,用于指示推演了新的amf密钥的指示k_amf_change_flag等。所述seaf/amf采用nas完整性密钥对所述nassmc消息进行完整性保护,其中nas完整性密钥基于kamf推演所生成。s509、ue验证nassmc消息。所述ue接收网络侧发送的nassmc消息后进行验证,具体地,ue验证接收到的ue安全能力是否与ue所保存的ue安全能力相同;ue还使用基于kamf推演的完整性密钥验证所述nassmc消息的完整性。如果所述nassmc消息包含用于指示推演了新的amf密钥的指示k_amf_change_flag,则所述ue将推演新的kamf,基于新的kamf推演nas密钥,包括nas完整性密钥和nas加密密钥,然后ue使用推演的nas完整性密钥验证nassmc消息的完整性。若验证通过,ue则开始使用nassmc中的ngksi所指示的安全上下文进行nas完整性保护和加密/解密,并向seaf/amf发送经过完整性保护和加密的nas安全模式完成消息。若验证不通过,ue则向seaf/amf发送nas安全模式拒绝消息。可选的,ue可以验证nassmc中携带的abba和/或ngksi是否与s505中接收到的abba和/或ngksi相同。如果不同,ue可以向seaf/ausf发送nas安全模式拒绝消息,所述拒绝消息携带验证失败的原因,即abba和/或ngksi被篡改,或者,ue可以使用s505中接收到的ngksi所指示的安全上下文。本实施例中,seaf/amf利用ausf生成的安全密钥对网络侧向用户设备发送的认证请求消息中的abba和/或ngksi等安全相关参数进行了完整性保护,使得用户设备可以在认证流程中识别abba和/或ngksi等安全相关参数是否被篡改,若上述参数被篡改则及时终止认证流程,从而解决了现有技术中存在的因安全相关参数被攻击者篡改而造成的ue侧与网络侧密钥协商失败的问题。图6是本申请实施例的一种参数保护方法的流程示意图;该实施例在认证流程中引入了对abba,ngksi等参数的完整性保护;具体地,由ausf生成安全密钥并发送给seaf/amf,seaf/amf使用接收到的安全密钥对包含安全相关参数的认证请求消息进行完整性保护,再由ue采用与网络侧相同的方法生成安全密钥,并验证包含安全相关参数的认证请求消息的完整性。该实施例适用于图2中的eapaka’流程和图3中的5gaka流程。s600、seaf/amf发起认证请求。具体内容同s500,此处不再赘述。s601、udm向ausf发送认证向量和可选的用户永久标识supi,相应的,ausf接收udm发送的认证向量和可选的用户永久标识supi。具体内容同s501,此处不再赘述。s602、ausf生成安全密钥,用于保护认证请求消息的完整性。安全密钥的生成可以参考图4所述的密钥架构。根据认证方法的不同,安全密钥的生成有所不同。生成安全密钥的可能方式同s502,此处不再赘述。s603、ausf向seaf/amf发送安全密钥,相应的,seaf/amf接收ausf发送的安全密钥。ausf可以通过发送nausf_ueauthentication_authenticateresponse消息向seaf/amf发送所述安全密钥,也可以采用其他方式发送,本申请不作限定。s604、seaf/amf使用ausf发送的安全密钥,对认证请求消息(authenticationrequest)进行完整性保护,所述认证请求消息包含abba,和/或ngksi等安全相关参数。一种可能的实现方式,seaf/amf使用ausf发送的安全密钥,对上述认证请求消息进行完整性保护,包括seaf/amf使用ausf发送的安全密钥生成上述携带安全相关参数的认证请求消息的消息认证码,并将该消息认证码作为第一消息认证码。举例来说,seaf/amf根据安全密钥以及认证请求消息生成第一消息认证码。比如将安全密钥和认证请求消息作为输入,使用完整性保护算法以生成第一消息认证码。生成第一消息认证码还可以包含其他输入参数,其他输入参数可以是安全密钥的长度,和/或ngksi的长度,和/或abba的长度等。本申请对其他输入参数和生成第一消息认证码所使用的完整性保护算法不作限制。s605、seaf/amf向ue发送有完整性保护的认证请求消息,相应的,ue接收seaf/amf发送的有完整性保护的认证请求消息。可选的,seaf/amf可将s604生成的第一消息认证码作为认证请求消息的一部分发送给ue;可选的,seaf/amf还可将认证请求消息和s604生成的第一消息认证码一同发送给ue,本申请不作限定。s606、ue收到seaf/amf发送的认证请求消息后,验证所述认证请求消息的完整性。具体地,ue生成安全密钥,并使用安全密钥验证认证请求消息的完整性。ue采用与网络侧相同的算法和参数生成安全密钥,具体内容同s506,此处不再赘述。ue使用安全密钥验证认证请求消息的完整性,具体地,ue使用安全密钥,采用与网络侧相同的算法和参数计算认证请求消息的消息认证码,并将该消息认证码作为第二消息认证码,具体内容同s604,此处不再赘述。ue将所生成的的第二消息认证码与接收到的第一消息认证码相比较,如果相同,则完整性验证成功,否则,完整性验证失败。如果ue验证所述认证请求消息的完整性通过,则ue继续进行认证流程,向seaf/amf发送认证响应消息。可选地,如果验证通过,ue开始使用接收到的abba和/或ngksi。具体地,ue使用接收到的abba作为生成kamf的输入;ue使用接收到的ngksi作为kamf的密钥标识符;如果ue验证所述认证请求消息的完整性没有通过,则ue终止认证流程。一种可能的方式中,ue向所述seaf/amf发送指示信息,该指示信息用于指示完整性验证失败或用于通知网络侧停止认证流程。ue向所述seaf/amf发送指示信息,包括可能地,ue向seaf/amf发送一个nas消息,该nas消息用于指示完整性验证失败或用于通知网络侧停止认证流程,或者可能地,ue向seaf/amf发送认证拒绝消息,该认证拒绝消息中携带该指示信息。s607~s609同s507~s509。本实施例中,seaf/amf利用ausf生成的安全密钥,对网络侧向用户设备发送的包含abba和/或ngksi等安全相关参数的认证请求消息进行了完整性保护,使得用户设备可以在认证流程中通过验证认证请求消息的完整性识别abba和/或ngksi等安全相关参数是否被篡改,若上述参数被篡改则及时终止认证流程,从而解决了现有技术中存在的因安全相关参数被攻击者篡改而造成的用户侧与网络侧密钥协商失败的问题。图7是本申请实施例的一种参数保护方法的流程示意图;该实施例在认证流程中引入了对abba,ngksi等参数的完整性保护;具体地,由seaf/amf生成安全密钥,并对abba,ngksi等参数进行完整性保护,或者对包含上述安全相关参数的认证请求消息进行完整性保护,再由ue完成完整性验证。该实施例适用于图3中的5gaka流程。s700、seaf/amf发起认证请求,具体内容同s500,此处不再赘述。s701、udm向ausf发送认证向量和可选的用户永久标识supi,相应的,ausf接收udm发送的认证向量和可选的用户永久标识supi,所述认证向量为第一认证向量5gheav(rand,autn,xres*,kausf)。s702、ausf向seaf/amf发送nausf认证响应消息nausf_ueauthentication_authenticateresponse,相应的,seaf/amf接收所述消息,所述消息包含hxres*,rand,autn等参数。其中所述hxres*为ausf对xres*和rand进行哈希运算所生成的参数。s703、seaf/amf生成安全密钥,并使用所生成的安全密钥对abba和/或ngksi等安全相关参数或携带上述安全相关参数的认证请求消息进行完整性保护。具体地,seaf/amf可使用hxres*,和/或,hxres*的一部分,作为安全密钥,或者使用hxres*,和/或,hxres*的一部分,作为输入参数,生成安全密钥。安全密钥的生成还可以包括其他的输入参数,本申请不作限制。本申请实施例对生成安全密钥所使用的算法以及安全密钥的长度不作限制。seaf/amf使用所生成的安全密钥对abba和/或ngksi等安全相关参数或携带上述安全相关参数的认证请求消息进行完整性保护,包括seaf/amf使用所生成的安全密钥生成第一消息认证码,即seaf/amf使用所生成的安全密钥生成安全相关参数的或者包括安全相关参数的认证请求消息的消息认证码。举例来说,seaf/amf将安全密钥以及abba和/或ngksi等安全相关参数或包括所述安全相关参数的认证请求消息作为输入,使用完整性保护算法生成第一消息认证码。生成第一消息认证码还可以包含其他输入参数,例如安全密钥的长度、和/或安全相关参数abba的长度,和/或ngksi的长度等。本申请对其他输入参数和生成第一消息认证码使用的完整性保护算法不作限制。s704、seaf/amf向ue发送认证请求消息,相应的,ue接收seaf/amf发送的认证请求消息。所述认证请求消息携带abba,和/或ngksi等安全相关参数以及第一消息认证码;s705、ue收到seaf/amf发送的认证请求消息后,验证安全相关参数的完整性。具体地,ue生成安全密钥,并使用安全密钥验证安全相关参数的完整性。ue采用与网络侧相同的方法生成安全密钥,具体地,ue可使用hres*,和/或,hres*的一部分,作为安全密钥,或者ue使用hres*,和/或,hres*的一部分,作为输入参数,生成安全密钥。其中所述hres*为ue对res*和rand进行哈希运算所生成的参数;所述res*为ue在收到认证请求后根据res,rand和服务网络名称等所生成的参数。可能的,安全密钥的生成还可以包括网络侧使用的其他输入参数。ue使用安全密钥验证安全相关参数的完整性。具体地,ue使用安全密钥生成第二消息认证码,即ue使用安全密钥,并使用与网络侧相同的参数和方法生成安全相关参数或者认证请求消息的消息认证码,并将该消息认证码作为第二消息认证码;ue将生成的第二消息认证码与接收到的第一消息认证码比较。如果相同,则完整性验证成功,否则,完整性验证失败。若比较结果为相同,则说明abba,和/或,ngksi等安全相关参数没有被篡改,验证通过。如果ue验证所述安全相关参数的完整性通过,则ue继续进行认证流程,向seaf/amf发送认证响应消息。可选地,如果验证通过,ue开始使用接收到的abba和/或ngksi。具体地,ue使用接收到的abba作为生成kamf的输入;ue使用接收到的ngksi作为kamf的密钥标识符。如果ue验证所述安全相关参数的完整性没有通过,则ue终止认证流程。一种可能的方式中,ue向所述seaf/amf发送指示信息,该指示信息用于指示完整性验证失败或用于通知网络侧停止认证流程。ue向所述seaf/amf发送指示信息,包括可能地,ue向seaf/amf发送一个nas消息,该nas消息用于指示完整性验证失败或用于通知网络侧停止认证流程,或者可能地,ue向seaf/amf发送认证拒绝消息,该认证拒绝消息中携带该指示信息。s706~s708同s507~s509。本实施例中,seaf/amf生成安全密钥,并利用所生成的安全密钥对网络侧向用户设备发送的认证请求消息中的abba和/或ngksi等安全相关参数或者包含abba和/或ngksi等安全相关参数的认证请求消息进行了完整性保护,使得用户设备可以在认证流程中通过验证完整性来识别abba和/或ngksi等安全相关参数是否被篡改,若上述参数被篡改则及时终止认证流程,从而解决了现有技术中存在的因安全相关参数被攻击者篡改而造成的用户侧与网络侧密钥协商失败的问题。图8是本申请实施例的一种参数保护方法的流程示意图;该实施例在认证流程中引入了对abba,ngksi等安全相关参数的完整性保护;具体地,ausf生成安全密钥,并对上述abba,和/或ngksi等安全相关参数进行完整性保护,再由ue验证安全相关参数的完整性。该实施例适用于图2中的eapaka’流程和图3中的5gaka流程。s801、seaf/amf向ausf发起认证请求。seaf/amf向ausf发送nausf认证请求消息nausf_ueauthentication_authenticaterequest,其中包含abba,和/或ngksi等安全相关参数,相应的,ausf接收所述nausf认证请求消息。可选的,seaf/amf可以采用其他方式将abba,和/或,ngksi等安全相关参数发送给ausf,本申请不作限定。s802、ausf向udm请求认证向量,相应的,udm收到请求后向ausf返回认证向量和可选的用户永久标识supi。ausf向udm发送用于请求认证向量的nudm认证请求消息nudm_ueauthenticate_getrequest,相应的udm接收ausf发送的nudm认证请求消息nudm_ueauthenticate_getrequest;udm收到上述请求消息后向ausf发送nudm认证响应消息nudm_ueauthenticate_getresponse,所述nudm响应消息包含认证向量和可选的用户永久标识supi。在eapaka’场景下,udm向ausf发送变形认证向量av’(rand,autn,xres,ck’,ik’)。在5gaka场景下,udm向ausf发送第一认证向量5gheav(rand,autn,xres*,kausf)。在一种可能的实现中,udm还可以向ausf发送加密密钥ck和完整性密钥ik。可选的,udm在nudm认证响应nudm_ueauthenticate_getresponse中包括加密密钥ck和完整性密钥ik,或者udm通过其他消息将加密密钥ck和完整性密钥ik发送给ausf。本申请不对此做限制。在一种可能的实现中,在5gaka场景下,udm还向ausf发送xres。可选的,udm在nudm认证响应nudm_ueauthenticate_getresponse中包括加密密钥ck和完整性密钥ik,或者udm通过其他消息将加密密钥ck和完整性密钥ik发送给ausf。本申请不对此做限制。s803、ausf生成安全密钥,并利用所生成的安全密钥对abba,和/或ngksi等安全相关参数进行完整性保护。根据认证方法的不同,安全密钥的生成有所不同,具体内容详见s502,此处不再赘述。ausf使用所生成的安全密钥对abba和/或ngksi等安全相关参数进行完整性保护,具体地,ausf可使用所生成的安全密钥,生成第一消息认证码。举例来说,ausf将安全密钥以及安全相关参数作为输入,使用完整性保护算法生成第一消息认证码。生成第一消息认证码还可以包含其他输入参数,例如安全密钥的长度、和/或安全相关参数abba的长度,和/或ngksi的长度等。本申请对其他输入参数和生成第一消息认证码所使用的完整性保护算法不作限制。s804、ausf向seaf/amf发送s803中ausf计算的第一消息认证码,相应的,seaf/amf接收ausf发送的第一消息认证码。ausf可以通过在nausf认证响应消息nausf_ueauthentication_authenticateresponse中携带第一消息认证码来向seaf/amf发送所述第一消息认证码;ausf还可以采用其他可能的方式发送所述第一消息认证码,本申请不作限定。s805、seaf/amf向ue发送认证请求消息,相应的,ue接收seaf/amf发送的认证请求消息。所述认证请求消息携带s803中ausf生成的第一消息认证码。s806~s809同s506~s509,此处不再赘述。本实施例中,ausf生成安全密钥,并对接收到的来自seaf/amf的abba和/或ngksi等安全相关参数进行了完整性保护,使得用户设备可以在认证流程中通过完整性验证来识别abba和/或ngksi等安全相关参数是否被篡改,若上述参数被篡改则及时终止认证流程,从而解决了现有技术中存在的因安全相关参数被攻击者篡改而造成的用户侧与网络侧密钥协商失败的问题。图9是本申请实施例的一种参数保护方法的流程示意图;该实施例在认证流程中引入了对abba,ngksi等安全相关参数的完整性保护;具体地,ausf接收来自seaf/ausf的abba,ngksi等安全相关参数后,在向seaf/ausf发送的eaprequest/aka’-challenge消息中携带上述参数,并对eaprequest/aka’-challenge进行完整性保护,seaf/ausf将上述经完整性保护的eaprequest/aka’-challenge消息透明传输给ue,由ue完成完整性验证。该实施例适用于图2中的eapaka’流程。s901、seaf/amf向ausf发送abba,和/或,ngksi等安全相关参数。一种可能的实现方式中,seaf/amf向ausf发送nausf认证请求nausf_ueauthentication_authenticaterequest,其中包含abba,和/或,ngksi等安全相关参数,相应的,ausf接收所述请求。可选的,seaf/amf可以采用其他方式将abba,和/或,ngksi等安全相关参数发送给ausf,本申请不作限定。s902、ausf向udm请求认证向量,相应的,udm收到请求后向ausf返回认证向量,和可选的用户永久标识supi。具体内容同s802,此处不再赘述。s903、ausf对所述安全相关参数进行完整性保护,以生成第一消息认证码,并向seaf/amf发送第一消息认证码。一种可能的实现方式,ausf向seaf/amf发送“eaprequest/aka’-challenge”消息,所述“eaprequest/aka’-challenge”消息包含第一消息认证码。ausf在发送“eaprequest/aka’-challenge”消息之前,生成第一消息认证码,ausf生成所述第一消息认证码的输入参数包含abba和/或ngksi等安全相关参数。可选的,ausf在“eaprequest/aka’-challenge”消息中还包含安全相关参数,并将包括安全相关参数的“eaprequest/aka’-challenge”消息发送给seaf/amf。相应的,seaf/amf接收来自ausf的“eaprequest/aka’-challenge”消息。ausf可以在nausf认证响应消息nausf_ueauthentication_authenticateresponse中携带所述“eaprequest/aka’-challenge”消息,也可以采用其他可能的方式传送所述“eaprequest/aka’-challenge”,本申请不作限定。s904、seaf/amf向ue发送认证请求,相应的,ue接收来自seaf/amf的认证请求。所述认证请求消息中携带来自ausf的“eaprequest/aka’-challenge”消息,所述认证请求消息还携带ngksi,和/或abba等安全相关参数;可选的,所述认证请求消息携带来自ausf的“eaprequest/aka’-challenge”消息,其中所述“eaprequest/aka’-challenge”消息包含安全相关参数。s905、ue收到来自seaf/amf的认证请求后,验证eaprequest/aka’-challenge消息的完整性。ue验证“eaprequest/aka’-challenge”消息的完整性包括,ue计算接收到的“eaprequest/aka’-challenge”消息的第二消息认证码,然后ue将计算出的第二消息认证码与接收到的第一消息认证码进行比较。若比较结果为相同,则说明abba,和/或,ngksi等安全相关参数没有被篡改,验证通过。如果ue验证所述“eaprequest/aka’-challenge”的完整性通过,则ue继续执行认证流程,向seaf/amf发送认证响应消息。可选地,如果验证通过,ue开始使用接收到的abba和/或ngksi。具体地,ue使用接收到的abba作为生成kamf的输入;ue使用接收到的ngksi作为kamf的密钥标识符;如果ue验证所述“eaprequest/aka’-challenge”消息的完整性没有通过,则ue终止认证流程。一种可能的方式中,ue向所述seaf/amf发送指示信息,该指示信息用于指示完整性验证失败或用于通知网络侧停止认证流程。ue向所述seaf/amf发送指示信息,包括可能地,ue向seaf/amf发送一个nas消息,该nas消息用于指示完整性验证失败或用于通知网络侧停止认证流程,或者可能地,ue向seaf/amf发送认证拒绝消息,该认证拒绝消息中携带该指示信息。s906~s908同s507~s509,此处不再赘述。本实施例中,ausf接收来自seaf/amf的abba和/或ngksi等安全相关参数,将上述安全相关参数添加到eaprequest/aka’-challenge消息中,并将上述安全相关参数作为计算“eaprequest/aka’-challenge”的消息认证码的输入参数。seaf/amf从ausf接收“eaprequest/aka’-challenge”并将上述消息转发给ue,由ue进行完整性验证,使得用户设备可以在认证流程中识别abba和/或ngksi等安全相关参数是否被篡改,若上述参数被篡改则及时终止认证流程,从而解决了现有技术中存在的因安全相关参数被攻击者篡改而造成的用户侧与网络侧密钥协商失败的问题。图10是本申请实施例的一种参数保护方法的流程示意图;该实施例在认证流程中引入了对abba,和/或ngksi等安全相关参数的完整性保护;具体地,由ue生成安全密钥并对安全相关参数进行完整性保护,由ausf生成安全密钥并将所述安全密钥发送至seaf/amf,seaf/amf保存所述安全密钥,并使用所保存的安全密钥进行安全相关参数的完整性验证。该实施例适用于图2中的eapaka’流程和图3中的5gaka流程。s1000、seaf/amf发起认证请求。具体内容同s500,此处不再赘述。s1001、udm向ausf发送认证向量和可选的用户永久标识supi,相应的,ausf接收udm发送的认证向量和可选的用户永久标识supi。具体内容同s501,此处不再赘述。s1002、ausf生成安全密钥,用于验证abba和/或ngksi等安全相关参数的完整性。安全密钥的生成可参考图4中的密钥架构。根据认证方法的不同,安全密钥的生成有所不同,具体内容参见s502,此处不再赘述。s1003、ausf向seaf/amf发送安全密钥,相应的,seaf/amf接收ausf发送的安全密钥;ausf可以通过发送携带安全密钥的nausf认证响应消息nausf_ueauthentication_authenticateresponse来向seaf/amf发送所述安全密钥;ausf还可以采用其他可能的方式向seaf/amf发送安全密钥,本申请不作限定。s1004、seaf/amf接收ausf发送安全密钥后保存所述安全密钥;s1005、seaf/amf向ue发送认证请求消息,相应的,ue接收seaf/amf发送的认证请求消息。所述认证请求消息携带abba和/或ngksi等安全相关参数。s1006、ue接收来自seaf/amf发送的认证请求消息后,对安全相关参数进行完整性保护。ue对安全相关参数进行完整性保护,包括ue生成安全密钥,并使用所生成的安全密钥对安全相关参数进行完整性保护,以生成第一消息认证码。ue生成安全密钥,具体详见s506,此处不再赘述。ue使用所生成的安全密钥生成第一消息认证码。可选的,ue使用所生成的安全密钥,计算安全相关参数的消息认证码,作为第一消息认证码,或者,ue在认证响应消息中包括安全相关参数,并使用所生成的安全密钥,计算包括安全相关参数的认证响应消息的消息认证码,作为第一消息认证码。比如ue将安全密钥以及安全相关参数或包括安全相关参数的认证响应消息输入到完整性保护算法中以生成第一消息认证码。ue生成第一消息认证码还可以包含其他输入参数,其他输入参数可以是安全密钥的长度,和/或ngksi的长度,和/或abba的长度等。本申请对其他输入参数和生成第一消息认证码时使用的完整性保护算法不作限制。s1007、ue向seaf/amf发送认证响应消息,相应的,seaf/amf接收认证响应消息。所述认证响应消息包含s1006中计算的第一消息认证码。可能地,所述认证响应消息包括所述安全相关参数。s1008、seaf/amf接收认证响应消息后,验证安全相关参数的完整性。seaf/amf使用s1004中保存的安全密钥验证安全相关参数的完整性。具体地,seaf/amf使用与ue侧相同的方法生成第二消息验证码,并将所生成的第二消息认证码与接收到的第一消息认证码进行比较。一种可能的实现中,若ue对安全相关参数进行完整性保护,seaf/amf使用安全密钥计算上述安全相关参数的消息认证码,作为第二消息认证码;在另一种可能的实现中,若ue对携带上述安全相关参数的认证响应消息进行完整性保护,seaf/amf则使用安全密钥计算所述认证响应消息的消息认证码,作为第二消息认证码。如果比较结果相同,则完整性验证成功,否则,完整性验证失败。如果seaf/amf验证安全相关参数的完整性通过,则seaf/amf继续执行认证流程;如果seaf/amf验证安全相关参数的完整性没有通过,则终止认证流程。s1009、上述完整性验证通过后,用户侧和网络侧继续进行剩余的认证流程。可选的,在eapaka’场景下,执行步骤s207~s211;可选的,在5gaka场景下,执行步骤s309~s312。若认证流程结果为认证成功,即ue身份验证成功,所述ue将根据kausf以及snname生成锚密钥kseaf,并根据所述kseaf,用户标识supi以及abba生成kamf。ue根据所述kamf生成非接入层nas密钥,所述nas密钥用于对所述用户设备和所述网络侧的seaf/amf之间的通信进行保护。可以理解的是,该nas密钥包括nas层加密密钥和完整性保护密钥,分别用于nas层通信的加密和完整性保护。s1010~s1011同s508~s509。本实施例中,ue生成安全密钥并对abba和/或ngksi等安全相关参数或者携带上述安全相关参数的认证响应消息进行完整性保护,seaf/ausf使用来自ausf的安全密钥对上述安全相关参数或携带上述安全相关参数的认证响应消息进行完整性验证,使得网络侧设备可以在认证流程中识别abba和/或ngksi等安全相关参数是否被篡改,若上述参数被篡改则及时终止认证流程,从而解决了现有技术中存在的因安全相关参数被攻击者篡改而造成的用户侧与网络侧密钥协商失败的问题。图11是本申请实施例的一种参数保护方法的流程示意图;该实施例在认证流程中引入了对abba和/或ngksi等参数的完整性保护;具体地,由ue生成安全密钥并对安全相关参数进行完整性保护,由seaf/amf对安全相关参数的完整性进行验证。该实施例适用于图3中的5gaka流程。s1100、seaf/amf发起认证请求,具体内容同s500。s1101~s1103为正常的5gaka流程中的步骤,具体内容同s302~s306。s1104、ue接收来自seaf/amf发送的认证请求消息后,对abba和/或ngksi等安全相关参数进行完整性保护。ue对安全相关参数进行完整性保护,包括ue生成安全密钥,并使用所生成的安全密钥对安全相关参数进行完整性保护。具体地,ue可使用hres*,和/或,hres*的一部分,作为安全密钥,或者使用hres*,和/或,hres*的一部分,作为输入参数,生成安全密钥,其中hres*为ue对res*和rand进行哈希运算所生成的参数;其中res*为ue在收到认证请求后根据res,rand和服务网络名称等所生成的参数。安全密钥的生成还可以包括其他的输入参数,本申请不作限制。ue使用所生成的安全密钥对安全相关参数进行完整性保护,可以包括ue使用所生成的安全密钥生成第一消息认证码,包括ue使用所生成的安全密钥,计算安全相关参数的消息认证码,作为第一消息认证码,或者,ue在认证响应消息中包括安全相关参数,ue使用所生成的安全密钥,计算包括安全相关参数的认证响应消息的消息认证码,作为第一消息认证码。比如ue将安全密钥以及安全相关参数输入到完整性保护算法中以生成第一消息认证码。ue生成第一消息认证码还可以包含其他输入参数,其他输入参数可以是安全密钥的长度,和/或ngksi的长度,和/或abba的长度等。本申请对其他输入参数和生成mac消息认证码时使用的完整性保护算法不作限制。s1105、ue向seaf/amf发送第一消息认证码。一种可能的实现方式中,ue向seaf/amf发送认证响应消息,相应的,seaf/amf接收认证响应消息。所述认证响应消息包含s1104中计算的第一消息认证码。相应地,seaf/amf接收携带第一消息认证码的认证响应消息。一种可能的实现方式,ue向seaf/amf发送认证响应消息和第一消息认证码。相应地,seaf/amf接收认证响应消息和第一消息认证码。s1106、seaf/amf接收认证响应消息后,验证安全相关参数的完整性。具体地,seaf/amf生成安全密钥,并使用安全密钥验证安全相关参数的完整性。seaf/amf使用与ue相同的方法计算安全密钥,seaf/amf可使用s1102中接收到的hxres*,和/或,hxres*的一部分,作为安全密钥,或者使用xhres*,和/或,hxres*的一部分,作为输入参数,生成安全密钥;可能的,生成安全密钥还可以包括ue侧使用的其他输入参数。可选的,seaf/amf生成安全密钥可以发生在seaf/amf收到ausf发送的认证响应消息(步骤s1102)之后到本步骤之间的任意时刻。seaf/amf使用所生成的安全密钥验证安全相关参数的完整性,具体地,seaf/amf采用与ue侧相同的算法和参数计算第二消息认证码,并将所生成的第二消息认证码与接收到的第一消息认证码进行比较。一种可能的实现中,seaf/amf使用所生成的安全密钥计算上述安全相关参数的消息认证码,作为第二消息认证码;在另一种可能的实现中,seaf/amf则使用所生成的安全密钥计算所述认证响应消息的消息认证码,作为第二消息认证码。如果比较结果相同,则完整性验证成功,否则,完整性验证失败。如果seaf/amf验证安全相关参数的完整性通过,则seaf/amf继续进行认证流程;如果seaf/amf验证安全相关参数的完整性没有通过,则终止认证流程。s1107、上述完整性验证通过后,用户侧和网络侧继续进行剩余的认证流程,即执行步骤s309~s314。可选的,在eapaka’场景下,执行步骤s207~s211;可选的,在5gaka场景下,执行步骤s310~s312。若认证流程结果为认证成功,即ue身份验证成功,所述ue将根据kausf以及snname生成锚密钥kseaf,并根据所述kseaf,用户标识supi以及abba生成kamf。ue根据所述kamf生成非接入层nas密钥,所述nas密钥用于对所述用户设备和所述网络侧的seaf/amf之间的通信进行保护。可以理解的是,该nas密钥包括nas层加密密钥和完整性保护密钥,分别用于nas层通信的加密和完整性保护。s1108~s1109同s508~s509。本实施例中,ue生成安全密钥并对abba和/或ngksi等安全相关参数或者携带上述安全相关参数的认证响应消息进行完整性保护,seaf/amf使用与ue相同的方法生成安全密钥,并对上述安全相关参数或携带上述安全相关参数的认证响应消息进行完整性验证,使得网络侧设备可以在认证流程中识别abba和/或ngksi等安全相关参数是否被篡改,若上述参数被篡改则及时终止认证流程,从而解决了现有技术中存在的因安全相关参数被攻击者篡改而造成的用户侧与网络侧密钥协商失败的问题。图12是本申请实施例的一种参数保护方法的流程示意图;该实施例在认证流程中引入了对abba,和/或ngksi等安全相关参数的完整性保护;具体地,由ue生成安全密钥并对安全相关参数进行完整性保护,由ausf进行安全相关参数的完整性验证。该实施例适用于图2中的eapaka’流程和图3中的5gaka流程。s1200、seaf/amf发起认证请求,具体内容同s500。s1201、udm向ausf发送认证向量和可选的用户永久标识supi,相应的,ausf接收udm发送的认证向量和可选的supi。udm可以通过发送调用nudm_ueauthentication_getrespons消息服务向ausf发送上述认证向量和可选的和/或用户标识,也可以通过其他方式发送上述消息,本申请不作限定。可选的,在eapaka’场景下,udm向ausf发送变形认证向量av’(rand,autn,xres,ck’,ik’)。可选的,在5gaka场景下,udm向ausf发送第一认证向量5gheav(rand,autn,xres*,kausf)。在一种可能的实现中,udm还可以向ausf发送加密密钥ck和完整性密钥ik。在一种可能的实现中,在5gaka场景中,udm还向ausf发送预期响应xres。s1202~s1203为正常的认证流程中的步骤。可选的,在eapaka’场景下,具体内容同s203~s204。可选的,在5gaka场景下,具体内容同s303~s306。s1204、ue接收来自seaf/amf发送的认证请求消息后,对abba和/或ngksi等安全相关参数进行完整性保护。具体地,ue生成安全密钥,并使用所生成的安全密钥对安全相关参数进行完整性保护。ue生成安全密钥,具体详见s506,此处不再赘述。ue使用所生成的安全密钥对安全相关参数进行完整性保护,具体地,ue可以使用所生成的安全密钥,计算安全相关参数的消息认证码,作为第一消息认证码。可选的,ue计算安全密钥可以发生在,从认证流程开始到ue接收网络侧的认证请求期间,即本步骤之前。s1205、ue向seaf/amf发送第一消息认证码。一种可能的实现方式,ue向seaf/amf发送认证响应消息,相应的,seaf/amf接收认证响应消息。所述认证响应消息包含s1204中计算的第一消息认证码。所述seaf/amf接收携带所述第一消息认证码的认证响应消息。一种可能的实现方式,ue向seaf/amf发送认证响应消息和第一消息认证码。所述seaf/amf接收第一消息认证码和认证响应消息s1206、seaf/amf向ausf发送所述第一消息认证码,相应的,ausf接收seaf/amf发送的第一消息认证码。seaf/amf可以通过nausf认证响应消息nausf_ueauthentication_authenticateresponse向ausf发送所述第一消息认证码;seaf/amf还可以通过其他方式发送上述信息,本申请不作限定。s1207、ausf接收seaf/amf发送的第一消息认证码后进行对安全相关参数的完整性验证。具体地,ausf生成安全密钥,并使用所生成的安全密钥验证安全相关参数的完整性。ausf采用与用户相同的参数和方法生成安全密钥,根据认证方法的不同,安全密钥的生成有所不同。ausf生成安全密钥的可能的方式同s502,此处不再赘述。需要指出的是,若ue在生成安全密钥时使用了某个或某些其他输入参数,则ausf生成安全密钥时也将采用相同的其他输入参数。可选的,ausf可以在接收到所述相关参数到本步骤之间的任意时刻计算安全密钥。ausf使用所生成的安全密钥验证安全相关参数的完整性,具体地,ausf使用安全密钥计算安全相关参数的消息认证码,作为第二消息认证码,并将计算出的第二消息认证码与接收到的第一消息认证码进行比较。如果比较结果相同,则完整性验证成功,否则,完整性验证失败。如果ausf验证安全相关参数的完整性通过,则ausf继续进行认证流程;如果ausf验证安全相关参数的完整性没有通过,则终止认证流程。s1208、上述完整性验证通过后,用户侧和网络侧继续进行剩余的认证流程。可选的,在eapaka’场景下,执行步骤s208~s211;可选的,在5gaka场景下,执行步骤s311~s312。若认证流程结果为认证成功,即ue身份验证成功,所述ue将根据kausf以及snname生成锚密钥kseaf,并根据所述kseaf,用户标识supi以及abba生成kamf。ue根据所述kamf生成非接入层nas密钥,所述nas密钥用于对所述用户设备和所述网络侧的seaf/amf之间的通信进行保护。可以理解的是,该nas密钥包括nas层加密密钥和完整性保护密钥,分别用于nas层通信的加密和完整性保护。s1209~s1210同s508~s509。本实施例中,ue生成安全密钥并对abba和/或ngksi等安全相关参数进行完整性保护,ausf使用与ue相同的方法生成安全密钥,并对上述安全相关参数进行完整性验证,使得网络侧设备可以在认证流程中识别abba和/或ngksi等安全相关参数是否被篡改,若上述参数被篡改则及时终止认证流程,从而解决了现有技术中存在的因安全相关参数被攻击者篡改而造成的用户侧与网络侧密钥协商失败的问题。上述实施例提供了ue侧与网络侧进行主认证流程过程中的参数保护方法。图13、图14中的实施例提供了认证流程结束后认证结果更新的方法,使得udm及时更新认证结果,防止拜访网络欺诈。图13是本申请实施例的一种ue认证状态更新的流程示意图;该实施例在认证与密钥协商流程结束后,seaf向udm通知ue认证状态更新,使得udm及时更新ue认证状态。该实施例适用于eapaka’流程和5gaka流程。s1301、ue侧与网络侧成功进行主认证流程,其中所述认证流程可以是图2~图12中的任意一种可能的主认证流程。ausf在判断ue认证成功之后,ausf通知seaf/amf,ue认证成功,即在5gaka场景中,ausf在nausf认证响应nausf_ueauthentication_authenticateresponse中指示ue认证成功,并在nausf_ueauthentication_authenticateresponse中包括kseaf在eap-aka’场景中,ausf在nausf认证响应nausf_ueauthentication_authenticateresponse中包括eapsuccess消息,和kseaf。可选地,在eap-aka’场景中,ausf在接收到eap-reponse/aka’-challenge消息之后,或者ausf在接收到res之后,验证该eap-reponse/aka’-challenge消息,或验证该res。如果ausf验证成功,ausf应跳过通知udm认证结果的步骤。可选地,在5gaka场景中,ausf在接收到包括res*的nausf_ueauthentication_authenticationrequest消息之后,ausf应验证res*是否和xres*相同,以及av是否过期。如果验证成功,则认证成功。如果认证成功过,ausf应跳过通知udm认证结果的步骤。s1302、seaf/amf在nausf_ueauthentication_authenticateresponse中接收到ue认证成功的指示或者eapsuccess消息之后,seaf/amf向ue发送非接入层安全模式命令消息(nassmc),相应的,ue接收seaf/amf发送的nassmc消息。所述nassmc消息包含ue安全能力,选定的nas算法以及用于识别kamf的ngksi;所述nassmc消息还可能包含abba参数,用于指示推演了新的amf密钥的指示k_amf_change_flag等。所述seaf/amf采用5gnas完整性密钥对所述nassmc消息进行完整性保护,其中5gnas完整性密钥基于kamf推演所生成。s1303、ue验证nassmc消息。所述ue接收网络侧发送的nassmc消息后进行验证,具体地,ue验证接收到的ue安全能力是否与ue所保存的ue安全能力相同;ue还使用基于kamf推演的完整性密钥验证所述nassmc消息的完整性。如果ue验证nassmc消息通过,执行s1304~s1306步骤;否则执行s1307~s1309步骤。s1304、ue向seaf/amf发送安全模式完成(securitymodecomplete)消息,相应的,seaf/amf接收ue发送的安全模式完成消息。s1305、seaf/amf接收到安全模式完成消息之后,可选地,seaf/amf向udm发送通知,用于通知udm,ue的认证状态或者认证结果,或者用于更新udm处ue的认证状态或者认证结果。相应地udm保存或更新ue的认证状态或者认证结果。ue的认证状态包括但不限于,ue的标识、认证结果、时间戳、和服务网络的名称。其中ue的标识比如supi。一种可能的实现方式中,seaf/amf接收到安全模式完成消息之后,seaf/amf向udm发送的ue的认证结果为认证成功。可选地,seaf可以通过调用udm提供的某个现有服务,例如通过使用nudm_ueauthentication_resultconfirmationrequest,来通知udm,ue的认证状态或者认证结果或更新udm处,ue的认证状态或者认证结果;或者seaf可以通过调用udm新增的服务来通知udm或者更新udm处,ue的认证状态或者认证结果,本申请不作限制。s1306、udm在接收到seaf的ue认证状态或认证结果的通知或更新通知之后,保存或者更新ue的认证状态或认证结果。s1307、ue向seaf/amf发送安全模式拒绝(securitymodereject)消息,相应的,seaf/amf接收ue发送的安全模式拒绝消息。s1308、seaf/amf接收到安全模式拒绝消息之后,可选地,seaf/amf向udm发送通知,用于通知udm,ue的认证状态或者认证结果,或者用于更新udm处ue的认证状态或者认证结果。相应地udm保存或更新ue的认证状态或者认证结果。ue的认证状态包括但不限于,ue的标识、认证结果、时间戳、和服务网络的名称。其中ue的标识比如supi。一种可能的实现方式中,seaf/amf接收到安全模式拒绝消息之后,seaf/amf向udm发送的ue的认证结果为认证失败。可选地,seaf可以通过调用udm提供的某个现有服务,例如通过使用nudm_ueauthentication_resultconfirmationrequest,来通知udm或更新udm处,ue的认证状态或者认证结果;或者seaf可以通过调用udm新增的服务来通知udm或者更新udm处,ue的认证状态或者认证结果,本申请不作限制。s1309、udm在接收到seaf的ue认证状态或认证结果的通知或更新通知之后,保存或者更新ue的认证状态或认证结果。本实施例中,seaf/amf收到安全模式控制流程成功/失败消息之后,向udm通知,ue的认证状态或认证结果,使得udm及时保存或更新ue的认证状态或认证结果,防止拜访网络欺诈。图14是本申请实施例的一种ue认证状态或认证结果更新的流程示意图;该实施例在认证与密钥协商流程结束后,seaf/amf通知ausf,再由ausf向udm通知,ue的认证状态或认证结果,使得udm及时获取或更新ue认证状态或认证结果。该实施例适用于图2中的eapaka’流程和图3中的5gaka流程。s1401、ue侧与网络侧成功进行认证流程,其中所述认证流程可以是图2~图12中的任意一种可能的主认证流程。ausf在判断ue认证成功之后,ausf通知seaf/amf,ue认证成功,即:在5gaka场景中,ausf在nausf认证响应nausf_ueauthentication_authenticateresponse中指示ue认证成功,并在nausf_ueauthentication_authenticateresponse中包括kseaf;在eap-aka’场景中,ausf在nausf认证响应nausf_ueauthentication_authenticateresponse中包括eapsuccess消息,和kseaf。可选地,在eap-aka’场景中,ausf在接收到eap-reponse/aka’-challenge消息之后,或者ausf在接收到res之后,验证该eap-reponse/aka’-challenge消息,或验证该res。如果ausf验证成功,ausf应跳过通知udm认证结果的步骤。可选地,在5gaka场景中,ausf在接收到包括res*的nausf_ueauthentication_authenticationrequest消息之后,ausf应验证res*是否和xres*相同,以及av是否过期。如果验证成功,则认证成功。如果认证成功过,ausf应跳过通知udm认证结果的步骤。s1402、seaf/amf在nausf_ueauthentication_authenticateresponse中接收到ue认证成功的指示或者eapsuccess消息之后,seaf/amf向ue发送非接入层安全模式命令消息(nassmc),相应的,ue接收seaf/amf发送的nassmc消息。具体详见s1302,此处不再赘述。s1403、ue验证nassmc消息。具体详见s1303,此处不再赘述。如果ue验证nassmc消息通过,执行s1404~s1407步骤。如果验证不通过则执行s1408~s1411步骤。s1404、ue向seaf/amf发送安全模式完成(securitymodecomplete)消息,相应的,seaf/amf接收ue发送的安全模式完成消息。s1405、seaf/amf接收到安全模式完成消息之后,向ausf发送通知,用于向ausf通知ue的认证状态或认证结果。相应地,ausf接收ue的认证状态或认证结果。ue的认证状态包括但不限于,ue的标识、认证结果、时间戳、和服务网络的名称。其中ue的标识比如supi。一种可能的实现方式中,seaf/amf接收到安全模式完成消息之后,seaf/amf向ausf发送的ue的认证结果为认证成功。可选地,seaf可以通过调用ausf提供的某个现有服务,例如nausf_ueauthentication,来向ausf发送通知;或者seaf可以通过调用ausf新增的服务来向ausf发送通知,本申请不作限制。s1406、ausf接收到seaf发送的通知之后,向udm发送通知,用于通知ue的认证状态或认证结果,或更新udm处,ue的认证状态或认证结果。相应地,udm保存或更新ue的认证状态或认证结果。可选地,ausf可以通过调用udm提供的某个现有服务,例如nudm_ueauthentication,来向udm发送通知;或者ausf可以通过调用udm新增的服务来向udm发送通知,本申请不作限制。s1407、udm在接收到ausf的ue认证状态或认证结果的通知或更新之后,udm保存或者更新ue的认证状态或认证结果。s1408、ue向seaf/amf发送安全模式拒绝(securitymodereject)消息,相应的,seaf/amf接收ue发送的安全模式拒绝消息。s1409、seaf/amf接收到安全模式拒绝消息之后,向ausf发送通知,用于向ausf通知ue的认证状态或认证结果。相应地,ausf接收ue的认证状态或认证结果。ue的认证状态包括但不限于,ue的标识、认证结果、时间戳、和服务网络的名称。其中ue的标识比如supi。一种可能的实现方式中,seaf/amf接收到安全模式拒绝消息之后,seaf/amf向ausf发送的ue的认证结果为认证失败。可选地,seaf可以通过调用ausf提供的某个现有服务,例如nausf_ueauthentication,来向ausf发送通知;或者seaf可以通过调用ausf新增的服务来向ausf发送通知,本申请不作限制。s1410、ausf接收到seaf发送的通知之后,向udm发送通知,用于通知udm,ue的认证状态或认证结果,或更新udm处,ue的认证状态或认证结果。相应地,udm保存或更新ue的认证状态或认证结果。可选地,ausf可以通过调用udm提供的某个现有服务,例如nudm_ueauthentication,来向udm发送通知;或者ausf可以通过调用udm新增的服务来向udm发送通知,本申请不作限制。可选地,ausf可以通过调用udm提供的某个现有服务,例如通过使用nudm_ueauthentication_resultconfirmationrequest,来通知udm,ue的认证状态或者认证结果或更新udm处,ue的认证状态或者认证结果;或者ausf可以通过调用udm新增的服务来通知udm或者更新udm处,ue的认证状态或者认证结果,本申请不作限制。s1411、udm在接收到ausf的ue认证状态或认证结果的通知或更新之后,udm保存或者更新ue的认证状态或认证结果。本实施例中,seaf/amf收到安全模式完成/拒绝消息之后,向ausf通知ue的认证状态,或,ue的认证结果,再由ausf向udm通知ue的认证状态,或,ue的认证结果,使得udm及时获得或更新ue的认证状态,和/或,认证结果,防止拜访网络欺诈。以上结合图2至图14详细说明了本申请实施例的认证流程中的参数保护方法,基于与上述参数保护方法的同一发明构思,如图15所示,本申请实施例还提供了一种装置1500的结构示意图。该装置包括处理模块1501,接收模块1502和发送模块1503。该装置1500可以用于ue,也可以是ue,该装置可以执行上述各个方法实施例中ue所执行的操作。以图5中的方法实施例为例,接收模块1502用于接收seaf/amf发送的携带abba和/或ngksi等安全相关参数的认证请求消息,还可以用于接收seaf/amf发送的nassmc消息;处理模块1501用于验证abba和/或ngksi等安全相关参数的完整性,还可以用于smc验证;发送模块1503用于向seaf/amf发送认证响应消息,还可以用于向seaf/amf发送nassmc响应。该装置1500还可以用于seaf/amf,也可以是seaf/amf,该装置可以执行上述各个方法实施例中seaf/amf所执行的操作。以图5中的方法实施例为例,接收模块1502可用于接收ausf发送的安全密钥;处理模块1501可用于使用来自ausf的安全密钥对abba和/或ngksi等安全相关参数进行完整性保护;发送模块1503可用于向ue发送携带abba和/或ngksi等安全相关参数和第一消息认证码的认证请求消息。该装置1500还可以用于ausf,也可以是ausf,该装置可以执行上述各个方法实施例中ausf所执行的操作。以图5中的方法实施例为例,接收模块1502可用于接收udm发送的认证向量和可选的用户永久标识;处理模块1501可以用于生成用于完整性保护abba和/或ngksi等安全相关参数的安全密钥;发送模块1503可以用于向seaf/amf发送安全密钥。该装置1500还可以用于udm,也可以是udm,该装置可以执行上述各个方法实施例中udm所执行的操作。以图5中的方法实施例为例,接收模块1502可用于接收ausf发送的认证请求;处理模块1501可用于生成认证向量;发送模块1503可用于向ausf发送处理模块生成的认证向量。基于与方法实施例同一发明构思,本申请实施例还提供了一种设备。参见图16,该设备1600包括处理器1601、通信接口1602和存储器1603。本申请实施例中不限定上述通信接口1602、处理器1601以及存储器1603之间的具体连接介质。本申请实施例在图16中以通信接口1602、处理器1601以及存储器1603之间通过总线1604连接,总线1604在图16中以粗线表示,其他部件之间的连接方式,仅是进行示意性说明,并不引以为限。该总线1604可以分为地址总线、数据总线、控制总线等。为便于表示,图16中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。处理器1601用于执行程序指令,当程序被执行时,使得处理器1601执行上述实施例提供的各个授权方法中ue、seaf/amf、ausf或udm执行的操作。处理器1601可以但不限于是中央处理器(centralprocessingunit,cpu),网络处理器(networkprocessor,np)或者cpu和np的组合。在处理器1601是cpu的情况下,该cpu可以是单核cpu,也可以是多核cpu。处理器1601还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specificintegratedcircuit,asic),可编程逻辑器件(programmablelogicdevice,pld)或其组合。上述pld可以是复杂可编程逻辑器件(complexprogrammablelogicdevice,cpld),现场可编程逻辑门阵列(field-programmablegatearray,fpga),通用阵列逻辑(genericarraylogic,gal)或其任意组合。通信接口1602用于在处理器1601的控制下与其他设备进行通信,例如发送数据和/或接收数据,上述图15中的发送模块和接收模块可以通过通信接口1602来实现。该通信接口也可以是通信电路或输入输出电路。存储器1603用于存储处理器1601所执行的程序。存储器1603可以包括但不限于是随机存储记忆体(randomaccessmemory,ram)、只读存储器(read-onlymemory,rom)、可擦除可编程只读存储器(erasableprogrammablereadonlymemory,eprom)、便携式只读存储器(compactdiscread-onlymemory,cd-rom)、快闪存储器(flashmemory)、硬盘(harddiskdrive,hdd)或固态硬盘(solid-statedrive,ssd);存储器1603还可以包括上述种类存储器的任意组合。基于与方法实施例同一发明构思,本申请实施例还提供了一种通信设备1700,该通信设备1700可以是终端设备也可以是芯片。该通信设备1700可以用于执行上述方法实施例中由用户设备所执行的动作。当该通信设备1700为终端设备时,图17示出了一种简化的终端设备的结构示意图。便于理解和图示方便,图17中,终端设备以用户设备作为例子,例如手机。如图17所示,终端设备包括处理器、存储器、控制电路、天线以及输入输出装置。处理器主要用于对通信协议以及通信数据进行处理,以及对终端设备进行控制,执行软件程序,处理软件程序的数据等。存储器主要用于存储软件程序和数据。射频电路主要用于基带信号与射频信号的转换以及对射频信号的处理。天线主要用于收发电磁波形式的射频信号。输入输出装置,例如触摸屏、显示屏,键盘等主要用于接收用户输入的数据以及对用户输出数据。需要说明的是,有些种类的终端设备可以不具有输入输出装置。为便于说明,图17中仅示出了一个存储器和处理器,在实际的终端设备产品中,可以存在一个或多个处理器和一个或多个存储器。存储器也可以称为存储介质或者存储设备等。存储器可以独立于处理器设置,也可以与处理器集成在一起,本申请实施例对此不做限制。作为示例,如图17所示,将具有收发功能的天线和射频电路记为收发单元1701,将具有处理功能的处理器记为处理单元1702。即终端设备包括收发单元1701和处理单元1702。收发单元1701也可以称为收发器、收发机、收发装置等。处理单元1702也可以称为处理器,处理单板,处理模块、处理装置等。可选地,可以将收发单元1701中用于实现接收功能的器件视为接收单元,将收发单元1701中用于实现发送功能的器件视为发送单元,即收发单元1701包括接收单元和发送单元。收发单元有时也可以称为收发机、收发器、或收发电路等。接收单元有时也可以称为接收机、接收器、或接收电路等。发送单元有时也可以称为发射机、发射器或者发射电路等。例如,在一种实现方式中,收发单元1701还用于执行图5中所示的步骤s505中用户设备侧的接收操作,和/或收发单元1701还用于执行用户设备侧的其他收发步骤。处理单元1702用于执行图5中所示的步骤s506,和/或处理单元1702还用于执行终端设备侧的其他处理步骤。又例如,在一种实现方式中,收发单元1701还用于执行图7中所示的步骤s704中终端设备侧的接收操作,和/或收发单元1701还用于执行用户设备侧的其他收发步骤。处理单元1702用于执行图7中所示的步骤s705,和/或处理单元1702还用于执行终端设备侧的其他处理步骤。应理解,图17仅为示例而非限定,上述包括收发单元和处理单元的终端设备可以不依赖于图17所示的结构。当该通信设备1700为芯片时,该芯片包括收发单元和处理单元。其中,收发单元可以是输入输出电路或通信接口;处理单元可以为该芯片上集成的处理器或者微处理器或者集成电路。本申请实施例提供了一种通信设备,该设备包括用于收发数据的通信接口以及与所述通信接口耦合的处理器,其中处理器执行上述实施例提供的方法,该处理器还通过通信接口执行上述实施例中涉及的数据收发。本申请实施例提供了一种非易失性计算机可读存储介质,该非易失性计算机可读存储介质存储有计算机程序,该计算机程序包括用于执行上述实施例提供的方法的指令。本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例提供的方法。本领域内的技术人员应明白,本申请的实施例可提供为方法、装置、设备(系统)或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、装置、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图中的每一流程。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。以上所述,仅为本申请的一些具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本
技术领域
:的技术人员在本申请揭露的技术范围内,可对这些实施例做出另外的变更和修改。因此,所附权利要求意欲解释为包括上述实施例以及落入本申请范围的说是有变更和修改。因此,本申请保护范围应以所述权利要求的保护范围为准。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1