一种实现虚拟专用网络密钥协商的方法和装置与流程

文档序号:12134579阅读:409来源:国知局
一种实现虚拟专用网络密钥协商的方法和装置与流程

本发明涉及通信技术领域,尤其涉及一种实现虚拟专用网络密钥协商的方法和装置。



背景技术:

虚拟专用网络(VPN,Virtual Private Network),其功能是在共用网络上建立的专用网络,进行加密通讯。在企业网络中有着广泛的应用。VPN网关通过对数据包的加密和数据包目标地址的转换实现远程访问。VPN有多种分类方式,按协议方式可分为多协议标签转换虚拟专用网(MPLS VPN,Multiprotocol Label Switching VPN)、安全套接层虚拟专用网(SSL VPN,Security Socket Layer VPN)、IP协议安全结构虚拟专用网(IPSec VPN,Security Architecture for IP Network VPN),按实现方式可分为服务器、硬件、软件等。VPN具有成本低,并且易于使用的特点。在所有VPN技术中,SSL VPN是解决远程用户访问公司敏感数据最简单最安全的解决技术。SSL VPN基于成熟的SSL协议,无需专用客户端软件支持,在客户端与服务器之间使用公钥证书进行身份验证,进而协商生成双方加密通信的对称密钥,保证数据传输的安全。

但是SSL VPN在应用部署时仍存在着一定的不足:

首先,企业SSL VPN往往需要员工首先使用已分配好的用户名密码进行身份认证,认证通过后才能够进行VPN的协商配置,最终完成安全通道的建立,基于用户名密码的认证方式首先便给员工带来了不便,缺乏责任心的员工可能为了使用方便,会设置一个简单的密码,这就为企业信息泄露带来了极大的安全隐患;

其次,现有SSL VPN认证基于公钥证书进行密钥协商的方式,客户端与服 务器之间需经过多次交互协商,最终生成传输保护用的共享密钥,这个过程非常耗时,并且在每一次VPN连接后,再次连接仍需要重新协商,耗费大量的系统资源,若保存一个长时间的共享密钥,在一个时段内都可以使用该密钥进行VPN连接,则更易出现问题,首先是服务器需要为每个用户保存共享密钥,增加了维护成本,同时在终端侧,由于密钥只能在应用层存储,极易被终端上的恶意程序盗取,造成密钥泄露,因此SSL VPN使用历史密钥极不安全;

最后,为了追求协商速度,SSL VPN认证中的密钥协商往往采用的是单向鉴权,即只有服务器具备公钥证书,协商时只需要客户端认证服务器,而服务器不需要认证客户端,相比于双向鉴权,这也给攻击者带来了可乘之机。

综上所述,现有SSL VPN认证因需使用用户名密码方式进行鉴权,不仅造成使用不方便,而且易导致机密信息的泄露,极不安全;此外,在协商共享密钥时每次都需重新协商且需经过多次交互方可生成共享密钥,不仅耗时同时亦造成系统资源的浪费。



技术实现要素:

本发明实施例提供一种实现虚拟专用网络密钥协商的方法和装置,用以解决现有技术中SSL VPN认证安全性低、时间比较长以及浪费系统资源的问题。

本发明实施例提供的一种实现虚拟专用网络密钥协商的方法,包括:

终端在需要发起虚拟专用网络VPN服务器连接后,若所述终端已存储根密钥,则根据根密钥、所述终端引导标识(B-TID,Bootstrapping Transaction Identifier)以及VPN服务器的网络应用标识(NAF_id,Network Application Function Identifier)确定第一共享密钥,并将确定的第一共享密钥及所述B-TID发送给VPN服务器;

若接收到来自VPN服务器的认证成功响应,则确定完成密钥协商。

可选的,终端在需要发起VPN服务器连接后,还包括:

若所述终端未存储根密钥,则终端与认证服务功能BSF网元协商确定根密 钥和B-TID,并执行确定第一共享密钥的步骤。

可选的,所述终端与BSF网元协商确定根密钥和B-TID,具体包括:

所述终端向BSF网元发送用户标识;

