CN116450281A - 访问处理方法、虚拟机标识配置方法、芯片及计算机设备 - Google Patents
访问处理方法、虚拟机标识配置方法、芯片及计算机设备 Download PDFInfo
- Publication number
- CN116450281A CN116450281A CN202211645835.3A CN202211645835A CN116450281A CN 116450281 A CN116450281 A CN 116450281A CN 202211645835 A CN202211645835 A CN 202211645835A CN 116450281 A CN116450281 A CN 116450281A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- coprocessor
- key
- encrypted
- virtual
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 36
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000012545 processing Methods 0.000 claims abstract description 30
- 230000008676 import Effects 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 9
- 238000013507 mapping Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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
- 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/45575—Starting, stopping, suspending or resuming virtual machine instances
-
- 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/45583—Memory management, e.g. access or allocation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明实施例提供了一种访问处理方法、虚拟机标识配置方法、芯片及计算机设备,所述访问处理方法包括:接收发往所述协处理器的访问请求,所述访问请求包括请求访问的虚拟机的虚拟机标识,以及所述虚拟机访问的虚拟地址;根据所述虚拟机标识,判断所述虚拟机是否为加密虚拟机,所述加密虚拟机是使用虚拟机密钥对数据进行保护的虚拟机;当判断结果为是时,根据所述虚拟机标识和所述虚拟地址,处理所述访问请求。可见,本申请实施例所提供的访问处理方法,可以在加密虚拟机场景中安全地使用协处理器。
Description
技术领域
本发明实施例涉及计算机处理技术领域,具体涉及一种访问处理方法、虚拟机标识配置方法、芯片及计算机设备。
背景技术
通过虚拟化技术(Virtualization),主机可虚拟化出多台虚拟机(VirtualMachine,VM),从而高效利用主机的硬件资源。虚拟化出的虚拟机可在内存中分配虚拟机内存,每台虚拟机的虚拟机内存主要用于任务消耗及支持虚拟化。出于对虚拟机内存的安全保护,部分或全部虚拟机的虚拟机内存可使用密钥进行安全保护。
为了虚拟机的数据安全,有的虚拟机会配置虚拟机密钥和加密内存,加密内存是使用虚拟机密钥对数据加密保护的虚拟机内存,从而实现对数据的加密保护。配有加密内存的虚拟机可以称为加密虚拟机。
为了减少数据读写或密码计算对处理器资源的占用,通常会另设协处理器,通过协处理器实现加解密操作或实现直接存储访问进行数据读写。但是,加密虚拟机场景中协处理器的应用存在数据安全问题。
因此,如何在加密虚拟机场景中安全地使用协处理器,成为本领域亟需解决的技术问题。
发明内容
有鉴于此,本发明实施例提供一种访问处理方法、虚拟机标识配置方法、芯片及计算机设备,以在虚拟机场景中使协处理器实现对加密内存的访问。
为实现上述目的,本发明实施例提供如下技术方案:
为解决上述问题,第一方面,本发明实施例提供一种访问处理方法,适用于协处理器,包括:
接收发往所述协处理器的访问请求,所述访问请求包括请求访问的虚拟机的虚拟机标识,以及所述虚拟机访问的虚拟地址;
根据所述虚拟机标识,判断所述虚拟机是否为加密虚拟机,所述加密虚拟机是使用虚拟机密钥对数据进行保护的虚拟机;
当判断结果为是时,根据所述虚拟机标识和所述虚拟地址,处理所述访问请求。
第二方面,本申请实施例提供一种虚拟机标识配置方法,适用于安全处理器,包括:
接受包括虚拟机标识的虚拟机标识记录请求;
匹配所述虚拟机标识记录请求中包括的虚拟机标识和加密虚拟机的虚拟机标识;
当匹配成功时,配置所述虚拟机标识于所述虚拟机标识记录请求所请求的协处理器,以协处理器判断访问请求包括的虚拟机标识是否为加密虚拟机,并在判断结果为是时,协处理器根据访问请求中的虚拟机标识和虚拟地址,处理所述访问请求。
第三方面,本申请实施例还提供一种访问处理装置,包括:
访问请求接收单元,适于接收访问请求,所述访问请求包括请求访问的虚拟机的虚拟机标识,以及所述虚拟机访问的虚拟地址;
加密虚拟机判断单元,适于根据所述虚拟机标识,判断所述虚拟机是否为加密虚拟机,所述加密虚拟机是使用虚拟机密钥对数据进行保护的虚拟机;
访问请求处理单元,适于当判断结果为是时,根据所述虚拟机标识和所述虚拟地址,处理所述访问请求。
第四方面,本申请实施例还提供一种虚拟机标识配置装置,包括:
记录请求接收单元,适于接受包括虚拟机标识的虚拟机标识记录请求;
匹配单元,适于匹配所述虚拟机标识记录请求中包括的虚拟机标识和加密虚拟机的虚拟机标识;
配置单元,适于当匹配成功时,配置所述虚拟机标识于所述虚拟机标识记录请求所请求的协处理器,以使协处理器判断访问请求包括的虚拟机标识是否为加密虚拟机,并在判断结果为是时,协处理器根据访问请求中的虚拟机标识和虚拟地址,处理所述访问请求。
第五方面,本申请实施例还提供一种芯片,包括:处理器、内存管理单元、协处理器、输入输出内存管理单元和内存控制器;所述协处理器被配置成执行如第一方面所述的访问处理方法。
第六方面,本申请实施例还提供一种计算机设备,包括如第三方面所述的芯片。
本申请实施例所提供的访问处理方法,适用于协处理器,包括:接收发往所述协处理器的访问请求,所述访问请求包括请求访问的虚拟机的虚拟机标识,以及所述虚拟机访问的虚拟地址;根据所述虚拟机标识,判断所述虚拟机是否为加密虚拟机,所述加密虚拟机是使用虚拟机密钥对数据进行保护的虚拟机;当判断结果为是时,根据所述虚拟机标识和所述虚拟地址,处理所述访问请求。
这样,本申请实施例所提供的访问处理方法,预先在协处理器中设置加密虚拟机的虚拟机标识,通过对访问请求中虚拟机标识是否与所述预先设置的加密虚拟机的虚拟机标识匹配,可以判断发送所述访问请求的虚拟机是否为加密虚拟机,从而只允许处理加密虚拟机发送的访问请求,实现协处理器安全地对加密内存中数据的存取,在加密虚拟机场景中安全地使用协处理器。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的访问处理方法的计算机系统示意图;
图2为本申请实施例所提供的访问处理方法的一流程图;
图3为本申请实施例所提供的访问处理方法的虚拟机标识配置方法;
图4为本申请实施例所提供的访问处理方法的协处理器一结构示意图;
图5为本申请实施例所提供的访问处理方法的加解密密钥设置方法;
图6为本申请实施例所提供的访问处理装置的结构示意图;
图7为本申请实施例所提供的虚拟机标识配置装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于理解,首先介绍一种虚拟机的内存访问方法:
虚拟机在内存中有加密内存空间,位于该加密内存的数据都会被该虚拟机的虚拟机密钥加密为密文数据,该虚拟机密钥被安全处理器保存于内存控制器的加解密引擎中。任何对内存的访问都需要经过内存控制器,当内存控制器接收到访问加密内存的访问请求时,会验证该访问请求是否由该加密内存所属的虚拟机发送,当验证通过时才会从该加密内存中读出密文数据,并利用加解密引擎中与该虚拟机对应的虚拟机密钥对所述密文数据进行加解密,得到明文数据。
具体的,内存控制器获取访问请求中的虚拟机标识,根据该与虚拟机一一对应的虚拟机标识判断发送所述访问请求的虚拟机,并获取与该虚拟机标识对应的虚拟机密钥,当虚拟机监视器篡改虚拟机的嵌套页表使得非该加密内存所属的虚拟机发送访问请求时,内存控制器根据该被篡改虚拟机的虚拟机标识获取不到正确的虚拟机密钥,从而无法解密该加密内存中的密文数据,实现对虚拟机监视器窃取加密内存中内容的制止。
在一些实施例中,虚拟机访问请求中的虚拟机标识可以由内存管理单元添加,该内存管理单元可以集成于处理器内部,也可以如图所示位于处理器之外,集成于包括处理器的系统级芯片中。内存管理单元接收虚拟机发送的访问请求,该访问请求包括访问目的地址,由于虚拟机只有虚拟地址,并不具有转换虚拟地址为主机物理地址的嵌套页表,因此该虚拟机发送的访问目的地址为虚拟地址,内存管理单元接受该虚拟地址,根据嵌套页表转换虚拟地址为可以实现访问内存的主机物理地址。
虚拟机在获取内存中的数据后,可以利用加解密密钥对所述明文数据进行加密运算,为了减少处理器的工作,可以使该协处理器直接访问内存,即在利用加解密密钥加密数据后,不通过处理器直接控制内存控制器存储所述加密数据于虚拟机内存空间中;或者不通过处理器直接控制内存控制器从虚拟机的内存空间中获取数据后,利用加解密密钥对所述数据进行加密运算。从而可以分担加解密计算,减少处理器的计算量。
值得注意的是,加解密密钥和虚拟机密钥并非相同的密钥,虚拟机密钥是存储于内存控制器,用于对加密内存中的密文数据进行解密,或者对明文数据进行加密后存入加密内存的,与加密虚拟机一一对应的密钥;而加解密密钥是位于协处理器,用于分担处理器对数据的加解密工作的密钥。
但是,虚拟机最核心的数据通常被保存于加密内存中,而为了对加密内存进行保护,防止恶意虚拟机管理器绕开处理器获取加密内存中的密文数据并进行解密时的保护措施,利用协处理器从加密内存中获取解密后的明文数据,协处理器通常无法访问加密内存。
因此在虚拟机场景中使协处理器实现对加密内存的访问会有很大限制,协处理器只能处理不位于加密内存中的数据,对处理器工作的分担有限。因此如何在虚拟机场景中加强协处理器对访问处理的支持,成为本领域亟需解决的技术问题。
为了在虚拟机场景加强协处理器对访问处理的支持,本申请实施例提供一种访问处理方法,请参考图1和图2,图1为本申请实施例提供的访问处理方法的计算机系统示意图,图2为本申请实施例所提供的访问处理方法的一流程图。
如图所示,本申请实施例所提供的访问处理方法,适用于协处理器,包括:
在步骤S11中,协处理器接收发往所述协处理器的访问请求,所述访问请求包括请求访问的虚拟机的虚拟机标识,以及所述虚拟机访问的虚拟地址。
值得注意的是,协处理器在虚拟机启动时被配置给所述虚拟机,具体的,可以是通过嵌套页表将协处理器的存储空间映射为虚拟机的虚拟地址。所述嵌套页表可以被内存管理单元调用,实现对虚拟地址的转换。
当虚拟机需要协处理器处理数据,且该数据位于加密内存时,虚拟机会发送对数据的处理请求,所述处理请求包括与加密内存对应的虚拟地址和地址信息,所述地址信息是与所述协处理器的存储空间的物理地址对应的虚拟地址,从而使得内存管理单元对该地址信息进行转换后得到协处理器中存储空间的物理地址。这样,内存管理单元可以根据该物理地址,将访问请求发送至协处理器的存储单元,所述访问请求包括所述处理请求中的与内存对应的虚拟地址,以及新增的与发送所述处理请求的虚拟机对应的虚拟机标识。在一些实施例中,所述存储空间可以是内存映射寄存器。
这样,通过在虚拟机启动时在嵌套页表中配置协处理器的物理地址和虚拟机的虚拟地址间的映射,从而使虚拟机可以通过虚拟地址控制访问请求发送至协处理器,由协处理器接收并执行后续步骤。同时,由内存管理单元负责添加虚拟机标识,这样可以保障访问请求所携带虚拟机标识的正确性,防止被恶意的虚拟机管理器篡改。
当然,所述协处理器中存储空间的物理地址也可以包含于所述访问请求中,一同被协处理器接受,从而使协处理器根据所述物理地址,将所述访问请求中的虚拟机标识和所述虚拟地址存储到所述协处理器的存储空间中。
所述访问请求包括发出访问请求的虚拟机的虚拟机标识。对内存的访问都需要经过内存控制器,当对加密虚拟机的加密内存进行访问时同样需要经过内存控制器,而内存控制器为了验证该访问是否由该加密内存所属的加密虚拟机发送,需要验证该访问所携带的虚拟机标识。因此虚拟机向协处理器发送的访问请求中应包括该虚拟机的虚拟机标识,以防止该对加密内存的访问请求被拦截。
在步骤S12中,协处理器根据所述虚拟机标识,判断所述虚拟机是否为加密虚拟机,所述加密虚拟机是使用虚拟机密钥对数据进行保护的虚拟机,如果是则执行步骤S13,如果否则执行步骤S14。
协处理器接收到访问请求后,为防止恶意虚拟机管理器窃取加密虚拟机存储于加密内存中的数据,需要协处理器只执行加密虚拟机发出的访问请求。
因此在一具体实施方式中,为了能够区分出被配置的加密虚拟机的访问请求,在虚拟机管理器将嵌套页表配置给加密虚拟机时,可以同时将该加密虚拟机的虚拟机标识记录于协处理器,使得协处理器在后续接受到访问请求时,可以调用加密虚拟机的虚拟机标识,并与该访问请求中的虚拟机标识进行对比匹配,从而判断是否可以执行该访问请求。具体的,可以记录于图1所示协处理器的虚拟机标识模块中。
在一具体实施方式中,为了更加安全的实现访问处理,防止恶意虚拟机管理器对加密内存中数据的窃取,虚拟机管理器记录加密虚拟机的虚拟机标识于协处理器的过程请参考图3,图3为本申请实施例所提供的访问处理方法的虚拟机标识配置方法。
如图所示包括:在步骤S21中,安全处理器接受包括虚拟机标识的虚拟机标识记录请求。
虚拟机管理器启动虚拟机的过程中,为虚拟机分配加密内存时,可以同时发送虚拟机标识记录请求至安全处理器,该虚拟机标识包括该启动中的虚拟机的虚拟机标识,用以请求所述安全处理器将所述虚拟机标识记录于协处理器中。
在步骤S22中,安全处理器匹配所述虚拟机标识记录请求中包括的虚拟机标识和加密虚拟机的虚拟机标识,当匹配成功时,执行步骤S23,当匹配失败时,执行步骤S24。
安全处理器中包括所有加密虚拟机的虚拟机标识,当匹配到相同的虚拟机标识时,认为匹配成功,从而可以判断虚拟机标记记录请求中的虚拟机标识对应的虚拟机为加密虚拟机;否则,可以判断所述虚拟机标识记录请求中的虚拟机标识对应的虚拟机不为加密虚拟机。
在步骤S23中,安全处理器配置所述虚拟机标识于所述虚拟机标识记录请求所请求的协处理器。
当判断所述虚拟机标识对应的虚拟机为加密虚拟机时,由安全处理器配置所述虚拟机标识于协处理器中,从而使协处理器允许携带所述虚拟机标识的访问请求执行。
在步骤S24中,结束。
当判断所述虚拟机标识对应的虚拟机不为加密虚拟机时,禁止配置所述虚拟机标识于协处理器,从而防止非加密虚拟机的普通虚拟机的虚拟机标识被配置于协处理器中,导致普通虚拟机可以使协处理器读取加密内存中的数据。
这样,可以通过安全处理器对虚拟机管理器发送的可访问虚拟机进行检查,只要确认该可访问虚拟机为加密虚拟机时才允许将虚拟机标识记录于协处理器中,从而防止恶意协处理器将普通虚拟机的虚拟机标识记录于协处理器中,从而实现控制普通虚拟机窃取加密内存中数据。
在步骤S13中,协处理器根据所述虚拟机标识和所述虚拟地址,处理所述访问请求。
当判断请求访问的虚拟机为加密虚拟机时,协处理器根据所述访问请求包括的虚拟机标识和虚拟地址,处理所述访问请求。
在一具体实施方式中,所述访问请求可以是读请求,所述处理所述访问请求可以是协处理器发送所述虚拟地址和所述虚拟机标识至输入输出内存管理单元。所述输入输出内存管理单元根据嵌套页表转换所述虚拟地址为内存的主机物理地址,并由所述输入输出内存管理单元将所述主机物理地址和所述虚拟机标识发送给内存控制器。所述内存控制器用于以所述虚拟机标识对应的虚拟机密钥,解密所述主机物理地址的密文数据为明文数据;获取所述内存控制器解密所述主机物理地址的密文数据所得到的明文数据。
在另一具体实施方式中,所述访问请求可以是写请求,所述处理所述访问请求可以是发送所述虚拟地址、所述虚拟机标识和所述明文数据至输入输出内存管理单元,以使得所述输入输出内存管理单元转换所述虚拟地址为主机物理地址,并由所述输入输出内存管理单元将所述主机物理地址、所述虚拟机标识和所述明文数据发送给内存控制器,所述内存控制器用于以所述虚拟机标识对应的虚拟机密钥,加密所述明文数据为密文数据,并发送所述密文数据至所述主机物理地址。
在步骤S14中,结束。
当所述虚拟机不为加密虚拟机时,禁止所述虚拟机对内存的访问,从而防止普通虚拟机对加密虚拟机的加密内存中数据的窃取。
这样,本申请实施例所提供的访问处理方法,预先在协处理器中设置加密虚拟机的虚拟机标识,通过对访问请求中虚拟机标识是否与所述预先设置的加密虚拟机的虚拟机标识匹配,可以判断发送所述访问请求的虚拟机是否为加密虚拟机,从而只允许处理加密虚拟机发送的访问请求,实现协处理器安全地对加密内存中数据的存取,在加密虚拟机场景中安全地使用协处理器。
协处理器从加密内存中读取明文数据后,为了减轻处理器的工作量,可以替代处理器对明文数据进行加密运算。在一具体实施方式中,所述协处理器记录有与加密虚拟机的虚拟机密钥对应的加解密密钥;在所述获取所述内存控制器解密所述主机物理地址的密文数据所得到的明文数据的步骤之后,协处理器还可以根据所述虚拟机标识匹配对应的预先设置的加解密密钥,并通过所述加解密密钥对所述明文数据进行加密运算。
为了在协处理器中存储预先设置的加解密密钥,并便于后续与所述虚拟机标识进行匹配,在一具体实施方式中,可以在协处理器中设置密钥管理模块,具体请参考图4,图4为本申请实施例所提供的访问处理方法的协处理器一结构示意图。
如图所示,本申请实施例所提供的访问处理方法的协处理器中包括内存映射寄存器、加解密引擎模块、直接访问模块、虚拟机标识模块和加解密密钥管理模块。所述内存映射寄存器适于接受上述访问请求;所述虚拟机标识模块适于存储安全处理器配置的加密虚拟机标识,用于与访问请求中的虚拟机标识匹配,判断发送所述访问请求的虚拟机是否为加密虚拟机;所述直接访问模块适于支持通过直接访问的方式读取或写入内存中的数据,即支持上述从加密内存中读取明文数据或写入密文数据的步骤;所述加解密密钥管理模块中记录有预先设置的虚拟机的加解密密钥,所述加解密密钥的密钥编号,其中,一个密钥编号与一个虚拟机的加解密密钥相对应,当虚拟机标识模块中记录的虚拟机标识被去除时,所述加解密秘钥管理模块记录的与该去除的虚拟机标识对应的加解密秘钥同样会被去除;所述加解密引擎模块利用所述加解密密钥管理模块中的加解密密钥对从加密内存中获取的明文数据进行加密运算。
利用上述协处理器的结构实现根据所述虚拟机标识匹配对应的预先设置的加解密密钥的步骤,在一种具体实施方式中,可以是根据虚拟机标识从协处理器的密钥管理模块中匹配对应的密钥编号,根据所述密钥编号获取记录在所述密钥管理模块中的加解密密钥。
这样,通过在协处理器中设置与虚拟机标识以及加解密密钥一一对应的密钥编号,可以根据访问请求的虚拟机标识,获取与所述虚拟机标识对应的加解密密钥,从而对根据所述访问请求从加密内存中读取的明文数据进行加密运算。同时,由于协处理器中密钥编号与虚拟机标识是一一对应的关系,即使恶意虚拟机管理器控制普通虚拟机使协处理器从加密虚拟机的加密内存中读取了明文数据,也无法匹配到该加密虚拟机的加解密密钥,从而无法使协处理器用正确的加解密密钥加密运算所述明文数据,进而也无法将运算后的数据提供给处理器或发送给其他设备,从而可以进一步提高协处理器对加密内存中数据加密步骤的安全性。
这样,可以在加密虚拟机的应用场景中,替代处理器从加密内存中读取明文数据,并对所述明文数据进行加密运算,从而减轻处理器的工作量,提高数据的处理速度。
协处理器需要利用加解密密钥对获取的明文数据进行加密运算,因此首先从处理器中获取该加解密密钥。为了防止在处理器发送所述加解密密钥至协处理器的过程中泄露所述加解密密钥或获取错误的加解密秘钥,在一具体实施方式中,请参考图5,图5为本申请实施例所提供的访问处理方法的加解密密钥设置方法。
如图5所示,本申请实施例所提供的访问处理方法的加解密密钥设置方法包括:
在步骤S31中,虚拟机向协处理器发送用户身份证书导入命令。
具体的,可以将所述用户身份证书导入命令写入加密虚拟机的内存映射寄存器,具体写入方式请参考上述描述。
在步骤S32中,协处理器响应所述用户身份证书导入命令,导入用户身份证书,以及生成随机数。
在一些实施例中,所述用户身份证书可以存储于内存中,所述用户身份证书导入命令可以包括存储该用户身份证书的主机物理地址。所述用户证书中包括用户公钥。
在步骤S33中,协处理器使用所述用户公钥对所述随机数进行加密,获得随机数密文,使用协处理器根密钥对随机数密文进行签名,获得随机数密文签名。
所述协处理器根密钥存储于协处理器中,在一些实施例中,可以存储于所述用户证书包括用户公钥加解密密钥管理模块中(图4所示)。
在步骤S34中,协处理器发送所述随机数密文、所述随机数密文签名和所述协处理器根密钥对应的根证书至所述虚拟机。
所述根证书中包括与所述处理器根密钥对应的协处理器公钥。
在步骤S35中,虚拟机对所述随机数密文签名和所述根证书进行验证,并在所述随机数密文签名和所述根证书验证通过后,使所述虚拟机使用与所述用户公钥对应的用户私钥解密随机数密文,并使得所述虚拟机使用解密后的随机数派生出会话密钥,并由所述虚拟机将待导入的加解密密钥使用所述会话密钥进行加密。
虚拟机验证根密钥证书判断所述根密钥证书是否为所述协处理器的没有被篡改的根密钥证书,当判断为是时,从所述根密钥证书中获取协处理器公钥,利用所述协处理器公钥对随机数密文签名验签,若验签通过可以认为所述随机数密文是所属协处理器发送且未经篡改。因此利用虚拟机的用户私钥对所述随机数密文解密,得到所述随机数。这样,所述虚拟机和所述协处理器中都有相同的随机数,且可以避免所述随机数被篡改或泄密。因此所述虚拟机和所述协处理器可以使用所述随机数派生出会话秘钥进行安全通话。
在步骤S36中,虚拟机发送使用所述用会话密钥加密的待导入加解密密钥。
在步骤S37中,协处理器使用所述随机数派生的会话密钥,解密出所述加解密密钥。
这样,通过设置会话密钥,可以使虚拟机安全地设置加解密密钥于协处理器中,防止在处理器发送所述加解密密钥至协处理器的过程中泄露所述加解密密钥或获取错误的加解密密钥。
为解决前述问题,本申请实施例还提供一种访问处理装置,请参考图6,图6为本申请实施例所提供的访问处理装置的结构示意图。
如图所示,本申请实施例所提供的访问处理装置,包括:
访问请求接收单元11,适于接收访问请求,所述访问请求包括请求访问的虚拟机的虚拟机标识,以及所述虚拟机访问的虚拟地址;
加密虚拟机判断单元12,适于根据所述虚拟机标识,判断所述虚拟机是否为加密虚拟机,所述加密虚拟机是使用虚拟机密钥对数据进行保护的虚拟机;
访问请求处理单元13,适于当判断结果为是时,根据所述虚拟机标识和所述虚拟地址,处理所述访问请求。
这样,本申请实施例所提供的访问处理装置,预先在协处理器中设置加密虚拟机的虚拟机标识,通过对访问请求中虚拟机标识是否与所述预先设置的加密虚拟机的虚拟机标识匹配,可以判断发送所述访问请求的虚拟机是否为加密虚拟机,从而只允许处理加密虚拟机发送的访问请求,实现协处理器安全地对加密内存中数据的存取,在加密虚拟机场景中安全地使用协处理器。
本申请实施例还提供一种虚拟机标识配置装置,请参考图7,图7为本申请实施例所提供的虚拟机标识配置装置的结构示意图。
如图所示,本申请实施例所提供的虚拟机标识装置,包括:
记录请求接收单元21,适于接受包括虚拟机标识的虚拟机标识记录请求;
匹配单元22,适于匹配所述虚拟机标识记录请求中包括的虚拟机标识和加密虚拟机的虚拟机标识;
配置单元23,适于当匹配成功时,配置所述虚拟机标识于所述虚拟机标识记录请求所请求的协处理器,以使协处理器判断访问请求包括的虚拟机标识是否为加密虚拟机,并在判断结果为是时,协处理器根据访问请求中的虚拟机标识和虚拟地址,处理所述访问请求。
本申请实施例还提供一种芯片,包括处理器、内存管理单元、协处理器、输入输出内存管理单元和内存控制器;所述协处理器被配置成执行如上述所述的访问处理方法。
本申请实施例还提供一种计算机设备,包括如上述所述的芯片。
这样,本申请实施例所提供的芯片和计算机设备,预先在协处理器中设置加密虚拟机的虚拟机标识,通过对访问请求中虚拟机标识是否与所述预先设置的加密虚拟机的虚拟机标识匹配,可以判断发送所述访问请求的虚拟机是否为加密虚拟机,从而只允许处理加密虚拟机发送的访问请求,实现协处理器安全地对加密内存中数据的存取,在加密虚拟机场景中安全地使用协处理器。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是符合与本文所公开的原理和新颖特点相一致的最宽的范围。上文描述了本发明实施例提供的多个实施例方案,各实施例方案介绍的各可选方式可在不冲突的情况下相互结合、交叉引用,从而延伸出多种可能的实施例方案,这些均可认为是本发明实施例披露、公开的实施例方案。
虽然本发明实施例披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
Claims (13)
1.一种访问处理方法,其特征在于,适用于协处理器,包括:
接收发往所述协处理器的访问请求,所述访问请求包括请求访问的虚拟机的虚拟机标识,以及所述虚拟机访问的虚拟地址;
根据所述虚拟机标识,判断所述虚拟机是否为加密虚拟机,所述加密虚拟机是使用虚拟机密钥对数据进行保护的虚拟机;
当判断结果为是时,根据所述虚拟机标识和所述虚拟地址,处理所述访问请求。
2.如权利要求1所述的访问处理方法,其特征在于,所述根据所述虚拟机标识,判断所述虚拟机是否为加密虚拟机包括:
调用加密虚拟机的虚拟机标识,将请求访问的虚拟机的虚拟机标识与加密虚拟机的虚拟机标识进行匹配,以判断所述虚拟机是否为加密虚拟机;其中,所述加密虚拟机的虚拟机标识,是在加密虚拟机启动时,由安全处理器预先配置在协处理器中。
3.如权利要求1所述的访问处理方法,其特征在于,所述根据所述虚拟机标识和所述虚拟地址,处理所述访问请求,包括:
发送所述虚拟地址和所述虚拟机标识至输入输出内存管理单元,以使得所述输入输出内存管理单元转换所述虚拟地址为主机物理地址,并由所述输入输出内存管理单元将所述主机物理地址和所述虚拟机标识发送给内存控制器,所述内存控制器用于以所述虚拟机标识对应的虚拟机密钥,将所述主机物理地址的密文数据解密为明文数据;
获取所述明文数据。
4.如权利要求1所述的访问处理方法,其特征在于,所述访问请求还包括明文数据;
所述根据所述虚拟机标识和所述虚拟地址,处理所述访问请求,包括:
发送所述虚拟地址、所述虚拟机标识和所述明文数据至输入输出内存管理单元,以使得所述输入输出内存管理单元转换所述虚拟地址为主机物理地址,并由所述输入输出内存管理单元将所述主机物理地址、所述虚拟机标识和所述明文数据发送给内存控制器,所述内存控制器用于以所述虚拟机标识对应的虚拟机密钥,加密所述明文数据为密文数据,并将所述密文数据写入内存的所述主机物理地址。
5.如权利要求1-4任一项所述的访问处理方法,其特征在于,所述访问请求还包括:协处理器中存储空间的物理地址;
所述方法还包括:
根据所述物理地址,将所述虚拟机标识和所述虚拟地址存储到所述协处理器的存储空间。
6.如权利要求3所述的访问处理方法,其特征在于,所述协处理器记录有与加密虚拟机对应的加解密密钥;在所述获取所述明文数据的步骤之后,还包括:
根据所述虚拟机标识匹配对应的加解密密钥;
通过所述加解密密钥对所述明文数据进行加密运算。
7.如权利要求6所述的访问处理方法,其特征在于,所述根据所述虚拟机标识匹配对应的加解密密钥,包括:
根据所述虚拟机标识从协处理器的密钥管理模块中匹配对应的密钥编号;所述密钥编号是记录在所述密钥管理模块中的加解密密钥的编号,在所述密钥管理模块中,一个密钥编号与一个虚拟机的加解密密钥相对应;
根据所述密钥编号获取记录在所述密钥管理模块中的加解密密钥。
8.如权利要求7所述的访问处理方法,其特征在于,还包括:
设置加解密密钥;
所述设置加解密密钥包括:
接收虚拟机发送的用户身份证书导入命令,所述用户身份证书包括用户公钥;
响应所述用户身份证书导入命令,导入用户身份证书,以及生成随机数;
使用所述用户公钥对所述随机数进行加密,获得随机数密文,使用协处理器根密钥对随机数密文进行签名,获得随机数密文签名;
发送所述随机数密文、所述随机数密文签名和所述协处理器根密钥对应的根证书至所述虚拟机,以使所述虚拟机对所述随机数密文签名和所述根证书进行验证,并在所述随机数密文签名和所述根证书验证通过后,使所述虚拟机使用与所述用户公钥对应的用户私钥解密随机数密文,并使得所述虚拟机使用解密后的随机数派生出会话密钥,并由所述虚拟机将待导入的加解密密钥使用所述会话密钥进行加密;
接受使用所述会话秘钥加密的待导入加解密秘钥;
使用所述随机数派生的会话密钥,解密出所述加解密密钥。
9.一种虚拟机标识配置方法,其特征在于,适用于安全处理器,包括:
接受包括虚拟机标识的虚拟机标识记录请求;
匹配所述虚拟机标识记录请求中包括的虚拟机标识和加密虚拟机的虚拟机标识;
当匹配成功时,配置所述虚拟机标识于所述虚拟机标识记录请求所请求的协处理器,以使协处理器判断访问请求包括的虚拟机标识是否为加密虚拟机,并在判断结果为是时,使协处理器根据访问请求中的虚拟机标识和虚拟地址,处理所述访问请求。
10.一种访问处理装置,其特征在于,包括:
访问请求接收单元,适于接收访问请求,所述访问请求包括请求访问的虚拟机的虚拟机标识,以及所述虚拟机访问的虚拟地址;
加密虚拟机判断单元,适于根据所述虚拟机标识,判断所述虚拟机是否为加密虚拟机,所述加密虚拟机是使用虚拟机密钥对数据进行保护的虚拟机;
访问请求处理单元,适于当判断结果为是时,根据所述虚拟机标识和所述虚拟地址,处理所述访问请求。
11.一种虚拟机标识配置装置,其特征在于,包括:
记录请求接收单元,适于接受包括虚拟机标识的虚拟机标识记录请求;
匹配单元,适于匹配所述虚拟机标识记录请求中包括的虚拟机标识和加密虚拟机的虚拟机标识;
配置单元,适于当匹配成功时,配置所述虚拟机标识于所述虚拟机标识记录请求所请求的协处理器,以使协处理器判断访问请求包括的虚拟机标识是否为加密虚拟机,并在判断结果为是时,协处理器根据访问请求中的虚拟机标识和虚拟地址,处理所述访问请求。
12.一种芯片,其特征在于,包括:处理器、内存管理单元、协处理器、输入输出内存管理单元和内存控制器;所述协处理器被配置成执行如权利要求1至权利要求8任一项所述的访问处理方法。
13.一种计算机设备,其特征在于,包括如权利要求12所述的芯片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211645835.3A CN116450281A (zh) | 2022-12-20 | 2022-12-20 | 访问处理方法、虚拟机标识配置方法、芯片及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211645835.3A CN116450281A (zh) | 2022-12-20 | 2022-12-20 | 访问处理方法、虚拟机标识配置方法、芯片及计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116450281A true CN116450281A (zh) | 2023-07-18 |
Family
ID=87122560
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211645835.3A Pending CN116450281A (zh) | 2022-12-20 | 2022-12-20 | 访问处理方法、虚拟机标识配置方法、芯片及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116450281A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117492932A (zh) * | 2023-12-28 | 2024-02-02 | 北京微核芯科技有限公司 | 虚拟机访问方法和设备 |
-
2022
- 2022-12-20 CN CN202211645835.3A patent/CN116450281A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117492932A (zh) * | 2023-12-28 | 2024-02-02 | 北京微核芯科技有限公司 | 虚拟机访问方法和设备 |
CN117492932B (zh) * | 2023-12-28 | 2024-04-09 | 北京微核芯科技有限公司 | 虚拟机访问方法和设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8826391B2 (en) | Virtualized trusted descriptors | |
US10374805B2 (en) | Technologies for trusted I/O for multiple co-existing trusted execution environments under ISA control | |
US7526649B2 (en) | Session key exchange | |
US20130298205A1 (en) | Architecture for virtual security module | |
WO2017014889A1 (en) | Technologies for secure programming of a cryptographic engine for secure i/o | |
CN111241564B (zh) | 内存页面交换方法和安全处理器 | |
CN112433817B (zh) | 信息配置方法、直接存储访问方法及相关装置 | |
CN105426734B (zh) | 一种基于可信计算的身份认证方法及装置 | |
WO2021190197A1 (zh) | 生物支付设备的认证方法、装置、计算机设备和存储介质 | |
EP4064084A1 (en) | Password management method and related device | |
CN111967065B (zh) | 一种数据保护方法、处理器及电子设备 | |
CN108521424B (zh) | 面向异构终端设备的分布式数据处理方法 | |
EP4332810A1 (en) | Method for realizing virtualized trusted platform module, and secure processor and storage medium | |
CN116450281A (zh) | 访问处理方法、虚拟机标识配置方法、芯片及计算机设备 | |
CN114238185A (zh) | 直接存储访问及命令数据传输方法、装置及相关设备 | |
CN113342473A (zh) | 数据处理方法、安全虚拟机的迁移方法及相关装置、架构 | |
CN105279453A (zh) | 一种支持分离存储管理的文件分区隐藏系统及其方法 | |
CN112363800B (zh) | 一种网卡的内存访问方法、安全处理器、网卡及电子设备 | |
CN116126463A (zh) | 内存访问方法、配置方法、计算机系统及相关器件 | |
CN108390892B (zh) | 一种远程存储系统安全访问的控制方法和装置 | |
CN116048716A (zh) | 一种直接存储访问方法、装置及相关设备 | |
CN114697113A (zh) | 一种基于硬件加速卡的多方隐私计算方法、装置及系统 | |
CN115994389A (zh) | 一种基于risc-v架构的硬件内存加密系统及其应用 | |
CN112416525B (zh) | 设备驱动初始化方法、直接存储访问方法及相关装置 | |
CN113703918B (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 |