CN115348077A - 一种虚拟机加密方法、装置、设备、存储介质 - Google Patents

一种虚拟机加密方法、装置、设备、存储介质 Download PDF

Info

Publication number
CN115348077A
CN115348077A CN202210969043.5A CN202210969043A CN115348077A CN 115348077 A CN115348077 A CN 115348077A CN 202210969043 A CN202210969043 A CN 202210969043A CN 115348077 A CN115348077 A CN 115348077A
Authority
CN
China
Prior art keywords
key
virtual machine
encryption
user
generating
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
CN202210969043.5A
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.)
Inspur Jinan data Technology Co ltd
Original Assignee
Inspur Jinan data Technology Co ltd
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 Inspur Jinan data Technology Co ltd filed Critical Inspur Jinan data Technology Co ltd
Priority to CN202210969043.5A priority Critical patent/CN115348077A/zh
Publication of CN115348077A publication Critical patent/CN115348077A/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/045Network 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 hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

本申请公开了一种虚拟机加密方法、装置、设备、存储介质,涉及计算机技术领域,包括:当接收到用户提出的虚拟机创建请求时,基于第一国密算法、用户唯一标识和用户参数信息生成包含第一公钥和第一私钥的非对称密钥对;通过服务端并基于第二国密算法生成对称密钥;利用第一公钥对对称密钥进行加密,获取目标密钥;获取服务端返回的针对虚拟机创建请求的产生的用户授权请求的授权信息;当授权信息通过认证后,利用第一私钥对目标密钥进行解密,利用对称密钥创建与当前虚拟机对应的虚拟磁盘,完成虚拟机加密。通过对对称密钥使用非对称公钥加密,保证密钥传输过程的安全,当用户在对虚拟机进行操作时,再次验证授权信息,保证虚拟机的操作安全。

Description

