一种证书请求消息发送方法、接收方法和装置与流程

文档序号:15930706发布日期:2018-11-14 01:36阅读:146来源:国知局

本申请涉及无线通信领域,尤其涉及一种证书请求消息发送方法、接收方法和装置。

背景技术

在网络功能虚拟化(networkfunctionvirtualization,nfv)系统中,包括至少一个虚拟网络功能(virtualnetworkfunction,vnf)实体,简称vnf实体。每个vnf实体包括至少一种网络功能,用于实现虚拟化环境中的特定功能。在vnf实体与其他网元实体前,需要在vnf实体上安装证书,以保证数据传输的安全性。一般的,可以通过直接由公共密钥基础设施(publickeyinfrastructure,pki)生成证书文件和私钥,然后再将该证书文件和私钥通过拷贝方式下发给各个vnf实体,以供vnf实体安装和使用。

具体地,预置证书的过程包括:在生产软硬件时,生产商通过自己的pki系统,为每个网元内置一个唯一的生产商证书,此生产商证书与硬件标识绑定,以保证在生产过程中的证书颁发过程硬件证书唯一性。网元上线获取初始配置后,使用证书管理协议(例如证书管理协议(certificatemanagementprotocol,cmp))协议向运营商的pki系统申请运营商颁发的证书。在申请证书过程中,网元(例如vnf实体)需要向认证中心(certificateauthority,ca)发送请求消息,以请求ca签发证书。

但是,目前vnf实体发送的证书请求消息由于没有设置安全机制,都是明文发送,因此容易被截获和篡改,导致ca不能将证书正确地签发给对应的请求方vnf实体。



技术实现要素:

本申请提供了一种证书请求消息发送方法、接收方法和装置,以保证证书请求消息传输的安全性和完整性。

第一方面,本申请提供了一种证书请求消息发送方法,具体地,所述方法包括如下步骤:虚拟网络功能简称vnf实体获取一次性凭据和第一证书请求消息;然后对该一次性凭据进行解析得到第一安全密钥和第一hmac密钥;再利用所述第一安全密钥和所述第一hmac密钥对所述第一证书请求消息进行处理并生成第二证书请求消息,其中,所述第二证书请求消息中包括用于识别该vnf实体的身份标识;该方法还包括:vnf实体将所述第二证书请求消息发送给认证中心,以便于所述认证中心对该vnf实体的身份进行验证。其中,本方法中涉及的一次性凭据可以为随机数。所述第一证书请求消息可以由vnf实体内部生成或者从其它网络实体中获取,对此不予限制。

采用本方面提供的方法,vnf实体利用安全密钥对证书请求消息进行加密处理,能够防止消息内容被明文发送,利用hmac密钥处理证书请求消息能够防止消息的内容被截获和篡改,并且通过在证书请求消息中绑定vnf实体的身份标识,使得认证中心能够准确地辨认发送方vnf实体,既实现了认证中心对发送请求的vnf实体的身份验证,又保护了请求消息传输的安全性和完整性。

结合第一方面,在一种实现方式中,上述方法中的步骤:所述vnf实体利用所述第一安全密钥和所述第一hmac密钥对所述第一证书请求消息进行处理生成第二证书请求消息的过程具体包括:vnf实体利用所述第一安全密钥对所述第一证书请求消息做加密处理,并生成第一请求消息密文;然后利用所述第一hmac密钥对所述第一证书请求消息做hmac函数运算生成第一散列消息验证码,并将所述第一散列消息验证码发送给所述认证中心;所述vnf实体结合所述第一请求消息密文和所述第一散列消息验证码生成所述第二证书请求消息。本方面利用第一hmac密钥直接对第一证书请求消息做hmac函数运算能够保证原始请求消息内容的安全性,防止先经过第一安全密钥加密后的证书请求消息的内容发生篡改。

结合第一方面,在一种实现方式中,上述方法中的步骤:所述vnf实体获取一次性凭据的过程具体包括:所述vnf实体获取管理和编排简称mano实体转发的所述一次性凭据,或者,所述vnf实体获取所述认证中心发送的所述一次性凭据。

其中,每个一次性凭据只能应用于一次证书请求,因此当认证中心对一个证书请求消息进行验证之后,该对应的一次性凭据就会失效,从而能够避免一个凭据被多次使用,或者凭据被攻击者利用,导致伪造申请证书,威胁网络系统安全。

结合第一方面,在一种实现方式中,上述方法中的步骤:所述vnf实体获取所述认证中心发送的所述一次性凭据之前,所述方法还包括:所述vnf实体生成注册请求消息,所述注册请求消息中包括所述vnf实体的身份标识;然后向所述认证中心发送该注册请求消息,以使认证中心根据所述注册请求消息的内容生成一次性凭据。

结合第一方面,在一种实现方式中,如果所述vnf实体为vnfa实体,那么还包括vnfs实体,进一步地,在上述方法中的步骤:所述vnf实体获取一次性凭据的过程包括:所述vnfa实体获取vnfs实体转发的一次性凭据,其中,所述vnfa实体与所述vnfs实体之间预先共享有秘密信息,该秘密信息用于建立所述vnfa实体与所述vnfs实体之间的安全通道,并利用该安全通道进行通信,可以提高传输数据或信息的安全性。具体地,所述vnf实体将所述第二证书请求消息发送给认证中心的过程具体包括:vnfa实体通过vnfs实体转发将所述第二证书请求消息发送给认证中心。

