CN107943556B - 基于kmip和加密卡的虚拟化数据安全方法 - Google Patents
基于kmip和加密卡的虚拟化数据安全方法 Download PDFInfo
- Publication number
- CN107943556B CN107943556B CN201711105410.2A CN201711105410A CN107943556B CN 107943556 B CN107943556 B CN 107943556B CN 201711105410 A CN201711105410 A CN 201711105410A CN 107943556 B CN107943556 B CN 107943556B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- encryption
- data
- mirror image
- vdp
- 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
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000007726 management method Methods 0.000 description 24
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/34—User authentication involving the use of external additional devices, e.g. dongles or smart cards
-
- 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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- 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)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了一种基于KMIP和加密卡的虚拟化数据安全方法,其包括两个流程:一,加密流程,包括以下步骤:步骤一,用户管理员登录镜像管理系统,通过界面获取自己能管理的虚拟机实例;步骤二,用户管理员选择需要进行保护的虚拟机实例进行保护;步骤三,镜像管理系统向VDP发送相关指令,VDP接收用户指令后向密钥管理系统提交生成加密密钥的请求,入参为虚拟机的uuid,成功后在数据库中将该uuid对应的加密标志设置成TRUE;步骤四,VDP发送指令到VDPAGENT对该虚拟机数据进行加密操作,入参为虚拟机uuid。本发明通过改写qemu磁盘镜像接口并通过加密卡硬件对虚拟机镜像进行加解密从而保证虚拟化安全的镜像数据安全。
Description
技术领域
本发明涉及一种虚拟化数据安全方法,具体地,涉及一种基于KMIP和加密卡的虚拟化数据安全方法。
背景技术
自主可控是国家安全的战略要求,随着国家安全战略的逐步实施和落地,在各个数据中心的建设中基于开源的openstack和qemu(硬件虚拟化),kvm,xen为基础的云计算解决方案将会占有大量的市场份额。但是安全性上尤其是数据安全性上存在如下的弱点和不足:
一,在kvm,xen中只有基于qcow2格式的镜像文件在设计之初就考虑了镜像的安全,但在qemu的实现中也只提供了软实现的方式,软实现的加,解密方式存在性能低下的问题,同时对其他镜像格式的文件在设计之初就缺乏考虑。
二,在qemu中只提供了加密方法但对加密密钥的管理(产生,保存,分发)以及相关的策略缺乏设计和实现,在一些提供安全解决的方案产品中都是自己来实现密钥的管理,这导致密钥的管理缺乏相关的标准导致产品在通用型和安全性上面缺乏保证。
三,在虚拟化数据安全中除了镜像的安全还需要有存储的安全,在目前市场上的虚拟化产品存储设备大部分都是通过iscsi协议和rbd协议(ceph存储)暴露给虚拟机,目前存储安全的解决方案中很多都是在存储设备上面采取透明加解密方式来解决,这种方式带来的问题是由于加解密是在服务端完成会加重服务端的负担,其次数据传输的通道还需要进行保护,另外由于镜像的安全和存储的安全没有进行统一导致镜像需要一个密钥,存储需要一个密钥的问题,在密钥的管理上会对用户产生很大的不便。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种基于KMIP和加密卡的虚拟化数据安全方法,其通过改写qemu磁盘镜像接口并通过加密卡硬件对虚拟机镜像进行加解密从而保证虚拟化安全的镜像数据安全,同时对原来不支持加密的镜像格式通过将加密标志保存到数据库来提供支持。
根据本发明的一个方面,提供一种基于KMIP和加密卡的虚拟化数据安全方法,其特征在于,所述基于KMIP和加密卡的虚拟化数据安全方法包括两个流程:
一,加密流程,包括以下步骤:
步骤一,用户管理员登录镜像管理系统,通过界面获取自己能管理的虚拟机实例;
步骤二,用户管理员选择需要进行保护的虚拟机实例进行保护;
步骤三,镜像管理系统向VDP发送相关指令,VDP接收用户指令后向密钥管理系统提交生成加密密钥的请求,入参为虚拟机的uuid,成功后在数据库中将该uuid对应的加密标志设置成TRUE;
步骤四,VDP发送指令到VDPAGENT对该虚拟机数据进行加密操作,入参为虚拟机uuid;
步骤五,VDPAGENT收到指令后,先通过qemu停止虚拟机,通过KMIP获取该虚拟机的加密密钥,通过虚拟机定义的XML获取分配给该虚拟机具体的块设备信息分别对镜像文件,iscsi,rbd块设备进行先读出再加密写回的操作,所有完成后虚拟机的初始化加密状态就完成了,通过qemu重启虚拟机进入动态加,解密状态;
二,解密流程,包括以下步骤:
步骤六,用户启动虚拟机,当虚拟机开始加载镜像文件和相关块存储设备时,在相关接口的open方法中,首先通过VDPAGENT发送虚拟机当前加,解密状态查询;
步骤七,VDPAGENT收到请求后,将该请求转发到VDP进行数据库查询并将结果返回;
步骤八,在qemu中一旦发现虚拟机是加密状态,就通过VDPAGENT向密钥管理系统获取加,解密密钥,在相关qemu的read和write(读和写)接口中通过加密卡来实现对数据的加解密操作。
优选地,所述基于KMIP和加密卡的虚拟化数据安全方法以虚拟机为单位,对该虚拟机的所有存储相关数据都使用统一的加密密钥。
与现有技术相比,本发明具有如下的有益效果:
一,由于实现KMIP协议来实现密钥管理,产品的通用性变强,安全性得到保证。
二,通过加密卡硬件来完成数据的加,解密操作,性能可以得到保证。
三,通过改写qemu相关接口来实现数据的安全不需要引入专门的安全存储设备,成本降低,同时加密是在客户端完成不需要对网络通道进行加密减少了系统的复杂性。
四,镜像安全和存储安全都基于虚拟机提供密钥,降低密钥管理的复杂性,提升了用户的易用性。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明基于KMIP和加密卡的虚拟化数据安全方法的流程图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
如图1所示,本发明基于KMIP和加密卡的虚拟化数据安全方法包括两个流程:
一,加密流程,包括以下步骤:
步骤一,用户管理员登录镜像管理系统,通过界面获取自己能管理的虚拟机实例;
步骤二,用户管理员选择需要进行保护的虚拟机实例进行保护;
步骤三,镜像管理系统向VDP发送相关指令,VDP接收用户指令后向密钥管理系统提交生成加密密钥的请求,入参为虚拟机的uuid,成功后在数据库中将该uuid对应的加密标志设置成TRUE;
步骤四,VDP发送指令到VDPAGENT对该虚拟机数据进行加密操作,入参为虚拟机uuid;
步骤五,VDPAGENT收到指令后,先通过qemu停止虚拟机,通过KMIP获取该虚拟机的加密密钥,通过虚拟机定义的XML获取分配给该虚拟机具体的块设备信息分别对镜像文件,iscsi,rbd块设备进行先读出再加密写回的操作,所有完成后虚拟机的初始化加密状态就完成了,通过qemu重启虚拟机进入动态加,解密状态;
二,解密流程,包括以下步骤:
步骤六,用户启动虚拟机,当虚拟机开始加载镜像文件和相关块存储设备时,在相关接口的open方法中,首先通过VDPAGENT发送虚拟机当前加,解密状态查询;
步骤七,VDPAGENT收到请求后,将该请求转发到VDP进行数据库查询并将结果返回;
步骤八,在qemu中一旦发现虚拟机是加密状态,就通过VDPAGENT向密钥管理系统获取加,解密密钥,在相关qemu的read和write(读和写)接口中通过加密卡来实现对数据的加解密操作。
本发明基于KMIP和加密卡的虚拟化数据安全方法采用密钥管理系统和镜像管理系统,密钥管理系统,以KMIP1.3协议为基础实现,负责加密密钥的生成,保存和分发;镜像管理系统,该系统负责提供人机交互界面,该系统负责提供人机交互界面,帮助客户从现有云环境下获取相关的虚拟机实例,用户一但选择对数据进行保护通过该系会将请求发向VDP,由VDP负责向具体的虚拟数据安全代理子系统发送相关指令。
虚拟数据安全配置管理子系统(VDP),该系统负责接收镜像管理服务器的请求,同时对虚拟数据安全代理子系统进行管理。虚拟数据安全代理子系统(VDPAGENT),该系统负责加密卡的管理,接收VDP发送的相关指令对数据进行加解密操作,同时该系统也负责向密钥管理系统获取具体的虚拟机加密密钥。
本发明以KMIP1.3为基础实现密钥生命周期管理,KMIP就是密钥管理互操作协议,2009年由博科、EMC、惠普、IBM、LSI、希捷和Thales向OASIS提交的新规范,主要是为了在企业密钥管理领域寻求通用开放标准和互操作性以满足日益增长的加密需求而提出,通过引入KMIP解决密钥生命周期使密钥的管理更具通用性,安全性进一步得到保障。
本发明通过改写qemu磁盘镜像接口并通过加密卡硬件对虚拟机镜像进行加解密从而保证虚拟化安全的镜像数据安全,同时对原来不支持加密的镜像格式通过将加密标志保存到数据库来提供支持。
本发明通过改写qemu的iscsi,rbd接口通过引入加密卡对分配给虚拟机的存储块设备进行加解密实现虚拟化环境下的数据存储安全并且因为加密是在客户端完成对通道不需要进行保护,同时降低了客户的使用成本。
整个加解密以虚拟机为单位,对该虚拟机的所有存储相关数据都使用统一的加密密钥。减少了密钥管理的复杂性,提升了易用性。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。
Claims (2)
1.一种基于KMIP和加密卡的虚拟化数据安全方法,其特征在于,所述基于KMIP和加密卡的虚拟化数据安全方法包括两个流程:
一,加密流程,包括以下步骤:
步骤一,用户管理员登录镜像管理系统,通过界面获取自己能管理的虚拟机实例;
步骤二,用户管理员选择需要进行保护的虚拟机实例进行保护;
步骤三,镜像管理系统向虚拟数据安全配置管理子系统VDP发送相关指令,VDP接收用户指令后向密钥管理系统提交生成加密密钥的请求,入参为虚拟机的uuid,成功后在数据库中将该uuid对应的加密标志设置成TRUE;
步骤四,VDP发送指令到虚拟数据安全代理子系统VDPAGENT对该虚拟机数据进行加密操作,入参为虚拟机uuid;步骤五,VDPAGENT收到指令后,先通过qemu停止虚拟机,通过KMIP获取该虚拟机的加密密钥,通过虚拟机定义的XML获取分配给该虚拟机具体的块设备信息分别对镜像文件,iscsi,rbd块设备进行先读出再加密写回的操作,所有完成后虚拟机的初始化加密状态就完成了,通过qemu重启虚拟机进入动态加,解密状态;
二,解密流程,包括以下步骤:
步骤六,用户启动虚拟机,当虚拟机开始加载镜像文件和相关块存储设备时,在相关接口的open方法中,首先通过VDPAGENT发送虚拟机当前加,解密状态查询;
步骤七,VDPAGENT收到请求后,将该请求转发到VDP进行数据库查询并将结果返回;步骤八,在qemu中一旦发现虚拟机是加密状态,就通过VDPAGENT向密钥管理系统获取加,解密密钥,在相关qemu的read和write接口中通过加密卡来实现对数据的加解密操作。
2.根据权利要求1所述的基于KMIP和加密卡的虚拟化数据安全方法,其特征在于,所述基于KMIP和加密卡的虚拟化数据安全方法以虚拟机为单位,对该虚拟机的所有存储相关数据都使用统一的加密密钥。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711105410.2A CN107943556B (zh) | 2017-11-10 | 2017-11-10 | 基于kmip和加密卡的虚拟化数据安全方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711105410.2A CN107943556B (zh) | 2017-11-10 | 2017-11-10 | 基于kmip和加密卡的虚拟化数据安全方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107943556A CN107943556A (zh) | 2018-04-20 |
CN107943556B true CN107943556B (zh) | 2021-08-27 |
Family
ID=61934697
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711105410.2A Active CN107943556B (zh) | 2017-11-10 | 2017-11-10 | 基于kmip和加密卡的虚拟化数据安全方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107943556B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109274646B (zh) * | 2018-08-22 | 2020-12-22 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 基于kmip协议的密钥管理客户端服务端方法和系统及介质 |
CN109190401A (zh) * | 2018-09-13 | 2019-01-11 | 郑州云海信息技术有限公司 | 一种Qemu虚拟可信根的数据存储方法、装置及相关组件 |
CN109344632A (zh) * | 2018-09-28 | 2019-02-15 | 山东超越数控电子股份有限公司 | 一种基于硬件加密卡的openstack卷加密方法 |
CN109309590A (zh) * | 2018-10-29 | 2019-02-05 | 武汉世捷通网络信息技术有限公司 | 虚拟化数据中心的可扩缩多租户网络架构信息采集方法 |
CN109376119B (zh) * | 2018-10-30 | 2021-10-26 | 郑州云海信息技术有限公司 | 一种创建磁盘镜像文件加密快照、使用的方法及存储介质 |
CN111585748B (zh) * | 2019-02-18 | 2023-07-14 | 飞狐信息技术(天津)有限公司 | 数据传输方法及装置 |
CN110334531B (zh) * | 2019-07-01 | 2023-07-11 | 深信服科技股份有限公司 | 虚拟机密钥的管理方法、主节点、系统、存储介质及装置 |
CN110543780B (zh) * | 2019-09-06 | 2021-08-13 | 湖南麒麟信安科技股份有限公司 | 一种具有块存储加密功能的OpenStack系统及其应用方法 |
CN111130773A (zh) * | 2019-12-26 | 2020-05-08 | 北京三未信安科技发展有限公司 | 基于kmip协议的密钥管理服务器、客户端及系统 |
CN111741068B (zh) * | 2020-05-20 | 2022-03-18 | 中国电子科技网络信息安全有限公司 | 一种数据加密密钥传输方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101866408A (zh) * | 2010-06-30 | 2010-10-20 | 华中科技大学 | 一种基于虚拟机架构的透明信任链构建系统 |
CN103516728A (zh) * | 2013-10-14 | 2014-01-15 | 武汉大学 | 一种防止云平台虚拟机非法启动的镜像加解密方法 |
CN106209353A (zh) * | 2015-05-27 | 2016-12-07 | 三星Sds株式会社 | 密钥管理方法及其系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10180809B2 (en) * | 2006-05-17 | 2019-01-15 | Richard Fetik | Secure application acceleration system, methods and apparatus |
US10114966B2 (en) * | 2015-03-19 | 2018-10-30 | Netskope, Inc. | Systems and methods of per-document encryption of enterprise information stored on a cloud computing service (CCS) |
-
2017
- 2017-11-10 CN CN201711105410.2A patent/CN107943556B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101866408A (zh) * | 2010-06-30 | 2010-10-20 | 华中科技大学 | 一种基于虚拟机架构的透明信任链构建系统 |
CN103516728A (zh) * | 2013-10-14 | 2014-01-15 | 武汉大学 | 一种防止云平台虚拟机非法启动的镜像加解密方法 |
CN106209353A (zh) * | 2015-05-27 | 2016-12-07 | 三星Sds株式会社 | 密钥管理方法及其系统 |
Non-Patent Citations (2)
Title |
---|
Data Protection in OpenStack;Bruce Benjamin等;《2017 IEEE 10th International Conference Cloud Computing》;20170630;全文 * |
云服务环境下的密钥管理问题和挑战;杨璐;《计算机科学》;20170331;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN107943556A (zh) | 2018-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107943556B (zh) | 基于kmip和加密卡的虚拟化数据安全方法 | |
US11914736B2 (en) | Encryption for a distributed filesystem | |
US10057364B2 (en) | Method and apparatus for remotely running application program | |
US8769269B2 (en) | Cloud data management | |
US8577853B2 (en) | Performing online in-place upgrade of cluster file system | |
CN105892943B (zh) | 一种分布式存储系统中块存储数据的访问方法及系统 | |
US11397820B2 (en) | Method and apparatus for processing data, computer device and storage medium | |
CN110046026B (zh) | 云主机指定虚拟磁盘限速方法、计算设备及云平台 | |
US20130174151A1 (en) | Information processing apparatus and method of controlling virtual machine | |
JP2022520703A (ja) | セキュア・コンテナの作成および実行 | |
US9946740B2 (en) | Handling server and client operations uninterruptedly during pack and audit processes | |
US20170149778A1 (en) | Method and system for providing access to administrative functionality a virtualization environment | |
US11893144B2 (en) | System and method for slice virtual disk encryption | |
US8924700B1 (en) | Techniques for booting from an encrypted virtual hard disk | |
US10346618B1 (en) | Data encryption for virtual workspaces | |
US11693581B2 (en) | Authenticated stateless mount string for a distributed file system | |
WO2016101282A1 (zh) | 一种i/o任务处理的方法、设备和系统 | |
CN114491607A (zh) | 云平台数据处理方法、装置、计算机设备及存储介质 | |
US20210263759A1 (en) | Encryption and remote attestation of containers | |
CN105844167A (zh) | 一种虚拟加密卷与虚拟应用嵌套的虚拟化的方法与设备 | |
CN116094775B (zh) | 一种ceph分布式文件系统服务端加密系统 | |
US11748272B2 (en) | Shared keys for no PCBA cartridges | |
CN117573041B (zh) | 一种改进vhost-scsi提升虚拟化存储性能的方法 | |
KR20190078198A (ko) | 안전성을 높인 클라우드 저장소 기반 메모리 장치 및 이의 인증 제어 방법 | |
US9213842B2 (en) | Tracing data block operations |
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 |