CN113626156A - 虚拟机磁盘的加密方法、系统及计算机可读存储介质 - Google Patents
虚拟机磁盘的加密方法、系统及计算机可读存储介质 Download PDFInfo
- Publication number
- CN113626156A CN113626156A CN202111195002.7A CN202111195002A CN113626156A CN 113626156 A CN113626156 A CN 113626156A CN 202111195002 A CN202111195002 A CN 202111195002A CN 113626156 A CN113626156 A CN 113626156A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- encryption
- qemu
- entry
- drive side
- 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
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
-
- 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
Abstract
本发明涉及云计算技术领域,特别涉及一种虚拟机磁盘的加密方法。包括数据入口获取步骤,获取虚拟机中在驱动侧和Qemu之间实现数据交互的入口;加密处理步骤,在所获取的入口处的驱动侧进行加密处理,对与该入口处的驱动侧交互的Qemu,设置与所述加密处理关联的外部加密函数库。该虚拟机磁盘的加密方法,在所获取的入口处的驱动侧进行加密处理,因此IO请求的内容在进入Qemu实际操作前就将数据进行加解密,对IO流转的安全性做了保障。
Description
技术领域
本发明涉及云计算技术领域,特别涉及一种虚拟机磁盘的加密方法、系统和计算机可读存储介质,计算机可读存储介质被处理器执行时能实现虚拟机磁盘的加密方法。
背景技术
在虚拟化中,物理资源通常有一个定语称为宿主(Host),而虚拟出来的资源通常有一个定语称为客户(Guest)。本质上,虚拟化就是由位于下层的软件模块,通过向上一层软件模块提供一个与它原先所期待的运行环境完全一致的接口的方法,抽象出一个虚拟的软件或硬件接口,使得上层软件可以直接运行在虚拟的环境上。KVM(Kemel-based VirtualMachine,基于内核的虚拟机)是一个新兴的基于Linux内核的虚拟机管理软件,它采用的是基于Intel硬件虚拟技术的虚拟化方法,并结合模拟器Qemu来完成设备虚拟化(DeviceModel)。对于Linux而言,KVM是一个普通进程,因此其管理很简单,提供的虚拟化环境性能很高,而且对现有系统影响很小从而扩展性很强。
KVM虚拟化虚拟机磁盘IO请求从客户Guest向宿主Host转发时,最终的真正的磁盘IO数据处理由Qemu完成,当IO请求在进入Qemu之后,Qemu的各种驱动都将IO请求转化为QemuIOVector在Qemu中进行管理转发,因此数据在Qemu中转发的安全性至关重要。
发明内容
本发明所要解决的技术问题是提供一种虚拟机磁盘的加密方法,存储有被执行时实现上述方法的计算机程序的计算机可读存储介质,包括该存储介质的系统,该方法能够实现对虚拟机磁盘IO请求数据的加密。
提供一种虚拟机磁盘的加密方法,包括如下步骤,
数据入口获取步骤,获取虚拟机中在驱动侧和Qemu之间实现数据交互的入口;
加密处理步骤,在所获取的入口处的驱动侧进行加密处理,对与该入口处的驱动侧交互的Qemu,设置与所述加密处理关联的外部加密函数库。
优选地,所述在驱动侧和Qemu之间实现数据交互的入口是指:驱动侧具有读操作函数blk_aio_preadv和写操作函数blk_aio_pwritev的接口。
优选地,所述数据交互具体是指数据转发和处理。
优选地,加密函数库在Qemu程序启动时根据预设的配置设置使能的加密算法和与该虚拟机关联的密钥。
优选地,若Qemu程序启动时使用初始向量,则初始化与该虚拟机关联的加密函数库。
优选地,在驱动侧将磁盘IO请求封装为virtio-blkreq后传递给Qemu。
还提供一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时能够实现上述虚拟机磁盘的加密方法。
还提供一种系统,包括物理资源、虚拟资源、两者的接口以及处理器,处理器内预先存储有上述计算机可读存储介质,该计算机可读存储介质上的计算机程序可被处理器执行。
有益效果:该虚拟机磁盘的加密方法,在所获取的入口处的驱动侧进行加密处理,因此IO请求的内容在进入Qemu实际操作前就将数据进行加解密,对IO流转的安全性做了保障。
附图说明
图1是虚拟化系统客户Guest与宿主Host之间的磁盘IO请求过程的示意图。
具体实施方式
以下结合具体实施方式对本发明创造作进一步详细说明。
基于内核的虚拟机KVM(Kernel-based Virtual Machine)是包含虚拟化拓展的x86 硬件的全虚拟化解决方案,KVM属于 Linux 内核中的一个模块,其通过在内核添加模块,实现对虚拟机的管理。本实施例的虚拟机系统通过如下虚拟机磁盘的加密方法对虚拟机进行管理。
该虚拟机磁盘的加密方法包括数据入口获取步骤和加密处理步骤。
数据入口获取步骤,获取虚拟机中在驱动侧和Qemu之间实现数据交互的入口,该入口为驱动侧具有读操作函数blk_aio_preadv和写操作函数blk_aio_pwritev的接口,在该入口进行的数据交互具体是指数据转发和处理。
见图1,当IO请求从客户Guest进入宿主Host的Qemu之后,Qemu的各种驱动(虚拟scsi、ide、nvme等)都将IO请求转化为QemuIOVector在Qemu中进行管理转发。该虚拟机磁盘的加密方法,在所获取的入口处的驱动侧(虚拟scsi、ide、nvme等与客户Guest交互的端口)进行加密处理,因此IO请求的内容在进入Qemu实际操作前就将数据进行加解密,在对虚拟机虚拟磁盘数据进行读写时,在写操作函数blk_aio_pwritev/读操作函数blk_aio_preadv中将数据通过加密函数库函数进行加解密,实现数据在主机上以密文的形式流转,对IO流转的安全性做了保障,保障数据在Qemu中转发也是安全的。
其中,加密处理步骤具体地,在所获取的入口处的驱动侧进行加密处理,对与该入口处的驱动侧交互的Qemu,设置与加密处理关联的外部加密函数库。加密函数库在Qemu程序启动时根据预设的配置设置使能的加密算法和与该虚拟机关联的密钥,若Qemu程序启动时使用初始向量,则初始化与该虚拟机关联的加密函数库。该虚拟机磁盘的加密方法,采用外部的加密库方便的对接各种加密算法或者硬件加密机。
其中,在驱动侧将磁盘IO请求封装为virtio-blkreq后传递给Qemu。Virtio在该虚拟化系统中作为客户Guest OS的驱动程序,又作为宿主Host的Virtio后端驱动。Virtio驱动程序在客户Guest OS上将自身注册为一个网络设备,即将自身作为内核模块来处理,把要发送的数据加密后转移到队列中,然后与宿主Host的Qemu进程连接,Qemu从队列中读取到来自Virtio驱动程序的加密封装数据,依赖外部加密函数库进行解密后把这些数据转移到宿主Host的Virtio后端驱动接收队列,屏蔽了Qemu对接的后端存储类型的差异。
如上仅为本发明创造的实施方式,不以此限定专利保护范围。本领域技术人员在本发明创造的基础上作出非实质性的变化或替换,仍落入专利保护范围。
Claims (8)
1.虚拟机磁盘的加密方法,其特征是,包括如下步骤,
数据入口获取步骤,获取虚拟机中在驱动侧和Qemu之间实现数据交互的入口;
加密处理步骤,在所获取的入口处的驱动侧进行加密处理,对与该入口处的驱动侧交互的Qemu,设置与所述加密处理关联的外部加密函数库。
2.根据权利要求1所述的虚拟机磁盘的加密方法,其特征是,所述在驱动侧和Qemu之间实现数据交互的入口是指:驱动侧具有读操作函数blk_aio_preadv和写操作函数blk_aio_pwritev的接口。
3.根据权利要求1所述的虚拟机磁盘的加密方法,其特征是,所述数据交互具体是指数据转发和处理。
4.根据权利要求1所述的虚拟机磁盘的加密方法,其特征是,加密函数库在Qemu程序启动时根据预设的配置设置使能的加密算法和与该虚拟机关联的密钥。
5.根据权利要求1所述的虚拟机磁盘的加密方法,其特征是,若Qemu程序启动时使用初始向量,则初始化与该虚拟机关联的加密函数库。
6.根据权利要求1所述的虚拟机磁盘的加密方法,其特征是,在驱动侧将磁盘IO请求封装为virtio-blkreq后传递给Qemu。
7.计算机可读存储介质,其存储有计算机程序,其特征是,所述计算机程序被处理器执行时能够实现权利要求1~6中任一项所述的虚拟机磁盘的加密方法。
8.KVM虚拟化系统,包括物理资源、虚拟资源、两者的接口以及处理器,其特征是,处理器内预先存储有如权利要求7所述的计算机可读存储介质,该计算机可读存储介质上的计算机程序可被处理器执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111195002.7A CN113626156A (zh) | 2021-10-14 | 2021-10-14 | 虚拟机磁盘的加密方法、系统及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111195002.7A CN113626156A (zh) | 2021-10-14 | 2021-10-14 | 虚拟机磁盘的加密方法、系统及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113626156A true CN113626156A (zh) | 2021-11-09 |
Family
ID=78391290
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111195002.7A Pending CN113626156A (zh) | 2021-10-14 | 2021-10-14 | 虚拟机磁盘的加密方法、系统及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113626156A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102034046A (zh) * | 2010-12-10 | 2011-04-27 | 北京世纪互联工程技术服务有限公司 | 云计算环境中基于磁盘驱动的数据底层加密方法 |
CN104461678A (zh) * | 2014-11-03 | 2015-03-25 | 中国科学院信息工程研究所 | 一种在虚拟化环境中提供密码服务的方法和系统 |
CN109639424A (zh) * | 2018-12-25 | 2019-04-16 | 山东超越数控电子股份有限公司 | 一种基于不同密钥的虚拟机镜像加密方法及装置 |
CN111143850A (zh) * | 2019-11-22 | 2020-05-12 | 航天恒星科技有限公司 | 一种卫星数据分布式虚拟化存储的安全防护系统和方法 |
US10848468B1 (en) * | 2018-03-05 | 2020-11-24 | Commvault Systems, Inc. | In-flight data encryption/decryption for a distributed storage platform |
CN112433824A (zh) * | 2020-12-28 | 2021-03-02 | 郑州信大先进技术研究院 | 一种密码设备的虚拟化实现架构 |
-
2021
- 2021-10-14 CN CN202111195002.7A patent/CN113626156A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102034046A (zh) * | 2010-12-10 | 2011-04-27 | 北京世纪互联工程技术服务有限公司 | 云计算环境中基于磁盘驱动的数据底层加密方法 |
CN104461678A (zh) * | 2014-11-03 | 2015-03-25 | 中国科学院信息工程研究所 | 一种在虚拟化环境中提供密码服务的方法和系统 |
US10848468B1 (en) * | 2018-03-05 | 2020-11-24 | Commvault Systems, Inc. | In-flight data encryption/decryption for a distributed storage platform |
CN109639424A (zh) * | 2018-12-25 | 2019-04-16 | 山东超越数控电子股份有限公司 | 一种基于不同密钥的虚拟机镜像加密方法及装置 |
CN111143850A (zh) * | 2019-11-22 | 2020-05-12 | 航天恒星科技有限公司 | 一种卫星数据分布式虚拟化存储的安全防护系统和方法 |
CN112433824A (zh) * | 2020-12-28 | 2021-03-02 | 郑州信大先进技术研究院 | 一种密码设备的虚拟化实现架构 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9690947B2 (en) | Processing a guest event in a hypervisor-controlled system | |
US9703586B2 (en) | Distribution control and tracking mechanism of virtual machine appliances | |
US8832688B2 (en) | Kernel bus system with a hyberbus and method therefor | |
US8832352B2 (en) | Hypervisor-driven protection of data from virtual machine clones | |
EP3651042A1 (en) | Method for switching between virtualized and non-virtualized system operation | |
EP3408778B1 (en) | Disk encryption | |
CN107943556B (zh) | 基于kmip和加密卡的虚拟化数据安全方法 | |
US10719346B2 (en) | Disk encryption | |
CN105184154A (zh) | 一种在虚拟化环境中提供密码运算服务的系统和方法 | |
US20170075717A1 (en) | Virtual trusted platform module function implementation method and management device | |
US9495181B2 (en) | Creating a virtual appliance | |
KR101709116B1 (ko) | 가상 머신 부팅 장치 및 방법 | |
US20230051347A1 (en) | Hardware virtualized tpm into virtual machines | |
WO2016101282A1 (zh) | 一种i/o任务处理的方法、设备和系统 | |
EP3701373B1 (en) | Virtualization operations for directly assigned devices | |
CN114238185A (zh) | 直接存储访问及命令数据传输方法、装置及相关设备 | |
WO2023174145A1 (zh) | 数据处理方法、装置、设备和存储介质 | |
US9098461B2 (en) | Live snapshots of multiple virtual disks | |
CN112052446A (zh) | 密码单元创建方法、数据处理方法、装置及电子设备 | |
CN116225614A (zh) | 一种安全密码模块分片虚拟化方法及系统 | |
CN113626156A (zh) | 虚拟机磁盘的加密方法、系统及计算机可读存储介质 | |
US9563785B2 (en) | Optimized encryption filtering of files | |
US20160292087A1 (en) | Protecting contents of storage | |
CN107861795B (zh) | 模拟物理tcm芯片的方法、系统、装置及可读存储介质 | |
US11513825B2 (en) | System and method for implementing trusted execution environment on PCI device |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20211109 |
|
RJ01 | Rejection of invention patent application after publication |