本实现方式应用于分离的多个vnf实体的场景,当多个vnf实体与外部网元进行数据交互时,设置vnfs实体对前端的多个vnf实体进行管理和控制,并通过vnfs实体向认证中心转发证书请求消息,实现了多个vnf实体或vnfa实体与mano实体和认证中心的通信。此外,通过vnf实体与vnfs实体之间的共享秘密信息,建立安全通道以发送一次性凭据和证书请求消息,进而保证数据传输的安全性。

结合第一方面,在一种实现方式中,上述方法中的步骤:所述vnf实体获取所述mano实体转发的所述一次性凭据的过程具体包括:所述vnf实体与所述mano实体之间建立第一安全通道,所述vnf实体通过该第一安全通道获取所述mano实体转发的所述一次性凭据,本实现方式中由于建立了第一安全通道传输一次性凭据,避免了凭据被明文发送和转发,从而保证了传输一次性凭据的安全性。

第二方面,本申请提供了一种证书请求消息接收方法,该方法可以应用于认证中心,与第一方面提供的证书请求消息发送方法相对应,具体地,该接收方法包括如下步骤:认证中心获取vnf实体发送的第二证书请求消息,所述第二证书请求消息中包括用于识别所述vnf实体的身份标识;认证中心根据所述身份标识确定所述vnf实体对应的一次性凭据;以及根据该一次性凭据和第二证书请求消息对所述vnf实体的身份进行验证。

结合第二方面,在一种实现方式中,所述第二证书请求消息中包括第一散列消息验证码;上述方法中的步骤:所述认证中心根据所述一次性凭据和所述第二证书请求消息对所述vnf实体的身份进行验证的过程具体包括:认证中心解析所述一次性凭据得到第二安全密钥和第二hmac密钥;然后利用所述第二安全密钥对所述第二证书请求消息解密得到所述第二证书请求消息的内容;所述认证中心再利用所述该第二hmac密钥对所述第二证书请求消息的内容做hmac函数运算,并生成第三证书请求消息;判断如果所述第三证书请求消息与第一散列消息验证码相同,则验证所述vnf实体身份合法。;否则,身份不合法。

结合第二方面,在一种实现方式中,所述方法还包括:如果所述vnf实体身份合法,则生成证书;认证中心将所述证书签发给所述vnf实体。

结合第二方面,在一种实现方式中,在认证中心获取vnf实体发送的第二证书请求消息之前,所述方法还包括如下步骤:认证中心获取所述vnf实体的注册请求消息,所述注册请求消息中包括vnf实体的身份标识;所述认证中心根据所述vnf实体的身份标识生成一次性凭据;所述认证中心将所述一次性凭据发送给与所述身份标识对应的vnf实体。

结合第二方面,在一种实现方式中,上述方法中的步骤:所述认证中心将所述一次性凭据发送给所述vnf实体的过程具体包括:认证中心与mano实体建立第二安全通道;所述认证中心通过所述第二安全通道将所述一次性凭据发送给所述vnf实体,以提高传输一次性凭据的安全性。

结合第二方面,在一种实现方式中,所述认证中心获取所述vnf实体的注册请求消息的过程具体包括:认证中心通过mano实体获取所述vnf实体的注册请求消息。

结合第二方面,在一种实现方式中,如果所述vnf实体为vnfa实体,则还包括vnfs实体,并且,所述vnfa实体与所述vnfs实体之间共享有秘密信息,所述秘密信息用于建立所述vnfa实体与所述vnfs实体之间的安全通道;所述认证中心获取vnf实体发送的第二证书请求消息的过程具体包括:所述认证中心获取所述vnfs实体使用所述安全通道转发的所述第二证书请求消息。

第三方面,本实施例还提供一种注册请求消息发送方法,该方法可以应用于mano实体,具体地,该方法包括如下步骤:mano实体在创立至少一个vnf实体后,生成至少一个vnf实体的注册请求消息;然后将所述至少一个vnf实体的注册请求消息发送给认证中心,其中每个所述注册请求消息中包括用于识别一个vnf实体的身份标识。

结合第三方面,在一种实现方式中,所述方法还包括:所述mano实体获取来自所述认证中心的至少一个一次性凭据,其中,每个所述一次性凭据可以根据所述注册请求消息中的vnf实体身份标识生成;所述mano实体获取一次性凭据之后将所述至少一个一次性凭据发送给对应的vnf实体。

结合第三方面,在一种实现方式中,上述方法中的步骤:mano实体将所述至少一个一次性凭据发送给对应的vnf实体的过程具体包括:所述mano实体与所述至少一个vnf实体之间建立至少一个第一安全通道;所述mano实体将所述至少一个一次性凭据通过所述至少一个第一安全通道发送给所述至少一个vnf实体,其中每个第一安全通道用于发送一个一次性凭据。

结合第三方面,在一种实现方式中,所述mano实体获取来自所述认证中心的至少一个一次性凭据的过程具体包括:所述mano实体与认证中心之间建立至少一个第二安全通道;所述mano实体利用所述至少一个第二安全通道获取所述认证中心发送的至少一个一次性凭据,其中每个第二安全通道用于对应地发送一个一次性凭据。

第四方面,本申请实施例还提供了一种证书请求消息发送装置,该装置用于执行上述第一方面各种实现方式中方法步骤的模块或单元,进一步地,所述装置包括获取单元、处理单元和发送单元等。具体地,所述证书请求消息发送装置可以布置在vnf实体中。

第五方面,本申请实施例还提供了一种证书请求消息接收装置,该装置用于执行上述第二方面各种实现方式中方法步骤的模块或单元,进一步地,所述装置包括获取单元、处理单元和发送单元等。具体地,所述证书请求消息接收装置可以布置在认证中心中。

第六方面,本申请实施例还提供了一种注册请求消息发送装置,该装置用于执行上述第三方面各种实现方式中方法步骤的模块或单元,进一步地,所述装置包括获取单元、处理单元和发送单元等。具体地,所述注册请求消息发送装置可以布置在mano实体中。

第七方面,本申请还提供了一种计算机存储介质,该计算机存储介质可存储有程序,该程序执行时可实现包括本申请提供的证书请求消息发送方法、接收方法各实施例中的部分或全部步骤。

第八方面,本申请还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得所述计算机执行上述各方面所述的方法步骤。

本申请实施例提供的证书请求消息发送方法、接收方法及装置,通过一次性凭据解析出安全密钥和hmac密钥,并利用安全密钥对证书请求消息进行加密处理,能够防止消息内容被明文发送,利用hmac密钥处理证书请求消息能够防止消息的内容被截获和篡改,并且通过在证书请求消息中绑定vnf实体的身份标识,使得认证中心能够准确地辨认发送方vnf实体,既实现了认证中心对发送请求的vnf实体的身份验证,又保护了请求消息传输的安全性和完整性。

附图说明

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

图1为本申请实施例提供的一种nfv系统的结构示意图;

图2为本申请实施例提供的一种证书请求消息发送方法的流程图;

图3为本申请实施例提供的另一种证书请求消息发送方法的流程图;

图4为本申请实施例提供的又一种证书请求消息发送方法的流程图;

图5为本申请实施例提供的一种证书请求消息发送装置的结构示意图;

图6为本申请实施例提供的一种证书请求消息接收装置的结构示意图;

图7为本申请实施例提供的一种注册请求消息发送装置的结构示意图;

图8为本申请实施例提供的另一种nfv系统的结构示意图。

具体实施方式

本申请应用于网络功能虚拟化(networkfunctionvirtualization,nfv)系统,该系统目的在于制定一套在虚拟化环境下部署网络的标准。所述nfv系统中包括:管理和编排(managementandorchestration,mano)、至少一个虚拟化网络功能(virtualizednetworkfunction)实体、网元管理系统(elementmanagementsystem,ems)、nfv的基础设施(networkfunctionvirtualinfrastructure,nfvi)、证书颁发中心或认证中心(certificateauthority,ca)。

如图1所示,mano实体中包括:nfv编排器(nfvorchestra,nfvo),用于将nfv网络中的vnf相互连接组网;vnf管理器(vnfmanager,vnfm),用于对vnf进行生命周期管理;以及虚拟基础设施管理器(virtualizedinfrastructuremanager,vim),用于对vnf框架中的虚拟基础设施进行管理,包括通过机机接口自动创建虚拟资源,创建vnf以及vnf需要的网络连接等。

在本申请的各个实施例中,nfvo、vnfm、vim统称为nfvo。所述vnf实体可以是部署在虚拟环境系统中的传统网元,例如sbc(sessionbordercontroller,会话边界控制器)、hss(homesubscriberserver,归属用户服务器)等,作为一个网络功能实体。nfv是网络功能虚拟化所需的计算、存储和网络资源的统称,vim可以通过机机接口管理nfvi。ca用于签发凭据,所述凭据用于对证书申请者的身份进行认证,以证明vnf实体身份的合法性。在一种实施方式中,凭据包括一次性口令(onetimepassword,otp),token,证书,密钥等。

需要说明的是,ca可以是标准的公共密钥基础设施(publickeyinfrastructure,pki)系统,也可以是系统自行搭建的小型认证中心,例如仅支持签发数字证书,更新数字证书。其中,所述ca可以部署在mano实体外部,或者部署在nfv实体的外部,也可以位于vnf实体,mano实体或ems上。

本申请各实施例提供的方法,用于在vnf实体初始化之后,在vnf实体从认证中心获取签发的证书之前,利用认证中心下发的一次性凭据来向认证中心发送证书请求消息,以请求认证中心对vnf实体的身份进行验证和证书下发。

实施例一

本实施例提供了一种证书请求消息发送方法,参见图1,该方法包括如下步骤:

mano实体在创建至少一个vnf实体后,生成至少一个注册请求消息或者注册vnf请求消息,其中,每个所述注册请求中包括用于识别一个vnf实体的身份标识,例如vnf实体的id。

步骤101:mano实体将生成的至少一个注册请求消息发送给认证中心ca。

步骤102:ca接收来自mano实体的至少一个注册请求消息,并根据所述vnf实体的身份标识生成一次性凭据,例如,根据每个vnf实体id生成至少一个一次性凭据。

其中,所述一次性凭据可以为一次性口令(onetimepassword,otp),所述otp为随机数。并且每个所述一次性凭据对应一个vnf实体。

步骤103:ca将所述至少一个一次性凭据发送给mano实体。

在一种实施方式中,为了提高传输一次性凭据的安全性,在ca发送一次性凭据之前与mano实体建立至少一个安全通道,例如第二安全通道,并使用该第二安全通道将生成的至少一个一次性凭据发送给mano实体。具体的,所述安全通道的建立方式包括利用tls(安全传输协议)建立所述安全通道。

