说明书
发明名称 : 一种网络认证方法、用户设备、网络认证节点及系统
[0001]
本申请涉及通信技术领域,尤其涉及一种网络认证方法、用户设备、网络认证节点及系统。
[0002]
在网络认证节点和用户设备之间进行网络认证,是保证通信网络能够正常持续运行不可或缺的重要环节之一。
[0003]
随着移动互联网的快速发展,互联网与通信网络的融合及其运营商网络业务的扩展,越来越多的设备开始接入运营商经营的无线通信网络,不仅包括已有的移动宽带设备如手机(mobile),还包括很多垂直行业的物联网(Internet of Things,IOT)设备。现有移动通信网络的认证方法,如长期演进(Long Term Evolution,LTE)中的基于演进分组系统(Evolved Packet System,EPS)-认证与密钥协商协议(Authentication and Key Agreement,AKA)进行网络认证与身份管理的方法并不能完全满足全部的下一代无线通信网络(例如第五代(5G)网络)中设备的接入。因此,需要建立一个更加开放的认证框架并引入新的认证方法。
[0004]
为了让下一代无线通信网络支持更多种类的设备,第三代合作伙伴项目(Third Generation Partnership Project,3GPP)标准组织的安全工作组(SA3)目前正在研究在5G网络中引入开放式的认证架构,允许设备使用各种身份接入网络,并使用多种认证方式建立信任关系。基于可扩展认证协议(Extensible Authentication Protocol,EAP)的认证框架,经过互联网协议标准化组织(Internet Engineering Task Force,IETF)的多年开发以及在互联网系统中的广泛使用,已经成为了一个开放并完善的认证协议体系。因此,3GPP SA3准备在下一代无线通信网络中引入基于EAP的认证框架。EAP的认证框架的具体定义可参见RFC 3748,RFC 5247。EAP认证框架支持多种基于EAP的认证协议,如基于EAP的传输层认证协议(EAP Transport Lay Protocol,EAP-TLS),基于EAP和隧道技术的传输层认证协议(EAP Tunneled Transport Lay Protocol,EAP-TTLS),基于EAP的共享密钥认证方法(EAP Pre-Shared Key,EAP-PSK)等。
[0005]
除了开放的认证框架及其支持的多种认证协议,3GPP SA3也在研究采用不同的密码技术进行网络认证,包括传统的公钥框架(Public Key Infrastructure,PKI)认证技术和新型的基于身份的密码(Identity Based Cryptography,IBC)认证技术。基于PKI的技术经过多年的研究与协议设计,已经在多种认证技术中获得支持。
[0006]
IBC认证技术,提供一种基于身份的加密和签名方法,属于一种公钥技术。不同于PKI技术,使用IBC公钥技术进行密钥产生时,由一个共同的密钥中心根据接收到的用户设备的身份标识(Identify,ID)信息,结合密钥中心预先配置的基于IBC公钥技术的全局参数,即密钥中心的全局私钥和公钥,为用户设备产生对应于用户设备ID的私钥并通过安全通道发送给用户设备。换言之,IBC公钥技术中用户设备ID就是公钥,因此,不需要携带证书中所必需的公钥和签名等信息,因此,相对于证书来说,具有长度短的优势。同时,对于接收方来说,由于不需要验证证书的签名,所以在计算量上具有优势。网络资源消耗和计算对于低成本的IOT设备是关键,因此,基于IBC的公钥技术比基于PKI的证书更加 适合下一代无线通信网络。
[0007]
但是,由于基于IBC公钥技术的认证还处于发展阶段,EAP所支持的多种认证方法并不支持基于IBC公钥技术的认证,因此,无法在3GPP现有工作及其所支持的EAP认证框架之上进行基于IBC的交互认证,在实际使用的过程中需要做进一步的设计,从而使IBC公钥技术能够匹配EAP已有的协议。
[0009]
本申请实施例提供一种网络认证方法、用户设备、网络认证节点及系统,以使IBC公钥技术能够匹配EAP已有的协议。
[0010]
第一方面,提供一种网络认证系统,该网络认证系统包括用户设备和网络认证节点,其中:所述用户设备向所述网络认证节点发送认证类型指示信息、所述用户设备的ID以及所述用户设备的PVT,所述认证类型指示信息用于指示所述用户设备需要进行基于身份的密码技术和可扩展认证协议的共享密钥EAP-PSK认证。所述网络认证节点,用于接收所述用户设备发送的所述认证类型指示信息、所述用户设备的ID信息以及所述用户设备的PVT,若根据所述认证类型指示信息确定所述用户设备需要进行基于身份的密码技术和EAP-PSK认证,则向所述用户设备发送所述网络认证节点的ID以及所述网络认证节点的PVT。所述用户设备接收所述网络认证节点发送的所述网络认证节点的ID以及所述网络认证节点的PVT,根据所述网络认证节点的ID、所述网络认证节点的PVT以及基于所述用户设备身份的私钥和全局公钥生成用户设备对称密钥,根据所述用户设备对称密钥生成第一认证密钥和第一密钥推演密钥,并使用第一认证密钥和第一密钥推演密钥与所述网络认证节点进行EAP-PSK认证。所述网络认证节点依据所述用户设备的ID、所述用户设备的PVT以及基于所述网络认证节点身份的私钥和全局公钥生成网络认证节点对称密钥,根据所述网络认证节点对称密钥生成第二认证密钥和第二密钥推演密钥,并使用第二认证密钥和第二密钥推演密钥与所述用户设备进行EAP-PSK认证。
[0011]
本申请实施例中,用户设备根据网络认证节点的ID、所述网络认证节点的PVT以及基于所述用户设备自身的私钥和全局公钥等IBC身份信息生成用户设备的对称密钥,网络认证节点根据用户设备的ID、用户设备的PVT以及网络认证节点自身的私钥和全局公钥等IBC身份信息生成网络认证节点的对称密钥。用户设备和网络认证节点将各自生成的对称密钥作为预共享密钥,能够实现在不改变EAP-PSK认证协议交互及其格式的情况下,使用基于EAP-PSK的认证方法实现交互认证,以在3GPP现有工作及其所支持的EAP认证框架之上进行基于IBC的交互认证,使IBC公钥技术能够匹配EAP已有的协议。
[0012]
一种可能的设计中,所述用户设备采用如下方式根据所述用户设备对称密钥生成第一认证密钥和第一密钥推演密钥,包括:所述网络认证节点还用于发送所述网络认证节点的私钥过期日期信息,使得用户设备可根据用户设备对称密钥、用户设备的私钥过期日期信息、和网络认证节点私钥过期日期信息进一步生成第一认证密钥和第一密钥推演密钥。所述用户设备接收所述网络认证节点发送的所述网络认证节点的私钥过期日期信息,根据用户设备的私钥过期日期信息、所述网络认证节点的私钥过期日期信息以及所述用户设备对称密钥,生成第一认证密钥和第一密钥推演密钥。或者所述用户设备根据所述用户设备生成的随机数和接收到的所述网络认证节点生成的随机数中的至少一个,以及所述用户设备对称密钥,生成第一认证密钥和第一密钥推演密钥。
[0013]
所述网络认证节点根据所述网络认证节点对称密钥生成第二认证密钥和第二密钥推演密钥,包括:所述用户设备还用于发送所述用户设备的私钥过期日期信息,使得网络认证节点可根据网络认证节点对称密钥、网络认证节点的私钥过期日期信息和用户设备的私钥过期日期信息进一步生成第二认证密钥和第二密钥推演密钥。所述网络认证节点接收所述用户设备发送的所述用户设备的私钥过期日期信息,根据网络认证节点的私钥过期日期信息、所述用户设备的私钥过期日期信息以及所述网络认证节点对称密钥,生成第二认证密钥和第二密钥推演密钥。或者所述网络认证节点根据所述网络认证节点生成的随机数和接收到的所述用户设备生成的随机数中的至少一个,以及所述网络认证节点对称密钥,生成第二认证密钥和第二密钥推演密钥。
[0014]
其中,所述认证类型指示信息可为包括EAP-PSK标志位以及用于指示基于身份的密码技术生成对称密钥的认证请求。或者所述认证类型指示信息也可以为所述用户设备的ID以及所述用户设备的PVT。
[0015]
其中,所述用户设备可通过接入请求信息发送所述认证类型指示信息、所述用户设备的ID和所述用户设备的PVT。用户设备以及用户设备的私钥过期日期信息。或者所述用户设备也可通过接入请求信息发送所述认证类型指示信息,通过EAP-PSK认证协议的第二条消息发送所述用户设备的ID和所述用户设备的PVT。
[0016]
其中,所述用户设备可通过接入请求信息发送所述认证类型指示信息、所述用户设备的ID、所述用户设备的PVT以及用户设备的私钥过期日期信息。或者所述用户设备也可通过接入请求信息发送所述认证类型指示信息,通过EAP-PSK认证协议的第二条消息发送所述用户设备的ID、所述用户设备的PVT以及用户设备的私钥过期日期信息。
[0017]
其中,所述网络认证节点可通过EAP-PSK认证协议的第一条消息,发送所述网络认证节点的ID和所述网络认证节点的PVT。
[0018]
其中,所述网络认证节点可通过EAP-PSK认证协议的第一条消息,发送所述网络认证节点的ID、所述网络认证节点的PVT以及所述网络认证节点的私钥过期日期信息。
[0019]
一种可能的设计中,所述用户设备对称密钥满足公式K_UE=(SSK_UE)([KPAK+hash(G||KPAK||ID_AUSF||PVT_AUSF)]PVT_AUSF)。
[0020]
所述网络认证节点对称密钥满足公式K_AUSF=(SSK_AUSF)([KPAK+hash(G||KPAK||ID_UE||PVT_UE)]PVT_UE)。
[0021]
其中,K_UE为用户设备对称密钥,SSK_UE为用户设备的私钥,KPAK为全局公钥,ID_AUSF为网络认证节点的标识,PVT_AUSF为网络认证节点的PVT,K_AUSF为网络认证节点对称密钥,SSK_AUSF为网络认证节点的私钥,KPAK为全局公钥,ID_UE为用户设备的标识,PVT_UE为用户设备的PVT,G表示椭圆曲线生成元,[x]P表征椭圆曲线上针对点P的点乘,其中x代表一个整数,P代表椭圆曲线上的一个点,hash()表征密码学意义上的哈希函数,||符号表征字符连接。
[0022]
第二方面,提供一种用户设备,该用户设备包括发送单元、接收单元和认证单元,其中,所述发送单元,用于向网络认证节点发送认证类型指示信息、所述用户设备的ID以及所述用户设备的PVT,所述认证类型指示信息用于指示所述用户设备需要进行基于身份的密码技术和可扩展认证协议的共享密钥EAP-PSK认证。所述接收单元,用于接收所述网络认证节点发送的所述网络认证节点的ID以及所述网络认证节点的PVT。所述认证单元,用于根据所述网络认证节点的ID、所述网络认证节点的PVT以及基于所述用户设备 身份的私钥和全局公钥生成用户设备对称密钥,根据所述用户设备对称密钥生成第一认证密钥和第一密钥推演密钥,并使用第一认证密钥和第一密钥推演密钥与所述网络认证节点进行EAP-PSK认证。
[0023]
所述发送单元通过接入请求信息发送所述认证类型指示信息、所述用户设备的ID和所述用户设备的PVT;或通过接入请求信息发送所述认证类型指示信息,通过EAP-PSK认证协议的第二条消息发送所述用户设备的ID和所述用户设备的PVT。
[0024]
本申请实施例中,用户设备向网络认证节点发送认证类型指示信息、所述用户设备的ID以及所述用户设备的PVT,并接收所述网络认证节点发送的所述网络认证节点的ID以及所述网络认证节点的PVT,故可根据网络认证节点的ID、所述网络认证节点的PVT以及基于所述用户设备自身的私钥和全局公钥等IBC身份信息生成用户设备的对称密钥,将生成的对称密钥作为预共享密钥,生成认证密钥和密钥推演密钥,并使用第一认证密钥和第一密钥推演密钥与所述网络认证节点进行EAP-PSK认证,能够实现在不改变EAP-PSK认证协议交互及其格式的情况下,使用基于EAP-PSK的认证方法实现交互认证,以在3GPP现有工作及其所支持的EAP认证框架之上进行基于IBC的交互认证,使IBC公钥技术能够匹配EAP已有的协议。
[0025]
一种可能的设计中,所述认证单元,采用如下方式根据所述用户设备对称密钥生成第一认证密钥和第一密钥推演密钥:
[0026]
根据所述接收单元用户设备的私钥过期日期信息、接收到的所述网络认证节点的私钥过期日期信息以及所述用户设备对称密钥,生成第一认证密钥和第一密钥推演密钥;或者根据所述用户设备生成的随机数和接收到的所述网络认证节点生成的随机数中的至少一个,以及所述用户设备对称密钥,生成第一认证密钥和第一密钥推演密钥。
[0027]
另一种可能的设计中,所述认证类型指示信息为包括EAP-PSK标志位以及用于指示基于身份的密码技术生成对称密钥的认证请求;或者所述认证类型指示信息为所述用户设备的ID以及所述用户设备的PVT。
[0028]
又一种可能的设计中,所述发送单元,还用于发送所述用户设备的私钥过期日期信息;
[0029]
所述发送单元通过接入请求信息发送所述认证类型指示信息、所述用户设备的ID、所述用户设备的PVT以及所述用户设备的私钥过期日期信息;或者通过接入请求信息发送所述认证类型指示信息,通过EAP-PSK认证协议的第二条消息发送所述用户设备的ID、所述用户设备的PVT以及所述用户设备的私钥过期日期信息。
[0030]
又一种可能的设计中,所述用户设备对称密钥满足公式K_UE=(SSK_UE)([KPAK+hash(G||KPAK||ID_AUSF||PVT_AUSF)]PVT_AUSF)。
[0031]
其中,K_UE为用户设备对称密钥,SSK_UE为用户设备的私钥,KPAK为全局公钥,ID_AUSF为网络认证节点的标识,PVT_AUSF为网络认证节点的PVT,G表示椭圆曲线生成元,[x]P表征椭圆曲线上针对点P的点乘,其中x代表一个整数,P代表椭圆曲线上的一个点,hash()表征密码学意义上的哈希函数,||符号表征字符连接。
[0032]
第三方面,提供一种网络认证节点,该网络认证节点包括接收单元、发送单元和认证单元。其中,所述接收单元,用于接收用户设备发送的所述认证类型指示信息、所述用户设备的ID信息以及所述用户设备的PVT。所述的发送单元,用于在根据所述认证类型指示信息确定所述用户设备需要进行基于身份的密钥技术和EAP-PSK认证的情况下,向所述用户设备发送所述网络认证节点的ID以及所述网络认证节点的PVT。所述认证单元, 用于依据所述用户设备的ID、所述用户设备的PVT以及基于所述网络认证节点身份的私钥和全局公钥生成网络认证节点对称密钥,根据所述网络认证节点对称密钥生成第二认证密钥和第二密钥推演密钥,并使用第二认证密钥和第二密钥推演密钥与所述用户设备进行EAP-PSK认证。
[0033]
其中,所述发送单元通过EAP-PSK认证协议的第一条消息,发送所述网络认证节点的ID和所述网络认证节点的PVT。
[0034]
本申请实施例中,网络认证节点接收用户设备发送的所述认证类型指示信息、所述用户设备的ID信息以及所述用户设备的PVT,依据所述用户设备的ID、所述用户设备的PVT以及基于所述网络认证节点身份的私钥和全局公钥生成网络认证节点对称密钥,将生成的对称密钥作为预共享密钥,根据所述网络认证节点对称密钥生成第二认证密钥和第二密钥推演密钥,并使用第二认证密钥和第二密钥推演密钥与所述用户设备进行EAP-PSK认证,能够实现在不改变EAP-PSK认证协议交互及其格式的情况下,使用基于EAP-PSK的认证方法实现交互认证,以在3GPP现有工作及其所支持的EAP认证框架之上进行基于IBC的交互认证,使IBC公钥技术能够匹配EAP已有的协议。
[0035]
一种可能的设计中,所述认证单元,采用如下方式根据所述网络认证节点对称密钥生成第二认证密钥和第二密钥推演密钥:
[0036]
根据网络认证节点的私钥过期日期信息、接收到的所述用户设备的私钥过期日期信息以及所述网络认证节点对称密钥,生成第二认证密钥和第二密钥推演密钥。或者根据所述网络认证节点生成的随机数和接收到的所述用户设备生成的随机数中的至少一个,以及所述网络认证节点对称密钥,生成第二认证密钥和第二密钥推演密钥。
[0037]
另一种可能的设计中,所述认证类型指示信息为包括EAP-PSK标志位以及用于指示基于身份的密码技术生成对称密钥的认证请求;或者所述认证类型指示信息为所述用户设备的ID以及所述用户设备的PVT。
[0038]
又一种可能的设计中,所述发送单元,还用于发送所述网络认证节点的私钥过期日期信息。所述发送单元通过EAP-PSK认证协议的第一条消息,发送所述网络认证节点的ID、所述网络认证节点的PVT以及所述网络认证节点的私钥过期日期信息。
[0039]
又一种可能的设计中,所述网络认证节点对称密钥满足公式K_AUSF=(SSK_AUSF)([KPAK+hash(G||KPAK||ID_UE||PVT_UE)]PVT_UE)。其中,K_AUSF为网络认证节点对称密钥,SSK_AUSF为网络认证节点的私钥,KPAK为全局公钥,ID_UE为用户设备的标识,PVT_UE为用户设备的PVT,G表示椭圆曲线生成元,[x]P表征椭圆曲线上针对点P的点乘,其中x代表一个整数,P代表椭圆曲线上的一个点,hash()表征密码学意义上的哈希函数,||符号表征字符连接。
[0040]
第四方面,提供一种网络认证方法,在该方法中,用户设备向网络认证节点发送认证类型指示信息、所述用户设备的ID以及所述用户设备的PVT,所述认证类型指示信息用于指示所述用户设备需要进行基于身份的密码技术和可扩展认证协议的共享密钥EAP-PSK认证。网络认证节点接收所述用户设备发送的所述认证类型指示信息、所述用户设备的身份标识ID信息以及所述用户设备的公钥认证令牌PVT。所述网络认证节点若根据所述认证类型指示信息确定所述用户设备需要进行基于身份的密码技术和可扩展认证协议的共享密钥EAP-PSK认证,则向所述用户设备发送所述网络认证节点的ID以及所述网络认证节点的PVT。所述用户设备接收所述网络认证节点发送的所述网络认证节点的ID 以及所述网络认证节点的PVT。所述用户设备根据所述网络认证节点的ID、所述网络认证节点的PVT以及基于所述用户设备身份的私钥和全局公钥生成用户设备对称密钥,并根据所述用户设备对称密钥生成第一认证密钥和第一密钥推演密钥,使用第一认证密钥和第一密钥推演密钥与所述网络认证节点进行EAP-PSK认证。所述网络认证节点依据所述用户设备的ID、所述用户设备的PVT以及基于所述网络认证节点身份的私钥和全局公钥生成网络认证节点对称密钥,根据所述网络认证节点对称密钥生成第二认证密钥和第二密钥推演密钥,并使用第二认证密钥和第二密钥推演密钥与所述用户设备进行EAP-PSK认证。
[0041]
其中,所述用户设备通过接入请求信息发送所述认证类型指示信息、所述用户设备的ID和所述用户设备的PVT。或者所述用户设备通过接入请求信息发送所述认证类型指示信息,通过EAP-PSK认证协议的第二条消息发送所述用户设备的ID和所述用户设备的PVT。所述网络认证节点通过EAP-PSK认证协议的第一条消息,发送所述网络认证节点的ID和所述网络认证节点的PVT。
[0042]
一种可能的设计中,所述根据所述用户设备对称密钥生成第一认证密钥和第一密钥推演密钥,包括:接收所述网络认证节点发送的所述网络认证节点的私钥过期日期信息,根据用户设备的私钥过期日期信息、所述网络认证节点的私钥过期日期信息以及所述用户设备对称密钥,生成第一认证密钥和第一密钥推演密钥。或者根据所述用户设备生成的随机数和接收到的所述网络认证节点生成的随机数中的至少一个,以及所述用户设备对称密钥,生成第一认证密钥和第一密钥推演密钥。
[0043]
另一种可能的设计中,所述根据所述网络认证节点对称密钥生成第二认证密钥和第二密钥推演密钥,包括:接收所述用户设备发送的所述用户设备的私钥过期日期信息,根据网络认证节点的私钥过期日期信息、所述用户设备的私钥过期日期信息以及所述网络认证节点对称密钥,生成第二认证密钥和第二密钥推演密钥。或者根据所述网络认证节点生成的随机数和接收到的所述用户设备生成的随机数中的至少一个,以及所述网络认证节点对称密钥,生成第二认证密钥和第二密钥推演密钥。
[0044]
其中,所述认证类型指示信息为包括EAP-PSK标志位并用于指示基于身份签名生成对称密钥的认证请求;或者所述认证类型指示信息为所述用户设备的ID以及所述用户设备的PVT。
[0045]
又一种可能的设计中,所述用户设备通过接入请求信息发送所述认证类型指示信息、所述用户设备的ID、所述用户设备的PVT以及用户设备的私钥过期日期信息。或者所述用户设备通过接入请求信息发送所述认证类型指示信息,通过EAP-PSK认证协议的第二条消息发送所述用户设备的ID、所述用户设备的PVT以及用户设备的私钥过期日期信息。
[0046]
又一种可能的设计中,所述网络认证节点通过EAP-PSK认证协议的第一条消息,发送所述网络认证节点的ID、所述网络认证节点的PVT以及所述网络认证节点的私钥过期日期信息。
[0047]
又一种可能的设计中,所述用户设备对称密钥满足公式K_UE=(SSK_UE)([KPAK+hash(G||KPAK||ID_AUSF||PVT_AUSF)]PVT_AUSF)。其中,K_UE为用户设备对称密钥,SSK_UE为用户设备的私钥,KPAK为全局公钥,ID_AUSF为网络认证节点的标识,PVT_AUSF为网络认证节点的PVT,G表示椭圆曲线生成元,[x]P表征椭圆曲线上针对点P的点乘,其中x代表一个整数,P代表椭圆曲线上的一个点,hash()表征密码学意义上的哈希函数,||符号表征字符连接。
[0048]
又一种可能的设计中,所述网络认证节点对称密钥满足公式K_AUSF=(SSK_AUSF)([KPAK+hash(G||KPAK||ID_UE||PVT_UE)]PVT_UE)。其中,K_AUSF为网络认证节点对称密钥,SSK_AUSF为网络认证节点的私钥,KPAK为全局公钥,ID_UE为用户设备的标识,PVT_UE为用户设备的PVT,G表示椭圆曲线生成元,[x]P表征椭圆曲线上针对点P的点乘,其中x代表一个整数,P代表椭圆曲线上的一个点,hash()表征密码学意义上的哈希函数,||符号表征字符连接。
[0049]
本申请实施例中,用户设备根据网络认证节点的ID、所述网络认证节点的PVT以及基于所述用户设备自身的私钥和全局公钥等IBC身份信息生成用户设备的对称密钥,网络认证节点根据用户设备的ID、用户设备的PVT以及网络认证节点自身的私钥和全局公钥等IBC身份信息生成网络认证节点的对称密钥。用户设备和网络认证节点将各自生成的对称密钥作为预共享密钥,能够实现在不改变EAP-PSK认证协议交互及其格式的情况下,使用基于EAP-PSK的认证方法实现交互认证,以在3GPP现有工作及其所支持的EAP认证框架之上进行基于IBC的交互认证,使IBC公钥技术能够匹配EAP已有的协议。
[0050]
图1为本申请实施例提供的一种网络认证系统的架构示意图;
[0051]
图2为现有技术中基于EAP的认证框架架构示意图;
[0052]
图3为现有技术中EAP-PSK交互认证的实现流程图;
[0053]
图4为本申请实施例提供的网络认证系统的架构示意图;
[0054]
图5为本申请实施例提供的通信装置结构示意图;
[0055]
图6为本申请实施例提供的一种网络认证交互流程图;
[0056]
图7为本申请实施例提供的第一实施例的实现流程图;
[0057]
图8为本申请实施例提供的第二实施例的实现流程图;
[0058]
图9为本申请实施例提供的第三实施例的实现流程图;
[0059]
图10为本申请实施例提供的第四实施例的实现流程图;
[0060]
图11为本申请实施例提供的第五实施例的实现流程图;
[0061]
图12为本申请实施例提供的用户设备和网络认证节点的结构示意图。
[0062]
下面将结合附图,对本申请实施例中的技术方案进行描述。
[0063]
图1为本申请实施例提供的一种网络认证系统的架构示意图。如图1所示,网络认证系统100可包括用户设备10、网络认证节点20(例如认证服务器(Authentication Server Function,AUSF))、安全锚点(Security Anchor Function,SEAF)30,认证上下文存储与处理节点(Authentication Credential Repository and Processing Function,ARPF)40。其中,用户设备10可以包括手机、平板电脑、笔记本电脑、移动互联网设备(Mobile Internet Device,MID)、可穿戴设备(例如智能手表、智能手环、计步器等)等用户终端,也可以包括IoT设备,还可以包括其他通信设备。AUSF为所有接入网络的用户设备提供网络认证服务,并与ARPF和SEAF交互,是接收SEAF的请求信息的终结点,也可以配置在第三方系统中。SEAF用于认证的网络功能。主要同AUSF和用户设备交互。对于AKA认证而言,SEAF从AUSF接收中间密钥,负责用户设备的会话密钥管理。ARPF存储用于 认证、加密算法的长期安全上下文的网络功能,也可用于存储安全相关的用户配置信息(profile)。
[0064]
需要指出的是,图1示出的各个网络功能节点(如SEAF、AUSF、ARPF等)是目前3GPP SA3标准组织文稿及技术报告(TR)中出现的名称,这些名称还有更改的可能,比如更名、网络功能合并、分拆等,本申请并不局限于这些网络功能节点的名称及这些网络功能具体配置在哪个网元中。对于实现类似功能的其他网元,本申请同样适用。
[0065]
图1中,用户设备10可通过为用户设备10提供网络接入服务功能的基站(NodeB)、基站控制器(Radio Network Controller,RNC)或接入网关等接入网网元与AUSF进行交互认证。本申请以下实施例中主要针对用户设备10和网络认证节点20之间的交互认证过程进行说明。
[0066]
用户设备10和网络认证节点20之间可基于EAP的认证框架架构支持的EAP-PSK协议进行EAP-PSK交互认证。图2所示为基于EAP的认证框架架构示意图。图2中,基于EAP的认证框架中主要由三个实体组成,即用户设备侧的认证请求客户端(Supplicant),接入网的认证节点(Authenticator)以及网络侧的认证服务器(Server)。Supplicant是终端侧负责运行EAP认证协议框架的实体,包含了与密钥存储实体的接口,Authenticator负责认证消息的中继及其会话密钥的分发,Server负责网络侧的认证。
[0067]
图3所示为现有技术中用户设备10和网络认证节点20之间进行EAP-PSK交互认证的实现流程图。参阅图3所示,包括:
[0068]
S101:网络认证节点20向用户设备10发出第一条消息,该第一条消息包括一个随机数(RAND_S)和网络认证节点20的标识信息(ID_S)。
[0069]
S102:用户设备10向网络认证节点20发送第二条消息,该第二条消息中包含网络认证节点20产生的随机数(RAND_S),以及用户设备10产生的随机数(RAND_P)和用户设备10的标识信息(ID_P)。
[0070]
S103:网络认证节点20发送第三条消息,该第三条消息包含了使用预共享密钥针对该第三条消息产生的一个消息认证码(Message Authentication Code,MAC),用于用户设备10认证网络认证节点20,可表示为MAC_S。
[0071]
S104:用户设备10接收到网络认证节点20发送的第三条消息后,用户设备10产生并发送第四条消息,该第四条消息中也包含一个使用预共享密钥产生的一个MAC,用于网络认证节点20认证用户设备10。
[0072]
通过上述交互过程后,用户设备10与网络认证节点20使用交互的信息中包含的随机数及其预共享密钥,生成会话密钥供用户设备10和网络认证节点20在随后的通信中使用。具体的会话密钥生成方法可参见RFC 4764。
[0073]
用户设备10和网络认证节点20之间还可基于IBC公钥技术进行交互认证。基于IBC公钥技术进行交互认证过程中,密钥中心拥有私钥s,并使用私钥和全局参数产生一个全局公钥(KMS Public Authentication Key,KPAK),当密钥中心为用户设备10产生签名私钥时,密钥中心产生首先产生一个随机数,然后使用这个随机数和用户设备10的ID,以及其他的全局参数,为用户设备10产生一个私钥(Secret Signing Key,SSK),同时,使用该随机数,为产生一个公钥认证令牌(Public Validation Token,PVT),并将SSK、PVT和KPAK一并发给用户设备10。用户设备10使用SSK对消息进行签名,并把带有签名的消息发送给网络认证节点20,带有签名的消息中包含用户的ID及其PVT。网络认证节点 20可使用自身保存的KPAK,接收到的用户设备10的ID和PVT对消息的签名进行验证。
[0074]
用户设备10和网络认证节点20之间采用上述方法进行交互认证过程中存在背景技术部分提及的“EAP所支持的多种认证方法并不支持基于IBC公钥技术的认证,因此,无法在3GPP现有工作及其所支持的EAP认证框架之上进行基于IBC的交互认证”的技术问题。
[0075]
本申请实施例提供的交互认证方法,结合基于IBC公钥技术的认证方式以及基于EAP-PSK的认证方式,用户设备10和网络认证节点20在拥有基于IBC身份和密钥的情况下生成对称密钥,并将该对称密钥作为预共享密钥,不改变EAP-PSK认证协议交互及其格式的情况下,使用基于EAP-PSK的认证方法实现交互认证,以在3GPP现有工作及其所支持的EAP认证框架之上进行基于IBC的交互认证,使IBC公钥技术能够匹配EAP已有的协议。
[0076]
结合基于IBC公钥技术的认证方式以及基于EAP-PSK的认证方式实现交互认证的用户设备10和网络认证节点20组成的网络认证系统的架构示意图可如图4所示。图4所述的网络认证系统200中,用户设备10和网络认证节点20在功能上均可划分为IBC模块和EAP-PSK模块。其中,IBC模块可用于SSK、PVT、KPAK、ID及其到期日等密钥的管理和存储,以及接收对端发送的ID、到期日及PVT等,对接收到的ID及其到期日,PVT等进行合法性检查,例如用户设备10的IBC模块可判断接收到的ID是否是网络认证节点20的ID,以及日期是否已过期等。IBC模块还可用于根据EAP-PSK模块提供的对端IBC参数如ID,到期日和PVT产生对称密钥并将对称密钥发送给EAP-PSK模块。EAP-PSK模块的功能包括:EAP-PSK认证消息的产生与发送,把基于IBC的参数如ID、到期日、PVT等封装在基于EAP-PSK的消息中,并从EAP-PSK的消息中解析基于IBC的参数如ID、到期日、PVT等发送给IBC模块。使用IBC模块产生的对称钥进行认证。根据认证后产生的密钥进一步产生会话密钥等,与对端进行EAP-PSK认证。
[0077]
图4中的用户设备10或者网络认证节点20可以通过图5所示的通信装置(或系统)300来实现。
[0078]
如图5所示,通信装置(或系统)300可包括至少一个处理器301,存储器303以及至少一个通信接口304。这些部件可在一个或多个通信总线302上通信。
[0079]
需要说明的,图5仅仅是本申请实施例的一种实现方式,实际应用中,通信装置300还可以包括更多或更少的部件,这里不作限制。
[0080]
通信接口304用于接收和发送射频信号,耦合于通信装置300的接收器和发射器。通信接口304通过射频信号与通信网络和其他通信设备通信,如以太网(Ethernet),无线接入网(Radio Access Technology,RAN),无线局域网Wireless Local Area Networks,WLAN)等。具体实现中,通信接口304支持的通信协议可包括但不限于:2G/3G、长期演进(Long Term Evolution,LTE)、无线保真(Wireless-Fidelity,Wi-Fi)、5G新无线(New Radio,NR)等等。
[0081]
存储器303与处理器301耦合,用于存储各种软件程序和/或多组指令。具体实现中,存储器303可包括高速随机存取的存储器,并且也可包括非易失性存储器,例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备。存储器303可以存储操作系统(下述简称系统),例如ANDROID,IOS,WINDOWS,或者LINUX等嵌入式操作系统。存储器303可用于存储本申请实施例的实现程序。存储器303还可以存储网络通信程序,该网络通信程序可用于与一个或多个附加设备,一个或多个终端设备,一个或多个网络设 备进行通信。
[0082]
处理器301可以是一个通用中央处理器(Central Processing Unit,CPU),微处理器,特定应用集成电路(Application-Specific Integrated Circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。
[0083]
在一些实施例中,通信装置300还可以包括输出设备305和输入设备306。输出设备305和处理器301通信,可以以多种方式来显示信息。例如,输出设备305可以是液晶显示器(Liquid Crystal Display,LCD),发光二级管(Light Emitting Diode,LED)显示设备,阴极射线管(Cathode Ray Tube,CRT)显示设备,或投影仪(projector)等。输入设备306和处理器301通信,可以以多种方式接收用户的输入。例如,输入设备306可以是鼠标、键盘、触摸屏设备或传感设备等。为了便于输出设备305和输入设备306的用户使用,在一些实施例中,存储器303还可以存储用户接口程序,该用户接口程序可以通过图形化的操作界面将应用程序的内容形象逼真的显示出来,并通过菜单、对话框以及按键等输入控件接收用户对应用程序的控制操作。当图5所示的通信装置300实现为图4所示的用户设备10时,通信装置300的存储器中可以存储一个或多个软件模块,可用于提供接入请求、生成对称密钥、用户认证响应等功能,具体可参考后续方法实施例。当图5所示的通信装置300实现为图4所示的网络认证节点20时,通信装置300的存储器中可以存储一个或多个软件模块,可用于提供生成对称密钥和接入用户合法性验证等功能,具体可参考后续方法实施例,具体可参考后续方法实施例。
[0084]
本申请实施例以下将对用户设备10和网络认证节点20结合基于IBC公钥技术的认证方式以及基于EAP-PSK的认证方式实现交互认证的实现方法进行说明。
[0085]
图6所示为本申请实施例提供的一种网络认证交互流程图。参阅图6所示,包括:
[0086]
S201:用户设备10向网络认证节点20发送认证类型指示信息、所述用户设备10的ID以及所述用户设备10的PVT,所述认证类型指示信息用于指示所述用户设备10需要进行基于身份的密码技术和EAP-PSK的认证。
[0087]
本申请实施例中,所述认证类型指示信息可通过接入请求信息发送。所述用户设备10的ID和所述用户设备10的PVT可通过接入请求信息发送,也可通过EAP-PSK认证协议的第二条消息发送。
[0088]
S202:网络认证节点20接收所述用户设备10发送的所述认证类型指示信息、所述用户设备10的ID信息以及所述用户设备10的PVT,并根据所述认证类型指示信息确定所述用户设备10是否需要进行基于身份的密码技术和EAP-PSK的认证。
[0089]
本申请实施例中,用户设备10发送的所述认证类型指示信息可以为包括EAP-PSK标志位并用于指示基于身份签名生成对称密钥的认证请求,网络认证节点20接收到该包括EAP-PSK标志位以及用于指示基于身份的密码技术生成对称密钥的认证请求,可以确定用户设备10需要进行身份签名和EAP-PSK的认证。用户设备10发送的所述认证类型指示信息也可以为用户设备10的ID以及用户设备10的PVT,网络认证节点20接收到用户设备10的ID以及用户设备10的PVT则可确定用户设备10需要进行身份签名和EAP-PSK的认证。
[0090]
所述网络认证节点20若根据所述认证类型指示信息确定所述用户设备10需要进行基于身份的密码技术和EAP-PSK的认证,可执行S203和S204。
[0091]
S203:所述网络认证节点20依据所述用户设备10的ID、所述用户设备10的PVT以 及基于所述网络认证节点20身份的私钥和全局公钥生成网络认证节点20对称密钥,并根据所述网络认证节点20对称密钥生成第二认证密钥和第二密钥推演密钥。
[0092]
本申请实施例中网络认证节点20可基于RFC6507的基于身份的签名(Identity Based Signature,IBS)密码技术及其在椭圆曲线群上进行静态的Diffie-Helleman操作,依据所述用户设备10的ID、所述用户设备10的PVT以及基于所述网络认证节点20身份的私钥和全局公钥生成网络认证节点20对称密钥。
[0093]
本申请的一种实施例中,用户设备10还可发送用户设备10的私钥过期日期信息,使得网络认证节点20可根据网络认证节点20对称密钥、网络认证节点20的私钥过期日期信息和用户设备10的私钥过期日期信息进一步生成第二认证密钥和第二密钥推演密钥。
[0094]
用户设备10可通过接入请求信息发送用户设备10的私钥过期日期信息,也可通过EAP-PSK认证协议的第二条消息发送用户设备10的私钥过期日期信息。
[0095]
本申请的另一种实施例中,用户设备10可根据所述用户设备10生成的随机数和接收到的所述网络认证节点20生成的随机数中的至少一个,以及所述用户设备10对称密钥,并进一步生成认证密钥和密钥推演密钥。
[0096]
S204:网络认证节点20向所述用户设备10发送所述网络认证节点20的ID以及所述网络认证节点20的PVT。
[0097]
本申请实施例中,网络认证节点20可通过EAP-PSK认证协议的第一条消息,发送所述网络认证节点20的ID、所述网络认证节点20的PVT。
[0098]
其中,S203和S204的执行步骤不分先后顺序。
[0099]
S205:所述用户设备10接收所述网络认证节点20发送的所述网络认证节点20的ID以及所述网络认证节点20的PVT,根据所述网络认证节点20的ID、所述网络认证节点20的PVT以及基于所述用户设备10身份的私钥和全局公钥生成用户设备10对称密钥,并根据所述用户设备10对称密钥生成第一认证密钥和第一密钥推演密钥,与所述网络认证节点20进行EAP-PSK认证。
[0100]
本申请的一种实施例中,网络认证节点20还可发送网络认证节点20的私钥过期日期信息,使得用户设备10可根据用户设备10对称密钥、用户设备10私钥过期日期信息和网络认证节点20私钥过期日期信息进一步生成第一认证密钥和第一密钥推演密钥。
[0101]
其中,网络认证节点20可通过EAP-PSK认证协议的第一条消息发送网络认证节点20私钥过期日期信息。
[0102]
本申请的另一种实施例中,网络认证节点20还可根据所述网络认证节点20生成的随机数和接收到的所述用户设备10生成的随机数和中的至少一个,以及所述网络认证节点20对称密钥,并进一步生成第二认证密钥和第二密钥推演密钥。
[0103]
S206:所述用户设备10与所述网络认证节点20使用第一认证密钥和第一密钥推演密钥进行EAP-PSK认证。所述网络认证节点20与所述用户设备10使用第二认证密钥和第二密钥推演密钥进行EAP-PSK认证。
[0104]
需要说明的是,本申请实施例中为描述方便用“第一”、“第二”区分认证密钥和密钥推演密钥,以及将用户设备生成的对称密钥称为用户设备对称密钥,将将网络认证节点生成的对称密钥称为网络认证节点对称密钥,仅是用于区分这些密钥是用户设备10生成的,还是网络认证节点20生成的,具体的名称并不做限定。
[0105]
进一步需要说明的是,在用户设备10与所述网络认证节点20进行EAP-PSK认证, 若认证通过,则用户设备对称密钥与网络认证节点对称密钥相同,第一认证密钥与第二认证密钥相同,第一密钥推演密钥与第二密钥推演密钥相同。
[0106]
本申请实施例中,用户设备10根据网络认证节点20的ID、所述网络认证节点20的PVT以及基于所述用户设备10自身的私钥和全局公钥等IBC身份信息生成用户设备10的对称密钥,网络认证节点20根据用户设备10的ID、用户设备10的PVT以及网络认证节点20自身的私钥和全局公钥等IBC身份信息生成网络认证节点20的对称密钥。用户设备10和网络认证节点20将各自生成的对称密钥作为预共享密钥,能够实现在不改变EAP-PSK认证协议交互及其格式的情况下,使用基于EAP-PSK的认证方法实现交互认证,以在3GPP现有工作及其所支持的EAP认证框架之上进行基于IBC的交互认证,使IBC公钥技术能够匹配EAP已有的协议。
[0107]
本申请以下将结合具体的实施例对本申请涉及的结合基于IBC公钥技术的认证方式以及基于EAP-PSK的认证方式实现交互认证的过程进行说明。
[0108]
本申请以下实施例中以用户设备10为UE,网络认证节点20为AUSF为例进行说明。
[0110]
图7所示为本申请提供的第一实施例的实现流程图,参阅图7所示,包括:
[0111]
S301:UE向AUSF发送接入请求消息(Attach)。
[0112]
UE向AUSF发送的接入请求消息中包括认证类型指示信息,所述认证类型指示信息用于指示所述UE需要进行基于身份的密码技术(IBC)和EAP-PSK认证。本申请实施例中认证类型指示信息为包括EAP-PSK标志位并用于指示基于身份签名生成对称密钥的认证请求,本申请实施例为描述方便将包括EAP-PSK标志位和用于指示基于身份的密码技术生成对称密钥的认证请求用EAP-PSK-IBS表示。UE向AUSF发送的接入请求消息中也可包括UE的ID,即ID_UE。
[0113]
S302:AUSF确定UE是否需要进行基于身份的密码技术和EAP-PSK的认证。AUSF接收到包括EAP-PSK-IBS,可以确定UE需要进行身份签名和EAP-PSK的认证。AUSF也可根据attach消息中携带的UE的ID_UE判断UE是否需要进行身份签名和EAP-PSK的认证。
[0114]
S303:AUSF在确认UE需要进行身份签名和EAP-PSK的认证后,AUSF向UE发出EAP-PSK认证协议的第一条消息,该第一条消息中包含AUSF产生的随机数RAND_S,AUSF的身份,其中AUSF的身份至少由AUSF的ID(ID_AUSF)及其IBS私钥SSK所对应的PVT(PVT_AUSF)组成。
[0115]
S304:UE在接收到AUSF发送的EAP-PSK认证协议的第一条消息后,从其中解析出相应的参数,包括RAND_S,ID_AUSF和PVT_AUSF。UE使用自身所拥有的IBS私钥SSK_UE,椭圆曲线生成元G,KPAK,以及接收到的AUSF参数ID_AUSF,PVT_AUSF生成UE的对称密钥,UE的对称密钥可满足如下公式:
[0116]
K_UE=(SSK_UE)([KPAK+hash(G||KPAK||ID_AUSF||PVT_AUSF)]PVT_AUSF)。
[0117]
其中,K_UE为UE对称密钥,SSK_UE为UE的私钥,KPAK为全局公钥,ID_AUSF为AUSF的标识,PVT_AUSF为AUSF的PVT,G表示椭圆曲线生成元,[x]P表征椭圆曲线上针对点P的点乘,其中x代表一个整数,P代表椭圆曲线上的一个点,hash()表征密码学意义上的哈希函数,||符号表征字符连接。
[0118]
本申请实施例中,UE可使用K_UE进一步产生EAP-PSK所要求的第一认证密钥 (Authentication Key,AK)和第一密钥推演密钥(Key Derivation Key,KDK)。
[0119]
S305:UE向AUSF发送EAP-PSK认证协议的第二条消息,该第二条消息中包含RAND_S,UE产生的随机数RAND_P,在EAP-PSK的ID域,包含了ID_UE和PVT_UE,以及由UE根据EAP-PSK使用AK为上述消息产生的消息验证码MAC_P,其中,MAC_P满足如下公式:
[0120]
MAC_P=CMAC-AES-128(AK,ID_P||ID_S||RAND_S||RAND_P)。
[0121]
其中,CMAC为消息验证码,AES为一种加密算法。
[0122]
S306:AUSF接收到EAP-PSK认证协议的第二条消息后,首先解析出RAND_S,RAND_UE,ID_UE和PVT_UE,然后使用自身的私钥SSK_AUSF及其接收到UE的参数ID_UE和PVT_UE产生AUSF的对称密钥K_AUSF,其中,K_AUSF满足如下公式:
[0123]
K_AUSF=(SSK_AUSF)([KPAK+hash(G||KPAK||ID_UE||PVT_UE)]PVT_UE);
[0124]
其中,K_AUSF为AUSF对称密钥,SSK_AUSF为AUSF的私钥,KPAK为全局公钥,ID_UE为UE的标识,PVT_UE为UE的PVT,G表示椭圆曲线生成元,[x]P表征椭圆曲线上针对点P的点乘,其中x代表一个整数,P代表椭圆曲线上的一个点,hash()表征密码学意义上的哈希函数,||符号表征字符连接。
[0125]
本申请实施例中,AUSF使用K_AUSF进一步产生AK和KDK,并使用AK与接收到信息产生消息验证码MAC_P’,其中,MAC_P’满足如下公式:
[0126]
MAC_P’=CMAC-AES-128(AK,ID_P||ID_S||RAND_S||RAND_P);
[0127]
AUSF可通过MAC_P’验证MAC_P。
[0128]
进一步,AUSF使用KDK和RAND_P产生会话密钥。
[0129]
S307:AUSF向UE发送EAP-PSK认证协议的第三条消息,第三条消息中包含RAND_S,消息验证码MAC等EAP-PSK认证协议规定的信息。
[0130]
S308:UE接收到AUSF发送的EAP-PSK认证协议的第三条消息后,UE使用KDK和RAND_P产生会话密钥。
[0131]
S309:UE接收到上述有AUSF发送的EAP-PSK认证协议的第三条消息后,向AUSF发送EAP-PSK认证协议的第四条消息,EAP-PSK认证协议的第四条消息可以理解为是UE对AUSF发送的EAP-PSK认证协议的第三条消息的响应消息,其中包含了RAND_S等EAP-PSK认证协议规定的信息。
[0132]
本申请第一实施例中,认证类型指示信息为包括EAP-PSK标志位并用于指示基于身份签名生成对称密钥的认证请求,并通过接入请求信息发送。所述UE通过EAP-PSK认证协议的第二条消息发送所述UE的ID、所述UE的PVT。AUSF通过EAP-PSK认证协议的第一条消息发送所述AUSF的ID、所述AUSF的PVT。
[0134]
图8所示为本申请提供的第二实施例的实现流程图,参阅图8所示,包括:
[0135]
图8中,S401、S402、S407、S408和S409分别与实施例一中的S301、S302、S307、S308和S309相同,在此不再赘述,以下仅就不同之处进行说明。
[0136]
S403:AUSF在确认UE需要进行身份签名和EAP-PSK的认证后,AUSF向UE发出EAP-PSK认证协议的第一条消息,该第一条消息中包含AUSF产生的随机数RAND_S,AUSF的身份,其中AUSF的身份至少由AUSF的ID(ID_AUSF)及其IBS私钥SSK所对应的PVT(PVT_AUSF),以及AUSF对应私钥的过期日期信息(KeyExpireTime_AUSF) 组成。
[0137]
S404:UE在接收到AUSF发送的EAP-PSK认证协议的第一条消息后,从其中解析出相应的参数,包括RAND_S,ID_AUSF和PVT_AUSF和KeyExpireTime_AUSF。UE使用自身所拥有的IBS私钥SSK_UE,椭圆曲线生成元G,KPAK,以及接收到的AUSF参数ID_AUSF,PVT_AUSF生成UE的对称密钥,UE的对称密钥可满足如下公式:
[0138]
K_UE=(SSK_UE)([KPAK+hash(G||KPAK||ID_AUSF||PVT_AUSF)]PVT_AUSF)。
[0139]
其中,K_UE为UE对称密钥,SSK_UE为UE的私钥,KPAK为全局公钥,ID_AUSF为AUSF的标识,PVT_AUSF为AUSF的PVT,G表示椭圆曲线生成元,[x]P表征椭圆曲线上针对点P的点乘,其中x代表一个整数,P代表椭圆曲线上的一个点,hash()表征密码学意义上的哈希函数,||符号表征字符连接。
[0140]
本申请实施例中,UE可使用K_UE、KeyExpireTime_UE和KeyExpireTime_AUSF获取密钥K’,其中,K’=KDF(K_UE,KeyExpireTime_AUSF||KeyExpireTime_UE)。KDF是一个密钥推演函数,一种实现方式就是密码学意义上的哈希运算。UE使用K’进一步产生EAP-PSK所要求的AK和KDK。
[0141]
S405:UE向AUSF发送EAP-PSK认证协议的第二条消息,该第二条消息中包含RAND_S,UE产生的随机数RAND_P,在EAP-PSK的ID域,包含了ID_UE和PVT_UE,KeyExpireTime_UE,UE根据EAP-PSK使用AK为上述消息产生的消息验证码MAC_P,其中,MAC_P满足如下公式:
[0142]
MAC_P=CMAC-AES-128(AK,ID_P||ID_S||RAND_S||RAND_P)。
[0143]
S406:AUSF接收到EAP-PSK认证协议的第二条消息后,首先解析出RAND_S,RAND_UE,ID_UE,PVT_UE和KeyExpireTime_UE,然后使用自身的私钥SSK_AUSF及其接收到UE的参数ID_UE和PVT_UE产生AUSF的对称密钥对称钥K_AUSF,其中,K_AUSF满足如下公式:
[0144]
K_AUSF=(SSK_AUSF)([KPAK+hash(G||KPAK||ID_UE||PVT_UE)]PVT_UE);
[0145]
其中,K_AUSF为AUSF对称密钥,SSK_AUSF为AUSF的私钥,KPAK为全局公钥,ID_UE为UE的标识,PVT_UE为UE的PVT,G表示椭圆曲线生成元,[x]P表征椭圆曲线上针对点P的点乘,其中x代表一个整数,P代表椭圆曲线上的一个点,hash()表征密码学意义上的哈希函数,||符号表征字符连接。
[0146]
进一步,AUSF使用K_AUSF、KeyExpireTime_AUSF和KeyExpireTime_UE获取密钥K’=KDF(K_AUSF,KeyExpireTime_AUSF||KeyExpireTime_UE),并使用上述K’进一步产生AK和KDK,并使用AK与接收到信息产生MAC_P’,其中,MAC_P’=CMAC-AES-128(A,ID_P||ID_S||RAND_S||RAND_P)。AUSF可通过MAC_P’验证MAC_P。
[0147]
进一步,AUSF使用KDK和RAND_P产生会话密钥。
[0148]
本实施例中,AUSF向UE发送的KeyExpireTime_UE和UE向AUSF发送的KeyExpireTime_UE可能会不同,因此,在UE和AUSF推演密钥时,可以使用至少一个KeyExpireTime,但两侧使用的KeyExpireTime是相同的,或者是UE的,或者是AUSF的。如果两个同时使用时,则可采用联合的方式,及KeyExpireTime=(KeyExpireTime_AUSF||KeyExpireTime_UE)。
[0149]
本申请第二实施例中,认证类型指示信息为包括EAP-PSK标志位并用于指示基于身份签名生成对称密钥的认证请求,并通过接入请求信息发送。UE还用于发送UE的私钥过 期日期信息,并通过EAP-PSK认证协议的第二条消息发送所述认证类型指示信息、所述UE的ID、所述UE的PVT以及所述UE的私钥过期日期信息。AUSF还用于发送AUSF的私钥过期日期信息,并通过EAP-PSK认证协议的第一条消息发送所述AUSF的ID、所述AUSF的PVT以及所述AUSF的私钥过期日期信息。
[0151]
图9所示为本申请提供的第三实施例的实现流程图,参阅图9所示,包括:
[0152]
图9中,S501、S502、S503、S505、S507、S508和S509分别与实施例一中的S301、S302、S303、S305、S307、S308和S309相同,在此不再赘述,以下仅就不同之处进行说明。
[0153]
S504步骤在进行消息接收及解析,以及生成UE的对称密钥过程与实施例一中涉及的过程相同,不同之处在于本步骤添加了三种不同的密钥K’的推演方式。
[0154]
本申请实施例中,UE可根据密钥中心为所述UE分配的随机数RAND_P和密钥中心为所述AUSF分配的随机数RAND_S中的至少一个,以及所述UE的对称密钥K_UE获取密钥K’。其中,K’满足如下公式:
[0155]
K’=KDF(K_UE,RAND_S,RAND_P),或者K’=KDF(K_UE,RAND_S),或者K’=KDF(K_UE,RNAD_P)。
[0156]
UE使用上述K’进一步产生AK和KDK。
[0157]
S506步骤在进行消息接收及解析,以及生成AUSF的对称密钥过程与实施例一中涉及的过程相同,不同之处在于本步骤添加了三种不同的密钥K’的推演方式。
[0158]
本申请中,AUSF还可根据密钥中心为所述UE分配的随机数RAND_P和密钥中心为所述AUSF分配的随机数RAND_S中的至少一个,以及所述AUSF对称密钥K_AUSF,获取密钥K’。其中,K’满足如下公式:
[0159]
K’=KDF(K_AUSF,RAND_S,RAND_P),或者K’=KDF(K_AUSF,RAND_S),或者K’=KDF(K_AUSF,RNAD_P)。
[0160]
AUSF使用上述K’进一步产生AK和KDK。
[0161]
本申请第三实施例中,UE可根据密钥中心为所述UE分配的随机数RAND_P和密钥中心为所述AUSF分配的随机数RAND_S中的至少一个,以及所述UE的对称密钥K_UE获取密钥K’,所述UE分配的随机数RAND_P和密钥中心为所述AUSF分配的随机数RAND_S中的至少一个,以及所述AUSF对称密钥K_AUSF,获取密钥K’。UE和AUSF并用K’进一步生成AK和KDK。
[0163]
图10所示为本申请提供的第四实施例的实现流程图,参阅图10所示,包括:
[0164]
图10中,S603、S605、S607、S608和S609分别与实施例一中的S303、S305、S307、S308和S309相同,在此不再赘述,以下仅就不同之处进行说明。
[0165]
S601:UE向AUSF发送接入请求消息(Attach),接入请求消息中包括认证类型指示信息、ID_UE、PVT_UE以及UE私钥过期时间KeyExpireTime_UE等信息。
[0166]
S602:AUSF接收到UE发送的接入请求信息后解析并获取ID_UE,PVT_UE以及KeyExpireTime_UE等。AUSF根据UE提供的信息生成AUSF的对称密钥对称钥K_AUSF。
[0167]
进一步,AUFS生成K’=KDF(K_AUSF,KeyExpireTime_UE),本步骤可设为为可选。
[0168]
AUSF根据K或者K’以及EAP-PSK标准RFC 4764获取AK和KDK。
[0169]
S604:UE在接收到AUSF发送的EAP-PSK认证协议的第一条消息后,从其中解析出相应的参数,包括RAND_S,ID_AUSF和PVT_AUSF和KeyExpireTime_AUSF。UE使用自身所拥有的IBS私钥SSK_UE,椭圆曲线生成元G,KPAK,以及接收到的AUSF参数ID_AUSF,PVT_AUSF生成UE的对称密钥K_UE。
[0170]
进一步,UE可使用上述K_UE、KeyExpireTime_UE和KeyExpireTime_AUSF获取密钥K’=KDF(K,KeyExpireTime_AUSF||KeyExpireTime_UE)。UE可生成K’=KDF(K_UE,KeyExpireTime_AUSF||KeyExpireTime_UE,本步骤可设为为可选。UE可使用K’进一步产生EAP-PSK所要求的AK和KDK。
[0171]
S606:AUSF根据UE提供的ID_UE,PVT_UE等信息,确定UE需要进行基于身份的密码技术和EAP-PSK认证。
[0172]
本申请第四实施例中,UE通过接入请求信息发送认证类型指示信息、所述UE的ID、所述UE的PVT以及所述UE的私钥过期日期信息。AUSF通过EAP-PSK认证协议的第一条消息发送所述AUSF的ID、所述AUSF的PVT以及所述AUSF的私钥过期日期信息。
[0173]
本实施例中,AUSF向UE发送的KeyExpireTime_UE和UE向AUSF发送的KeyExpireTime_AUSF可能会不同,因此,在UE和AUSF推演密钥时,可以使用至少一个KeyExpireTime,但两侧使用的KeyExpireTime是相同的,或者是UE的,或者是AUSF的。如果两个同时使用时,则可采用联合的方式,及KeyExpireTime=(KeyExpireTime_AUSF||KeyExpireTime_UE)。
[0175]
图11所示为本申请提供的第五实施例的实现流程图,参阅图11所示,包括:
[0176]
图11中,S703、S704、S705、S707、S708和S709分别与实施例一中的S303、S304、S305、S307、S308和S309相同,在此不再赘述,以下仅就不同之处进行说明。
[0177]
S701:UE向AUSF发送接入请求消息(Attach),接入请求消息中包括ID_UE和PVT_UE等信息。
[0178]
S702:AUSF接收到UE发送的接入请求信息后解析并获取ID_UE和PVT_UE,生成AUSF的对称密钥K_AUSF。进一步,AUSF根据K_AUSF及EAP-PSK标准RFC4764获取AK和KDK。
[0179]
S706:AUSF根据UE提供的ID_UE,PVT_UE等信息,确定UE需要进行基于身份的密码技术和EAP-PSK认证。
[0180]
本申请第五实施例中,AUSF通过UE发送的ID_UE,PVT_UE等信息,确定UE需要进行基于身份的密码技术和EAP-PSK认证。
[0181]
上述主要从网络认证节点和用户设备交互的角度对本申请实施例提供的方案进行了介绍。可以理解的是,网络认证节点和用户设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。结合本申请中所公开的实施例描述的各示例的单元及算法步骤,本申请实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同的方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的技术方案的范围。
[0182]
本申请实施例可以根据上述方法示例对网络认证节点和用户设备进行功能单元的划 分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0183]
在采用硬件形式实现时,网络认证节点和用户设备可采用图5所示的通信装置的结构。
[0184]
在采用软件功能单元的形式实现时,网络认证节点和用户设备可采用图12所示的结构。
[0185]
参阅图12所示,用户设备1000包括发送单元1001、接收单元1002和认证单元1003。网络认证节点2000包括接收单元2001、发送单元2002和认证单元2003。其中:
[0186]
发送单元1001,用于向网络认证节点2000发送认证类型指示信息、所述用户设备1000的ID以及所述用户设备1000的PVT,所述认证类型指示信息用于指示所述用户设备1000需要进行基于身份的密码技术和EAP-PSK认证。接收单元2001,用于接收用户设备1000发送的所述认证类型指示信息、所述用户设备1000的ID信息以及所述用户设备1000的PVT。发送单元,用于在根据所述认证类型指示信息确定所述用户设备1000需要进行基于身份签名和EAP-PSK认证的情况下,向所述用户设备1000发送所述网络认证节点2000的ID以及所述网络认证节点2000的PVT。接收单元1002,用于接收所述网络认证节点2000发送的所述网络认证节点2000的ID以及所述网络认证节点2000的PVT。认证单元1003,用于根据所述网络认证节点2000的ID、所述网络认证节点2000的PVT以及基于所述用户设备1000身份的私钥和全局公钥生成用户设备1000的对称密钥,根据所述用户设备1000的对称密钥生成第一认证密钥和第一密钥推演密钥,并使用第一认证密钥和第一密钥推演密钥与所述网络认证节点2000进行EAP-PSK认证。认证单元2003,用于依据所述用户设备1000的ID、所述用户设备1000的PVT以及基于所述网络认证节点2000身份的私钥和全局公钥生成网络认证节点2000的对称密钥,根据所述网络认证节点2000的对称密钥生成第二认证密钥和第二密钥推演密钥,并使用第二认证密钥和第二密钥推演密钥与所述用户设备1000进行EAP-PSK认证。
[0187]
其中,所述认证单元1003,采用如下方式根据所述用户设备1000的对称密钥生成第一认证密钥和第一密钥推演密钥:
[0188]
根据所述接收单元1002接收到的所述网络认证节点2000的私钥过期日期信息以及所述用户设备1000的对称密钥,生成第一认证密钥和第一密钥推演密钥。或者所述用户设备1000根据所述用户设备1000生成的随机数和接收到的所述网络认证节点2000生成的随机数中的至少一个,以及所述用户设备1000的对称密钥,生成第一认证密钥和第一密钥推演密钥。
[0189]
所述认证单元2003,采用如下方式根据所述网络认证节点对称密钥生成第二认证密钥和第二密钥推演密钥:
[0190]
根据接收到的所述用户设备1000的私钥过期日期信息以及所述网络认证节点2000的对称密钥,生成第二认证密钥和第二密钥推演密钥;或者根据接收到的所述网络认证节点2000生成的随机数和所述用户设备1000生成的随机数中的至少一个,以及所述网络认证节点2000的对称密钥,生成第二认证密钥和第二密钥推演密钥。
[0191]
其中,所述认证类型指示信息为包括EAP-PSK标志位并用于指示基于身份签名生成对称密钥的认证请求;或者所述认证类型指示信息为所述用户设备1000的ID以及所述用 户设备1000的PVT。
[0192]
其中,所述发送单元1001,还用于发送所述用户设备1000的私钥过期日期信息。所述发送单元1001通过接入请求信息发送所述认证类型指示信息、所述用户设备1000的ID、所述用户设备1000的PVT以及所述用户设备1000的私钥过期日期信息;或者通过接入请求信息发送所述认证类型指示信息,通过EAP-PSK认证协议的第二条消息发送所述用户设备1000的ID、所述用户设备1000的PVT以及所述用户设备1000的私钥过期日期信息。
[0193]
其中,所述发送单元2002,还用于发送所述网络认证节点2000的私钥过期日期信息;所述发送单元2002通过EAP-PSK认证协议的第一条消息,发送所述网络认证节点2000的ID、所述网络认证节点2000的PVT以及所述网络认证节点2000的私钥过期日期信息。
[0194]
其中,所述用户设备1000的对称密钥满足公式K_UE=(SSK_UE)([KPAK+hash(G||KPAK||ID_AUSF||PVT_AUSF)]PVT_AUSF);其中,K_UE为用户设备1000的对称密钥,SSK_UE为用户设备1000的私钥,KPAK为全局公钥,ID_AUSF为网络认证节点2000的标识,PVT_AUSF为网络认证节点2000的PVT,G表示椭圆曲线生成元,[x]P表征椭圆曲线上针对点P的点乘,其中x代表一个整数,P代表椭圆曲线上的一个点,hash()表征密码学意义上的哈希函数,||符号表征字符连接。
[0195]
所述网络认证节点2000的对称密钥满足公式K_AUSF=(SSK_AUSF)([KPAK+hash(G||KPAK||ID_UE||PVT_UE)]PVT_UE);其中,K_AUSF为网络认证节点2000的对称密钥,SSK_AUSF为网络认证节点2000的私钥,KPAK为全局公钥,ID_UE为用户设备1000的标识,PVT_UE为用户设备1000的PVT,G表示椭圆曲线生成元,[x]P表征椭圆曲线上针对点P的点乘,其中x代表一个整数,P代表椭圆曲线上的一个点,hash()表征密码学意义上的哈希函数,||符号表征字符连接。
[0196]
需要说明的,用户设备1000和网络认证节点2000中各个功能单元的具体实现还可参考上述各实施例中所述用户设备10和网络认证节点20的功能,这里不再赘述。
[0197]
综上所述,实施本申请实施例,可在不改变EAP-PSK认证协议交互及其格式的情况下,使用基于EAP-PSK的认证方法实现交互认证,以在3GPP现有工作及其所支持的EAP认证框架之上进行基于IBC的交互认证,使IBC公钥技术能够匹配EAP已有的协议。
[0198]
本领域内的技术人员应明白,本申请实施例可提供为方法、系统、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0199]
本申请实施例是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0200]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装 置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0201]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0202]
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
权利要求书
[权利要求 1]
一种网络认证系统,其特征在于,包括:用户设备和网络认证节点,其中: 所述用户设备,用于向所述网络认证节点发送认证类型指示信息、所述用户设备的身份标识ID以及所述用户设备的公钥认证令牌PVT,所述认证类型指示信息用于指示所述用户设备需要进行基于身份的密码技术和可扩展认证协议的共享密钥EAP-PSK认证,并接收所述网络认证节点发送的所述网络认证节点的ID以及所述网络认证节点的PVT,根据所述网络认证节点的ID、所述网络认证节点的PVT以及基于所述用户设备身份的私钥和全局公钥生成用户设备对称密钥,根据所述用户设备对称密钥生成第一认证密钥和第一密钥推演密钥,并使用第一认证密钥和第一密钥推演密钥与所述网络认证节点进行EAP-PSK认证; 所述网络认证节点,用于接收所述用户设备发送的所述认证类型指示信息、所述用户设备的ID信息以及所述用户设备的PVT,若根据所述认证类型指示信息确定所述用户设备需要进行基于身份的密码技术和EAP-PSK认证,则向所述用户设备发送所述网络认证节点的ID以及所述网络认证节点的PVT,并依据所述用户设备的ID、所述用户设备的PVT以及基于所述网络认证节点身份的私钥和全局公钥生成网络认证节点对称密钥,根据所述网络认证节点对称密钥生成第二认证密钥和第二密钥推演密钥,并使用第二认证密钥和第二密钥推演密钥与所述用户设备进行EAP-PSK认证。
[权利要求 2]
根据权利要求1所述的网络认证系统,其特征在于,所述网络认证节点还用于发送所述网络认证节点的私钥过期日期信息,所述用户设备还用于发送用户设备的私钥过期日期信息; 所述用户设备根据所述用户设备对称密钥生成第一认证密钥和第一密钥推演密钥时,具体用于: 接收所述网络认证节点发送的所述网络认证节点的私钥过期日期信息,根据用户设备的私钥过期日期信息、所述网络认证节点的私钥过期日期信息以及所述用户设备对称密钥,生成第一认证密钥和第一密钥推演密钥;或者 所述用户设备根据所述用户设备生成的随机数和接收到的所述网络认证节点生成的随机数中的至少一个,以及所述用户设备对称密钥,生成第一认证密钥和第一密钥推演密钥; 所述网络认证节点根据所述网络认证节点对称密钥生成第二认证密钥和第二密钥推演密钥,包括: 所述网络认证节点接收所述用户设备发送的所述用户设备的私钥过期日期信息,根据网络认证节点的私钥过期日期信息、所述用户设备的私钥过期日期信息以及所述网络认证节点对称密钥,生成第二认证密钥和第二密钥推演密钥;或者 所述网络认证节点根据所述网络认证节点生成的随机数和接收到的所述用户设备生成的随机数中的至少一个,以及所述网络认证节点对称密钥,生成第二认证密钥和第二密钥推演密钥。
[权利要求 3]
根据权利要求1或2所述的网络认证系统,其特征在于,所述认证类型指示信息为包括EAP-PSK标志位以及用于指示基于身份的密码技术生成对称密钥的认证请求;或者 所述认证类型指示信息为所述用户设备的ID以及所述用户设备的PVT。
[权利要求 4]
如权利要求1至3任一项所述的网络认证系统,其特征在于,所述用户设备通过接入请求信息发送所述认证类型指示信息、所述用户设备的ID和所述用户设备的PVT;或者 所述用户设备通过接入请求信息发送所述认证类型指示信息,通过EAP-PSK认证协议的第二条消息发送所述用户设备的ID和所述用户设备的PVT。
[权利要求 5]
如权利要求1至4任一项所述的网络认证系统,其特征在于,所述网络认证节点通过EAP-PSK认证协议的第一条消息,发送所述网络认证节点的ID和所述网络认证节点的PVT。
[权利要求 6]
如权利要求1至5任一项所述的网络认证系统,其特征在于,所述用户设备对称密钥满足公式: K_UE=(SSK_UE)([KPAK+hash(G||KPAK||ID_AUSF||PVT_AUSF)]PVT_AUSF); 所述网络认证节点对称密钥满足公式: K_AUSF=(SSK_AUSF)([KPAK+hash(G||KPAK||ID_UE||PVT_UE)]PVT_UE); 其中,K_UE为用户设备对称密钥,SSK_UE为用户设备的私钥,KPAK为全局公钥,ID_AUSF为网络认证节点的标识,PVT_AUSF为网络认证节点的PVT,K_AUSF为网络认证节点对称密钥,SSK_AUSF为网络认证节点的私钥,KPAK为全局公钥,ID_UE为用户设备的标识,PVT_UE为用户设备的PVT,G表示椭圆曲线生成元,[x]P表征椭圆曲线上针对点P的点乘,其中x代表一个整数,P代表椭圆曲线上的一个点,hash()表征密码学意义上的哈希函数,||符号表征字符连接。
[权利要求 7]
一种用户设备,其特征在于,包括: 发送单元,用于向网络认证节点发送认证类型指示信息、所述用户设备的身份标识ID以及所述用户设备的公钥认证令牌PVT,所述认证类型指示信息用于指示所述用户设备需要进行基于身份的密码技术和可扩展认证协议的共享密钥EAP-PSK认证; 接收单元,用于接收所述网络认证节点发送的所述网络认证节点的ID以及所述网络认证节点的PVT; 认证单元,用于根据所述网络认证节点的ID、所述网络认证节点的PVT以及基于所述用户设备身份的私钥和全局公钥生成用户设备对称密钥,根据所述用户设备对称密钥生成第一认证密钥和第一密钥推演密钥,并使用第一认证密钥和第一密钥推演密钥与所述网络认证节点进行EAP-PSK认证。
[权利要求 8]
如权利要求7所述的用户设备,其特征在于,所述认证单元,采用如下方式根据所述用户设备对称密钥生成第一认证密钥和第一密钥推演密钥: 根据用户设备的私钥过期日期信息、所述接收单元接收到的所述网络认证节点的私钥过期日期信息以及所述用户设备对称密钥,生成第一认证密钥和第一密钥推演密钥;或者 根据所述用户设备生成的随机数和接收到的所述网络认证节点生成的随机数中的至少一个,以及所述用户设备对称密钥,生成第一认证密钥和第一密钥推演密钥。
[权利要求 9]
如权利要求7或8所述的用户设备,其特征在于,所述认证类型指示信息为包括EAP-PSK标志位以及用于指示基于身份的密码技术生成对称密钥的认证请求;或者 所述认证类型指示信息为所述用户设备的ID以及所述用户设备的PVT。
[权利要求 10]
如权利要求7至9任一项所述的用户设备,其特征在于,所述发送单元通过接入 请求信息发送所述认证类型指示信息、所述用户设备的ID和所述用户设备的PVT;或者 通过接入请求信息发送所述认证类型指示信息,通过EAP-PSK认证协议的第二条消息发送所述用户设备的ID、所述用户设备的PVT以及所述用户设备的私钥过期日期信息。
[权利要求 11]
如权利要求7至10任一项所述的用户设备,其特征在于,所述用户设备对称密钥满足公式: K_UE=(SSK_UE)([KPAK+hash(G||KPAK||ID_AUSF||PVT_AUSF)]PVT_AUSF); 其中,K_UE为用户设备对称密钥,SSK_UE为用户设备的私钥,KPAK为全局公钥,ID_AUSF为网络认证节点的标识,PVT_AUSF为网络认证节点的PVT,G表示椭圆曲线生成元,[x]P表征椭圆曲线上针对点P的点乘,其中x代表一个整数,P代表椭圆曲线上的一个点,hash()表征密码学意义上的哈希函数,||符号表征字符连接。
[权利要求 12]
一种网络认证节点,其特征在于,包括: 接收单元,用于接收用户设备发送的所述认证类型指示信息、所述用户设备的身份标识ID信息以及所述用户设备的公钥认证令牌PVT; 发送单元,用于在根据所述认证类型指示信息确定所述用户设备需要进行基于身份的密钥技术和EAP-PSK认证的情况下,向所述用户设备发送所述网络认证节点的ID以及所述网络认证节点的PVT; 认证单元,用于依据所述用户设备的ID、所述用户设备的PVT以及基于所述网络认证节点身份的私钥和全局公钥生成网络认证节点对称密钥,根据所述网络认证节点对称密钥生成第二认证密钥和第二密钥推演密钥,并使用第二认证密钥和第二密钥推演密钥与所述用户设备进行EAP-PSK认证。
[权利要求 13]
如权利要求12所述的网络认证节点,其特征在于,所述认证单元,采用如下方式根据所述网络认证节点对称密钥生成第二认证密钥和第二密钥推演密钥: 根据网络认证节点的私钥过期日期信息、接收到的所述用户设备的私钥过期日期信息以及所述网络认证节点对称密钥,生成第二认证密钥和第二密钥推演密钥;或者 根据所述网络认证节点生成的随机数和接收到的所述用户设备生成的随机数中的至少一个,以及所述网络认证节点对称密钥,生成第二认证密钥和第二密钥推演密钥。
[权利要求 14]
如权利要求12或13所述的网络认证节点,其特征在于,所述认证类型指示信息为包括EAP-PSK标志位以及用于指示基于身份的密码技术生成对称密钥的认证请求;或者 所述认证类型指示信息为所述用户设备的ID以及所述用户设备的PVT。
[权利要求 15]
如权利要求12至14任一项所述的网络认证节点,其特征在于,所述发送单元通过EAP-PSK认证协议的第一条消息,发送所述网络认证节点的ID和所述网络认证节点的PVT。
[权利要求 16]
如权利要求12至15任一项所述的网络认证节点,其特征在于,所述网络认证节点对称密钥满足公式: K_AUSF=(SSK_AUSF)([KPAK+hash(G||KPAK||ID_UE||PVT_UE)]PVT_UE); 其中,K_AUSF为网络认证节点对称密钥,SSK_AUSF为网络认证节点的私钥,KPAK为全局公钥,ID_UE为用户设备的标识,PVT_UE为用户设备的PVT,G表示椭圆曲线生成元,[x]P表征椭圆曲线上针对点P的点乘,其中x代表一个整数,P代表椭圆曲线上的一个点,hash()表征密码学意义上的哈希函数,||符号表征字符连接。
[权利要求 17]
一种网络认证方法,其特征在于,包括: 用户设备向网络认证节点发送认证类型指示信息、所述用户设备的身份标识ID以及所述用户设备的公钥认证令牌PVT,所述认证类型指示信息用于指示所述用户设备需要进行基于身份的密码技术和可扩展认证协议的共享密钥EAP-PSK认证; 所述用户设备接收所述网络认证节点发送的所述网络认证节点的ID以及所述网络认证节点的PVT; 所述用户设备根据所述网络认证节点的ID、所述网络认证节点的PVT以及基于所述用户设备身份的私钥和全局公钥生成用户设备对称密钥,并根据所述用户设备对称密钥生成第一认证密钥和第一密钥推演密钥,使用第一认证密钥和第一密钥推演密钥与所述网络认证节点进行EAP-PSK认证。
[权利要求 18]
如权利要求17所述的方法,其特征在于,所述根据所述用户设备对称密钥生成第一认证密钥和第一密钥推演密钥,包括: 接收所述网络认证节点发送的所述网络认证节点的私钥过期日期信息,根据用户设备的私钥过期日期信息、所述网络认证节点的私钥过期日期信息以及所述用户设备对称密钥,生成第一认证密钥和第一密钥推演密钥; 或者 根据所述用户设备生成的随机数和接收到的所述网络认证节点生成的随机数中的至少一个,以及所述用户设备对称密钥,生成第一认证密钥和第一密钥推演密钥。
[权利要求 19]
如权利要求17或18所述的方法,其特征在于,所述认证类型指示信息为包括EAP-PSK标志位并用于指示基于身份签名生成对称密钥的认证请求;或者 所述认证类型指示信息为所述用户设备的ID以及所述用户设备的PVT。
[权利要求 20]
如权利要求17至19任一项所述的方法,其特征在于,所述用户设备通过接入请求信息发送所述认证类型指示信息、所述用户设备的ID和所述用户设备的PVT;或者 所述用户设备通过接入请求信息发送所述认证类型指示信息,通过EAP-PSK认证协议的第二条消息发送所述用户设备的ID和所述用户设备的PVT。
[权利要求 21]
如权利要求17至20任一项所述的方法,其特征在于,所述用户设备对称密钥满足公式: K_UE=(SSK_UE)([KPAK+hash(G||KPAK||ID_AUSF||PVT_AUSF)]PVT_AUSF); 其中,K_UE为用户设备对称密钥,SSK_UE为用户设备的私钥,KPAK为全局公钥,ID_AUSF为网络认证节点的标识,PVT_AUSF为网络认证节点的PVT,G表示椭圆曲线生成元,[x]P表征椭圆曲线上针对点P的点乘,其中x代表一个整数,P代表椭圆曲线上的一个点,hash()表征密码学意义上的哈希函数,||符号表征字符连接。
[权利要求 22]
一种网络认证方法,其特征在于,包括: 网络认证节点接收所述用户设备发送的所述认证类型指示信息、所述用户设备的身份标识ID信息以及所述用户设备的公钥认证令牌PVT; 所述网络认证节点若根据所述认证类型指示信息确定所述用户设备需要进行基于身份的密码技术和可扩展认证协议的共享密钥EAP-PSK认证,则向所述用户设备发送所述网络认证节点的ID以及所述网络认证节点的PVT; 所述网络认证节点依据所述用户设备的ID、所述用户设备的PVT以及基于所述网络认证节点身份的私钥和全局公钥生成网络认证节点对称密钥,根据所述网络认证节点对称 密钥生成第二认证密钥和第二密钥推演密钥,并使用第二认证密钥和第二密钥推演密钥与所述用户设备进行EAP-PSK认证。
[权利要求 23]
如权利要求22所述的方法,其特征在于,所述根据所述网络认证节点对称密钥生成第二认证密钥和第二密钥推演密钥,包括: 接收所述用户设备发送的所述用户设备的私钥过期日期信息,根据网络认证节点的私钥过期日期信息、所述用户设备的私钥过期日期信息以及所述网络认证节点对称密钥,生成第二认证密钥和第二密钥推演密钥;或者 根据所述网络认证节点生成的随机数和接收到的所述用户设备生成的随机数中的至少一个,以及所述网络认证节点对称密钥,生成第二认证密钥和第二密钥推演密钥。
[权利要求 24]
如权利要求22或23所述的方法,其特征在于,所述认证类型指示信息为包括EAP-PSK标志位并用于指示基于身份签名生成对称密钥的认证请求;或者 所述认证类型指示信息为所述用户设备的ID以及所述用户设备的PVT。
[权利要求 25]
如权利要求22至24任一项所述的方法,其特征在于,所述网络认证节点通过EAP-PSK认证协议的第一条消息,发送所述网络认证节点的ID和所述网络认证节点的PVT。
[权利要求 26]
如权利要求22至25任一项所述的方法,其特征在于,所述网络认证节点对称密钥满足公式: K_AUSF=(SSK_AUSF)([KPAK+hash(G||KPAK||ID_UE||PVT_UE)]PVT_UE); 其中,K_AUSF为网络认证节点对称密钥,SSK_AUSF为网络认证节点的私钥,KPAK为全局公钥,ID_UE为用户设备的标识,PVT_UE为用户设备的PVT,G表示椭圆曲线生成元,[x]P表征椭圆曲线上针对点P的点乘,其中x代表一个整数,P代表椭圆曲线上的一个点,hash()表征密码学意义上的哈希函数,||符号表征字符连接。
附图