一种虚拟机加密方法、装置、设备、存储介质
技术领域
本发明涉及计算机技术领域,特别涉及一种虚拟机加密方法、装置、设备、存储介质。
背景技术
目前我国的信息基础设施建设一直处于被动境地,中国的IT产业在底层架构、标准、产品等领域严重依赖国外厂商,关键技术存在被封锁的风险,在此背景下,从底层芯片到上层应用的替代产业链条逐步建立,关键环节如国产CPU、国产操作系统、国产应用软件等也已实现了显著突破,信创产业链条日趋完善,企业上逐渐使用国产化虚拟化平台对物理资源进行管理,虚拟机企业的核心数据资产要保证信息安全,必须防止信息泄密。为防止信息泄密,通常是采用针对虚拟机磁盘加密的方式。但是,该方式中需要在不同端之间进行密钥的传递和身份信息的验证,这样一来,加密虚拟机磁盘所需的密钥就存在暴露的风险,容易密钥泄露,造成信息数据等泄密。
综上,如何对密钥进行加密保护,保证密钥传输过程的安全是本领域有待解决的技术问题。
发明内容
有鉴于此,本发明的目的在于提供一种虚拟机加密方法、装置、设备、存储介质,能够对密钥进行加密保护,保证密钥传输过程的安全。其具体方案如下:
第一方面,本申请公开了一种虚拟机加密方法,包括:
当接收到用户提出的虚拟机创建请求时,基于第一国密算法、用户唯一标识和用户参数信息生成包含第一公钥和第一私钥的非对称密钥对;通过服务端并基于第二国密算法生成对称密钥;
利用所述第一公钥对所述对称密钥进行加密,以获取目标密钥;
获取服务端返回的针对所述虚拟机创建请求的产生的用户授权请求的授权信息;
当所述授权信息通过认证后,从所述服务端中获取所述目标密钥,利用所述第一私钥对所述目标密钥进行解密,以便利用所述对称密钥创建与当前虚拟机对应的虚拟磁盘,完成虚拟机加密。
可选的,所述基于第一国密算法、用户唯一标识和用户参数信息生成包含第一公钥和第一私钥的非对称密钥对过程中,还包括:
通过客户端并基于第二国密算法生成传输密钥,以便利用所述传输密钥对所述第一私钥进行加密,以得到第一加密密钥;
利用所述第一公钥对所述传输密钥进行加密,以得到加密传输密钥;
将所述第一加密密钥、所述加密传输密钥、所述第一公钥发送至证书管理机构,以便所述证书管理机构进行加密证书签名操作,并通过证书注册审批系统下发相应的加密证书。
可选的,所述通过服务端并基于第二国密算法生成对称密钥过程中,还包括:
利用虚拟化平台创建虚拟机,并确定计算节点。
可选的,所述利用虚拟化平台创建虚拟机,并确定计算节点之前,还包括:
预先在虚拟化平台添加计算节点,利用所述计算节点的唯一标识生成非对称密钥对,并将所非对称密钥对存储客户端数据库中,然后将第一公钥发送至虚拟化平台数据库中。
可选的,所述获取服务端针对所述虚拟机创建请求的产生的用户授权请求的授权信息,包括:
基于用户发送的包含用户信息以及应用密钥的用户授权请求生成第一随机数,并获取服务端发送的第二随机数;
将所述第一随机数和所述第二随机数进行拼接,以获取拼接后的随机数,并将所述拼接后的随机数以及与虚拟化平台应用对应的应用密钥发送至客户端;
基于所述拼接后的随机数以及所述应用密钥生成哈希消息认证码;
将所述哈希消息认证码以及所述第二随机数发送至所述服务端,以便所述服务端对所述用户授权请求进行授权。
可选的,所述基于所述拼接后的随机数以及所述应用密钥生成哈希消息认证码,包括:
利用SM3密码散列函数标准算法并基于所述拼接后的随机数以及所述应用密钥生成哈希消息认证码。
可选的,所述利用所述对称密钥创建与当前虚拟机对应的虚拟磁盘,完成虚拟机加密,包括:
利用对称密钥对所述当前虚拟机操作的目标数据进行加解密,完成虚拟机加密。
第二方面,本申请公开了一种虚拟机加密装置,包括:
密钥生成模块,用于当接收到用户提出的虚拟机创建请求时,基于第一国密算法、用户唯一标识和用户参数信息生成包含第一公钥和第一私钥的非对称密钥对;通过服务端并基于第二国密算法生成对称密钥;
密钥加密模块,用于利用所述第一公钥对所述对称密钥进行加密,以获取目标密钥;
授权获取模块,用于获取服务端返回的针对所述虚拟机创建请求的产生的用户授权请求的授权信息;
虚拟机加密模块,用于当所述授权信息通过认证后,从所述服务端中获取所述目标密钥,利用所述第一私钥对所述目标密钥进行解密,以便利用所述对称密钥创建与当前虚拟机对应的虚拟磁盘,完成虚拟机加密。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现前述公开的虚拟机加密方法的步骤。
第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的虚拟机加密方法的步骤。
由此可见,本申请公开了一种虚拟机加密方法,包括:当接收到用户提出的虚拟机创建请求时,基于第一国密算法、用户唯一标识和用户参数信息生成包含第一公钥和第一私钥的非对称密钥对;通过服务端并基于第二国密算法生成对称密钥;利用所述第一公钥对所述对称密钥进行加密,以获取目标密钥;获取服务端返回的针对所述虚拟机创建请求的产生的用户授权请求的授权信息;当所述授权信息通过认证后,从所述服务端中获取所述目标密钥,利用所述第一私钥对所述目标密钥进行解密,以便利用所述对称密钥创建与当前虚拟机对应的虚拟磁盘,完成虚拟机加密。可见,本申请通过对对称密钥使用非对称公钥进行加密,保证密钥传输过程的安全,然后通过用户在对虚拟机进行相关操作时,再次验证授权信息,保证虚拟机的操作安全,使得虚拟机能在工作负载在企业基础设施中移动、克隆或做快照时对数据提供持续的保护。对虚拟机加密,摒除了受硬件、虚拟机管理器或云提供商限制的风险,为混合IT环境和传输中的工作负载提供了理想的完全可移植的保护。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种虚拟机加密方法流程图;
图2为本申请公开的一种具体的虚拟机加密方法流程图;
图3为本申请公开的一种创建加密虚拟机过程图;
图4为本申请公开的一种磁盘数据加解密流程图;
图5为本申请公开的另一种具体的虚拟机加密方法流程图;
图6为本申请公开的一种创建SM2非对称密钥过程图;
图7为本申请公开的一种服务端认证过程图;
图8为本申请公开的一种虚拟机加密装置结构示意图;
图9为本申请公开的一种电子设备结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前我国的信息基础设施建设一直处于被动境地,中国的IT产业在底层架构、标准、产品等领域严重依赖国外厂商,关键技术存在被封锁的风险,在此背景下,从底层芯片到上层应用的替代产业链条逐步建立,关键环节如国产CPU、国产操作系统、国产应用软件等也已实现了显著突破,信创产业链条日趋完善,企业上逐渐使用国产化虚拟化平台对物理资源进行管理,虚拟机企业的核心数据资产要保证信息安全,必须防止信息泄密。为防止信息泄密,通常是采用针对虚拟机磁盘加密的方式。但是,该方式中需要在不同端之间进行密钥的传递和身份信息的验证,这样一来,加密虚拟机磁盘所需的密钥就存在暴露的风险,容易密钥泄露,造成信息数据等泄密。
为此,本申请提供了一种虚拟机加密方案,能够对密钥进行加密保护,保证密钥传输过程的安全。
参照图1所示,本发明实施例公开了一种虚拟机加密方法,包括:
步骤S11:当接收到用户提出的虚拟机创建请求时,基于第一国密算法、用户唯一标识和用户参数信息生成包含第一公钥和第一私钥的非对称密钥对;通过服务端并基于第二国密算法生成对称密钥。
本实施例中,通过客户端并基于第二国密算法生成传输密钥,以便利用所述传输密钥对所述第一私钥进行加密,以得到第一加密密钥;利用所述第一公钥对所述传输密钥进行加密,以得到加密传输密钥;将所述第一加密密钥、所述加密传输密钥、所述第一公钥发送至证书管理机构,以便所述证书管理机构进行加密证书签名操作,并通过证书注册审批系统下发相应的加密证书。可以理解的是,安全管理员创建用户,在创建用户时,虚拟化平台将根据用户信息相关参数构造请求,发送到客户端;客户端将用户名作为唯一标识,生成SM2非对称密钥对,也即公钥1,私钥1,客户端同时基于SM4国密算法生成对称密钥,也即传输密钥1,使用此传输密钥1对非对称密钥中的私钥1进行加密得到加密私钥1,使用SM2公钥对传输密钥1进行加密得到加密后的传输密钥2,客户端将加密后的传输密钥2,、加密后的加密私钥1,及SM2公钥发送给CA,CA将签发用户签名证书及加密证书,将签发好的证书,加密后的加密私钥1,及加密后的传输密钥2,发送到RA,RA向虚拟化平台返回加密证书,签名证书及加密后的加密私钥1,及加密后的传输密钥2,虚拟化平台会将用户唯一标识及加密的传输密钥2发送给客户端,客户端将使用私钥1进行解密得到传输密钥1,并交给虚拟化平台,虚拟化平台调用客户端接口,使用传输密钥1解密加密后的加密私钥2,得到私钥1,并将SM2私钥及加密证书,及签名证书保存在用户的Ukey中。在进行用户登录时,将使用Ukey进行安全登录与身份认证。
本实施例中,预先由客户端使用国密算法SM2生成持久化的非对称密钥对,及通过服务端使用国密算法SM4创建对称密钥,其中,国密算法SM2是密码管理局发布的椭圆曲线公钥密码算法,国密算法SM4是由密码管理局发布的一种分组密码算法。
步骤S12:利用所述第一公钥对所述对称密钥进行加密,以获取目标密钥。
本实施例中,当获取客户端和服务端创建的非对称密钥对和对称密钥之后,利用非对称密钥对中的第一公钥对对称密钥进行加密操作,并获取目标密钥。
步骤S13:获取服务端返回的针对所述虚拟机创建请求的产生的用户授权请求的授权信息。
本实施例中,服务端通过虚拟化平台生成的授权信息,对虚拟化平台进行认证,虚拟化平台拿到授权后,可在服务端进行密钥的相关操作,需要注意的是,若对虚拟化平台进行授权信息认证的过程中,无法通过授权认证,则服务端拒绝提供相应的操作。
步骤S14:当所述授权信息通过认证后,从所述服务端中获取所述目标密钥,利用所述第一私钥对所述目标密钥进行解密,以便利用所述对称密钥创建与当前虚拟机对应的虚拟磁盘,完成虚拟机加密。
本实施例中,当授权信息通过认证之后,服务端基于对称密钥的唯一标识提供目标密钥,利用所述第一私钥对所述目标密钥进行解密,当解密成功后,以便利用所述对称密钥创建与当前虚拟机对应的预设格式的虚拟磁盘,完成虚拟机加密,例如:利用解密后的SM4S对称密钥创建LUKS(Linux Unified Key Setup Linux,硬盘加密的标准)格式的虚拟磁盘,使每个虚拟机使用不同的SM4密钥,使得虚拟机的虚拟磁盘,只能由当前虚拟机进行使用,保证了数据的安全性,也即当创建虚拟机成功后,将虚拟机的唯一标识及其对应的公钥加密之后的标识,保存在用户的Ukey中,所以用户在对虚拟机进行相关操作时,虚拟化平台将根据Ukey中的标识,使用密钥解密后进行二次身份验证;虚拟磁盘在读写数据时,使用对应密钥对数据进行加解密,保证数据安全,防止信息泄露。
由此可见,本申请公开了一种虚拟机加密方法,包括:当接收到用户提出的虚拟机创建请求时,基于第一国密算法、用户唯一标识和用户参数信息生成包含第一公钥和第一私钥的非对称密钥对;通过服务端并基于第二国密算法生成对称密钥;利用所述第一公钥对所述对称密钥进行加密,以获取目标密钥;获取服务端返回的针对所述虚拟机创建请求的产生的用户授权请求的授权信息;当所述授权信息通过认证后,从所述服务端中获取所述目标密钥,利用所述第一私钥对所述目标密钥进行解密,以便利用所述对称密钥创建与当前虚拟机对应的虚拟磁盘,完成虚拟机加密。可见,本申请通过对对称密钥使用非对称公钥进行加密,保证密钥传输过程的安全,然后通过用户在对虚拟机进行相关操作时,再次验证授权信息,保证虚拟机的操作安全,使得虚拟机能在工作负载在企业基础设施中移动、克隆或做快照时对数据提供持续的保护。对虚拟机加密,摒除了受硬件、虚拟机管理器或云提供商限制的风险,为混合IT环境和传输中的工作负载提供了理想的完全可移植的保护。
参照图2所示,本发明实施例公开了一种具体的虚拟机加密方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体的:
步骤S21:当接收到用户提出的虚拟机创建请求时,基于第一国密算法、用户唯一标识和用户参数信息生成包含第一公钥和第一私钥的非对称密钥对。
其中,步骤S21中更加详细的处理过程,请参照前述公开的实施例内容,在此不再进行赘述。
步骤S22:利用虚拟化平台创建虚拟机,并确定计算节点,然后通过服务端并基于第二国密算法生成对称密钥。
本实施例中,所述利用虚拟化平台创建虚拟机,并确定计算节点之前,还包括:预先在虚拟化平台添加计算节点,利用所述计算节点的唯一标识生成非对称密钥对,并将所非对称密钥对存储客户端数据库中,然后将第一公钥发送至虚拟化平台数据库中。客户端生成公私密钥对,公钥保存在虚拟化平台中,服务端建立对应的应用并生成对应的用户密钥,可以理解的是,虚拟化平台在添加新的计算节点时,使用计算节点的唯一标识,在密钥管理系统的客户端生成公私密钥对,此公私密钥对需要持久保存在客户端中,并将公钥保存在虚拟化平台的数据库中,其中该公钥为SM2非对称密钥对。参照图3所示,虚拟机化平台创建虚拟机时,选择对应的计算节点,获取对应计算节点公钥,虚拟化平台将此公钥传递给服务端,服务端借助此公钥,使用SM4密钥算法类型,创建SM4对称密钥后,将对称密钥的唯一标识以及密钥密文返回给虚拟化平台,非对称SM2加密的数据密文需要满足《GMT 0018-2012密码设备应用接口规范》。服务端返回的由客户端SM2公钥加密保护的密文,不应当持久化到虚拟化平台或者客户端,虚拟化平台仅保存对称密钥的唯一标识,每次使用该密钥时,需要从服务端重新获取,每一虚拟机都需要创建对应的对称密钥。虚拟化平台创建虚拟机时,需要创建LUKS格式的磁盘,LUKS初始化需要Master Key用于数据块加密以及加密算法和加密模式,虚拟化平台使用虚拟机的UUID作为Master Key,使用SM4加密算法和XTS-PLAIN64加密模式。虚拟化平台根据对称密钥获取的唯一标识,从服务端获取到密钥密文,使用计算节点公钥所对应的私钥,对对称密钥进行解密,使用解密之后的SM4密钥创建LUKS格式的虚拟磁盘,每个虚拟机使用不同的SM4密钥,使得虚拟机的虚拟磁盘,只能由当前虚拟机进行使用,保证了数据的安全性。
步骤S23:利用所述第一公钥对所述对称密钥进行加密,以获取目标密钥。
步骤S24:获取服务端返回的针对所述虚拟机创建请求的产生的用户授权请求的授权信息。
步骤S25:当所述授权信息通过认证后,从所述服务端中获取所述目标密钥,利用所述第一私钥对所述目标密钥进行解密,以便利用所述对称密钥创建与当前虚拟机对应的虚拟磁盘,完成虚拟机加密。
本实施例中,参照图4所示,当非管理员用户,创建虚拟机完成后,虚拟化平台会将虚拟机唯一标识UUID及SM2公钥加密后的UUID放入用户登录时所用的Ukey中,当用户对虚拟机进行相关操作时,首先查询Ukey中是否保存有对应虚拟机的UUID,并使用SM2私钥进行解密,当解密成功且UUID对应后,允许用户对虚拟机进行操作,否则认为该用户没有操作此虚拟机的权限。虚拟机开机时,虚拟化平台从服务端获取到密钥密文,使用计算节点公钥所对应的私钥,将解密之后的SM4对称密钥传给qemu,对虚拟机的数据进行加解密。用户在虚拟化平台创建虚拟机时,虚拟化平台在服务端为每个虚拟机创建对称密钥,并根据密钥唯一标识获取非对称SM2加密的数据密文,客户端使用公私密钥对进行解密之后,虚拟化平台为虚拟机创建LUKS加密磁盘;
由此可见,本实施例通过使用对称密钥对虚拟机进行加密,实现对虚拟机数据的保护,并且将虚拟机的唯一标识及并用密钥加密后,保存在用户的Ukey中,用户在对虚拟机进行相关操作时,虚拟化平台将根据唯一标识进行身份验证,保证虚拟机的操作安全。
参照图5所示,本发明实施例公开了一种具体的虚拟机加密方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体的:
步骤S31:当接收到用户提出的虚拟机创建请求时,基于第一国密算法、用户唯一标识和用户参数信息生成包含第一公钥和第一私钥的非对称密钥对;通过服务端并基于第二国密算法生成对称密钥。
步骤S32:利用所述第一公钥对所述对称密钥进行加密,以获取目标密钥。
其中,步骤S31、S32中更加详细的处理过程,请参照前述公开的实施例内容,在此不再进行赘述。
步骤S33:基于所述用户发送的包含用户信息以及应用密钥的用户授权请求生成第一随机数,并获取服务端发送的第二随机数。
本实施例中,参照图6所示,首先创建SM2非对称密钥,虚拟化平台在添加新的计算节点时,使用计算节点的唯一标识,在密钥管理系统的客户端生成公私密钥对,此公私密钥对需要持久保存在客户端中,并将公钥保存在虚拟化平台的数据库中。参照图7所示,密钥管理系统的服务端产生随机数,交由虚拟化平台,也即第一随机数,然后虚拟化平台同样生成随机数为第二随机数。
步骤S34:将所述第一随机数和所述第二随机数进行拼接,以获取拼接后的随机数,并将所述拼接后的随机数以及与虚拟化平台应用对应的应用密钥发送至客户端。
本实施例中,将上述的第一随机数和第二随机数两者进行拼接,客户端获得拼接之后的随机数,同时服务端将与虚拟化平台对应的应用密钥发送至客户端。
步骤S35:基于所述拼接后的随机数以及所述应用密钥生成哈希消息认证码。
本实施例中,服务端通过对客户端发送的拼接后的随机数使用预设国密算法,生成哈希运算消息认证码hmac。其中,利用SM3密码散列函数标准算法并基于所述拼接后的随机数以及所述应用密钥生成哈希消息认证码。
步骤S36:将所述哈希消息认证码以及所述第二随机数发送至所述服务端,以便所述服务端对所述用户授权请求进行授权。
本实施例中,虚拟化平台发送虚拟化平台随机数至服务端,客户端发送产生的hmac至服务端,以便服务端对hmac和虚拟化平台随机数对虚拟化平台进行验证。
步骤S37:当通过授权认证后,从所述服务端中获取所述目标密钥,利用所述第一私钥对所述目标密钥进行解密,以便利用所述对称密钥对当前虚拟机操作的目标数据进行加解密,完成虚拟机加密。
本实施例中,当虚拟化平台通过验证,拿到授权之后,从服务端中获取目标密钥,利用第一私钥对目标密钥进行解密,以便利用对称密钥对当前虚拟机操作的目标数据进行加解密,完成虚拟机加密。
由此可见,本实施例在虚拟化平台确定计算节点,然后使用计算节点的唯一标识在客户端生成公私密钥对,用来表征对应计算节点的身份信息,以便在进行服务端认证时,通过服务端的认证,进行后续的密钥操作。
参照图8所示,本发明实施例公开了一种具体的虚拟机加密装置,包括:
密钥生成模块11,用于当接收到用户提出的虚拟机创建请求时,基于第一国密算法、用户唯一标识和用户参数信息生成包含第一公钥和第一私钥的非对称密钥对;通过服务端并基于第二国密算法生成对称密钥;
密钥加密模块12,用于利用所述第一公钥对所述对称密钥进行加密,以获取目标密钥;
授权获取模块13,用于获取服务端返回的针对所述虚拟机创建请求的产生的用户授权请求的授权信息;
虚拟机加密模块14,用于当所述授权信息通过认证后,从所述服务端中获取所述目标密钥,利用所述第一私钥对所述目标密钥进行解密,以便利用所述对称密钥创建与当前虚拟机对应的虚拟磁盘,完成虚拟机加密。
由此可见,本申请公开了一种虚拟机加密方法,包括:当接收到用户提出的虚拟机创建请求时,基于第一国密算法、用户唯一标识和用户参数信息生成包含第一公钥和第一私钥的非对称密钥对;通过服务端并基于第二国密算法生成对称密钥;利用所述第一公钥对所述对称密钥进行加密,以获取目标密钥;获取服务端返回的针对所述虚拟机创建请求的产生的用户授权请求的授权信息;当所述授权信息通过认证后,从所述服务端中获取所述目标密钥,利用所述第一私钥对所述目标密钥进行解密,以便利用所述对称密钥创建与当前虚拟机对应的虚拟磁盘,完成虚拟机加密。可见,本申请通过对对称密钥使用非对称公钥进行加密,保证密钥传输过程的安全,然后通过用户在对虚拟机进行相关操作时,再次验证授权信息,保证虚拟机的操作安全,使得虚拟机能在工作负载在企业基础设施中移动、克隆或做快照时对数据提供持续的保护。对虚拟机加密,摒除了受硬件、虚拟机管理器或云提供商限制的风险,为混合IT环境和传输中的工作负载提供了理想的完全可移植的保护。
在一些具体实施方式中,所述密钥生成模块11,具体包括:
证书下发单元,用于通过客户端并基于第二国密算法生成传输密钥,以便利用所述传输密钥对所述第一私钥进行加密,以得到第一加密密钥;
利用所述第一公钥对所述传输密钥进行加密,以得到加密传输密钥;
将所述第一加密密钥、所述加密传输密钥、所述第一公钥发送至证书管理机构,以便所述证书管理机构进行加密证书签名操作,并通过证书注册审批系统下发相应的加密证书。
在一些具体实施方式中,所述密钥生成模块11,具体包括:
节点确定子模块,用于利用虚拟化平台创建虚拟机,并确定计算节点。
在一些具体实施方式中,所述节点确定子模块,具体包括:
密钥对生成单元,用于预先在虚拟化平台添加计算节点,利用所述计算节点的唯一标识生成非对称密钥对,并将所非对称密钥对存储客户端数据库中,然后将第一公钥发送至虚拟化平台数据库中。
在一些具体实施方式中,所述授权获取模块13,具体包括:
授权子模块,用于基于用户发送的包含用户信息以及应用密钥的用户授权请求生成第一随机数,并获取服务端发送的第二随机数;
将所述第一随机数和所述第二随机数进行拼接,以获取拼接后的随机数,并将所述拼接后的随机数以及与虚拟化平台应用对应的应用密钥发送至客户端;
基于所述拼接后的随机数以及所述应用密钥生成哈希消息认证码;
将所述哈希消息认证码以及所述第二随机数发送至所述服务端,以便所述服务端对所述用户授权请求进行授权。
在一些具体实施方式中,所述授权子模块,具体包括:
认证码生成单元,用于利用SM3密码散列函数标准算法并基于所述拼接后的随机数以及所述应用密钥生成哈希消息认证码。
在一些具体实施方式中,所述虚拟机加密模块14,具体包括:
加解密单元,用于利用对称密钥对所述当前虚拟机操作的目标数据进行加解密,完成虚拟机加密。
进一步的,本申请实施例还公开了一种电子设备,图9是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本申请的使用范围的任何限制。
图9为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的虚拟机加密方法中的相关步骤。另外,本实施例中的电子设备20具体可以为电子计算机。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的虚拟机加密方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据223除了可以包括电子设备接收到的由外部设备传输进来的数据,也可以包括由自身输入输出接口25采集到的数据等。
进一步的,本申请还公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的虚拟机加密方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种虚拟机加密方法、装置、设备、存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种虚拟机加密方法,其特征在于,包括:
当接收到用户提出的虚拟机创建请求时,基于第一国密算法、用户唯一标识和用户参数信息生成包含第一公钥和第一私钥的非对称密钥对;通过服务端并基于第二国密算法生成对称密钥;
利用所述第一公钥对所述对称密钥进行加密,以获取目标密钥;
获取服务端返回的针对所述虚拟机创建请求的产生的用户授权请求的授权信息;
当所述授权信息通过认证后,从所述服务端中获取所述目标密钥,利用所述第一私钥对所述目标密钥进行解密,以便利用所述对称密钥创建与当前虚拟机对应的虚拟磁盘,完成虚拟机加密。
2.根据权利要求1所述的虚拟机加密方法,其特征在于,所述基于第一国密算法、用户唯一标识和用户参数信息生成包含第一公钥和第一私钥的非对称密钥对过程中,还包括:
通过客户端并基于第二国密算法生成传输密钥,以便利用所述传输密钥对所述第一私钥进行加密,以得到第一加密密钥;
利用所述第一公钥对所述传输密钥进行加密,以得到加密传输密钥;
将所述第一加密密钥、所述加密传输密钥、所述第一公钥发送至证书管理机构,以便所述证书管理机构进行加密证书签名操作,并通过证书注册审批系统下发相应的加密证书。
3.根据权利要求1所述的虚拟机加密方法,其特征在于,所述通过服务端并基于第二国密算法生成对称密钥过程中,还包括:
利用虚拟化平台创建虚拟机,并确定计算节点。
4.根据权利要求3所述的虚拟机加密方法,其特征在于,所述利用虚拟化平台创建虚拟机,并确定计算节点之前,还包括:
预先在虚拟化平台添加计算节点,利用所述计算节点的唯一标识生成非对称密钥对,并将所非对称密钥对存储客户端数据库中,然后将第一公钥发送至虚拟化平台数据库中。
5.根据权利要求1所述的虚拟机加密方法,其特征在于,所述获取服务端针对所述虚拟机创建请求的产生的用户授权请求的授权信息,包括:
基于用户发送的包含用户信息以及应用密钥的用户授权请求生成第一随机数,并获取服务端发送的第二随机数;
将所述第一随机数和所述第二随机数进行拼接,以获取拼接后的随机数,并将所述拼接后的随机数以及与虚拟化平台应用对应的应用密钥发送至客户端;
基于所述拼接后的随机数以及所述应用密钥生成哈希消息认证码;
将所述哈希消息认证码以及所述第二随机数发送至所述服务端,以便所述服务端对所述用户授权请求进行授权。
6.根据权利要求5所述的虚拟机加密方法,其特征在于,所述基于所述拼接后的随机数以及所述应用密钥生成哈希消息认证码,包括:
利用SM3密码散列函数标准算法并基于所述拼接后的随机数以及所述应用密钥生成哈希消息认证码。
7.根据权利要求1至6任一项所述的虚拟机加密方法,其特征在于,所述利用所述对称密钥创建与当前虚拟机对应的虚拟磁盘,完成虚拟机加密,包括:
利用对称密钥对所述当前虚拟机操作的目标数据进行加解密,完成虚拟机加密。
8.一种虚拟机加密装置,其特征在于,包括:
密钥生成模块,用于当接收到用户提出的虚拟机创建请求时,基于第一国密算法、用户唯一标识和用户参数信息生成包含第一公钥和第一私钥的非对称密钥对;通过服务端并基于第二国密算法生成对称密钥;
密钥加密模块,用于利用所述第一公钥对所述对称密钥进行加密,以获取目标密钥;
授权获取模块,用于获取服务端返回的针对所述虚拟机创建请求的产生的用户授权请求的授权信息;
虚拟机加密模块,用于当所述授权信息通过认证后,从所述服务端中获取所述目标密钥,利用所述第一私钥对所述目标密钥进行解密,以便利用所述对称密钥创建与当前虚拟机对应的虚拟磁盘,完成虚拟机加密。
9.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的虚拟机加密方法的步骤。
10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的虚拟机加密方法的步骤。
CN202210969043.5A 2022-08-12 2022-08-12 一种虚拟机加密方法、装置、设备、存储介质 Pending CN115348077A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210969043.5A CN115348077A (zh) 2022-08-12 2022-08-12 一种虚拟机加密方法、装置、设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210969043.5A CN115348077A (zh) 2022-08-12 2022-08-12 一种虚拟机加密方法、装置、设备、存储介质