步骤104:mano实体接ca发送的至少一个一次性凭据,并将所述至少一个一次性凭据发送给对应的nfv实体。其中,每个所述一次性凭据中包括一个vnf实体的身份标识。

在一种实施方式中,为了提高发送一次性凭据的安全性,mano实体与每个vnf实体之间建立一个安全通道,例如第一安全通道。mano实体将一次性凭据发送给vnf实体包括:mano实体将所述第一性凭据通过第一安全通道发送给对应的vnf实体。

步骤105:一个vnf实体接收mano实体发送的对应的一个一次性凭据,并且,所述vnf实体获取第一证书请求消息。

在一种实施方式中,所述第一证书请求消息可以是由vnf实体内部生成的,或者从其它网络实体中获取。例如,所述第一证书请求消息为“我要证书”。

步骤106:vnf实体解析所述一次性凭据得到第一安全密钥(key)和第一hmac密钥。

步骤107:vnf实体利用所述第一安全密钥和所述第一hmac密钥对所述第一证书请求消息进行处理生成第二证书请求消息,所述第二证书请求消息中包括用于识别所述vnf实体的身份标识。

具体地,一种处理方式包括:vnf实体利用第一安全密钥对第一证书请求消息做加密处理生成第一请求消息密文(ciphertext);同时,vnf实体利用第一hmac密钥对第一证书请求消息做hmac(hashedmessageauthenticationcode,散列消息认证码)函数运算生成第一散列消息验证码或者hmac消息验证码,最后,将所述第一请求消息密文和所述第一散列消息验证码相结合生成第二证书请求消息。

其中,所述hmac函数选取的散列函数包括但不限于md5(message-digestalgorithm5,信息-摘要算法5)sha1(securehashalgorithm,安全哈希算法)和sha256算法等,hmac运算的特点是只能通过密钥进行加密运算,不能进行逆运算,即解密运算。所以能够保证第二证书请求消息的内容不被解密和篡改。在一种实施方式中,由于sha256算法的数位较多,安全性较高,所以一般可以采用sha256算法进行加密运算。

采用本方式的生成第二证书请求消息,使用安全密钥对第一证书请求消息的内容进行加密,防止证书请求消息的内容被明文发送,提高了传输消息内容的安全性。利用hmac密钥对第一证书请求消息做hmac运算,以防止证书请求消息的内容被篡改。

另一种处理生成第二证书请求消息的方式包括:vnf实体首先利用第一安全密钥key对第一证书请求消息进行加密,生成第二请求消息密文,然后利用第一hmac密钥对所述第二请求消息密文做hmac运算,生成第二证书请求消息。

步骤108:vnf实体将所述第二证书请求消息发送给认证中心。

其中,在步骤108中,vnf实体还将步骤107中生成的第一散列消息验证码和第一请求消息密文随所述第二证书请求消息一起发送给认证中心。

步骤109:ca接收所述vnf实体发送的第二证书请求消息,所述第二证书请求消息中包括用于识别所述vnf实体的身份标识、所述第一请求消息加密密文和所述第一散列消息验证码,ca根据所述身份标识确定所述vnf实体对应的一次性凭据;并根据所述一次性凭据和所述第二证书请求消息对所述vnf实体的身份进行验证。

具体地,ca对vnf实体的身份进行验证的过程包括:ca获取第一散列消息验证码。ca解析所述一次性凭据得到第二安全密钥和第二hmac密钥,利用所述第二安全密钥对第二证书请求消息解密得到所述第二证书请求消息的内容;ca利用所述第二hmac密钥对第二证书请求消息的内容做hmac函数运算,生成第三证书请求消息。判断所述第三证书请求消息与第一散列消息验证码是否相同,如果相同,则验证该vnf实体身份合法;如果不相同,则vnf实体的身份不合法。

步骤110:如果验证所述vnf实体的身份合法,则生成需要签发的证书,并根据该vnf实体的身份标识,将证书签发给该vnf实体。如果验证vnf实体的身份不合法,则不签发证书,ca反馈证书请求失败的验证结果给对应的vnf实体。

其中,ca签发证书给vnf实体后,对应的一次性凭据失效。

在一种实施方式中,为了使vnf实体发送的证书请求消息能够正确地发送给ca,还需要对ca的身份进行验证。具体地验证过程包括:在上述步骤108中,在第二证书请求中还包括挑战随机数,如果步骤110中ca签发的证书中包括该挑战随机数,则验证ca的身份合法;如果不包括该挑战随机数,或者vnf实体接收的挑战随机数与步骤108中第二请求消息中携带的挑战随机数不同,则验证ca身份不合法。其中,为提高传输安全性,所述挑战随机数是被加密后的挑战随机数。

vnf实体接收ca发送的证书和验证结果。

本实施例提供的方法,通过设置一次性凭据,使vnf实体根据该一次性凭据解析出安全密钥和hmac密钥,并利用安全密钥对证书请求消息进行加密处理,能够防止消息内容被明文发送,利用hmac密钥处理证书请求消息能够防止消息的内容被截获和篡改,并且通过在证书请求消息中绑定vnf实体的身份标识,使得认证中心能够准确地辨认发送方vnf实体,既实现了认证中心对发送请求的vnf实体的身份验证,又保护了请求消息传输的安全性和完整性。

在一个具体的实施例中,包括第一vnf实体、mano实体和ca,其中,vnf实体向ca申请证书的过程包括:

mano实体首先向ca发送第一vnf实体的注册请求消息,所述注册请求消息中包括第一vnf实体的身份标识,例如所述第一vnf实体的身份标识为“张三”。

ca接收该注册请求消息,根据第一vnf实体的身份标识(“张三”)生成一次性凭据otp。在一种实施方式中,该一次性凭据为随机数。

假设为ddabe16c82627dea460ffc1b4a4fe6bff9673323784a8bfe92e37b1e8d53438f。ca存储该第一vnf实体的一次性凭据,并将其通过mano实体发送给第一vnf实体。此外,在一种实施方式中ca将一次性凭据通过安全通道发送给mano实体。

vnf实体接收mano实体发送的一次性凭据,假设为ddabe16c82627dea460ffc1b4a4fe6bff9673323784a8bfe92e37b1e8d53438f。对该随机数进行解析运算得到第一加密密钥和hmac密钥。在一种实施方式中,vnf实体与ca通过协商确定第一加密密钥和hmac密钥。假设,解析一次性凭据(otp)生成一串数列,

pbkdf2(otp)=6f28aee62d39e8a10827d56ab60db34383899b76b41ac05982a74c8b0874c366dbcfd07fe2a3ea8d7145986c8d6b05892a5fcc6dce5cdce1a03daccf7144e272….

协商将该数列的前256bits(6f28aee62d39e8a10827d56ab60db34383899b76b41ac05982a74c8b0874c366)作为第一安全密钥key,将该数列后面的256bits(dbcfd07fe2a3ea8d7145986c8d6b05892a5fcc6dce5cdce1a03daccf7144e272)作为hmac密钥。

vnf实体获取第一证书请求消息,假设该第一证书请求消息内容为“我要证书”,vnf实体利用第一安全密钥key对“我要证书”进行加密,生成第一消息密文,该第一消息密文隐藏了“我要证书”的内容,防止第一请求消息中的“我要证书”内容被明文读取。同时,vnf实体还利用hmac密钥对“我要证书”做md5运算生成第一散列消息验证码,该第一散列消息验证码用于防止请求消息“我要密码”被窃取和篡改。例如可以防止“我要密码”被其它网元或攻击者篡改为“我不要密码”。最后结合第一消息密文和第一散列消息验证码生成第二证书请求消息。并将该第二证书请求消息和第一散列消息验证码一起发送给ca。

ca接收该第二证书请求消息,并根据该第二证书请求消息中所携带的vnf实体身份标识“张三”确定其存储的一次性凭据。例如,该“张三”所对应的一次性凭据为假设ddabe16c82627dea460ffc1b4a4fe6bff9673323784a8bfe92e37b1e8d53438f。解析该一次性凭据得到第二安全密钥和第二hmac密钥。其中,ca所述一次性凭据与之前根据注册请求消息生成的一次性凭据相同,所以,解析的第二安全密钥与所述第一安全密钥相同,第二hmac密钥与第一hmac密钥也相同。

进一步地,ca对vnf实体的身份进行验证,包括:ca利用第二安全密钥对第二证书请求消息进行解密,得到第二证书请求消息的内容“我要证书”,使用第二hmac密钥对该内容“我要证书”做hmac函数运算,生成第三请求消息。判断该第三请求消息与之前获取的第一散列消息验证码是否相同,如果相同,则表明vnf实体的身份合法;如果不同,则表明身份不合法。如果验证身份合法,则ca将生成对应的证书,并将该证书签发给对应的vnf实体。

其中,本实施例中,ca向mano实体发送的一次性凭据,以及mano实体向vnf实体转发的所述一次性凭据都可以通过预先建立的安全通道发送。在一种实施方式中,所述一次性凭据的分发方式可以采用https(超文本传输安全协议)消息。

本实施例中利用一次性凭据导出的安全密钥和hmac密钥对证书请求消息进行加密处理,避免证书请求消息的内容被明文发送,同时还能防止消息内容被篡改,保证了消息传输的安全性和完整性。并且,所述证书请求消息绑定vnf实体的身份标识,为ca接收时做了身份认证。另外,在凭据分发的过程中,凭据没有明文出现在任何通道上,并且凭据在申请结束后立即失效。

实施例二

本实施应用于分离功能的vnf实体的技术场景,即由于vnf实体不能与mano实体和ca进行通信,因此,增设vnfs实体与外部进行通信,以及控制多个vnf实体。在本实施例中,将vnf实体分为vnfs实体和vnfa实体。其中,vnfs实体用于对一次性凭据进行转发,以及转发证书请求消息。

具体地,如图3所示,本实施例中对vnf实体身份的验证包括如下步骤:

步骤201至步骤203与实施例一种的步骤101至步骤103相同,不再赘述。

步骤2041:mano实体接收ca发送的至少一个一次性凭据之后,将这些一次性凭据发送给vnfs实体。在一种实施方式中,mano实体通过预先建立的第一安全通道将至少一个一次性凭据发送给vnfs实体。

步骤2042:vnfs实体接收这些一次性凭据之后,将这些一次性凭据发送给对应的每个vnfa实体。

在一种实施方式中,在发送一次性凭据之前,每个vnfa实体与vnfs实体之间都共享有秘密信息,可以通过预置实现。所述秘密信息用于建立每个vnfa实体与vnfs实体之间的安全通道,并利用这些安全通道发送一次性凭据,以保证传输数据的安全性。其中,所述共享秘密信息可以用于对一次性凭据进行加密,可以用于协商会话密钥,或者是直接作为psk(pre-sharedkey,预共享密钥)使用。

