CN113468563A - 虚拟机数据加密方法、装置、计算机设备和存储介质 - Google Patents

虚拟机数据加密方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN113468563A
CN113468563A CN202110705257.7A CN202110705257A CN113468563A CN 113468563 A CN113468563 A CN 113468563A CN 202110705257 A CN202110705257 A CN 202110705257A CN 113468563 A CN113468563 A CN 113468563A
Authority
CN
China
Prior art keywords
data
encryption
stored
virtual machine
adaptation
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.)
Granted
Application number
CN202110705257.7A
Other languages
English (en)
Other versions
CN113468563B (zh
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.)
Dawning Information Industry Co Ltd
Original Assignee
Dawning Information Industry 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 Dawning Information Industry Co Ltd filed Critical Dawning Information Industry Co Ltd
Priority to CN202110705257.7A priority Critical patent/CN113468563B/zh
Publication of CN113468563A publication Critical patent/CN113468563A/zh
Application granted granted Critical
Publication of CN113468563B publication Critical patent/CN113468563B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (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

本申请涉及一种虚拟机数据加密方法、装置、计算机设备和存储介质,宿主机获取虚拟机发送的待存储数据以及加密指令;其中,上述加密指令用于指示通过宿主机的加密芯片对待存储数据进行加密处理;然后,根据宿主机的协议要求对待存储数据进行协议适配处理,获得协议适配数据;最后,利用加密芯片的国密算法对协议适配数据进行加密处理,获得加密数据。采用上述方法可以降低了对CPU资源的消耗,提升宿主机的数据处理能力,并提升了宿主机的通用性。

Description

虚拟机数据加密方法、装置、计算机设备和存储介质
技术领域
本申请涉及云计算技术领域,特别是涉及一种虚拟机数据加密方法、装置、计算机设备和存储介质。
背景技术
随着云计算技术的发展,云计算中对用户数据的安全性保障越来越重要。一般情况下,云计算的宿主机可以采用虚拟机的用户密钥对虚拟机的磁盘数据进行加密;宿主机可以基于核心处理器(central processing unit,简称CPU)资源,调用加解密软件对虚拟机的磁盘数据进行加解密处理。
随着云计算的数据量激增,采用上述加密方法对虚拟机的磁盘数据进行加密需要耗费大量CPU资源,降低宿主机的数据处理性能。
发明内容
基于此,有必要针对上述技术问题,提供一种虚拟机数据加密方法、装置、计算机设备和存储介质。
一种虚拟机数据加密方法,上述方法包括:
获取虚拟机发送的待存储数据以及加密指令;加密指令用于指示通过宿主机的加密芯片对待存储数据进行加密处理;
根据宿主机的协议要求对待存储数据进行协议适配处理,获得协议适配数据;
利用加密芯片的国密算法对协议适配数据进行加密处理,获得加密数据。
本申请上述实施例中,宿主机中设置了加密芯片,使得虚拟机发送的待存储数据可以通过加密芯片进行加密处理,而不需要通过宿主机的CPU进行处理,降低了对CPU资源的消耗,提升宿主机的数据处理能力;进一步地,宿主机可以将获取的待存储数据和加密指令进行协议适配处理,使得协议适配数据可以通过加密芯片进行加密处理;由于加密芯片中可以采用国密算法进行加密,使得宿主机可以应用于适用于国密算法加密的场景,提升了宿主机的通用性。
在其中一个实施例中,根据宿主机的协议要求对待存储数据进行协议适配处理,获得协议适配数据,包括:
根据虚拟机的数据存储类型,确定与虚拟机的数据存储类型匹配的适配处理方式;数据存储类型包括本地存储和网络存储;
采用适配处理方式对待存储数据进行协议适配处理,获得协议适配数据。
上述实施例中,宿主机通过确定虚拟机的数据存储类型,可以为待存储数据确定匹配的协议适配处理方式,使得宿主机可以同时支持本地存储和网络存储类型的虚拟机,提升了宿主机的通用性。
在其中一个实施例中,若数据存储类型为本地存储,采用适配处理方式对待存储数据进行协议适配处理,获得协议适配数据,包括:
通过宿主机中的加密层DM-Crypt对待存储数据进行第一适配处理,使得处理后的第一适配数据满足国密算法的协议要求;
将第一适配数据映射至宿主机中的协议框架层Framework;
通过Framework调用国密算法驱动,对第一适配数据进行第二适配处理,获得协议适配数据;第二适配处理用于实现Framework与加密芯片之间所传递数据的协议适配。
上述实施例中,宿主机可以对本地存储的待存储数据,采用加密芯片进行加密处理,降低了对本地存储的待存储数据的加密过程对CPU的消耗,提升了对本地存储的待存储数据的加密效率;进一步地,加密芯片采用国密算法对待存储数据进行处理,使得本地存储类型的虚拟机可以适用于国密算法加密的场景,提升了本地存储类型的虚拟机的适用性。
在其中一个实施例中,上述方法还包括:
通过Framework将加密数据返回至DM-Crypt;
通过DM-Crypt将加密数据存储在本地存储空间中。
上述实施例中,提供了对加密数据进行本地存储的具体方式,宿主机可以通过加密芯片对待存储数据进行加密处理后,通过将加密数据返回至DM-Crypt,然后通过DM-Crypt将加密数据存储在本地存储空间中。
在其中一个实施例中,若数据存储类型为网络存储,采用适配处理方式对待存储数据进行协议适配处理,获得协议适配数据,包括:
通过宿主机中的Framework调用国密算法驱动,对待存储数据进行第三适配处理,获得协议适配数据;第三适配处理用于实现Framework与加密芯片之间所传递数据的协议适配;待存储数据为虚拟机中的后端驱动模块按照国密算法的协议要求进行适配处理后的数据。
上述实施例中,宿主机可以对网络存储的待存储数据,采用加密芯片进行加密处理,降低了对网络存储的待存储数据的加密过程对CPU的消耗,提升了对网络存储的待存储数据的加密效率;进一步地,加密芯片采用国密算法对待存储数据进行处理,使得网络存储类型的虚拟机可以适用于国密算法加密的场景,提升了网络存储类型的虚拟机的适用性。
在其中一个实施例中,上述方法还包括:
通过Framework将加密数据返回至虚拟机中的后端驱动模块中,以使后端驱动模块将加密数据发送至与虚拟机连接的网络存储空间中。
上述实施例中,提供了对加密数据进行网络存储的具体方式,宿主机可以通过加密芯片对待存储数据进行加密处理后,通过将加密数据返回至虚拟机,使得虚拟机可以将加密数据发送至网络存储空间。
在其中一个实施例中,加密指令中携带加密参数;加密参数为用户通过虚拟机输入的国密算法的加密参数。
上述实施例中,虚拟机可以识别用户输入的国密算法的加密参数,并将加密参数传递至宿主机,使得宿主机可以根据用户输入的加密参数对待存储数据进行加密处理,提升了宿主机对数据进行加密处理时的用户交互性。
一种虚拟机数据加密装置,上述装置包括:
获取模块,用于获取虚拟机发送的待存储数据以及加密指令;加密指令用于指示通过宿主机的加密芯片对待存储数据进行加密处理;
处理模块,用于根据宿主机的协议要求对待存储数据进行协议适配处理,获得协议适配数据;
加密模块,用于利用加密芯片的国密算法对协议适配数据进行加密处理,获得加密数据。
一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述虚拟机数据加密方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述虚拟机数据加密方法的步骤。
上述虚拟机数据加密方法、装置、计算机设备和存储介质,宿主机获取虚拟机发送的待存储数据以及加密指令;其中,上述加密指令用于指示通过宿主机的加密芯片对待存储数据进行加密处理;然后,根据宿主机的协议要求对待存储数据进行协议适配处理,获得协议适配数据;最后,利用加密芯片的国密算法对协议适配数据进行加密处理,获得加密数据。由于宿主机中包括加密芯片,使得虚拟机发送的待存储数据可以通过加密芯片进行加密处理,而不需要通过宿主机的CPU进行处理,降低了对CPU资源的消耗,提升宿主机的数据处理能力;进一步地,宿主机可以将获取的待存储数据和加密指令进行协议适配处理,使得协议适配数据可以通过加密芯片进行加密处理;由于加密芯片中可以采用国密算法进行加密,使得宿主机可以应用于适用于国密算法加密的场景,提升了宿主机的通用性。
附图说明
图1为一个实施例中虚拟机数据加密方法的应用环境图;
图2为一个实施例中虚拟机数据加密方法的流程示意图;
图3为一个实施例中虚拟机数据加密方法的流程示意图;
图4为另一个实施例中虚拟机数据加密方法的流程示意图;
图5为另一个实施例中虚拟机数据加密方法的示意图;
图6为另一个实施例中虚拟机数据加密方法的示意图;
图7为一个实施例中虚拟机数据加密装置的结构框图;
图8为一个实施例中虚拟机数据加密装置的结构框图;
图9为一个实施例中虚拟机数据加密装置的结构框图;
图10为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的虚拟机数据加密方法,可以应用于如图1所示的应用环境中。其中,宿主机100上可以构建虚拟机200,上述虚拟机200的数量可以是一个,也可以是多个。上述宿主机100可以对虚拟机200的数据进行加密处理。
在一个实施例中,如图2所示,提供了一种虚拟机数据加密方法,以该方法应用于图1中的宿主机为例进行说明,包括:
S101、获取虚拟机发送的待存储数据以及加密指令;加密指令用于指示通过宿主机的加密芯片对待存储数据进行加密处理。
其中,上述虚拟机可以是通过软件模拟的、具有完整硬件系统功能的计算机系统。上述虚拟机可以实现真正的计算机设备的功能,可以安装操作系统、安装应用程序、访问网络资源等。上述虚拟机所在的设备为宿主机。上述宿主机上构建虚拟机时,可以基于Xen架构,也可以基于Openstack架构,在此不做限定。
上述待存储数据可以是虚拟机运行过程产生的数据,也可以是用户通过虚拟机输入的数据,对于上述待存储数据的类型在此不做限定。上述待存储数据可以存储于宿主机中的本地存储空间,也可以存储于网络存储空间,对于上述待存储数据的存储方式在此不做限定。
宿主机可以通过与虚拟机之间的数据传输通道,接收虚拟机发送的待存储数据。具体地,虚拟机发送待存储数据时,可以携带虚拟机的标识,也可以携带待存储数据的数据量大小。虚拟机可以将待存储数据通过一个数据包发送给宿主机,也可以将待存储数据拆分成多个数据包发送给宿主机,使得宿主机可以通过一次或多次接收到上述待存储数据。宿主机接收到上述待存储数据之后,可以对上述待存储数据进行加密处理。
宿主机中的处理器可以包括核心处理器CPU以及加密芯片。上述加密芯片为独立芯片,可以是用于对虚拟机的数据进行加密处理的专用处理器。宿主机中可以包括一个加密芯片,也可以包括多个加密芯片。需要说明的是,宿主机中的CPU也可以用于对虚拟机的数据进行加密处理。
宿主机可以通过接收虚拟机发送的加密指令,确定通过哪一个处理器对待存储数据进行加密。加密指令中指示通过加密芯片对待存储数据进行加密处理时,宿主机可以将待存储数据发送至加密芯片,通过加密芯片对待存储数据进行加密处理。另外,若宿主机中包含多个加密芯片,上述加密指令中还可以包括加密芯片的标识信息,使得宿主机可以基于加密指令,确定将待存储数据发送至哪一个加密芯片。
上述加密芯片中携带国密算法,可以采用国密算法对待存储数据进行加密处理。其中,上述国密算法可以是国家密码局认定的国产密码算法。上述国密算法的类型可以是对称加密算法,也可以是非对称加密算法,还可以是密码杂凑算法;对于上述国密算法的类型在此不做限定。上述国密算法可以实现加密、解密和数字认证等多种功能。
上述加密指令中除了加密芯片的标识信息之外,还可以包括对待存储数据进行加密处理的加密方式,对于加密指令中携带的信息在此不做限定。可选地,上述加密指令中携带加密参数;上述加密参数为用户通过虚拟机输入的国密算法的加密参数。上述虚拟机可以进行适应性改造,使得虚拟机可以识别用户输入的国密算法的加密参数,进而将上述加密参数通过加密指令发送给宿主机。例如,可以对虚拟机中的QEMU进行适应性改造,使得虚拟机可以识别国密算法的加密参数。宿主机可以根据用户输入的加密参数对待存储数据进行加密处理,提升了宿主机对数据进行加密处理时的用户交互性。
S102、根据宿主机的协议要求对待存储数据进行协议适配处理,获得协议适配数据。
在获取了待存储数据以及加密指令的基础上,宿主机需要根据加密指令中携带的加密芯片的协议要求,对待存储数据进行协议适配处理,获得协议适配数据。
上述协议适配处理可以分成不同的阶段进行,以满足待存储数据在宿主机中的处理需求。例如,宿主机可以在接收到待存储数据之后,对待存储数据进行协议适配处理,使得宿主机中其他数据处理模块可以识别上述待处理数据以及待处理数据对应的加密指令;进一步地,宿主机将协议适配数据发送至加密芯片之前,可以对待处理数据进行协议适配处理,使得处理后的协议适配数据可以满足加密芯片以及与加密芯片连接的数据处理模块之间的数据传递需求;不同阶段的协议适配处理目的不同,对应的协议适配处理方式也不同。另外,在虚拟机发送待存储数据之前,也可以对数据进行协议适配处理,使得待存储数据符合国密算法的协议需求。
S103、利用加密芯片的国密算法对协议适配数据进行加密处理,获得加密数据。
在上述步骤的基础上,宿主机可以利用加密芯片中的国密算法,对协议适配数据进行加密处理,获得待存储数据对应的加密数据。
进一步地,宿主机可以将获得的加密数据进行存储。宿主机可以将加密数据存储在本地存储空间中,也可以将加密数据存储在网络存储空间中,在此不做限定。
上述虚拟机数据加密方法,宿主机获取虚拟机发送的待存储数据以及加密指令;其中,上述加密指令用于指示通过宿主机的加密芯片对待存储数据进行加密处理;然后,根据宿主机的协议要求对待存储数据进行协议适配处理,获得协议适配数据;最后,利用加密芯片的国密算法对协议适配数据进行加密处理,获得加密数据。由于宿主机中包括加密芯片,使得虚拟机发送的待存储数据可以通过加密芯片进行加密处理,而不需要通过宿主机的CPU进行处理,降低了对CPU资源的消耗,提升宿主机的数据处理能力;进一步地,宿主机可以将获取的待存储数据和加密指令进行协议适配处理,使得协议适配数据可以通过加密芯片进行加密处理;由于加密芯片中可以采用国密算法进行加密,使得宿主机可以应用于适用于国密算法加密的场景,提升了宿主机的通用性。
图3为另一个实施例中虚拟机数据加密方法的流程示意图,本实施例涉及对待存储数据进行协议适配处理的一种方式,在上述实施例的基础上,如图3所示,上述S102包括:
S201、根据虚拟机的数据存储类型,确定与虚拟机的数据存储类型匹配的适配处理方式;数据存储类型包括本地存储和网络存储。
虚拟机的数据存储类型可以包括本地存储和网络存储。对于本地存储类型的虚拟机,虚拟机发送的待存储数据通过宿主机进行加密处理之后,可以存储于宿主机的本地存储网络中;对于网络存储类型的虚拟机,虚拟机发送的待存储数据通过宿主机进行加密处理之后,可以通过宿主机存储于网络存储空间中,也可以接收宿主机返回的加密数据,然后将加密数据存储于网络存储空间中。
宿主机在确定虚拟机的数据存储类型时,可以根据虚拟机发送的待存储数据或者加密指令来确定。其中,上述待存储数据或者加密指令中可以携带数据存储类型的存储标识信息,使得宿主机可以直接通过上述存储标识信息确定虚拟机的数据存储类型;或者,上述待存储数据或加密指令中可以携带用于表征虚拟机身份的身份标识信息,上述身份标识信息可以是虚拟机的索引值(Address Space Identifier,简称ASID),也可以是虚拟机的网络地址,使得宿主机可以根据数据存储类型与身份标识信息之间的对应关系,确定该虚拟机对应的数据存储类型。
宿主机中可以构建多个虚拟机,不同虚拟机对应的数据存储类型可以相同,也可以不同。
宿主机中可以预设不同数据存储类型对应的适配处理方式,在获取待存储数据和加密指令并确定了虚拟机的数据存储类型之后,可以确定该待处理数据对应的适配处理方式。上述适配处理方式可以包括进行协议适配处理的数据模块,还可以包括各数据处理模块进行协议适配处理时,采用的适配处理程序。
S202、采用适配处理方式对待存储数据进行协议适配处理,获得协议适配数据。
宿主机中可以采用适配处理方式对待存储数据进行协议适配处理,获得协议适配数据。
上述虚拟机数据加密方法,宿主机通过确定虚拟机的数据存储类型,可以为待存储数据确定匹配的协议适配处理方式,使得宿主机可以同时支持本地存储和网络存储类型的虚拟机,提升了宿主机的通用性。
下面两个实施例中,分别针对不同数据存储类型的虚拟机对应的适配处理方式,进行详细介绍。
图4为另一个实施例中虚拟机数据加密方法的流程示意图,本实施例涉及对本地存储的虚拟机的待存储数据进行协议适配处理的一种方式,在上述实施例的基础上,如图4所示,上述S202包括:
S301、通过宿主机中的加密层DM-Crypt对待存储数据进行第一适配处理,使得处理后的第一适配数据满足国密算法的协议要求。
对于本地存储类型的虚拟机,虚拟机发送的待处理数据和加密指令可以进入宿主机中的加密层DM-Crypt。加密层DM-Crypt可以对待存储数据进行第一适配处理,使得处理后的第一适配数据满足国密算法的协议要求,能够通过加密芯片中的国密算法进行加密处理。
S302、将第一适配数据映射至宿主机中的协议框架层Framework。
进一步地,DM-Crypt可以将获得的第一适配数据映射至宿主机中的协议框架层Framework,通过Framework可以将DM-Crypt处理后的第一适配数据发送至加密芯片。
上述Framework可以是Linux Kernel Crypto Framework。Framework可以识别第一适配数据是需要发送至哪一个加密芯片的,然后通过加密芯片与Framework的连接将第一适配数据发送至加密芯片。
S303、通过Framework调用国密算法驱动,对第一适配数据进行第二适配处理,获得协议适配数据;第二适配处理用于实现Framework与加密芯片之间所传递数据的协议适配。
Framework中可以调用国密算法驱动程序,上述国密算法驱动程序用于将Framework与加密芯片连接,使得Framework和加密芯片可以传递数据。宿主机可以通过Framework调用国密算法驱动,对第一适配数据进行第二适配处理,使得第二适配处理后获得的协议适配数据可以被加密芯片接收。
进一步地,加密芯片可以采用国密算法对协议适配数据进行加密处理,获得加密数据,然后通过Framework将加密数据返回至DM-Crypt,并通过DM-Crypt将加密数据存储在本地存储空间中。
如图5所示,DM-Crypt可以与虚拟机中的Virtio-blk后端驱动连接,上述Virtio-blk后端驱动连接可以与虚拟机的虚拟磁盘连接,接收虚拟磁盘发送的数据,然后通过Virtio-blk后端驱动对数据进行适配处理后获得待存储数据,使得宿主机的加密层DM-Crypt可以识别待存储数据以及加密指令。宿主机通过DM-Crypt接收虚拟机发送的待存储数据和加密指令之后,对待存储数据进行第一适配处理,然后将第一适配数据映射至LinuxKernel Crypto Framework,通过Linux Kernel Crypto Framework调用国密算法驱动程序对第一适配数据进行第二协议适配,处理获得协议适配数据;然后,将协议适配数据发送至加密芯片。上述加密芯片对协议适配数据进行加密处理后获得加密数据,通过LinuxKernel Crypto Framework将加密数据返回至DM-Crypt。DM-Crypt可以与宿主机中的本地存储空间连接,将加密数据存储在本地存储空间中。
上述虚拟机数据加密方法,宿主机可以对本地存储的待存储数据,采用加密芯片进行加密处理,降低了对本地存储的待存储数据的加密过程对CPU的消耗,提升了对本地存储的待存储数据的加密效率;进一步地,加密芯片采用国密算法对待存储数据进行处理,使得本地存储类型的虚拟机可以适用于国密算法加密的场景,提升了本地存储类型的虚拟机的适用性。
在一个实施例中涉及对网络存储的虚拟机的待存储数据进行协议适配处理的一种方式,在上述实施例的基础上,宿主机可以通过宿主机中的Framework调用国密算法驱动,对待存储数据进行第三适配处理,获得协议适配数据;第三适配处理用于实现Framework与加密芯片之间所传递数据的协议适配;待存储数据为虚拟机中的后端驱动模块按照国密算法的协议要求进行适配处理后的数据。
对于网络存储类型的虚拟机,虚拟机的后端驱动模块与宿主机的Framework之间没有加密层,虚拟机可以通过后端驱动模块可以对虚拟磁盘的数据进行适配处理,使得获得的待存储数据可以满足国密算法的协议要求。
虚拟机发送的待处理数据和加密指令可以进入宿主机中的Framework,宿主机中的Framework可以识别上述待存储数据以及虚拟机发送的加密指令。Framework中可以调用国密算法驱动程序,上述国密算法驱动程序用于将Framework与加密芯片连接,使得Framework和加密芯片之间可以传递数据。Framework可以调用国密算法驱动,对待存储数据进行第三适配处理,获得协议适配数据,使得第三适配处理后获得的协议适配数据可以被加密芯片接收。
对于网络存储类型的虚拟机,待存储数据通过宿主机进行加密处理后,可以通过虚拟机中的后端驱动模块,将加密数据发送至网络存储空间中。加密芯片可以采用国密算法对协议适配数据进行加密处理,获得加密数据;然后通过Framework将加密数据返回至虚拟机中的后端驱动模块中,以使后端驱动模块将加密数据发送至与虚拟机连接的网络存储空间中。
如图6所示,虚拟机中的后端驱动模块可以是Virtio-blk后端驱动。Virtio-blk后端驱动可以与虚拟机的虚拟磁盘连接,接收虚拟磁盘发送的数据,然后对数据进行适配处理后获得待存储数据,使得宿主机可以识别待存储数据以及加密指令。宿主机中的LinuxKernel Crypto Framework可以与虚拟机的后端驱动模块连接,接收虚拟机发送的待存储数据和加密指令之后,对待存储数据进行第三适配处理,获得协议适配数据。Linux KernelCrypto Framework将协议适配数据发送至加密芯片。上述加密芯片对协议适配数据进行加密处理后获得加密数据,通过Linux Kernel Crypto Framework将加密数据返回至Virtio-blk后端驱动。Virtio-blk后端驱动可以与网络存储客户端连接,并通过网络客户端与网络存储空间之间的连接网络,将加密数据存储至网络存储空间中。
上述虚拟机数据加密方法,宿主机可以对网络存储的待存储数据,采用加密芯片进行加密处理,降低了对网络存储的待存储数据的加密过程对CPU的消耗,提升了对网络存储的待存储数据的加密效率;进一步地,加密芯片采用国密算法对待存储数据进行处理,使得网络存储类型的虚拟机可以适用于国密算法加密的场景,提升了网络存储类型的虚拟机的适用性。
应该理解的是,虽然图2-4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-4中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图7所示,提供了一种虚拟机数据加密装置,包括:
获取模块10,用于获取虚拟机发送的待存储数据以及加密指令;加密指令用于指示通过宿主机的加密芯片对待存储数据进行加密处理;
处理模块20,用于根据宿主机的协议要求对待存储数据进行协议适配处理,获得协议适配数据;
加密模块30,用于利用加密芯片的国密算法对协议适配数据进行加密处理,获得加密数据。
上述提供的虚拟机数据加密装置,可以执行上述虚拟机数据加密方法实施例,其实现原理和技术效果类似,在此不再赘述。
在一个实施例中,在上述实施例的基础上,如图8所示,上述处理模块20包括:
确定单元201,用于根据虚拟机的数据存储类型,确定与虚拟机的数据存储类型匹配的适配处理方式;数据存储类型包括本地存储和网络存储;
处理单元202,用于采用适配处理方式对待存储数据进行协议适配处理,获得协议适配数据。
在一个实施例中,在上述实施例的基础上,若数据存储类型为本地存储,上述处理单元202具体用于:通过宿主机中的加密层DM-Crypt对待存储数据进行第一适配处理,使得处理后的第一适配数据满足国密算法的协议要求;将第一适配数据映射至宿主机中的协议框架层Framework;通过Framework调用国密算法驱动,对第一适配数据进行第二适配处理,获得协议适配数据;第二适配处理用于实现Framework与加密芯片之间所传递数据的协议适配。
在一个实施例中,在上述实施例的基础上,如图9所示,上述装置还包括存储模块40,用于:通过Framework将加密数据返回至DM-Crypt;通过DM-Crypt将加密数据存储在本地存储空间中。
在一个实施例中,在上述实施例的基础上,若数据存储类型为网络存储,上述处理单元202具体用于:通过宿主机中的Framework调用国密算法驱动,对待存储数据进行第三适配处理,获得协议适配数据;第三适配处理用于实现Framework与加密芯片之间所传递数据的协议适配;待存储数据为虚拟机中的后端驱动模块按照国密算法的协议要求进行适配处理后的数据。
在一个实施例中,在上述实施例的基础上,上述存储模块20还用于:通过Framework将加密数据返回至虚拟机中的后端驱动模块中,以使后端驱动模块将加密数据发送至与虚拟机连接的网络存储空间中。
在一个实施例中,在上述实施例的基础上,加密指令中携带加密参数;加密参数为用户通过虚拟机输入的国密算法的加密参数。
关于虚拟机数据加密装置的具体限定可以参见上文中对于虚拟机数据加密方法的限定,在此不再赘述。上述虚拟机数据加密装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储虚拟机数据加密数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种虚拟机数据加密方法。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取虚拟机发送的待存储数据以及加密指令;加密指令用于指示通过宿主机的加密芯片对待存储数据进行加密处理;
根据宿主机的协议要求对待存储数据进行协议适配处理,获得协议适配数据;
利用加密芯片的国密算法对协议适配数据进行加密处理,获得加密数据。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据虚拟机的数据存储类型,确定与虚拟机的数据存储类型匹配的适配处理方式;数据存储类型包括本地存储和网络存储;采用适配处理方式对待存储数据进行协议适配处理,获得协议适配数据。
在一个实施例中,若数据存储类型为本地存储,处理器执行计算机程序时还实现以下步骤:通过宿主机中的加密层DM-Crypt对待存储数据进行第一适配处理,使得处理后的第一适配数据满足国密算法的协议要求;将第一适配数据映射至宿主机中的协议框架层Framework;通过Framework调用国密算法驱动,对第一适配数据进行第二适配处理,获得协议适配数据;第二适配处理用于实现Framework与加密芯片之间所传递数据的协议适配。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:通过Framework将加密数据返回至DM-Crypt;通过DM-Crypt将加密数据存储在本地存储空间中。
在一个实施例中,若数据存储类型为网络存储,处理器执行计算机程序时还实现以下步骤:通过宿主机中的Framework调用国密算法驱动,对待存储数据进行第三适配处理,获得协议适配数据;第三适配处理用于实现Framework与加密芯片之间所传递数据的协议适配;待存储数据为虚拟机中的后端驱动模块按照国密算法的协议要求进行适配处理后的数据。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:通过Framework将加密数据返回至虚拟机中的后端驱动模块中,以使后端驱动模块将加密数据发送至与虚拟机连接的网络存储空间中。
在一个实施例中,加密指令中携带加密参数;加密参数为用户通过虚拟机输入的国密算法的加密参数。
本实施例提供的计算机设备,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取虚拟机发送的待存储数据以及加密指令;加密指令用于指示通过宿主机的加密芯片对待存储数据进行加密处理;
根据宿主机的协议要求对待存储数据进行协议适配处理,获得协议适配数据;
利用加密芯片的国密算法对协议适配数据进行加密处理,获得加密数据。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据虚拟机的数据存储类型,确定与虚拟机的数据存储类型匹配的适配处理方式;数据存储类型包括本地存储和网络存储;采用适配处理方式对待存储数据进行协议适配处理,获得协议适配数据。
在一个实施例中,若数据存储类型为本地存储,计算机程序被处理器执行时还实现以下步骤:通过宿主机中的加密层DM-Crypt对待存储数据进行第一适配处理,使得处理后的第一适配数据满足国密算法的协议要求;将第一适配数据映射至宿主机中的协议框架层Framework;通过Framework调用国密算法驱动,对第一适配数据进行第二适配处理,获得协议适配数据;第二适配处理用于实现Framework与加密芯片之间所传递数据的协议适配。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:通过Framework将加密数据返回至DM-Crypt;通过DM-Crypt将加密数据存储在本地存储空间中。
在一个实施例中,若数据存储类型为网络存储,计算机程序被处理器执行时还实现以下步骤:通过宿主机中的Framework调用国密算法驱动,对待存储数据进行第三适配处理,获得协议适配数据;第三适配处理用于实现Framework与加密芯片之间所传递数据的协议适配;待存储数据为虚拟机中的后端驱动模块按照国密算法的协议要求进行适配处理后的数据。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:通过Framework将加密数据返回至虚拟机中的后端驱动模块中,以使后端驱动模块将加密数据发送至与虚拟机连接的网络存储空间中。
在一个实施例中,加密指令中携带加密参数;加密参数为用户通过虚拟机输入的国密算法的加密参数。
本实施例提供的计算机存储介质,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种虚拟机数据加密方法,其特征在于,所述方法包括:
获取虚拟机发送的待存储数据以及加密指令;所述加密指令用于指示通过宿主机的加密芯片对所述待存储数据进行加密处理;
根据所述宿主机的协议要求对所述待存储数据进行协议适配处理,获得协议适配数据;
利用所述加密芯片的国密算法对所述协议适配数据进行加密处理,获得加密数据。
2.根据权利要求1所述的方法,其特征在于,所述根据宿主机的协议要求对所述待存储数据进行协议适配处理,获得协议适配数据,包括:
根据所述虚拟机的数据存储类型,确定与所述虚拟机的数据存储类型匹配的适配处理方式;所述数据存储类型包括本地存储和网络存储;
采用所述适配处理方式对所述待存储数据进行协议适配处理,获得协议适配数据。
3.根据权利要求2所述的方法,其特征在于,若所述数据存储类型为本地存储,所述采用所述适配处理方式对所述待存储数据进行协议适配处理,获得协议适配数据,包括:
通过宿主机中的加密层DM-Crypt对所述待存储数据进行第一适配处理,使得处理后的第一适配数据满足所述国密算法的协议要求;
将所述第一适配数据映射至所述宿主机中的协议框架层Framework;
通过所述Framework调用国密算法驱动,对所述第一适配数据进行第二适配处理,获得所述协议适配数据;所述第二适配处理用于实现所述Framework与所述加密芯片之间所传递数据的协议适配。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
通过所述Framework将所述加密数据返回至所述DM-Crypt;
通过所述DM-Crypt将所述加密数据存储在本地存储空间中。
5.根据权利要求2所述的方法,其特征在于,若所述数据存储类型为网络存储,所述采用所述适配处理方式对所述待存储数据进行协议适配处理,获得协议适配数据,包括:
通过所述宿主机中的Framework调用国密算法驱动,对所述待存储数据进行第三适配处理,获得协议适配数据;所述第三适配处理用于实现所述Framework与所述加密芯片之间所传递数据的协议适配;所述待存储数据为所述虚拟机中的后端驱动模块按照国密算法的协议要求进行适配处理后的数据。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
通过所述Framework将所述加密数据返回至所述虚拟机中的后端驱动模块中,以使所述后端驱动模块将所述加密数据发送至与虚拟机连接的网络存储空间中。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述加密指令中携带加密参数;所述加密参数为用户通过所述虚拟机输入的国密算法的加密参数。
8.一种虚拟机数据加密装置,其特征在于,所述装置包括:
获取模块,用于获取虚拟机发送的待存储数据以及加密指令;所述加密指令用于指示通过宿主机的加密芯片对所述待存储数据进行加密处理;
处理模块,用于根据宿主机的协议要求对所述待存储数据进行协议适配处理,获得协议适配数据;
加密模块,用于利用所述加密芯片的国密算法对所述协议适配数据进行加密处理,获得加密数据。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202110705257.7A 2021-06-24 2021-06-24 虚拟机数据加密方法、装置、计算机设备和存储介质 Active CN113468563B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110705257.7A CN113468563B (zh) 2021-06-24 2021-06-24 虚拟机数据加密方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110705257.7A CN113468563B (zh) 2021-06-24 2021-06-24 虚拟机数据加密方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN113468563A true CN113468563A (zh) 2021-10-01
CN113468563B CN113468563B (zh) 2022-11-18

Family

ID=77872713

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110705257.7A Active CN113468563B (zh) 2021-06-24 2021-06-24 虚拟机数据加密方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN113468563B (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101176100A (zh) * 2005-05-13 2008-05-07 英特尔公司 提供基于软件的安全协处理器的方法和装置
CN102968595A (zh) * 2012-12-20 2013-03-13 曙光云计算技术有限公司 虚拟机系统的保护方法和装置
CN104268489A (zh) * 2014-09-26 2015-01-07 浪潮电子信息产业股份有限公司 一种基于device mapper的加密卡性能优化的方法
WO2016003491A1 (en) * 2014-06-30 2016-01-07 Nicira, Inc. Encryption architecture
CN108170516A (zh) * 2018-01-03 2018-06-15 浪潮(北京)电子信息产业有限公司 创建vTPM的方法、装置、设备及计算机可读存储介质
CN109726569A (zh) * 2018-12-24 2019-05-07 无锡市同威科技有限公司 一种加/脱密数据独立二通道判决系统及其应用
US20190265999A1 (en) * 2018-02-28 2019-08-29 Red Hat, Inc. Key management for encrypted virtual machines
CN110995423A (zh) * 2019-12-02 2020-04-10 深圳怡化电脑股份有限公司 存取款设备机芯的数据处理方法、装置、机芯及存储介质
CN111125788A (zh) * 2019-12-26 2020-05-08 南京星环智能科技有限公司 一种加密计算方法、计算机设备及存储介质
CN111190695A (zh) * 2019-12-27 2020-05-22 山东乾云启创信息科技股份有限公司 一种基于鲲鹏芯片的虚拟机保护方法及装置
CN111601308A (zh) * 2020-05-19 2020-08-28 南方电网数字电网研究院有限公司 标签芯片的认证系统、方法、标签芯片及存储介质

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101176100A (zh) * 2005-05-13 2008-05-07 英特尔公司 提供基于软件的安全协处理器的方法和装置
CN102968595A (zh) * 2012-12-20 2013-03-13 曙光云计算技术有限公司 虚拟机系统的保护方法和装置
WO2016003491A1 (en) * 2014-06-30 2016-01-07 Nicira, Inc. Encryption architecture
CN104268489A (zh) * 2014-09-26 2015-01-07 浪潮电子信息产业股份有限公司 一种基于device mapper的加密卡性能优化的方法
CN108170516A (zh) * 2018-01-03 2018-06-15 浪潮(北京)电子信息产业有限公司 创建vTPM的方法、装置、设备及计算机可读存储介质
US20190265999A1 (en) * 2018-02-28 2019-08-29 Red Hat, Inc. Key management for encrypted virtual machines
CN109726569A (zh) * 2018-12-24 2019-05-07 无锡市同威科技有限公司 一种加/脱密数据独立二通道判决系统及其应用
CN110995423A (zh) * 2019-12-02 2020-04-10 深圳怡化电脑股份有限公司 存取款设备机芯的数据处理方法、装置、机芯及存储介质
CN111125788A (zh) * 2019-12-26 2020-05-08 南京星环智能科技有限公司 一种加密计算方法、计算机设备及存储介质
CN111190695A (zh) * 2019-12-27 2020-05-22 山东乾云启创信息科技股份有限公司 一种基于鲲鹏芯片的虚拟机保护方法及装置
CN111601308A (zh) * 2020-05-19 2020-08-28 南方电网数字电网研究院有限公司 标签芯片的认证系统、方法、标签芯片及存储介质

Also Published As

Publication number Publication date
CN113468563B (zh) 2022-11-18

Similar Documents

Publication Publication Date Title
US9948616B2 (en) Apparatus and method for providing security service based on virtualization
EP3540626B1 (en) Enclave launch and authentication
US20130173900A1 (en) Key transmission method and device of a virtual machine under full disk encryption during pre-boot
US8635465B1 (en) Counter-based encryption of stored data blocks
US11025415B2 (en) Cryptographic operation method, method for creating working key, cryptographic service platform, and cryptographic service device
CN109672519B (zh) 一种密码装置及其数据加解密方法
CN110971398A (zh) 数据处理方法、装置及系统
CN111274611A (zh) 数据脱敏方法、装置及计算机可读存储介质
CN108900324B (zh) 校验虚拟机通信性能的方法及装置
CN104951712A (zh) 一种Xen虚拟化环境下的数据安全防护方法
US20190044929A1 (en) Secure key caching client
US11765142B1 (en) Distribution of private session key to network communication device for secured communications
CN108347472A (zh) Ip地址的配置方法、云服务器、云平台及可读存储介质
EP4332810A1 (en) Method for realizing virtualized trusted platform module, and secure processor and storage medium
WO2015008623A1 (ja) 鍵保管装置、鍵保管方法、及びそのプログラム
CN113468563B (zh) 虚拟机数据加密方法、装置、计算机设备和存储介质
CN116070240B (zh) 多芯片调用机制的数据加密处理方法及装置
CN114238938B (zh) 一种pcie密码卡虚拟化配置管理方法
CN116048716A (zh) 一种直接存储访问方法、装置及相关设备
CN114124440B (zh) 安全传输方法、装置、计算机设备和存储介质
CN114490451A (zh) 数据加密及数据解密方法、装置、存储介质及电子装置
CN116566642B (zh) 基于云服务器密码机的隐私保护系统和方法
US20230267214A1 (en) Virtual trusted platform module implementation method and related apparatus
De et al. Achieving energy efficiency and security in mobile Cloud computing
US11916890B1 (en) Distribution of a cryptographic service provided private session key to network communication device for secured communications

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