Publications (1)

Publication Number Publication Date
CN115348077A true CN115348077A (zh) 2022-11-15

Family

ID=83951490

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210969043.5A Pending CN115348077A (zh) 2022-08-12 2022-08-12 一种虚拟机加密方法、装置、设备、存储介质

Country Status (1)

Country Link
CN (1) CN115348077A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116383858A (zh) * 2023-06-05 2023-07-04 中电科网络安全科技股份有限公司 一种磁盘数据处理方法、装置、设备及介质
CN116680687A (zh) * 2023-06-09 2023-09-01 北京火山引擎科技有限公司 数据处理方法、装置、设备和存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116383858A (zh) * 2023-06-05 2023-07-04 中电科网络安全科技股份有限公司 一种磁盘数据处理方法、装置、设备及介质
CN116383858B (zh) * 2023-06-05 2023-10-20 中电科网络安全科技股份有限公司 一种磁盘数据处理方法、装置、设备及介质
CN116680687A (zh) * 2023-06-09 2023-09-01 北京火山引擎科技有限公司 数据处理方法、装置、设备和存储介质

Similar Documents

Publication Publication Date Title
CN111416807B (zh) 数据获取方法、装置及存储介质
CN109309565B (zh) 一种安全认证的方法及装置
JP6121049B2 (ja) プロキシを使用したリソースへの安全なアクセス
CN107465689B (zh) 云环境下的虚拟可信平台模块的密钥管理系统及方法
US10142107B2 (en) Token binding using trust module protected keys
Chandramouli et al. Cryptographic key management issues and challenges in cloud services
CN103051628B (zh) 基于服务器获取认证令牌的方法及系统
EP3232634B1 (en) Identity authentication method and device
US20140270179A1 (en) Method and system for key generation, backup, and migration based on trusted computing
CA3117713C (en) Authorization with a preloaded certificate
US10601590B1 (en) Secure secrets in hardware security module for use by protected function in trusted execution environment
CN110750803A (zh) 数据提供和融合的方法及装置
JP2010514000A (ja) 電子装置にプログラム状態データをセキュアに記憶するための方法
KR20230078706A (ko) 포스트 양자 암호화를 사용하는 인증서 기반 보안
CN115348077A (zh) 一种虚拟机加密方法、装置、设备、存储介质
CN108199847B (zh) 数字安全处理方法、计算机设备及存储介质
CN114584306B (zh) 一种数据处理方法和相关装置
CN113992346A (zh) 一种基于国密加固的安全云桌面的实现方法
CN113411187A (zh) 身份认证方法和系统、存储介质及处理器
CN111654503A (zh) 一种远程管控方法、装置、设备及存储介质
JP2024501752A (ja) 鍵付きハッシュメッセージ認証コードの鍵マテリアルとしての属性ベースの暗号化鍵ユーザ認証および認可
KR100984275B1 (ko) 안전하지 않은 통신 채널에서 비인증서 공개키를 사용한 보안키 생성 방법
JP2014022920A (ja) 電子署名システム、電子署名方法および電子署名プログラム
CN116599719A (zh) 一种用户登录认证方法、装置、设备、存储介质
US11032708B2 (en) Securing public WLAN hotspot network access

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