本实施例中对vnfa实体与vnfs实体之间共享秘密信息的方式不做限制,可以包括很多种方式,例如,预置在软件包里面,或者是通过out-of-band(带外)的方式,如u盘,外部输入等。

其中,在具体实现中,可以预先配置psk给要通信的两端(vnfa实体和vnfs实体),两端在相互认证时可以通过此密钥保证相互可信。预共享密钥可以是对称密钥(即双方持有的密钥是相同的),也可以是非对称密钥(双方持有的密钥不同),例如公私钥对。具体的配置和使用psk的过程可以根据现有的标准协议来实现。

步骤205:vnfa实体接收所述vnfs实体发送的一次性凭据。

步骤205至步骤207与实施例一中的步骤105至步骤107相同,具体实现参见实施例一,此处不再赘述。

步骤2081:vnfa实体将上述实施例一中的所述第二证书请求消息发送给vnfs实体。

步骤2082:vnfs实体接收vnfa实体发送的第二证书请求消息,并将该第二证书请求消息转发给ca。

在一种实施方式中,vnfs实体可以通过预先建立的安全通道发送所述至少一个第二证书请求消息给ca。所述安全通道可根据共享秘密信息建立。

步骤209:ca接收vnfs实体发送的第二证书请求消息之后,根据第二证书请求消息中对vnfa实体的身份进行验证。进一步地,验证过程与前述实施例中的步骤109相同,不再赘述。

步骤2101:如果验证vnfa实体的身份合法,则ca将生成的证书下发给vnfs实体。

步骤2102:vnfs实体接收ca发送的证书以及验证结果,并根据每个vnfa实体的身份标识,将证书发送给对应的vnfa实体。

本实施例中,将vnf实体的功能分离,即分为前端的多个vnfa实体和后端的vnfs实体。其中,后端的vnfs实体用于与外部的网元进行通信,例如接收并转发数据,以及对多个vnfa实体进行管理,从而实现了在分离的网元架构中,vnfa实体与外部的mano实体和ca进行通信。

另外,本实施例中,预置vnfa实体和vnfs实体之间的共享秘密信息,建立带身份认证和加密保护的通道,例如在预置共享秘密信息时,对于纯软件环境,可以在软件包预置,并采用相同的白盒算法进行加密,进而保证了一次性凭据以及第二证书请求消息转发的安全性和完整性,避免了一次性凭据和证书请求消息被明文发送。

实施例三

本实施例应用于vnf实体直接向ca获取证书的技术场景,该技术场景类似于将ca部署在分离功能的vnfs实体上,vnfa实体可以直接向具有ca功能的vnfs实体发起证书请求,并从该vnfs实体上的ca获取证书。

具体地,如图4所示,本实施例提供的证书请求消息包括如下步骤:

步骤401:vnf实体生成注册请求消息,并将该注册请求消息发送给ca。

步骤402:ca接收该注册请求消息,并根据该注册请求消息中的vnf实体身份标识生成一次性凭据。

步骤403:ca将该一次性凭据通过安全通道发送给该vnf实体。

在一种实施方式中,vnf实体和ca可通过预置共享秘密信息建立安全通道,并使用该安全通道发送一次性凭据,从而保证了vnf实体和ca的互信以及凭据转发的安全性,共享秘密可以用于加密,可以用于协商会话密钥,或者是直接作为psk使用。其中,对于纯软件环境,可以在软件包预置共享秘密信息,并采用相同的白盒算法进行加密。

步骤404至步骤406与前述实施例一中的步骤105至步骤107相同,不再赘述。

步骤407:vnf实体将生成的第二证书请求消息发送给ca。

步骤408:ca接收该第二证书请求消息,并对vnf实体的身份进行验证。其中,具体的验证过程详见实施例一中的步骤109,不再赘述。

步骤409:ca根据验证结果生成证书,并将证书签发给身份合法的vnf实体。

本实施例在vnf实体与ca直接交互的场景中,通过预置共享秘密信息,建立了加密的安全通道,从而保证证书请求消息以及一次性凭据的安全传输。并且,通过一次性凭据中的安全密钥和hmac密钥对初始的证书请求消息进行了处理,生成的第二证书请求消息,避免发送的信息(一次性凭据和请求消息)明文出现在任何通道上,并且通过进行hmac函数运算防止请求消息内容被篡改,进一步地提高了消息传输的安全性和完整性。

另外,一次性凭据在证书签发后立即失效,避免一次性凭据被二次利用,进一步地提高了通信的安全性。

需要说明的是,本申请上述各实施例适用于所有虚拟化场景下的凭据管理,包括但不限于nfv实体,还可以扩展到openstack等平台内。所述ca可以是标准的pki,也可以是单一功能的ca(仅包含签发数字证书,更新等功能),其中,ca可以部署放在mano实体、vnfs实体、ems上。凭据包括且不仅仅用于证书申请,还可以用于会话密钥,协商psk等。

与本申请上述各实施例所提供证书请求消息发送方法的相对应,本申请还提供了一种证书请求发送装置,该装置可应用于vnf实体。

如图5所示,该装置包括:获取单元501、处理单元502和发送单元503。

其中,获取单元501,用于获取一次性凭据和第一证书请求消息。

处理单元502,用于解析所述一次性凭据得到第一安全密钥和第一hmac密钥;利用所述第一安全密钥和所述第一hmac密钥对所述第一证书请求消息进行处理生成第二证书请求消息,所述第二证书请求消息中包括用于识别所述vnf实体的身份标识。

发送单元503,用于将所述第二证书请求消息发送给认证中心,以便于所述认证中心对所述vnf实体的身份进行验证。

在一种具体的实施方式中,处理单元502,具体用于利用所述第一安全密钥对所述第一证书请求消息做加密处理生成第一请求消息密文;利用所述第一hmac密钥对所述第一证书请求消息做hmac函数运算生成第一散列消息验证码;结合所述第一请求消息密文和所述第一散列消息验证码生成所述第二证书请求消息。

在一种具体的实施方式中,获取单元501,还用于获取所述mano实体转发的所述一次性凭据,或者,获取所述认证中心发送的所述一次性凭据。

在一种具体的实施方式中,处理单元502,还用于生成注册请求消息,所述注册请求消息中包括所述vnf实体的身份标识。

发送单元503,还用于向所述认证中心发送所述注册请求消息。

在一种具体的实施方式中,所述装置还包括vnfs实体,获取单元501,还用于获取vnfs实体转发的所述一次性凭据,其中,所述装置与所述vnfs实体之间共享有秘密信息,所述秘密信息用于建立所述装置与所述vnfs实体之间的安全通道。

发送单元503,还用于通过所述vnfs实体将所述第二证书请求消息发送给认证中心。

在一种实施方式中,处理单元502还用于与所述mano实体之间建立第一安全通道。

获取单元501,还用于通过所述第一安全通道获取所述mano实体转发的所述一次性凭据。

如图6所示,本实施例还提供了一种证书请求消息接收装置,该装置可以应用于认证中心,所述装置包括:获取单元601、处理单元602和发送单元603。

其中,获取单元601,用于获取vnf实体发送的第二证书请求消息,所述第二证书请求消息中包括用于识别所述vnf实体的身份标识。

处理单元602,用于根据所述身份标识确定所述vnf实体对应的一次性凭据,并根据所述一次性凭据和所述第二证书请求消息对所述vnf实体的身份进行验证。

在一种具体的实施方式中,所述第二证书请求消息中包括第一散列消息验证码。

处理单元602,还用于解析所述一次性凭据得到第二安全密钥和第二hmac密钥,利用所述第二安全密钥对所述第二证书请求消息解密得到所述第二证书请求消息的内容,利用所述第二hmac密钥对所述第二证书请求消息的内容做hmac函数运算,生成第三证书请求消息;以及检测如果所述第三证书请求消息与第一散列消息验证码相同,则验证所述vnf实体身份合法;否则身份不合法,认证失败。

在一种具体的实施方式中,该装置还可以包括发送单元603。

处理单元602,还用于如果验证所述vnf实体身份合法则生成证书。

发送单元603,用于将所述证书签发给所述vnf实体。

在一种具体的实施方式中,获取单元601,还用于获取所述vnf实体的注册请求消息,所述注册请求消息中包括vnf实体的身份标识。

处理单元602,还用于根据所述vnf实体的身份标识生成一次性凭据。

发送单元603,用于将所述一次性凭据发送给与所述身份标识对应的vnf实体。

在一种具体的实施方式中,处理单元602,还用于与mano实体建立第二安全通道;

发送单元603,用于通过所述第二安全通道将所述一次性凭据发送给所述vnf实体。

在一种具体的实施方式中,获取单元601,还用于通过mano实体获取所述vnf实体的注册请求消息。

在一种具体的实施方式中,获取单元601,还用于获取vnfs实体使用安全通道转发的所述第二证书请求消息,所述安全通道为所述vnf实体与vnfs实体根据共享的秘密信息所建立的通道。

如图7所示,本实施例还提供一种注册请求消息装置,该装置可以应用于mano实体,所述装置包括:获取单元701、处理单元702和发送单元703。

其中,处理单元702,用于在创立至少一个vnf实体后,生成至少一个vnf实体的注册请求消息。

发送单元703,用于将所述至少一个vnf实体的注册请求消息发送给认证中心,其中每个所述认证请求中包括用于识别一个vnf实体的身份标识。

在一种具体的实施方式中,获取单元701,用于获取来自所述认证中心的至少一个一次性凭据,所述每个所述一次性凭据根据所述注册请求消息中的vnf实体身份标识生成。

发送单元703,还用于将所述至少一个一次性凭据发送给对应的vnf实体。

在一种具体的实施方式中,处理单元702,还用于与所述至少一个vnf实体之间建立至少一个第一安全通道。

发送单元703,还用于将所述至少一个一次性凭据通过所述至少一个第一安全通道发送给所述至少一个vnf实体。

处理单元702,还用于与所述认证中心之间建立至少一个第二安全通道;

获取单元701,还用于利用所述至少一个第二安全通道获取所述认证中心发送的至少一个一次性凭据。

在本实施例中,利用一次性凭据运算生成第一安全密钥和第一hmac密钥,证书请求消息发送装置利用第一安全密钥对证书请求消息进行加密处理,能够防止消息内容被明文发送,利用第一hmac密钥处理证书请求消息能够防止消息的内容被截获和篡改,并且通过在证书请求消息中绑定vnf实体的身份标识,使得认证中心能够准确地辨认发送方vnf实体,既实现了认证中心对发送请求的vnf实体的身份验证,又保护了请求消息传输的安全性和完整性。

另外,每个一次性凭据只能应用于一次证书请求,当对证书请求消息进行验证之后,该对应的一次性凭据就会失效,从而避免了一个凭据被多次使用,或者凭据被攻击者利用,伪造申请证书威胁网络系统安全。此外,利用安全通道传输一次性凭据,能够防止一次性凭据被明文发送,进一步提高了数据传输的安全性。

