CN110750326B - 一种虚拟机的磁盘加解密方法以及系统 - Google Patents
一种虚拟机的磁盘加解密方法以及系统 Download PDFInfo
- Publication number
- CN110750326B CN110750326B CN201910824236.XA CN201910824236A CN110750326B CN 110750326 B CN110750326 B CN 110750326B CN 201910824236 A CN201910824236 A CN 201910824236A CN 110750326 B CN110750326 B CN 110750326B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- key
- public key
- encryption
- password card
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/80—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in storage media based on magnetic or optical technology, e.g. disks with sectors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供一种虚拟机的磁盘加解密方法,通过密码卡产生一对公钥和私钥,上传所述公钥;将公钥存储至数据库中,之后生成公钥ID;创建虚拟机,生成虚拟机对应的虚机密钥,存储至数据库中,并生成虚机密钥ID;通过生成的公钥ID以及虚机密钥ID从数据库中提取公钥以及虚机密钥,采用公钥对虚机密钥进行加密,得到加密密钥;将加密密钥发送至密码卡,密码卡通过私钥进行解密得到虚机密钥,对虚拟机的磁盘进行加解密;本发明还提供一种虚拟机的磁盘加解密系统;不影响原有的虚拟化架构,既能够对虚拟机进行加密保护,同时又能够保证一机一密钥。
Description
技术领域
本发明涉及一种虚拟机的磁盘加解密方法以及系统。
背景技术
虚拟化技术就其本质而言属于一种资源管理技术,它将硬件、软件、网络、存储等硬件设备隔离开来,使用户能更合理更充分的控制与管理各种资源。虚拟机:由于虚拟化平台创建虚拟机,都会生成相应的磁盘,并且磁盘都是未进行加密的,从而会导致如果磁盘文件被泄露或者被攻击后,磁盘中存储的用户数据会以明文的形式展示,特别是对于用户来说其中重要的数据也会遭到泄露。因而现有的虚拟化技术方案上无法满足对虚拟机磁盘进行安全保护的效果。
为了解决上述问题,本发明实现了一个能够对用户透明的,不影响原有的虚拟化架构,既能够对虚拟机进行加密保护,同时又能够保证一机一密钥的方法。
发明内容
本发明要解决的技术问题,在于提供一种虚拟机的磁盘加解密方法以及系统,不影响原有的虚拟化架构,既能够对虚拟机进行加密保护,同时又能够保证一机一密钥。
本发明之一是这样实现的:一种虚拟机的磁盘加解密方法,包括:
步骤1、通过密码卡产生一对公钥和私钥,上传所述公钥;
步骤2、将公钥存储至数据库中,之后生成公钥ID;
步骤3、创建虚拟机,生成虚拟机对应的虚机密钥,存储至数据库中,并生成虚机密钥ID;
步骤4、通过生成的公钥ID以及虚机密钥ID从数据库中提取公钥以及虚机密钥,采用公钥对虚机密钥进行加密,得到加密密钥;
步骤5、将加密密钥发送至密码卡,密码卡通过私钥进行解密得到虚机密钥,对虚拟机的磁盘进行加解密。
进一步地,所述步骤3进一步具体为:创建虚拟机,根据虚拟机的唯一标识生成该虚拟机对应的虚机密钥,存储至数据库中,并生成虚机密钥ID。
本发明之二是这样实现的:一种虚拟机的磁盘加解密系统,包括:
密钥对生成模块,通过密码卡产生一对公钥和私钥;
公钥存储模块,将公钥存储至数据库中,之后生成公钥ID;
虚机密钥生成模块,创建虚拟机,生成虚拟机对应的虚机密钥,存储至数据库中,并生成虚机密钥ID;
虚机密钥加密模块,通过生成的公钥ID以及虚机密钥ID从数据库中提取公钥以及虚机密钥,采用公钥对虚机密钥进行加密,得到加密密钥;
加解密模块,将加密密钥发送至密码卡,密码卡通过私钥进行解密得到虚机密钥,对虚拟机的磁盘进行加解密。
进一步地,所述虚机密钥生成模块进一步具体为:创建虚拟机,根据虚拟机的唯一标识生成该虚拟机对应的虚机密钥,存储至数据库中,并生成虚机密钥ID。
本发明具有如下优点:本发明可以透明的实现对虚拟机磁盘的加解密,同时保证了一机一密钥的加密方式。比如当虚拟机磁盘被泄露或者被恶意攻击后,磁盘都是加密的,磁盘中的重要数据不会外泄,提升安全性。同时通过加密的方式,又能够避免手动更改磁盘文件内容,导致恶意文件上传引入脏数据。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明虚拟机加解密时序图。
具体实施方式
本发明虚拟机的磁盘加解密方法,包括:
步骤1、通过密码卡产生一对公钥和私钥,上传所述公钥;
步骤2、将公钥存储至数据库中,之后生成公钥ID;
步骤3、创建虚拟机,根据虚拟机的唯一标识生成该虚拟机对应的虚机密钥,存储至数据库中,并生成虚机密钥ID;
步骤4、通过生成的公钥ID以及虚机密钥ID从数据库中提取公钥以及虚机密钥,采用公钥对虚机密钥进行加密,得到加密密钥;
步骤5、将加密密钥发送至密码卡,密码卡通过私钥进行解密得到虚机密钥,对虚拟机的磁盘进行加解密。
本发明虚拟机的磁盘加解密系统,包括:
密钥对生成模块,通过密码卡产生一对公钥和私钥;
公钥存储模块,将公钥存储至数据库中,之后生成公钥ID;
虚机密钥生成模块,创建虚拟机,根据虚拟机的唯一标识生成该虚拟机对应的虚机密钥,存储至数据库中,并生成虚机密钥ID;
虚机密钥加密模块,通过生成的公钥ID以及虚机密钥ID从数据库中提取公钥以及虚机密钥,采用公钥对虚机密钥进行加密,得到加密密钥;
加解密模块,将加密密钥发送至密码卡,密码卡通过私钥进行解密得到虚机密钥,对虚拟机的磁盘进行加解密。
本发明一种具体实施方式:
本发明由以下部分组成:“密管配置模块”、“虚机密钥分发”、“公钥加密密钥分发”。
密管配置模块,用于对密管系统和密码卡进行初始化、以及获取密码卡ID、产生公钥私钥对。
虚机密钥分发,虚机密钥是用于对虚拟机的磁盘进行加解密。进行磁盘写操作时使用虚机密钥进行磁盘加密;进行磁盘读操作时使用虚机密钥进行磁盘解密。每个虚拟机都有一个唯一的虚机密钥。
公钥加密密钥分发,公钥加密密钥是将虚机密钥用公钥进行加密,然后分发给管理中心,保证虚机密钥传输过程中的安全性。
如图1所示,总体流程:本发明是利用密管系统提供的SM2、SM4加密算法的功能对虚拟机进行加解密。在初始化时会在密码卡生成公钥私钥对(SM2),并且将公钥ID分发给管理中心。管理中心创建虚拟机时密管系统通过虚机标识生成唯一虚机密钥并且将虚机密钥ID分发给管理中心。管理中心再使用公钥ID和虚机密钥ID在密管系统中获得加密密钥。管理中心将加密密钥分发给密码卡,由密码卡对虚拟机的磁盘进行加解密(SM4)。
步骤1.在使用了密管的虚拟化管理中心系统中,先进行密管系统的初始化、密码卡产生公钥私钥对。(公钥用来对虚机密钥进行加密,对外仅提供公钥ID;私钥用于对公钥加密信息进行解密,不对外提供任何ID标识)。管理中心调用接口将密码卡公钥上报给密管系统,密管系统返回公钥ID。该步骤仅在初始化时使用。
步骤2.管理中心创建虚拟机时通过传递虚拟机的唯一标识在密管系统生成虚机对应的唯一密钥并且将虚机密钥ID(虚机密钥ID是与密管系统的虚机密钥一一对应的标识,由于传递给密管系统的是每台虚拟机的唯一标识,因此每个虚机密钥都是唯一的,实现了一机一密钥的安全性保证)回传给管理中心。执行步骤3。
步骤3.管理中心使用公钥ID和虚机密钥ID调用密管系统的接口,密管系统中会使用公钥来加密虚机密钥并将加密后的密钥回传给管理中心。执行步骤4。
步骤4.管理中心得到加密密钥并分发给密码卡,密码卡使用私钥对加密密钥进行解密获取到虚机密钥明文,然后使用虚机密钥明文对虚拟机的磁盘进行加解密。
利用以上的步骤,可以用密码卡的公私钥和密管系统的虚机密钥对虚拟机磁盘进行加解密,并且每台虚拟机的虚机密钥都是唯一的,保证一机一密钥的安全性。
同时对于虚拟机磁盘的加解密,对用户不可见。使整个加解密过程是一个用户无感知的透明的动作。提升用户体验。
本发明的关键步骤:主要是在1)步骤2生成一机一密钥的虚机密钥并且返回虚机密钥ID,2)步骤3对虚机密钥使用公钥进行加密保证安全性,3)所有的公私钥和虚机密钥都保存在密管系统和密码卡中,对于外部系统是不可见的,对外仅暴露了对应的公钥ID,虚机密钥ID等标识。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
Claims (2)
1.一种虚拟机的磁盘加解密方法,其特征在于:包括:
步骤1、通过密码卡产生一对公钥和私钥,上传所述公钥;
步骤2、管理中心调用接口将密码卡公钥上报给密管系统,将公钥存储至密管系统的数据库中,之后生成公钥ID,密管系统返回公钥ID;
步骤3、管理中心创建虚拟机,通过传递虚拟机的唯一标识在密管系统生成虚机对应的虚机密钥,并且将虚机密钥ID回传给管理中心;
步骤4、管理中心通过生成的公钥ID以及虚机密钥ID从数据库中提取公钥以及虚机密钥,密管系统采用公钥对虚机密钥进行加密,得到加密密钥;
步骤5、将加密密钥发送至密码卡,密码卡通过私钥进行解密得到虚机密钥,对虚拟机的磁盘进行加解密。
2.一种虚拟机的磁盘加解密系统,其特征在于:包括:
密钥对生成模块,通过密码卡产生一对公钥和私钥;
公钥存储模块,管理中心调用接口将密码卡公钥上报给密管系统,将公钥存储至密管系统的数据库中,之后生成公钥ID,密管系统返回公钥ID;
虚机密钥生成模块,管理中心创建虚拟机,通过传递虚拟机的唯一标识在密管系统生成虚机对应的虚机密钥,并且将虚机密钥ID回传给管理中心;
虚机密钥加密模块,管理中心通过生成的公钥ID以及虚机密钥ID从数据库中提取公钥以及虚机密钥,密管系统采用公钥对虚机密钥进行加密,得到加密密钥;
加解密模块,将加密密钥发送至密码卡,密码卡通过私钥进行解密得到虚机密钥,对虚拟机的磁盘进行加解密。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910824236.XA CN110750326B (zh) | 2019-09-02 | 2019-09-02 | 一种虚拟机的磁盘加解密方法以及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910824236.XA CN110750326B (zh) | 2019-09-02 | 2019-09-02 | 一种虚拟机的磁盘加解密方法以及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110750326A CN110750326A (zh) | 2020-02-04 |
CN110750326B true CN110750326B (zh) | 2022-10-14 |
Family
ID=69276024
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910824236.XA Active CN110750326B (zh) | 2019-09-02 | 2019-09-02 | 一种虚拟机的磁盘加解密方法以及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110750326B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112003881B (zh) * | 2020-10-28 | 2021-02-02 | 湖南天琛信息科技有限公司 | 一种基于私有云的安全云手机系统 |
CN116383858B (zh) * | 2023-06-05 | 2023-10-20 | 中电科网络安全科技股份有限公司 | 一种磁盘数据处理方法、装置、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101950347A (zh) * | 2010-09-21 | 2011-01-19 | 烟台海颐软件股份有限公司 | 一种对数据进行加密的方法和系统 |
CN102932459A (zh) * | 2012-11-05 | 2013-02-13 | 广州杰赛科技股份有限公司 | 一种虚拟机的安全控制方法 |
CN104104692A (zh) * | 2014-08-05 | 2014-10-15 | 山东中孚信息产业股份有限公司 | 一种虚拟机加密方法、解密方法及加解密控制系统 |
CN106789969A (zh) * | 2016-12-06 | 2017-05-31 | 福建升腾资讯有限公司 | 一种使用虚拟现实设备实现保密数据输入的方法及系统 |
CN106936797A (zh) * | 2015-12-31 | 2017-07-07 | 北京网御星云信息技术有限公司 | 一种云中虚拟机磁盘及文件加密密钥的管理方法和系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013097117A1 (zh) * | 2011-12-28 | 2013-07-04 | 华为技术有限公司 | 虚拟机全盘加密下预启动时的密钥传输方法和设备 |
TW201335787A (zh) * | 2012-02-23 | 2013-09-01 | Hon Hai Prec Ind Co Ltd | 虛擬機安全操作系統及方法 |
CN103023920B (zh) * | 2012-12-27 | 2016-04-13 | 华为技术有限公司 | 虚拟机安全保护方法及装置 |
CN107357631A (zh) * | 2017-07-17 | 2017-11-17 | 郑州云海信息技术有限公司 | 一种管理虚拟机密钥的方法和装置及计算机可读存储介质 |
-
2019
- 2019-09-02 CN CN201910824236.XA patent/CN110750326B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101950347A (zh) * | 2010-09-21 | 2011-01-19 | 烟台海颐软件股份有限公司 | 一种对数据进行加密的方法和系统 |
CN102932459A (zh) * | 2012-11-05 | 2013-02-13 | 广州杰赛科技股份有限公司 | 一种虚拟机的安全控制方法 |
CN104104692A (zh) * | 2014-08-05 | 2014-10-15 | 山东中孚信息产业股份有限公司 | 一种虚拟机加密方法、解密方法及加解密控制系统 |
CN106936797A (zh) * | 2015-12-31 | 2017-07-07 | 北京网御星云信息技术有限公司 | 一种云中虚拟机磁盘及文件加密密钥的管理方法和系统 |
CN106789969A (zh) * | 2016-12-06 | 2017-05-31 | 福建升腾资讯有限公司 | 一种使用虚拟现实设备实现保密数据输入的方法及系统 |
Non-Patent Citations (2)
Title |
---|
Function-Private Functional Encryption in the Private-Key Setting;Zvika Brakerski 等;《Journal of Cryptology volume》;20170417;第205-225页 * |
基于分片的云虚拟机安全保护技术;樊文生 等;《通信技术》;20150610;第734-739页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110750326A (zh) | 2020-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10785019B2 (en) | Data transmission method and apparatus | |
CN112929172B (zh) | 基于密钥库动态加密数据的系统、方法及装置 | |
US10380361B2 (en) | Secure transaction method from a non-secure terminal | |
EP3574622B1 (en) | Addressing a trusted execution environment | |
CN110650010B (zh) | 一种非对称密钥中的私钥生成和使用方法、装置和设备 | |
CN107465689B (zh) | 云环境下的虚拟可信平台模块的密钥管理系统及方法 | |
CN103069428B (zh) | 不可信云基础设施中的安全虚拟机引导 | |
CN111448779A (zh) | 用于混合秘密共享的系统、设备和方法 | |
JP2016513840A (ja) | データセキュリティを保護するための方法、サーバ、ホスト、およびシステム | |
CN108418817B (zh) | 一种加密方法及装置 | |
CN108199847B (zh) | 数字安全处理方法、计算机设备及存储介质 | |
CN110235134B (zh) | 使用洁净室供应来寻址可信执行环境 | |
EP4064084A1 (en) | Password management method and related device | |
CN112400299A (zh) | 一种数据交互方法及相关设备 | |
US11783091B2 (en) | Executing entity-specific cryptographic code in a cryptographic coprocessor | |
US11632246B2 (en) | Hybrid key derivation to secure data | |
CN102984273A (zh) | 虚拟磁盘加密方法、解密方法、装置及云服务器 | |
CA3056814A1 (en) | Symmetric cryptographic method and system and applications thereof | |
CN110750326B (zh) | 一种虚拟机的磁盘加解密方法以及系统 | |
CN107317823A (zh) | 一种云存储系统中的加密方法和系统 | |
US20210111901A1 (en) | Executing entity-specific cryptographic code in a trusted execution environment | |
CN108154037B (zh) | 进程间的数据传输方法和装置 | |
CN114329390A (zh) | 一种金融机构数据库访问密码保护方法及系统 | |
KR100769439B1 (ko) | 공개 키 기반 구조 기술 기반의 키 프로파일 기법을 이용한 데이터베이스 보안 시스템 | |
CN108985079A (zh) | 数据验证方法和验证系统 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |