欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 一种密钥管理系统独创技术21639字

一种密钥管理系统

2021-02-23 07:53:39

一种密钥管理系统

  技术领域

  本发明涉及密钥管理领域,具体涉及一种密钥管理系统。

  背景技术

  如图1所示,传统OpenStack部署架构可以包括1个控制节点、m个计算节点,n个存储节点。在OpenStack中存在大量使用密钥的场景,例如登录密码、证书、密钥对、云硬盘加密、文件加密、镜像加密、日志加密、数据传输时的加密等。OpenStack中的加密组件是Barbican,实现包括对称密钥、非对称密钥、证书和原始二进制数据的生命周期管理,北向通过plugin设计支持不同的软、硬件(HSM)密码设备,南向通过API接口为OpenStack其它组件提供密钥管理服务。

  传统OpenStack部署架构针对需要在跨节点用户间进行数据传输的场景,目前主要是通过信封加密方式完成对数据的保护,信封加密是类似数字信封技术的一种加密手段。这种技术结合对称密钥和非对称密钥技术,利用公钥将加密数据的对称数据加密密钥加密后和数据密文一起封入信封中存储、传递和使用。由于信封加密方法需要将数据加密密钥密文和数据密文一起在业务网层面进行传递,随着算力的增强特别是量子计算机的研制,只需要破解数据加密密钥密文即可对数据密文进行解密,因此数据密文的安全性将难以保证。

  发明内容

  有鉴于此,为了克服上述问题的至少一个方面,本发明实施例提出一种密钥管理系统,包括:

  控制节点;

  多个计算节点,所述多个计算节点均与所述控制节点连接;

  多个量子密钥分发节点,所述多个量子密钥分发节点均与所述控制节点连接,且每一个所述量子密钥分发节点分别与其中一个所述计算节点连接;

  其中,所述每一个量子密钥分发节点配置为生成根密钥,并根据所述控制节点发出的第一指令生成和其他若干个所述量子密钥分发节点之间的密钥加密密钥,以及根据所述控制节点发出的第二指令生成与连接的所述计算节点上的用户对应的数据加密密钥。

  在一些实施例中,所述每一个量子密钥分发节点还配置为:

  将所述密钥加密密钥发送到对应的其他若干个量子密钥分发节点上,以使所述对应的其他若干个量子密钥分发节点利用各自的所述根密钥对所述密钥加密密钥进行加密;

  利用所述根密钥分别对和所述其他若干个量子密钥分发节点之间的所述密钥加密密钥进行加密。

  在一些实施例中,所述计算节点配置为响应于接收到用户申请与另一所述计算节点上的用户之间的数据加密密钥的请求,向所述控制节点发送所述请求;

  所述控制节点配置为响应于接收到所述请求,向与发送所述请求的所述计算节点连接的所述量子密钥分发节点发送所述第二指令。

  在一些实施例中,与发送所述请求的所述计算节点连接的所述量子密钥分发节点配置为:

  响应于接收到所述第二指令,生成所述用户和所述另一计算节点上的用户之间的数据加密密钥;

  将所述用户和所述另一计算节点上的用户之间的数据加密密钥发送到与所述另一计算节点连接的另一量子密钥分发节点上;

  利用所述根密钥对和所述另一量子密钥分发节点之间的已加密的密钥加密密钥进行解密;

  利用解密后的所述密钥加密密钥对所述用户和所述另一计算节点上的用户之间的数据加密密钥进行加密。

  在一些实施例中,量子密钥分发节点进一步配置为删除未加密的密钥加密密钥和未加密的数据加密密钥。

  在一些实施例中,所述另一量子密钥分发节点进一步配置为响应于接收到所述数据加密密钥,利用对应的所述根密钥对和所述量子密钥分发节点之间的已加密的密钥加密密钥进行解密,并利用解密的密钥加密密钥对接收到的所述数据加密密钥进行加密。

  在一些实施例中,所述计算节点配置为响应于接收到用于所述用户向所述另一计算节点上的用户发送的待传输的明文数据,将所述待传输的明文数据发送到与所述计算节点连接的所述量子密钥分发节点上;

  所述量子密钥分发节点配置为响应于接收到待传输的明文数据,利用所述根密钥对和与所述另一计算节点连接的另一量子密钥分发节点之间的已加密的密钥加密密钥进行解密,利用解密的密钥加密密钥对所述用户和所述另一计算节点上的用户之间的已加密的数据加密密钥进行解密,并利用解密后的数据加密密钥对所述待传输的明文数据进行加密以得到待传输的密文数据,将待传输的密文数据返回所述计算节点。

  在一些实施例中,所述计算节点配置为响应于接收到所述待传输的密文数据,将所述待传输的密文数据发送给所述另一计算节点上。

  在一些实施例中,所述另一计算节点配置为响应于接收到所述用户向所述另一计算节点上的用户发送的所述密文数据,将所述密文数据发送到与所述另一计算节点连接的所述另一量子密钥分发节点上;

  所述另一量子密钥分发节点配置为响应于接收到所述密文数据,利用所述根密钥对和与所述计算节点连接的量子密钥分发节点之间的已加密的密钥加密密钥进行解密,利用解密的密钥加密密钥对所述用户和所述另一计算节点上的用户之间的已加密的数据加密密钥进行解密,并利用解密后的数据加密密钥对所述密文数据进行解密以得到所述用户向所述另一计算节点上的用户发送的明文数据,将所述明文数据返回所述另一计算节点。

  在一些实施例中,所述每一个量子密钥分发节点分别通过物理介质与其中一个所述计算节点直接连接。

  本发明具有以下有益技术效果之一:本发明提出的基于量子密钥的密钥管理系统,相较于传统的OpenStack部署架构,添加了密钥分发平面,另外密钥分发节点从1个节点变为了与计算节点相同的节点数,且密钥分发节点与对应的计算节点之间连接,实现了计算节点与密钥分发节点之间传输加密前与解密后的明文数据,使得明文数据不会在管理平面与业务平面传输,更加增强了安全性。

  附图说明

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

  图1为现有技术中的OpenStack的结构示意图;

  图2为本发明的实施例提供的密钥管理系统的结构示意图;

  图3为本发明的实施例提供的跨节点数据传输的时序图;

  图4为本发明的实施例提供的密钥分发节点与计算节点的连接示意图。

  具体实施方式

  为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。

  需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。

  需要说明的是,在本发明的实施例中,量子密钥是利用量子力学特性,通过量子密钥分发(英语:quantum key distribution,简称QKD)产生的对称密钥,它的安全性是以物理学的“海森堡测不准原理”和“量子不可复制原理”来保证的,已经被证明在物理原理上是绝对安全的。

  数据加密密钥:即DEK(Data Encryption Key),是加密用户数据的密钥。

  密钥加密密钥:即KEK(Key Encryption Key),是加密数据加密密钥的密钥。

  根密钥:即MKEK,对密钥加密密钥进行加密的密钥。

  Barbican:Barbican项目是OpenStack社区的一个官方项目,为包含云服务在内的任何环境提供密钥管理功能。

  HSM:Hardware Security Module,即硬件安全模块,一种安全产生、存储、管理及使用密钥并提供加密处理服务的硬件设备。

  根据本发明的一个方面,本发明的实施例提出一种密钥管理系统,如图2所示,其可以包括:

  控制节点;

  多个计算节点,所述多个计算节点均与所述控制节点连接;

  多个量子密钥分发节点,所述多个量子密钥分发节点均与所述控制节点连接,且每一个所述量子密钥分发节点分别与其中一个所述计算节点连接;

  其中,所述每一个量子密钥分发节点配置为生成根密钥,并根据所述控制节点发出的第一指令生成和其他若干个所述量子密钥分发节点之间的密钥加密密钥,以及根据所述控制节点发出的第二指令生成与连接的所述计算节点上的用户对应的数据加密密钥。

  本发明提出的基于量子密钥的密钥管理系统,相较于传统的OpenStack部署架构,添加了密钥分发平面,另外密钥分发节点从1个节点变为了与计算节点相同的节点数,且密钥分发节点与对应的计算节点之间连接,实现了计算节点与密钥分发节点之间传输加密前与解密后的明文数据,使得明文数据不会在管理平面与业务平面传输,更加增强了安全性。

  在一些实施例中,每一个所述量子密钥分发节点还配置为:

  将所述密钥加密密钥发送到对应的其他若干个量子密钥分发节点上,以使所述对应的其他若干个量子密钥分发节点利用各自的所述根密钥对所述密钥加密密钥进行加密;

  利用所述根密钥分别对和所述其他若干个量子密钥分发节点之间的所述密钥加密密钥进行加密。

  在一些实施例中,所述计算节点配置为响应于接收到用户申请与另一所述计算节点上的用户之间的数据加密密钥的请求,向所述控制节点发送所述请求;

  所述控制节点配置为响应于接收到所述请求,向与发送所述请求的所述计算节点连接的所述量子密钥分发节点发送所述第二指令。

  在一些实施例中,与发送所述请求的所述计算节点连接的所述量子密钥分发节点配置为:

  响应于接收到所述第二指令,生成所述用户和所述另一计算节点上的用户之间的数据加密密钥;

  将所述用户和所述另一计算节点上的用户之间的数据加密密钥发送到与所述另一计算节点连接的另一量子密钥分发节点上;

  利用所述根密钥对和所述另一量子密钥分发节点之间的已加密的密钥加密密钥进行解密;

  利用解密后的所述密钥加密密钥对所述用户和所述另一计算节点上的用户之间的数据加密密钥进行加密。

  在一些实施例中,量子密钥分发节点进一步配置为删除未加密的密钥加密密钥和未加密的数据加密密钥。

  在一些实施例中,所述另一量子密钥分发节点进一步配置为响应于接收到所述数据加密密钥,利用对应的所述根密钥对和所述量子密钥分发节点之间的已加密的密钥加密密钥进行解密,并利用解密的密钥加密密钥对接收到的所述数据加密密钥进行加密。

  在一些实施例中,所述计算节点配置为响应于接收到用于所述用户向所述另一计算节点上的用户发送的待传输的明文数据,将所述待传输的明文数据发送到与所述计算节点连接的所述量子密钥分发节点上;

  所述量子密钥分发节点配置为响应于接收到待传输的明文数据,利用所述根密钥对和与所述另一计算节点连接的另一量子密钥分发节点之间的已加密的密钥加密密钥进行解密,利用解密的密钥加密密钥对所述用户和所述另一计算节点上的用户之间的已加密的数据加密密钥进行解密,并利用解密后的数据加密密钥对所述待传输的明文数据进行加密以得到待传输的密文数据,将待传输的密文数据返回所述计算节点。

  在一些实施例中,所述计算节点配置为响应于接收到所述待传输的密文数据,将所述待传输的密文数据发送给所述另一计算节点上。

  在一些实施例中,所述另一计算节点配置为响应于接收到所述用户向所述另一计算节点上的用户发送的所述密文数据,将所述密文数据发送到与所述另一计算节点连接的所述另一量子密钥分发节点上;

  所述另一量子密钥分发节点响应于接收到所述密文数据,利用所述根密钥对和与所述计算节点连接的量子密钥分发节点之间的已加密的密钥加密密钥进行解密,利用解密的密钥加密密钥对所述用户和所述另一计算节点上的用户之间的已加密的数据加密密钥进行解密,并利用解密后的数据加密密钥对所述密文数据进行解密以得到所述用户向所述另一计算节点上的用户发送的明文数据,将所述明文数据返回所述另一计算节点。

  下面结合图3以及具体实例详细说明本发明提出的密钥管理系统是如何进行数据传输。

  如图3所示,在本实施例中,系统包括一个控制节点,两个计算节点(计算节点A和B),两个量子密钥分发节点(量子密钥分发节点A和B),其中,计算节点A上有用户1和用户2,计算节点B上有用户3和用户4。

  以计算节点A上的用户1与计算节点B上的用户3进行数据加密传输场景为例,密钥分发流程如下:

  初始化,密钥分发节点A与密钥分发节点B分别生成各自的根密钥;

  控制节点向密钥分发节点A下发生成与密钥分发节点B的密钥加密密钥的第一指令;

  密钥分发节点A与密钥分发节点B通过量子密钥分发技术,生成对称的密钥加密密钥;

  密钥分发节点A使用根密钥加密与密钥分发节点B之间的密钥加密密钥,将与密钥分发节点B的密钥加密密钥(密文)进行保存;密钥分发节点B使用根密钥加密与密钥分发节点A之间的密钥加密密钥,将与密钥分发节点A的密钥加密密钥(密文)进行保存;

  用户1向控制节点申请生成与用户3之间的数据加密密钥;

  控制节点向密钥分发节点A(即向与发送申请的所述计算节点A连接的所述量子密钥分发节点)下发生成与计算节点B上用户3之间的数据加密密钥的第二指令;

  密钥分发节点A通过量子密钥分发技术,生成用户1与用户3之间的对称数据加密密钥,并将用户1与用户3之间的对称数据加密密钥发送到密钥分发节点B上,同时密钥分发节点A利用自身的根密钥对与密钥分发节点B之间的已加密的密钥加密密钥进行解密,从而利用解密后的所述密钥加密密钥对用户1与用户3之间的数据加密密钥进行加密。在解密后,删除未加密的密钥加密密钥和未加密的数据加密密钥。

  密钥分发节点B接收到用户1与用户3之间的所述数据加密密钥,利用自身的根密钥对与密钥分发节点A之间的已加密的密钥加密密钥进行解密,并利用解密的密钥加密密钥对接收到的所述数据加密密钥进行加密。同样的在进行解密后,删除未加密的密钥加密密钥和未加密的数据加密密钥。

  当用户1需要向用户3发送数据,用户1(计算节点A)向密钥分发节点A发送用户1与用户3的明文业务数据;

  密钥分发节点A获取与密钥分发节点B之间的密钥加密密钥(密文)以及用户1与用户3的数据加密密钥(密文),首先用根密钥解密与密钥分发节点B之间的密钥加密密钥,然后用与节点B之间的密钥加密密钥(明文)对用户1与用户3之间的数据加密密钥解密,并用用户1与用户3之间的数据加密密钥(明文)加密明文业务数据;同样的在进行解密后,删除未加密的密钥加密密钥和未加密的数据加密密钥。

  密钥分发节点A向用户1(计算节点A)返回与用户3的业务数据(密文);

  通过计算节点A用户1向计算节点B上的用户3发送业务数据(密文);

  计算节点B上的用户3向密钥分发节点B发送用户1与用户3的密文业务数据;

  密钥分发节点B获取与密钥分发节点A之间的密钥加密密钥(密文)以及用户1与用户3之间的数据加密密钥(密文),用根密钥解密与密钥分发节点A之间的密钥加密密钥,然后用与节点A之间的密钥加密密钥(明文)对用户1与用户3之间的数据加密密钥解密,并用用户1与用户3之间的数据加密密钥(明文)解密密文业务数据;同样的在进行解密后,删除未加密的密钥加密密钥和未加密的数据加密密钥。

  密钥分发节点B向用户3返回与用户1的业务数据(明文),返回成功后删除未加密的业务数据。

  在一些实施例中,所述每一个量子密钥分发节点分别通过物理介质与其中一个所述计算节点直接连接。

  具体的,如图4所示,每一个所述量子密钥分发节点均可以通过网线与其中一个所述计算节点直连,不同的量子密钥分发节点可以通过光纤实现互相连接,这样可以保证加密前与解密后的明文数据不会在管理网与业务网传输,更加增强了安全性。

  本发明提出的基于量子密钥的密钥管理系统,相较于传统的OpenStack部署架构,添加了密钥分发平面,另外密钥分发节点从1个节点变为了与计算节点相同的节点数,且密钥分发节点与对应的计算节点之间连接,实现了计算节点与密钥分发节点之间传输加密前与解密后的明文数据,使得明文数据不会在管理平面与业务平面传输,更加增强了安全性。并且通过密钥加密密钥、数据加密密钥分别与节点、用户的对应,实现了用户粒度的密钥管理。

  本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。

  以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。

  应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。

  上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。

  本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

  所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。

《一种密钥管理系统.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)