CN115499228A - 一种密钥保护方法、装置、设备、存储介质 - Google Patents

一种密钥保护方法、装置、设备、存储介质 Download PDF

Info

Publication number
CN115499228A
CN115499228A CN202211157576.XA CN202211157576A CN115499228A CN 115499228 A CN115499228 A CN 115499228A CN 202211157576 A CN202211157576 A CN 202211157576A CN 115499228 A CN115499228 A CN 115499228A
Authority
CN
China
Prior art keywords
key
host
virtual machine
machine
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211157576.XA
Other languages
English (en)
Inventor
文欣
崔炳华
谭亮
胡凌男
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Westone Information Industry Inc
Original Assignee
Chengdu Westone Information Industry Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chengdu Westone Information Industry Inc filed Critical Chengdu Westone Information Industry Inc
Priority to CN202211157576.XA priority Critical patent/CN115499228A/zh
Publication of CN115499228A publication Critical patent/CN115499228A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本申请公开了一种密钥保护方法、装置、设备、介质,涉及信息安全技术领域,包括:获取到由用户端发送到虚拟机的加解密请求后,从与虚拟机对应的业务数据卷中获取相应的加密密文;加密密文为利用从公共数据卷中保存的与宿主机对应的管理公钥对虚拟机的密钥进行加密后得到的,不同宿主机分别对应于不同的管理公钥;将所有加密密文依次发送至目标宿主机的密码运算模块,确定目标加密密文;通过目标宿主机中的密码运算模块保存的目标管理私钥对加密密文进行解密获取虚拟机的密钥,以便利用虚拟机的密钥对用户端发送的加解密请求进行处理。本申请避免借助外部密钥保存系统对宿主机的管理密钥进行管理,减少管理密钥暴露的风险。

Description