在具体硬件实现层面,本申请还提供了一种mano实体,用于实现前述实施例中的注册请求消息发送方法。参见图8,该mano实体80可以由收发器801、处理器802及存储器803等组成。

处理器802为mano实体的控制中心,利用各种接口和线路连接整个网络设备的各个部分,通过运行或执行存储在存储器内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行网络侧设备的各种功能和/或处理数据。

处理器802可以是中央处理器(centralprocessingunit,cpu),网络处理器(networkprocessor,np)或者cpu和np的组合。处理器还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specificintegratedcircuit,asic),可编程逻辑器件(programmablelogicdevice,pld)或其组合。上述pld可以是复杂可编程逻辑器件(complexprogrammablelogicdevice,cpld),现场可编程逻辑门阵列(field-programmablegatearray,fpga),通用阵列逻辑(genericarraylogic,gal)或其任意组合。

存储器803可以包括易失性存储器(volatilememory),例如随机存取内存(randomaccessmemory,ram),还可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flashmemory),硬盘(harddiskdrive,hdd)或固态硬盘(solid-statedrive,ssd);存储器还可以包括上述种类的存储器的组合。

收发器801可以用于接收或发送数据,所述收发器可以在所述处理器的控制下向视频网络系统中的各个节点或其他设备发送数据,以及所述处理器的控制下接收各个节点或其他设备发送的数据。

在本申请实施例中,收发器801可以用于实现前述各实施例中的向vnf实体发送注册请求消息和转发一次性凭据等功能。前述装置实施例图7中的获取单元701所要实现的功能可以由所述mano实体的收发器801实现,或者由处理器802控制收发器801实现。图7中的处理单元702所要实现的功能也可以由mano实体的处理器802实现。

如图8所示,在本实施例提供的nfv系统中还包括至少一个vnf实体,用于实现前述各实施例中的证书请求消息发送方法。其中,该vnf实体90可以由收发器901、处理器902和存储器903等组成。

处理器902为vnf实体的控制中心,利用各种接口和线路连接整个vnf实体的各个部分,通过运行或执行存储在存储器内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行网络侧设备的各种功能和/或处理数据。

所述处理器可以是中央处理器(centralprocessingunit,cpu),网络处理器(networkprocessor,np)或者cpu和np的组合。处理器还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specificintegratedcircuit,asic),可编程逻辑器件(programmablelogicdevice,pld)或其组合。上述pld可以是复杂可编程逻辑器件(complexprogrammablelogicdevice,cpld),现场可编程逻辑门阵列(field-programmablegatearray,fpga),通用阵列逻辑(genericarraylogic,gal)或其任意组合。

存储器903可以包括易失性存储器(volatilememory),例如随机存取内存(randomaccessmemory,ram);还可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flashmemory),硬盘(harddiskdrive,hdd)或固态硬盘(solid-statedrive,ssd);存储器还可以包括上述种类的存储器的组合。所述存储器中可以存储有程序或代码,网元中的处理器通过执行所述程序或代码可以实现所述网元的功能。

收发器901可以用于接收或发送数据,收发器901可以在处理器902的控制下向认证中心或其他网络侧设备发送数据;或者收发器901在处理器902的控制下接收mano实体。认证中心或其他网络侧设备发送的数据。

在本申请实施例中,收发器901可以用于实现前述实施例图2至图4中的证书请求消息发送方法的步骤,以及装置实施例图5所具有的功能。其中,图5所述的获取单元501所要实现的功能可以由vnf实体的收发器901实现,或者由处理器902控制的收发器901实现;发送单元503所要实现的功能也可以由该vnf实体的收发器901实现,或者也可以由处理器902控制的收发器901实现;所述处理单元502所要实现的功能则可以由所述处理器902实现。

需要说明的是,本实施例所述的mano实体可以是一种vnf实体,或者将mano实体的功能集成在vnf实体中。所述vnf实体还可以拆分成vnfs实体和至少一个vnfa实体,所述vnfs实体用于对消息和数据进行转发,以实现分离功能的vnfa实体与mano实体和认证中心之间的通信。

如图8所示,认证中心用于实现前述各实施例中的证书请求消息接收方法。其中,所述认证中心100可以由收发器1001、处理器1002和存储器1003等组成。

处理器1002为认证中心的控制中心,利用各种接口和线路连接整个认证中心的各个部分,通过运行或执行存储在存储器内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行一次性凭据的下发和对vnf实体身份进行验证。

在一种可能的实施方式中,认证中心可以布置在服务器或者其它网络侧设备中。

在本申请实施例中,收发器1001可以用于实现前述实施例图2至图4中的证书请求消息接收方法的步骤,以及装置实施例图6所具有的功能。其中,图6所述的获取单元601所要实现的功能可以由认证中心的收发器1001实现,或者由处理器1002控制的收发器1001实现;发送单元603所要实现的功能也可以由该认证中心的收发器1001实现,或者也可以由处理器1002控制的收发器1001实现;处理单元602所要实现的功能则可以由所述处理器1002实现。

具体实现中,本申请还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本申请提供的证书请求消息发送方法、接收方法、注册请求消息发送方法的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

另外,本申请还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各实施例中所述的方法步骤。

本领域的技术人员可以清楚地了解到本申请实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。

本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于上述实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。

以上所述的本发明实施方式并不构成对本发明保护范围的限定。

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