所述终端根据收到的来自BSF网元的随机数和认证标记,进行验证,并在验证通过后确定加密密钥、完整性密钥以及鉴权数据响应RES;

所述终端根据鉴权数据响应向BSF网元请求认证,并在认证通过后,接收来自所述BSF网元的所述终端的B-TID,以及根据加密密钥和完整性密钥确定根密钥。

本发明实施例提供的一种实现虚拟专用网络密钥协商的方法,包括:

BSF网元在收到VPN服务器发送的终端的B-TID和VPN服务器的NAF_id后,根据所述B-TID和根密钥的绑定关系,确定所述B-TID对应的根密钥;

所述BSF网元根据所述B-TID、所述NAF_id以及所述根密钥,确定第二共享密钥;

所述BSF网元将确定的第二共享密钥返回至VPN服务器,以使VPN服务器根据收到的所述第二共享密钥对所述终端进行鉴权。

可选的,所述BSF根据下列方式建立B-TID和根密钥的绑定关系:

所述BSF网元根据收到的终端发送的用户标识,从网络侧获取鉴权五元组认证向量;

所述BSF网元将所述鉴权五元组认证向量中的随机数与认证标记发送给终端;

所述BSF网元在收到来自所述终端的鉴权数据响应后,通过所述鉴权五元组认证向量中的加密密钥、完整性密钥和应答响应期望值XRES对终端进行认证,并在认证通过后,根据加密密钥和完整性密钥确定根密钥和终端的B-TID,并建立B-TID和根密钥的绑定关系。

可选的,所述BSF根据加密密钥和完整性密钥确定根密钥和B-TID之后,还包括:

所述BSF将所述B-TID发送给所述终端。

本发明实施例提供的一种实现虚拟专用网络密钥协商的方法,包括:

VPN服务器接收终端发送的第一共享密钥及B-TID,并将B-TID与VPN服务器的NAF_id发送给BSF网元;

所述VPN服务器接收BSF网元返回的第二共享密钥;

所述VPN服务器将所述第一共享密钥和第二共享密钥进行比较;

如果所述第一共享密钥和第二共享密钥相同,则向所述终端返回认证成功响应。

本发明实施例提供的一种实现虚拟专用网络密钥协商的终端,包括:

第一确定模块,用于在需要发起虚拟专用网络VPN服务器连接后,若已存储根密钥,则根据根密钥、所述终端引导标识(B-TID,Bootstrapping Transaction Identifier)以及VPN服务器的网络应用标识(NAF_id,Network Application Function Identifier)确定第一共享密钥,并将确定的第一共享密钥及所述B-TID发送给VPN服务器;

第一接收模块,用于若接收到来自VPN服务器的认证成功响应,则确定完成密钥协商。

可选的,所述第一确定模块还用于:

在需要发起VPN服务器连接后,若未存储根密钥,则与认证服务功能BSF网元协商确定根密钥和B-TID,并执行生成第一共享密钥的步骤。

可选的,所述第一确定模块还用于:

与BSF网元协商确定根密钥和B-TID,向BSF网元发送用户标识;根据收到的来自BSF网元的随机数和认证标记,进行验证,并在验证通过后确定加密密钥、完整性密钥以及鉴权数据响应RES;根据鉴权数据响应向BSF网元请求认证,并在认证通过后,接收来自所述BSF网元的所述终端的B-TID,以及根据加密密钥和完整性密钥确定根密钥。

本发明实施例提供的一种实现虚拟专用网络密钥协商的BSF网元,包括:

查询模块,用于在收到VPN服务器发送的终端B-TID和VPN服务器的NAF_id后,根据所述B-TID和根密钥的绑定关系,确定所述B-TID对应的根密钥;

第二确定模块,用于根据所述B-TID、所述NAF_id以及所述根密钥,确定第二共享密钥;

发送模块,用于将确定的第二共享密钥返回至VPN服务器,以使VPN服务器根据收到的所述第二共享密钥对所述终端进行鉴权。

可选的,所述查询模块具体用于:

根据下列方式建立B-TID和根密钥的绑定关系:根据收到的终端发送的用户标识,从网络侧获取鉴权五元组认证向量;将所述鉴权五元组认证向量中的随机数与认证信息发送给终端;在收到来自所述终端的鉴权数据响应后,通过所述鉴权五元组认证向量中的加密密钥、完整性密钥和应答响应期望值XRES对终端进行认证,并在认证通过后,根据加密密钥和完整性密钥确定根密钥和终端的B-TID,并建立B-TID和根密钥的绑定关系。

可选的,所述发送模块具体用于:

根据加密密钥和完整性密钥确定根密钥和B-TID之后,将所述B-TID发送给所述终端。

本发明实施例提供的一种实现虚拟专用网络密钥协商的VPN服务器,包括:

收发模块,用于接收终端发送的第一共享密钥及B-TID,并将B-TID与VPN服务器的NAF_id发送给BSF网元;

第二接收模块,用于接收BSF网元返回的第二共享密钥;

比较模块,用于将所述第一共享密钥和第二共享密钥进行比较;

处理模块,用于如果所述第一共享密钥和第二共享密钥相同,则向所述终端返回认证成功响应。

本发明实施例中,终端在需要发起VPN服务器连接后,若所述终端已存储根密钥,则根据根密钥、所述终端的B-TID以及VPN服务器的NAF_id确定第 一共享密钥,并将确定的第一共享密钥及所述B-TID发送给VPN服务器;若接收到来自VPN服务器的认证成功响应,则确定完成密钥协商。相对于现有的SSL VPN认证协商,本发明实施例提供的实现虚拟专用网络密钥协商的方法,将共享密钥作为客户端与服务器之间的会话密钥,并根据已存储的根密钥、终端的B-TID以及VPN服务器的NAF_id生成第一共享密钥,免去了现有VPN中每次认证都需要重新协商的重复流程,因此其生成速度极快,降低了密钥协商延迟,减少了系统资源消耗,优化了VPN的使用体验;

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的实现虚拟专用网络密钥协商的方法流程图之一;

图2为本发明实施例提供的实现虚拟专用网络密钥协商的方法流程图之二;

图3为本发明实施例提供的实现虚拟专用网络根密钥协商的流程示意图;

图4为本发明实施例提供的实现虚拟专用网络密钥协商的方法流程图之三;

图5为本发明实施例提供的实现虚拟专用网络共享密钥协商的流程示意图;

图6为本发明实施例提供的实现虚拟专用网络密钥协商的示例图;

图7为本发明实施例提供的实现单个APP与多个VPN服务器的密钥协商架构图;

图8为本发明实施例提供的实现虚拟专用网络密钥协商的终端流程图;

图9为本发明实施例提供的实现虚拟专用网络密钥协商的BSF网元流程图;

图10为本发明实施例提供的实现虚拟专用网络密钥协商的VPN服务器流程图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

下面结合说明书附图对本发明实施例作进一步详细描述。

本发明实施例提供的实现虚拟专用网络密钥协商的方法,可以应用于终端,如图1所示,具体包括以下步骤:

步骤101,终端在需要发起VPN服务器连接后,若所述终端已存储根密钥,则根据根密钥、所述终端的B-TID以及VPN服务器的NAF_id确定第一共享密钥,并将确定的第一共享密钥及所述B-TID发送给VPN服务器;

步骤102,若接收到来自VPN服务器的认证成功响应,则确定完成密钥协商。

可选的,上述步骤101中,在终端安装VPN专用APP,APP可用于实现终端及VPN服务器之间的交互。终端在发起需要连接的VPN服务器时,查看当前是否已存储根密钥(Ks,Keystore),若已存储则根据根密钥Ks、所述终端的B-TID以及VPN服务器的NAF_id确定第一共享密钥(Ks_NAF1,Keystore_Network Application Function),并将确定的第一共享密钥Ks_NAF1及所述B-TID发送给VPN服务器。

具体地,终端根据根密钥Ks、所述终端的B-TID以及VPN服务器的NAF_id确定第一共享密钥,具体为Ks_NAF1=KDF(Ks,“gba-me”,RAND,IMPI,NAP_ID),其中,KDF是密钥引导算法(KDF,KeyDerivationFunction),RAND为协商Ks时BSF生成的随机数(RAND,Random Number),IMPI是终端的IP多媒体私有标识(IMPI,IP Multimedia Private Identity)、NAF_ID是业务的网络应用标识。

可选的,终端在将第一共享密钥及所述B-TID发送给VPN服务器时,可以 通过对第一共享密钥进行加密,并将加密后的第一共享密钥、所述终端的B-TID一起发送给VPN服务器。例如终端生成认证随机数rand,并使用第一共享密钥加密后生成随机数密文encrand,将rand、encrand以及B-TID发送给VPN服务器。

在步骤101中,所述终端在需要发起VPN服务器连接后,若所述终端未存储根密钥Ks,则终端与认证服务功能(BSF,Bootstrapping Server Function)网元协商确定根密钥Ks和B-TID,并执行生成第一共享密钥的步骤。

具体地,所述终端与BSF网元协商确定根密钥Ks和B-TID,包括:

终端向BSF网元发送用户标识;根据收到的来自BSF网元的随机数RAND和认证标记(AUTN,Authentication Token)通过鉴权算法进行验证,并在验证通过后确定加密密钥(CK,Cipher Key),完整性密钥(IK,Integrity Key)以及鉴权数据响应(RES,Response);根据鉴权数据响应RES向BSF网元请求认证,并在认证通过后,接收来自所述BSF网元的所述终端的B-TID,以及根据加密密钥CK和完整性密钥IK确定根密钥Ks。可选的,用户标识可以是IP多媒体私有标识(IMPI,IP Multimedia Private Identity),还可以是国际移动用户标识(IMSI,International Mobile Subscriber Identity)。

进一步地,终端在与BSF网元协商确定根密钥和B-TID之后,执行生成第一共享密钥的步骤。

其中,根密钥Ks是一类可存储且可设置有效期的共享密钥,在有效期内可重复使用,Ks在客户端与BSF网元协商后完成初始化,之后便存储在SIM卡及BSF中,具备很高的存储安全性。

若根密钥超出有效期,则重新进行根密钥协商流程,建立新的B-TID与根密钥的绑定关系。

进一步地,终端在通过步骤101确定第一共享密钥,并将确定的第一共享密钥及所述B-TID发送给VPN服务器之后,接收来自VPN服务器的认证成功响应,确定完成密钥协商。

在本发明实施例提供的VPN认证及密钥协商的方法中,通过根密钥的协商以及在根密钥之上扩展生成的共享密钥,实现了对传统SSL VPN每次需要重新协商共享密钥的流程优化,且由于根密钥存储在终端及BSF中,具备很高的存储安全性,大大提高了VPN的安全性及使用性能。

本发明实施例提供的实现虚拟专用网络VPN认证及密钥协商的方法,可以应用于BSF网元,如图2所示,具体包括以下步骤:

步骤201,BSF网元在收到VPN服务器发送的终端的B-TID和VPN服务器的NAF_id后,根据所述B-TID和根密钥的绑定关系,确定所述B-TID对应的根密钥;

步骤202,所述BSF网元根据所述B-TID、所述NAF_id以及所述根密钥,确定第二共享密钥;

步骤203,所述BSF网元将确定的第二共享密钥返回至VPN服务器,以使VPN服务器根据收到的所述第二共享密钥对所述终端进行鉴权。

具体地,在执行步骤201时,BSF网元根据下列方式建立B-TID和根密钥的绑定关系:

所述BSF网元根据收到的终端发送的用户标识,从网络侧获取鉴权五元组认证向量;

所述BSF网元将所述鉴权五元组认证向量中的随机数与认证信息发送给终端;

所述BSF网元在收到来自所述终端的鉴权数据响应后,通过所述鉴权五元组认证向量中的加密密钥、完整性密钥和应答响应期望值(XRES,Expected Response)对终端进行认证,并在认证通过后,根据加密密钥和完整性密钥确定根密钥和终端的B-TID,并建立B-TID和根密钥的绑定关系。

可选的,所述BSF网元根据收到的终端发送的用户标识,从网络侧获取鉴权五元组认证向量,具体为:BSF网元向归属签约用户服务器(HSS,Home Subscriber Server)获取所述用户标识所对应的鉴权五元组认证向量,HSS根据 用户标识返回鉴权五元组认证向量AV=RAND||AUTN||XRES||CK||IK,其中RAND为随机数,保证每次协商的Ks都不一样,AUTN是认证标记,需终端进行验证,XRES用于终端返回的认证信息鉴权,CK与IK用于生成Ks。

可选的,BSF网元在收到HSS的认证向量AV后,将RAND与AUTN返回至终端,要求终端对BSF网元进行认证,XRES、CK、IK信息保存在BSF本地。

可选的,BSF网元在收到来自所述终端的鉴权数据响应后,通过保存的CK、IK、XRES对终端进行认证,并在认证通过后,计算根密钥Ks=CK||IK,同时产生B-TID的值,B-TID=base64encode(RAND)@BSF_servers_domain_name。

进一步地,BSF网元根据CK和IK确定根密钥Ks和B-TID之后,将所述B-TID发送给所述终端。

在执行步骤201之后,BSF网元根据所述B-TID、所述NAF_id以及所述根密钥,确定第二共享密钥Ks_NAF2。

具体地,BSF网元根据所述B-TID、所述NAF_id以及所述根密钥,确定第二共享密钥Ks_NAF2,具体为Ks_NAF2=KDF(Ks,“gba-me”,RAND,IMPI,NAP_ID),其中,KDF是密钥引导算法(KDF,KeyDerivationFunction),RAND为协商Ks时BSF生成的随机数(RAND,Random Number),IMPI是终端的IP多媒体私有标识(IMPI,IP Multimedia Private Identity)、NAF_ID是业务的网络应用标识。

在步骤203中,BSF网元将经过步骤202确定的第二共享密钥返回至VPN服务器,以使VPN服务器根据收到的所述第二共享密钥对所述终端进行鉴权。

本发明实施例提供的上述实现虚拟专用网络VPN认证及密钥协商的方法,基于终端SIM卡及网络侧鉴权五元组的认证方式,替代了传统SSL VPN需使用用户名密码方式进行鉴权的认证体制,在消除了密码破解导致机密信息泄漏,提升系统安全性的基础上,减少用户在认证过程中的参与,极大的优化了VPN的认证流程,此外,在存在根密钥Ks的情况下,将用户身份认证与共享密钥协商在一次协商的过程中完成,简化了认证协商流程,在保证安全性的情况下大 大提高了VPN认证协商效率。

下面结合图3举一具体实施例,介绍本发明的技术方案如何实现虚拟专用网络根密钥Ks的协商。

如图3所示,终端设备(UE,User Equipment)携带用户信息IMPI向BSF发起初始化请求;BSF收到UE的请求后,向HSS获取该IMPI所对应的用户信息,HSS根据IMPI返回鉴权五元组认证向量AV=RAND||AUTH||XRES||CK||IK,其中RAND为随机数,保证每次协商的Ks都不一样,AUTH是认证信息,需UE进行验证,XRES用于UE返回的认证信息鉴权,CK与IK用于生成Ks;BSF收到HSS的认证向量AV,将RAND与AUTN返回至UE,要求UE对BSF进行认证,XRES、CK、IK信息保存在BSF本地;UE收到RAND及AUTH,通过鉴权算法验证AUTN,确认此消息来自授权的网络,同时计算出CK、IK及RES。此时BSF与UE中都保存了CK与IK;UE使用RES计算得到response并发送给BSF请求认证;BSF通过保存的CK、IK、XRES验证response的正确性,若正确则计算根密钥Ks=CK||IK,同时产生B-TID的值,B-TID=base64encode(RAND)@BSF_servers_domain_name;BSF发送认证成功响应及B-TID给UE,并告知Ks的有效期。UE收到成功消息后,同样使用CK||IK计算得出Ks,此时UE与BSF都保存了根密钥Ks,Ks初始化完成,协商结束。

本发明实施例提供的实现虚拟专用网络密钥协商的方法,可以应用于服务器侧,如图4所示,具体包括以下步骤:

步骤401,VPN服务器接收终端发送的第一共享密钥及B-TID,并将B-TID与VPN服务器的NAF_id发送给BSF网元;

步骤402,所述VPN服务器接收BSF网元返回的第二共享密钥;

步骤403,所述VPN服务器将所述第一共享密钥和第二共享密钥进行比较;

步骤404,如果所述第一共享密钥和第二共享密钥相同,则向所述终端返回认证成功响应。

具体地,VPN服务器在接收到BSF网元返回的第二共享密钥时,用该第二 共享密钥校验第一共享密钥,若解密出的内容一致,则认证成功。例如VPN服务器接收到终端发送的rand(终端生成认证随机数),encrand(使用第一共享密钥加密后生成)以及B-TID,在BSF网元返回第二共享密钥时,VPN服务器根据第二共享密钥校验encrand,若解密出的内容与rand一致,则认证成功。

下面结合图5举一具体实施例,介绍本发明的技术方案如何实现虚拟专用网络共享密钥的协商。

如图5所示,UE在APP上选择想要连接的VPN服务器,APP向UE发送被选服务器的NAF_id并申请共享密钥;UE查看当前是否已存储根密钥Ks,若存在则根据设备B-TID与接收到的NAF_id生成Ks_naf,若不存在则根据图5中的Ks初始化流程与BSF协商Ks,再生成第一共享密钥Ks_naf1;UE将生成的Ks_naf1及B-TID发送给APP;APP生成认证随机数rand,并使用Ks_naf1加密后生成encrand,将rand、encrand、B-TID一起发送给VPN服务器请求认证并要求服务器也生成共享密钥;VPN服务器接收到请求后,将B-TID与其NAF_id发送给BSF,BSF根据Ks、B-TID及NAF_id同样生成Ks_naf2,并通过安全通道返回至VPN服务器;VPN服务器根据BSF返回的Ks_naf2校验encrand,若解密出的内容与rand一致,则认证成功,返回APP认证成功响应;APP收到认证成功响应,此时APP与VPN服务器都已拥有共享密钥Ks_naf,密钥协商成功,即可进行安全通信。VPN认证及密钥协商流程结束。

参照图6的场景以便更好地论述本发明实施例中的具体实现过程,图6只是一个场景例子,显然本发明的技术方案可以应用到VPN密钥协商的任何场景下。

如图6所示,通用认证机制(GBA,General Bootstrapping Architecture)定义了一种在终端和服务器之间的通用密钥协商机制,从其架构模型可以看出,具体网元包括:

UE是终端设备和SIM卡的总称,在本发明中指手机及可插入SIM卡的移动终端,可用于与BSF网元协商确定根密钥Ks,并基于Ks确定第一共享密钥。

应用服务器(NAF,Network Application Function),实现应用的业务逻辑功能,在完成对终端的认证后为终端提供业务服务,在本发明中即是指企业VPN服务器,用于将接收的UE发送的第一共享密钥和接收的BSF网元返回的第二共享密钥进行比较,如果所述第一共享密钥和第二共享密钥相同,则向UE返回认证成功响应,即可与终端进行安全通信。

BSF是核心网元,BSF和UE通过鉴权和密钥协商(AKA,Authentication and Key Agreement)协议实现认证,并且协商出随后用于UE和NAF间通信的会话密钥,BSF能够根据本地策略设定密钥的有效期,在本发明中即为BSF和UE协商确定根密钥Ks,并基于Ks确定第二共享密钥。

HSS存储了终端(U)SIM卡中的鉴权数据,在本发明中HSS根据用户标识向BSF返回鉴权五元组认证向量,以使BSF对UE进行认证。

各网元间的参考点包括:

Ub为UE与BSF之间进行交互并协商根密钥(Ks,Root Key)的接口,用于通用认证机制流程初始化,后续操作依赖于Ks进行。

Zh为BSF在HSS上获得客户端认证信息的接口,用于BSF鉴权客户端身份并生成根密钥Ks。

Zn为NAF与BSF之间进行交互的接口,NAF通过该接口向BSF鉴权用户身份并获取扩展共享密钥(Ks_naf,Extended Shared Key)。在本发明中,VPN服务器通过该接口在BSF处获得与客户端一致的共享密钥。

Ua为UE与NAF之间的扩展共享密钥Ks_naf协商接口,通过该接口传输Ks_naf的生成参数,完成Ks_naf的生成。

可选的,如图7所示,基于共享密钥的生成特性,亦可实现单个APP与多个VPN服务器的快速身份认证及共享密钥协商,用更有效的技术大大扩展了系统架构,优化了VPN的使用效果。

基于相同的技术构思,本发明实施例还提供一种实现虚拟专用网络密钥协商的装置,该装置可执行上述方法实施例,由于该装置解决问题的原理与前述 一种实现虚拟专用网络密钥协商的方法相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。

本发明实施例提供的一种实现虚拟专用网络密钥协商的终端,如图8所示,包括:

第一确定模块801,用于在需要发起虚拟专用网络VPN服务器连接后,若已存储根密钥,则根据根密钥、所述终端引导标识B-TID以及VPN服务器的网络应用标识NAF_id确定第一共享密钥,并将确定的第一共享密钥及所述B-TID发送给VPN服务器;

第一接收模块802,用于若接收到来自VPN服务器的认证成功响应,则确定完成密钥协商。

可选的,所述第一确定模块801还用于:

在需要发起VPN服务器连接后,若未存储根密钥,则与认证服务功能BSF网元协商确定根密钥和B-TID,并执行生成第一共享密钥的步骤。

可选的,所述第一确定模块801还用于:

与BSF网元协商确定根密钥和B-TID,向BSF网元发送用户标识;根据收到的来自BSF网元的随机数和认证标记,进行验证,并在验证通过后确定加密密钥、完整性密钥以及鉴权数据响应RES;根据鉴权数据响应向BSF网元请求认证,并在认证通过后,接收来自所述BSF网元的所述终端的B-TID,以及根据加密密钥和完整性密钥确定根密钥。

本发明实施例还提供了一种实现虚拟专用网络密钥协商的BSF网元,如图9所示,包括:

查询模块901,用于在收到VPN服务器发送的终端B-TID和VPN服务器的NAF_id后,根据所述B-TID和根密钥的绑定关系,确定所述B-TID对应的根密钥;

第二确定模块902,用于根据所述B-TID、所述NAF_id以及所述根密钥,确定第二共享密钥;

发送模块903,用于将确定的第二共享密钥返回至VPN服务器,以使VPN服务器根据收到的所述第二共享密钥对所述终端进行鉴权。

可选的,所述查询模块901具体用于:

根据下列方式建立B-TID和根密钥的绑定关系:根据收到的终端发送的用户标识,从网络侧获取鉴权五元组认证向量;将所述鉴权五元组认证向量中的随机数与认证信息发送给终端;在收到来自所述终端的鉴权数据响应后,通过所述鉴权五元组认证向量中的加密密钥、完整性密钥和应答响应期望值XRES对终端进行认证,并在认证通过后,根据加密密钥和完整性密钥确定根密钥和终端的B-TID,并建立B-TID和根密钥的绑定关系。

可选的,所述发送模块903具体用于:

根据加密密钥和完整性密钥确定根密钥和B-TID之后,将所述B-TID发送给所述终端。

本发明实施例还提供了一种实现虚拟专用网络密钥协商的VPN服务器,如图10所示,包括:

收发模块1001,用于接收终端发送的第一共享密钥及B-TID,并将B-TID与VPN服务器的NAF_id发送给BSF网元;

第二接收模块1002,用于接收BSF网元返回的第二共享密钥;

比较模块1003,用于将所述第一共享密钥和第二共享密钥进行比较;

处理模块1004,用于如果所述第一共享密钥和第二共享密钥相同,则向所述终端返回认证成功响应。

本领域内的技术人员应明白,本申请的实施例可提供为方法、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品 的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1