一种密钥保护方法、装置、设备、存储介质
技术领域
本发明涉及信息安全技术领域,特别涉及一种密钥保护方法、装置、设备、存储介质。
背景技术
容器虚拟化的安全设备,是指实现了容器虚拟化的各种合规的安全设备。作为一种云计算资源,它支持创建多个业务容器,它们会共享使用该安全设备的密码运算模块、计算资源、网络资源和存储资源等。出于集中管理、横向扩展和支持高可用等方面的考虑,可以将多台安全设备组成一个安全设备集群。这样,就可以将不同节点上的业务容器组成一个业务容器集群,统一对外提供业务。此外,也可以支持业务容器的跨节点漂移。
为了保证安全设备集群中每台安全的管理密钥的一致性,需要借助外部物理介质例如:使用安全的U盾(USB Key)对管理密钥进行安全同步,但这样一来,理论上会增加管理密钥暴露的风险。另外,当业务容器集群的数量很多时,对运维人员不太友好,也增加了运维误操作的概率。其次,由于安全设备集群只采用了一个管理密钥,如果有一台安全设备被入侵,将会导致该安全设备集群中其它所有的安全设备都存在泄露密钥的风险。
综上,如何避免安全设备集群使用存储在第三方密钥保存系统中的单个管理密钥管理产生的管理密钥暴露和安全设备集群被攻破的问题,实现支持业务容器的跨节点漂移,以及跨节点的业务容器集群对外统一提供服务。
发明内容
有鉴于此,本发明的目的在于提供一种密钥保护方法、装置、设备、存储介质,避免安全设备集群使用存储在第三方密钥保存系统中的单个管理密钥管理产生的管理密钥暴露和安全设备集群被攻破的问题,实现支持业务容器的跨节点漂移,以及跨节点的业务容器集群对外统一提供服务。其具体方案如下:
第一方面,本申请公开了一种密钥保护方法,应用于分布式存储系统,包括:
当获取到由用户端发送到虚拟机的加解密请求后,从与所述虚拟机对应的业务数据卷中获取相应的加密密文;所述加密密文为利用从公共数据卷中保存的与宿主机对应的管理公钥对所述虚拟机的密钥进行加密后得到的,其中,不同所述宿主机分别对应于不同的所述管理公钥;
将所有所述加密密文依次发送至目标宿主机的密码运算模块,以确定出目标加密密文;
通过所述目标宿主机中的所述密码运算模块保存的目标管理私钥对所述目标加密密文进行解密以获取所述虚拟机的密钥,以便利用所述虚拟机的密钥对用户端发送的加解密请求进行处理。
可选的,所述密钥保护方法,还包括:
确定宿主机集群中当前的待删除宿主机,利用所述待删除宿主机的唯一识别码从所述公共数据卷中查询所述待删除宿主机的状态标识,并将所述待删除宿主机的状态标识配置为停用状态标识;
基于当前状态标识为停用状态标识的所述待删除宿主机的唯一识别码对业务数据卷上保存与所述待删除宿主机对应的所述加密密文进行删除。
可选的,所述密钥保护方法,还包括:
当宿主机集群中新增一台或多台宿主机,则确定与新增宿主机存在关联关系的虚拟机以得到关联虚拟机,并从所有所述关联虚拟机中确定出允许被所述新增宿主机调度的目标虚拟机;
利用所述新增宿主机的管理公钥对所述目标虚拟机的密钥进行加密以得到相应的目标加密密文,并将所述目标加密密文追加至所述业务数据卷。
可选的,所述密钥保护方法,还包括:
从所述新增宿主机的所述密钥运算模块中提取出所述新增宿主机的管理公钥,并将所述新增宿主机的唯一识别码以及所述新增宿主机的管理公钥同步至所述公共数据卷。
可选的,所述从所有所述关联虚拟机中确定出允许被所述新增宿主机调度的目标虚拟机,包括:
控制所述新增宿主机向每个所述关联虚拟机均发送绑定请求;
判断所述关联虚拟机针对所述绑定请求的响应是否满足预设响应条件,以从所有所述关联虚拟机中筛选出允许被所述新增宿主机调度的目标虚拟机。
可选的,所述判断所述关联虚拟机针对所述绑定请求的响应是否满足预设响应条件,以从所有所述关联虚拟机中筛选出允许被所述新增宿主机调度的目标虚拟机,包括:
判断所述关联虚拟机针对所述绑定请求的响应是否存在响应错误或响应超时;
若所述关联虚拟机针对所述绑定请求的响应不存在响应错误和响应超时,则将该关联虚拟机确定为允许被所述新增宿主机调度的目标虚拟机;
若所述关联虚拟机针对所述绑定请求的响应存在响应错误或响应超时,则禁止将该关联虚拟机确定为允许被所述新增宿主机调度的目标虚拟机。
可选的,所述密钥保护方法,还包括:
基于多台所述宿主机建立所述宿主机集群;
基于所述宿主机集群构建分布式存储系统,并在所述分布式存储系统中创建所述公共数据卷和所述业务数据卷。
第二方面,本申请公开了一种密钥保护装置,包括:
密文获取模块,用于当获取到由用户端发送到虚拟机的加解密请求后,从与所述虚拟机对应的业务数据卷中获取相应的加密密文;所述加密密文为利用从公共数据卷中保存的与宿主机对应的管理公钥对所述虚拟机的密钥进行加密后得到的,其中,不同所述宿主机分别对应于不同的所述管理公钥;
目标私钥获取模块,用于将所有所述加密密文依次发送至目标宿主机的密码运算模块,以确定出目标加密密文;
请求处理模块,用于通过所述目标宿主机中的所述密码运算模块保存的目标管理私钥对所述目标加密密文进行解密以获取所述虚拟机的密钥,以便利用所述虚拟机的密钥对用户端发送的加解密请求进行处理。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现前述公开的密钥保护方法的步骤。
第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的密钥保护方法的步骤。
可见,本申请公开了一种密钥保护方法,应用于分布式存储系统,包括:当获取到由用户端发送到虚拟机的加解密请求后,从与所述虚拟机对应的业务数据卷中获取相应的加密密文;所述加密密文为利用从公共数据卷中保存的与宿主机对应的管理公钥对所述虚拟机的密钥进行加密后得到的,其中,不同所述宿主机分别对应于不同的所述管理公钥;将所有所述加密密文依次发送至目标宿主机的密码运算模块,以确定出目标加密密文;通过所述目标宿主机中的所述密码运算模块保存的目标管理私钥对所述目标加密密文进行解密以获取所述虚拟机的密钥,以便利用所述虚拟机的密钥对用户端发送的加解密请求进行处理。由此可见,本申请避免借助外部物理介质对宿主机的管理密钥进行安全同步操作,以减少管理密钥暴露的风险,并且,本申请中的不同的宿主机分别对应不同的管理密钥,相应的,由多台宿主机构成的安全设备集群的管理密钥也是多个的,避免了一台宿主机被入侵后,将会导致由多台宿主机构成的安全设备集群中其它所有的宿主机都存在泄露密钥的风险,并且本申请又能支持虚拟机的跨节点漂移,以及跨节点的虚拟机集群对外统一提供服务。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种密钥保护方法流程图;
图2为本申请公开的一种密钥结构图;
图3为本申请公开的一种安全设备集群密钥保护方法原理结构图;
图4为本申请公开的一种VMK加密和VMK解密流程图;
图5为本申请公开的一种具体的密钥保护方法流程图;
图6为本申请公开的一种添加云密码机流程图;
图7为本申请公开的一种公共数据卷的存储格式;
图8为本申请公开的一种业务数据卷的存储格式;
图9为本申请公开的一种创建VSM集群流程图;
图10为本申请公开的一种云服务器密码机的准备流程图;
图11为本申请公开的一种删除云密码机流程图;
图12为本申请公开的一种密钥保护装置结构示意图;
图13为本申请公开的一种电子设备结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了保证安全设备集群中每台安全的管理密钥的一致性,需要借助外部物理介质例如:使用安全的U盾对管理密钥进行安全同步,但这样一来,理论上会增加管理密钥暴露的风险。另外,当业务容器集群的数量很多时,对运维人员不太友好,也增加了运维误操作的概率。其次,由于安全设备集群只采用了一个管理密钥,如果有一台安全设备被入侵,将会导致该安全设备集群中其它所有的安全设备都存在泄露密钥的风险。
为此,本申请提供了一种密钥保护方案,能够避免安全设备集群使用存储在第三方密钥保存系统中的单个管理密钥管理产生的管理密钥暴露和安全设备集群被攻破的问题,实现支持业务容器的跨节点漂移,以及跨节点的业务容器集群对外统一提供服务。
参照图1所示,本发明实施例公开了一种密钥保护方法,应用于分布式存储系统,包括:
步骤S11:当获取到由用户端发送到虚拟机的加解密请求后,从与所述虚拟机对应的业务数据卷中获取相应的加密密文;所述加密密文为利用从公共数据卷中保存的与宿主机对应的管理公钥对所述虚拟机的密钥进行加密后得到的,其中,不同所述宿主机分别对应于不同的所述管理公钥。
本实施例中,容器虚拟化的安全设备,是指实现了容器虚拟化的各种合规的安全设备。作为一种云计算资源,它支持创建多个业务容器,它们会共享使用该安全设备的密码运算模块、计算资源、网络资源和存储资源等。出于集中管理、横向扩展和支持高可用等方面的考虑,可以将多台安全设备组成一个安全设备集群。这样,就可以将不同节点上的业务容器组成一个业务容器集群,统一对外提供业务。此外,也可以支持业务容器的跨节点漂移。安全设备集群有多种类型,例如常见的密码安全设备集群:云密码机集群,网络安全设备集群:云安全网关集群。本实施例以云密码机集群为例进行详细阐述,一台云密码机支持创建多个虚拟密码机,为了防止VSM(虚拟机)之间窜用、盗用密钥,需要对VSM的密钥在存储和使用两个方面进行安全隔离。VSM的密钥存储在VSM的文件系统中,VSM存储的隔离是通过容器技术即Linux内核的命名空间、控制组等特性实现的。同时,还需要对存储在VSM中的密钥进行全程加密,以进一步提高安全性。云密码机的管理密钥一般是对称密钥,用于保护其它密钥和敏感信息的安全,包括对其它密钥的管理、备份、恢复以及管理员身份鉴别等。云密码机的宿主机和各个VSM都具有自己的管理密钥,且VSM的管理密钥是通过宿主机的管理密钥来保护的。密钥数据是安全设备中最重要的信息,如何保证密钥信息不被非法获取,不在安全设备使用过程中异常泄露,是安全设备的关注重点。管理密钥由设备初始化时使用的管理工具生成或者导入,存储在云密码机内部的安全存储区域。云密码机的宿主机和各个VSM应使用各自独立的管理工具产生各自的管理密钥并存储在各自独立的的安全存储区域。宿主机和不同虚拟密码机的管理密钥采用不同的授权码进行访问控制。宿主机的授权码由宿主机管理员保管,不同虚拟密码机的授权码由各自租户保管和使用。多台云密码机可以组成一个云密码机集群,而多台跨节点的VSM也可以组成一个VSM集群,统一对租户提供加解密服务。由于一个VSM集群有且仅有一个管理密钥,考虑到VSM的管理密钥是通过宿主机的管理密钥来保护的,所以,该云密码机集群的每台云密码机的管理密钥都需要保持一致,才能确保不管VSM位于哪一台云密码机上,都能被同一个管理密钥正确地加解密。参照图2所示,将云密码机宿主机的管理密钥称为HMK,而将VSM的管理密钥称为VMK。云密码机的HMK是由本机密码运算模块采用SM2算法生成的非对称密钥。云密码机的密码运算模块分为三个区:非易失性安全存储区、非易失性存储区和易失性存储区。其中,云密码机的HMK私钥存放在密码运算模块的非易失性安全存储区中,不会出现在系统内存中,也不会以明文方式存于非易失性存储器上。云密码机的HMK公钥以明文方式存放在密码运算模块的非易失性存储区中。而易失性存储区会为每个VSM划分独立的运算隔离区,保障运算过程中的安全隔离。
本实施例中,基于多台所述宿主机建立所述宿主机集群;基于所述宿主机集群构建分布式存储系统,并在所述分布式存储系统中创建所述公共数据卷和所述业务数据卷。可以理解的是,参照图3所示,首先根据多台云密码机创建一个云密码机集群,对于云密码机集群,会内置一个分布式存储系统。集群中的每一台云密码机都可以正常访问到该分布式存储系统,而集群之外的任一节点均无法访问到该分布式存储系统。当云密码机集群新建一个VSM单机或集群时,根据标签规则可以知道VSM单机或集群只允许创建在哪些云密码机上,然后将用到这些云密码机的HMK公钥。分布式存储将为每一个VSM集群提供一个单独的业务数据卷,该VSM集群的关键信息都存放在其数据卷中。每个VSM集群只能访问自己的业务数据卷,以达到密钥隔离的效果,其中所述VSM集群的关键信息具体可以包括但不限于:VSM管理密钥、VSM密钥加密密钥等。此外,分布式存储还会创建一个公共数据卷,用于以明文方式存放所有云密码机的HMK公钥。所有的VSM集群都拥有读取该公共数据卷的权限。
步骤S12:将所有所述加密密文依次发送至目标宿主机的密码运算模块,以确定出目标加密密文。
本实施例中,首先参照图4所示,VMK加密过程如下:所述虚拟机产生关于用户加解密需求的VMK,然后依次输入云密码机的HMK公钥明文,利用云密码机的HMK对虚拟机的VMK进行加密,产生加密后的加密密文,并将加密VMK更新到该VSM集群的业务数据卷中,遍历所有云密码机,直至和虚拟机相关的云密码机的HMK均对所述虚拟机的VMK进行加密为止。VMK解密过程如下:首先读取该VSM集群的业务数据卷,然后将获取的与所有该虚拟机相关的VMK的加密密文依次输入到本次选择的云密码机中,利用所述云密码机非易失性安全存储区的HMK私钥去尝试解密VMK,并返回解密结果,如果解密成功,则结束,如果解密失败,则继续更换下一个加密密文,直至解密成功。
步骤S13:通过所述目标宿主机中的所述密码运算模块保存的目标管理私钥对所述目标加密密文进行解密以获取所述虚拟机的密钥,以便利用所述虚拟机的密钥对用户端发送的加解密请求进行处理。
本实施例中,当获取到解密加密密文的云密码机HMK私钥后,利用所述云密码机HMK私钥对所述加密密文进行解密,以便利用解密后的VMK对用户的加解密请求进行处理,可以理解的是,由于在对VMK加密时采用了不同的云密码机各自的HMK公钥对其进行加密,所以相应的在解密时,也要找到对应的HMK私钥进行解密,做到“一机一密”,也即每一台云密码机都使用独立的管理密钥。且不管VSM位于哪一台云密码机上,都能做到被其所在云密码机的管理密钥正确地加解密。
可见,本申请公开了一种密钥保护方法,应用于分布式存储系统,包括:当获取到由用户端发送到虚拟机的加解密请求后,从与所述虚拟机对应的业务数据卷中获取相应的加密密文;所述加密密文为利用从公共数据卷中保存的与宿主机对应的管理公钥对所述虚拟机的密钥进行加密后得到的,其中,不同所述宿主机分别对应于不同的所述管理公钥;将所有所述加密密文依次发送至目标宿主机的密码运算模块,以确定出目标加密密文;通过所述目标宿主机中的所述密码运算模块保存的目标管理私钥对所述目标加密密文进行解密以获取所述虚拟机的密钥,以便利用所述虚拟机的密钥对用户端发送的加解密请求进行处理。由此可见,本申请避免借助外部物理介质对宿主机的管理密钥进行安全同步操作,以减少管理密钥暴露的风险,并且,本申请中的不同的宿主机分别对应不同的管理密钥,相应的,由多台宿主机构成的安全设备集群的管理密钥也是多个的,避免了一台宿主机被入侵后,将会导致由多台宿主机构成的安全设备集群中其它所有的宿主机都存在泄露密钥的风险,并且本申请又能支持虚拟机的跨节点漂移,以及跨节点的虚拟机集群对外统一提供服务。
参照图5所示,本发明实施例公开了一种具体的密钥保护方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体的:
步骤S21:当宿主机集群中新增一台或多台宿主机,则确定与新增宿主机存在关联关系的虚拟机以得到关联虚拟机,并从所有所述关联虚拟机中确定出允许被所述新增宿主机调度的目标虚拟机。
本实施例中,所述从所有所述关联虚拟机中确定出允许被所述新增宿主机调度的目标虚拟机,包括:控制所述新增宿主机向每个所述关联虚拟机均发送绑定请求;判断所述关联虚拟机针对所述绑定请求的响应是否满足预设响应条件,以从所有所述关联虚拟机中筛选出允许被所述新增宿主机调度的目标虚拟机。判断所述关联虚拟机针对所述绑定请求的响应是否存在响应错误或响应超时;若所述关联虚拟机针对所述绑定请求的响应不存在响应错误和响应超时,则将该关联虚拟机确定为允许被所述新增宿主机调度的目标虚拟机;若所述关联虚拟机针对所述绑定请求的响应存在响应错误或响应超时,则禁止将该关联虚拟机确定为允许被所述新增宿主机调度的目标虚拟机。可以理解的是,参照图6所示,如果此时云密码机集群添加了一台云密码机,则需要先限制该云密码机不可被调度,然后将该云密码机的HMK公钥追加到公共数据卷中。接着需要根据该云密码机的标签,通知每一个相关VSM集群,用新增的HMK公钥对VMK进行加密,然后将VMK加密密文追加到业务数据卷中。对于响应报错或超时未响应的VSM集群,限制其后续不能调度到这台新加入的云密码机上。最后,就可以更新这台云密码机的状态,允许其被调度。首先,云密码机集群检查待加入云密码机是否满足集群的条件,如果所述待加入云密码机满足集群条件,则云密码机集群向所述待加入云密码机发送加入集群指令,当所述待加入云密码机收到所述集群指令后,加入所述云密码机集群,但此时所述云密码机为不可调度状态,将该云密码机的HMK公钥追加到公共数据卷中,并反馈消息至所述云密码机集群,所述云密码机集群根据云密码机标签,通知每一个相关VSM集群,已新增HMK公钥,然后利用新增HMK公钥对VMK进行加密,将VMK加密密文追加到业务数据卷中,对于响应报错或未超时响应的VSM集群,限制其后续不能调度到这台新加入的云密码机上,更新这台密码机的状态,允许其被调度。
本实施例中,从所述新增宿主机的所述密钥运算模块中提取出所述新增宿主机的管理公钥,并将所述新增宿主机的唯一识别码以及所述新增宿主机的管理公钥同步至所述公共数据卷。可以理解的是,参照图7所示,公共数据卷中的数据以数据库格式存储,会记录下云密码机集群中每台云密码机的UUID(唯一识别码)、HMK公钥明文,以及其状态。对于云密码机集群的现有云密码机,其对应的HMK公钥的标识均为“可用”;对于后续加入集群的云密码机,其对应的HMK公钥的标识为“新增”;对于后续从集群中移除的云密码机,其对应的HMK公钥的标识为“停用”。参照图8所示,业务数据卷中的数据也以数据库格式存储,会记录下云密码机集群中每台云密码机的UUID,以及被云密码机的HMK公钥保护的VMK加密密文。参照图9所示,在创建一个VSM集群时,根据标签规则可以知道它们只允许创建在哪些云密码机上。在第一个VSM创建并启动之后,会访问公共数据卷,读取到和标签规则相关的所有云密码机的HMK公钥明文文件,然后通过密码运算模块生成该VSM集群的VMK,再遍历每一个云密码机的HMK公钥,并依次对该VSM集群的VMK进行加密,加密后的VMK密文存于该VSM集群的数据卷中,只有该VSM集群才拥有访问权限。
本实施例中,在创建VSM集群之前,预先进行云密码机集群的准备工作,参照图10所示,云密码机分别各自完成初始化,然后每台云密码机生成独立的HMK密钥对,然后将所述每台云密码机的HMK私钥存放在各自的非易失性安全存储区,HMK公钥存放在各自的非易失性存储区,将HMK公钥和HMK私钥进行分开保存,并将所有的云密码机组成一个云密码机集群,启用分布式存储系统并创建公共数据卷,将所有云密码机的HMK公钥同步到数据卷中,至此云密码机集群的准备工作结束。
步骤S22:利用所述新增宿主机的管理公钥对所述目标虚拟机的密钥进行加密以得到相应的目标加密密文,并将所述目标加密密文追加至所述业务数据卷。
本实施例中,确定新增云密码机以后,利用所述新增云密码机的HMK公钥对VSM的VMK进行加密,并将目标加密密文追加保存到业务数据卷中,随着业务发展,所述宿主机集群也会出现待删除宿主机的情况,参照图11所示,确定宿主机集群中当前的待删除宿主机,利用所述待删除宿主机的唯一识别码从所述公共数据卷中查询所述待删除宿主机的状态标识,并将所述待删除宿主机的状态标识配置为停用状态标识。基于当前状态标识为停用状态标识的所述待删除宿主机的唯一识别码对业务数据卷上保存与所述待删除宿主机对应的所述加密密文进行删除。可以理解的是,当云密码机集群需要删除某一台云密码机时,会先将公共数据卷中对应的HMK公钥标识为停用状态,每个VSM集群会监听到公共数据卷的某个HMK公钥被停用,然后会去业务数据卷中删除对应的VMK加密密文。
步骤S23:当获取到由用户端发送到所述目标虚拟机的加解密请求后,从与所述目标虚拟机对应的业务数据卷中获取相应的加密密文。
步骤S24:将所有所述加密密文依次发送至所述新增宿主机的密码运算模块,以确定相应的目标加密密文。
步骤S25:通过所述新增宿主机中的所述密码运算模块保存的目标管理私钥对所述目标加密密文进行解密以获取所述虚拟机的密钥,以便利用所述目标虚拟机的所述密钥对用户端发送的加解密请求进行处理。
其中,步骤S23、S24、S25更加详细的处理过程请参考前述公开的实施例,在此不再进行赘述。
可见,本实施例中进行了在宿主机集群新增或删除宿主机的活动时整个密钥保护方法的具体实施过程,令云密码机的HMK私钥存放在密码运算模块的非易失性安全存储区中,不会出现在系统内存中,也不会以明文方式存于非易失性存储器上。云密码机的HMK公钥以明文方式存放在密码运算模块的非易失性存储区中。而易失性存储区会为每个VSM划分独立的运算隔离区,保障运算过程中的安全隔离,利用安全设备集群内置的分布式存储系统,统一存放每台云密码机的HMK公钥,每一个VSM集群都有访问权限。分布式存储系统为每个VSM集群分配一个业务数据卷,用于存放和本VSM集群的标签规则相匹配的每台云密码机的UUID,以及被云密码机的HMK公钥保护的VMK加密密文,最终使得VSM在云密码机集群中漂移时,无论该VSM按照标签规则漂移到哪台云密码机上时,都能够通过该台云密码机的非易失性安全存储区中的HMK私钥成功解密出VMK,实现了一机一密的密钥保护。
参照图12所示,本发明实施例公开了一种密钥保护装置,应用于分布式存储系统,包括:
密文获取模块11,用于当获取到由用户端发送到虚拟机的加解密请求后,从与所述虚拟机对应的业务数据卷中获取相应的加密密文;所述加密密文为利用从公共数据卷中保存的与宿主机对应的管理公钥对所述虚拟机的密钥进行加密后得到的,其中,不同所述宿主机分别对应于不同的所述管理公钥;
目标私钥获取模块12,用于将所有所述加密密文依次发送至目标宿主机的密码运算模块,以确定出目标加密密文;
请求处理模块13,通过所述目标宿主机中的所述密码运算模块保存的目标管理私钥对所述目标加密密文进行解密以获取所述虚拟机的密钥,以便利用所述虚拟机的密钥对用户端发送的加解密请求进行处理。
可见,本申请公开了一种密钥保护方法,应用于分布式存储系统,包括:当获取到由用户端发送到虚拟机的加解密请求后,从与所述虚拟机对应的业务数据卷中获取相应的加密密文;所述加密密文为利用从公共数据卷中保存的与宿主机对应的管理公钥对所述虚拟机的密钥进行加密后得到的,其中,不同所述宿主机分别对应于不同的所述管理公钥;将所有所述加密密文依次发送至目标宿主机的密码运算模块,以确定出目标加密密文;通过所述目标宿主机中的所述密码运算模块保存的目标管理私钥对所述目标加密密文进行解密以获取所述虚拟机的密钥,以便利用所述虚拟机的密钥对用户端发送的加解密请求进行处理。由此可见,本申请避免借助外部物理介质对宿主机的管理密钥进行安全同步操作,以减少管理密钥暴露的风险,并且,本申请中的不同的宿主机分别对应不同的管理密钥,相应的,由多台宿主机构成的安全设备集群的管理密钥也是多个的,避免了一台宿主机被入侵后,将会导致由多台宿主机构成的安全设备集群中其它所有的宿主机都存在泄露密钥的风险,并且本申请又能支持虚拟机的跨节点漂移,以及跨节点的虚拟机集群对外统一提供服务。
图13是根据一示例性实施例示出的一种电子设备200的框图。如图13所示,该电子设备200可以包括:处理器201,存储器202。该电子设备200还可以包括多媒体组件203,输入/输出(I/O)接口204,以及通信组件205中的一者或多者。
其中,处理器201用于控制该电子设备200的整体操作,以完成上述的密钥保护方法中的全部或部分步骤。存储器202用于存储各种类型的数据以支持在该电子设备200的操作,这些数据例如可以包括用于在该电子设备200上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器202可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件203可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器202或通过通信组件205发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口204为处理器201和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件205用于该电子设备200与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件205可以包括:Wi-Fi模块,蓝牙模块,NFC模块。
在一示例性实施例中,电子设备200可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的密钥保护方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的密钥保护方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器202,上述程序指令可由电子设备200的处理器201执行以完成上述的密钥方法。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种密钥保护方法、装置、设备、存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种密钥保护方法,其特征在于,应用于分布式存储系统,包括:
当获取到由用户端发送到虚拟机的加解密请求后,从与所述虚拟机对应的业务数据卷中获取相应的加密密文;所述加密密文为利用从公共数据卷中保存的与宿主机对应的管理公钥对所述虚拟机的密钥进行加密后得到的,其中,不同所述宿主机分别对应于不同的所述管理公钥;
将所有所述加密密文依次发送至目标宿主机的密码运算模块,以确定出目标加密密文;
通过所述目标宿主机中的所述密码运算模块保存的目标管理私钥对所述目标加密密文进行解密以获取所述虚拟机的密钥,以便利用所述虚拟机的密钥对用户端发送的加解密请求进行处理。
2.根据权利要求1所述的密钥保护方法,其特征在于,还包括:
确定宿主机集群中当前的待删除宿主机,利用所述待删除宿主机的唯一识别码从所述公共数据卷中查询所述待删除宿主机的状态标识,并将所述待删除宿主机的状态标识配置为停用状态标识;
基于当前状态标识为停用状态标识的所述待删除宿主机的唯一识别码对业务数据卷上保存与所述待删除宿主机对应的所述加密密文进行删除。
3.根据权利要求1所述的密钥保护方法,其特征在于,还包括:
当宿主机集群中新增一台或多台宿主机,则确定与新增宿主机存在关联关系的虚拟机以得到关联虚拟机,并从所有所述关联虚拟机中确定出允许被所述新增宿主机调度的目标虚拟机;
利用所述新增宿主机的管理公钥对所述目标虚拟机的密钥进行加密以得到相应的目标加密密文,并将所述目标加密密文追加至所述业务数据卷。
4.根据权利要求3所述的密钥保护方法,其特征在于,还包括:
从所述新增宿主机的所述密钥运算模块中提取出所述新增宿主机的管理公钥,并将所述新增宿主机的唯一识别码以及所述新增宿主机的管理公钥同步至所述公共数据卷。
5.根据权利要求3或4所述的密钥保护方法,其特征在于,所述从所有所述关联虚拟机中确定出允许被所述新增宿主机调度的目标虚拟机,包括:
控制所述新增宿主机向每个所述关联虚拟机均发送绑定请求;
判断所述关联虚拟机针对所述绑定请求的响应是否满足预设响应条件,以从所有所述关联虚拟机中筛选出允许被所述新增宿主机调度的目标虚拟机。
6.根据权利要求5所述的密钥保护方法,其特征在于,所述判断所述关联虚拟机针对所述绑定请求的响应是否满足预设响应条件,以从所有所述关联虚拟机中筛选出允许被所述新增宿主机调度的目标虚拟机,包括:
判断所述关联虚拟机针对所述绑定请求的响应是否存在响应错误或响应超时;
若所述关联虚拟机针对所述绑定请求的响应不存在响应错误和响应超时,则将该关联虚拟机确定为允许被所述新增宿主机调度的目标虚拟机;
若所述关联虚拟机针对所述绑定请求的响应存在响应错误或响应超时,则禁止将该关联虚拟机确定为允许被所述新增宿主机调度的目标虚拟机。
7.根据权利要求1所述的密钥保护方法,其特征在于,还包括:
基于多台所述宿主机建立所述宿主机集群;
基于所述宿主机集群构建分布式存储系统,并在所述分布式存储系统中创建所述公共数据卷和所述业务数据卷。
8.一种密钥保护装置,其特征在于,包括:
密文获取模块,用于当获取到由用户端发送到虚拟机的加解密请求后,从与所述虚拟机对应的业务数据卷中获取相应的加密密文;所述加密密文为利用从公共数据卷中保存的与宿主机对应的管理公钥对所述虚拟机的密钥进行加密后得到的,其中,不同所述宿主机分别对应于不同的所述管理公钥;
目标私钥获取模块,用于将所有所述加密密文依次发送至目标宿主机的密码运算模块,以确定出目标加密密文;
请求处理模块,用于通过所述目标宿主机中的所述密码运算模块保存的目标管理私钥对所述目标加密密文进行解密以获取所述虚拟机的密钥,以便利用所述虚拟机的密钥对用户端发送的加解密请求进行处理。
9.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的密钥保护方法的步骤。
10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的密钥保护方法的步骤。
CN202211157576.XA 2022-09-22 2022-09-22 一种密钥保护方法、装置、设备、存储介质 Pending CN115499228A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211157576.XA CN115499228A (zh) 2022-09-22 2022-09-22 一种密钥保护方法、装置、设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211157576.XA CN115499228A (zh) 2022-09-22 2022-09-22 一种密钥保护方法、装置、设备、存储介质

Publications (1)

Publication Number Publication Date
CN115499228A true CN115499228A (zh) 2022-12-20

Family

ID=84470793

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211157576.XA Pending CN115499228A (zh) 2022-09-22 2022-09-22 一种密钥保护方法、装置、设备、存储介质

Country Status (1)

Country Link
CN (1) CN115499228A (zh)

Similar Documents

Publication Publication Date Title
US9954680B1 (en) Secure management of a master encryption key in a split-key based distributed computing environment
CN110061983B (zh) 一种数据处理方法及系统
US9621524B2 (en) Cloud-based key management
EP3036876B1 (en) Asynchronously provisioning of keys from one secure device to another
US11831753B2 (en) Secure distributed key management system
US20110276490A1 (en) Security service level agreements with publicly verifiable proofs of compliance
CN109981255B (zh) 密钥池的更新方法和系统
EP3860036B1 (en) Key management method, security chip, service server and information system
US10887085B2 (en) System and method for controlling usage of cryptographic keys
KR101648364B1 (ko) 대칭키 암호화와 비대칭키 이중 암호화를 복합적으로 적용한 암/복호화 속도개선 방법
CN110362984B (zh) 多设备运行业务系统的方法及装置
CN111406260A (zh) 具有安全对象复制的对象存储系统
CN111786812A (zh) 节点管理方法、装置、计算机设备和存储介质
JP6426520B2 (ja) 暗号鍵管理システムおよび暗号鍵管理方法
Lei et al. Research on key management infrastructure in cloud computing environment
US11321471B2 (en) Encrypted storage of data
JP2016072769A (ja) データ管理システム、データ管理方法、及びクライアント端末
JP4875781B1 (ja) データ分散保管システム
CN111917711B (zh) 数据访问方法、装置、计算机设备和存储介质
WO2013008351A1 (ja) データ分散保管システム
CN112118245A (zh) 密钥管理方法、系统和设备
JP2022523068A (ja) 安全な電子データ転送のためのシステムと方法
CN115037451B (zh) 数据保护方法及电子设备
CN115499228A (zh) 一种密钥保护方法、装置、设备、存储介质
KR20080054792A (ko) 하드웨어 보안 모듈 다중화 장치 및 그 방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination