WO2015180396A1 - 一种虚拟可信平台模块功能实现方法和管理设备 - Google Patents

一种虚拟可信平台模块功能实现方法和管理设备 Download PDF

Info

Publication number
WO2015180396A1
WO2015180396A1 PCT/CN2014/089566 CN2014089566W WO2015180396A1 WO 2015180396 A1 WO2015180396 A1 WO 2015180396A1 CN 2014089566 W CN2014089566 W CN 2014089566W WO 2015180396 A1 WO2015180396 A1 WO 2015180396A1
Authority
WO
WIPO (PCT)
Prior art keywords
vtpm
communication queue
address
physical address
virtual
Prior art date
Application number
PCT/CN2014/089566
Other languages
English (en)
French (fr)
Inventor
陈丹
王伟
沈钢纲
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP14893093.6A priority Critical patent/EP3139268B1/en
Publication of WO2015180396A1 publication Critical patent/WO2015180396A1/zh
Priority to US15/360,012 priority patent/US10338949B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances

Definitions

  • the embodiments of the present invention relate to the field of communications technologies, and in particular, to a virtual trusted platform module function implementation method and a management device.
  • the Trusted Platform Module (TPM) technology is proposed by the Trusted Computing Group (TCG) to prevent illegal users from making changes to sensitive data. Since the TPM is to ensure the reliability of the platform, an operating system platform corresponds to a separate TPM.
  • IBM proposed a vTMP solution, that is, using a chip that is independent of a central processing unit (CPU) (for example, a security coprocessor) to provide a TPM-like security feature.
  • the software virtualizes a virtual Trusted Platform Module (vTPM) to ensure that a virtual machine (VM) corresponds to a VTPM.
  • vTPM virtual Trusted Platform Module
  • proxy VM proxy
  • secure coprocessor driver secure coprocessor driver
  • monitor Hypervisor
  • the invention provides a virtual trusted platform module function implementation method and a management device, which are used for reducing delay and improving processing efficiency.
  • an embodiment of the present invention provides a method for implementing a vTPM function, where the method is implemented in an exception level EL3 of a processor adopting an ARM V8 architecture, where the method includes:
  • each of the vTPM instances has a dedicated instance communication queue for use with its corresponding VM, and each of the instance communication queues is assigned a physical address;
  • the VM Interacting with the virtual machine monitor VMM and the VM, causing the VM to acquire a communication queue virtual address of the VM corresponding to a physical address of a communication queue of the vTPM instance in a virtual address space of the VM, and The VM communicates with the communication queue of the vTPM instance through the communication queue virtual address of the VM.
  • the interacting with the virtual machine monitor VMM and the VM causes the VM to acquire a communication queue with the vTPM instance in a virtual address space of the VM.
  • the virtual queue of the communication queue of the VM corresponding to the physical address, including:
  • the first query request including a communication queue physical address of the vTPM instance, so that the EL2 requests and stores a physical address and an intermediate physics stored in the EL2 according to the first query
  • the mapping table of the address determining an intermediate physical address corresponding to the physical address of the communication queue of the vTPM instance, and sending the physical address to the EL3;
  • the second query request including the intermediate physical address, so that the EL1 requests a mapping table between the intermediate physical address and the virtual address stored in the EL1 according to the second query request Determining a virtual address corresponding to the intermediate physical address; the determined virtual address is a communication queue virtual address of the VM.
  • the interacting with the virtual machine monitor VMM and the VM causes the VM to acquire a communication queue with the vTPM instance in a virtual address space of the VM.
  • the virtual queue of the communication queue of the VM corresponding to the physical address, including:
  • the first query request including a communication queue physical address of the vTPM instance, so that the EL2 requests and stores a physical address and an intermediate physics stored in the EL2 according to the first query a mapping table of addresses, determining an intermediate physical address corresponding to a physical address of a communication queue of the vTPM instance and transmitting to the EL3; so that the EL1 is based on the intermediate physical address and an intermediate physical address and virtual stored in the EL1 a mapping table of addresses, determining a virtual address corresponding to the intermediate physical address; the determined virtual address is a communication queue virtual address of the VM.
  • the VM passes the VM
  • the communication queue virtual address communicates with the communication queue of the vTPM instance, including:
  • the VM sends a vTPM command to the vTPM instance through the communication queue of the vTPM instance according to the communication queue virtual address of the VM, so that the vTPM instance processes according to the vTPM command, and passes the processing result to the vTPM.
  • the communication queue of the instance is fed back to the VM;
  • the VM reads the processing result of the vTPM command through the communication queue of the vTPM instance according to the communication queue virtual address of the VM.
  • the embodiment of the present invention provides a vTPM management device, where the vTPM management device is implemented in an exception level EL3 of a processor that adopts an ARM V8 architecture, where the vTPM management device includes:
  • a generating unit configured to generate one or more vTPM instances corresponding to each of the VMs according to requirements of one or more virtual machine VMs;
  • a storage unit configured to store the generated one or more vTPM instances in a preset security space, where each of the vTPM instances has a dedicated instance communication queue for use with a VM corresponding thereto, each of the The instance communication queue is assigned a physical address;
  • An interaction unit configured to interact with the virtual machine monitor VMM and the VM, so that the VM acquires a communication queue virtual of the VM corresponding to a physical address of a communication queue of the vTPM instance in a virtual address space of the VM Addressing and causing the VM to communicate with a communication queue of the vTPM instance through a communication queue virtual address of the VM.
  • the interaction unit is specifically configured to send a first query request to the EL2, where the first query request includes a communication queue physical address of the vTPM instance, so that the The EL2 determines an intermediate physical address corresponding to the physical address of the communication queue of the vTPM instance according to the first query request and a mapping table of the physical address and the intermediate physical address stored in the EL2, and sends the intermediate physical address to the EL3;
  • the intermediate physical address sent by the EL2 sending a second query request to the EL1, the second query request including the intermediate physical address, so that the EL1 is requested and stored in the EL1 according to the second query a mapping table of the intermediate physical address and the virtual address, determining a virtual address corresponding to the intermediate physical address; the determined virtual address is a communication queue virtual address of the VM.
  • the interaction unit is specifically configured to send a first query request to the EL2, where the first query request includes a communication queue physical address of the vTPM instance, so that the The EL2 determines an intermediate physical address corresponding to the physical address of the communication queue of the vTPM instance according to the first query request and a mapping table of the physical address and the intermediate physical address stored in the EL2, and sends the intermediate physical address to the EL3; EL1 determines a virtual address corresponding to the intermediate physical address according to the intermediate physical address and a mapping table of intermediate physical addresses and virtual addresses stored in the EL1; the determined virtual address is communication of the VM Queue virtual address.
  • an embodiment of the present invention provides a vTPM management device, including: an ARM V8 architecture-based processor and a memory; the memory stores code required for the processor to run, and the processor is configured to read The code described in the memory performs the following method in the exception level EL3:
  • each of the vTPM instances has a dedicated instance communication queue for use with its corresponding VM, and each of the instance communication queues is assigned a physical address;
  • the VM Interacting with the virtual machine monitor VMM and the VM, causing the VM to acquire a communication queue virtual address of the VM corresponding to a physical address of a communication queue of the vTPM instance in a virtual address space of the VM, and The VM communicates with the communication queue of the vTPM instance through the communication queue virtual address of the VM.
  • the processor interacts with the virtual machine monitor VMM and the VM, so that the VM acquires the virtual address space of the VM and the vTPM instance.
  • the communication queue virtual address of the VM corresponding to the physical address of the communication queue, including:
  • the processor sends a first query request to EL2, the first query request including a communication queue physical address of the vTPM instance, such that the EL2 requests and stores the physicality in the EL2 according to the first query a mapping table of the address and the intermediate physical address, determining an intermediate physical address corresponding to the physical address of the communication queue of the vTPM instance, and transmitting the intermediate physical address to the EL3; receiving the intermediate physical address sent by the EL2; and sending the second query to the EL1 Requesting, the second query request includes the intermediate physical address, so that the EL1 is based on the second check And requesting a mapping table between the intermediate physical address and the virtual address stored in the EL1, determining a virtual address corresponding to the intermediate physical address; and the determined virtual address is a communication queue virtual address of the VM.
  • the processor interacts with the virtual machine monitor VMM and the VM, so that the VM acquires the virtual address space of the VM and the vTPM instance.
  • the communication queue virtual address of the VM corresponding to the physical address of the communication queue, including:
  • the processor sends a first query request to EL2, the first query request including a communication queue physical address of the vTPM instance, such that the EL2 requests and stores the physicality in the EL2 according to the first query a mapping table of the address and the intermediate physical address, determining an intermediate physical address corresponding to the physical address of the communication queue of the vTPM instance, and transmitting the same to the EL3; so that the EL1 is stored in the middle of the EL1 according to the intermediate physical address a mapping table of physical addresses and virtual addresses, determining a virtual address corresponding to the intermediate physical address; the determined virtual address is a communication queue virtual address of the VM.
  • the virtual trusted platform module function implementation method and the management device provided by the embodiment of the present invention generate one or more vTPM instances corresponding to each of the VMs according to requirements of one or more virtual machine VMs, and generate the vTPM instances.
  • One or more vTPM instances are stored in a preset secure space, wherein each of the vTPM instances has a dedicated instance communication queue for use with its corresponding VM, each of the instance communication queues being assigned a physical address; Interacting with the VMM and the VM, such that the VM acquires a communication queue virtual address of the VM corresponding to a physical address of a communication queue of the vTPM instance in a virtual address space of the VM, and causes the VM to pass the The communication queue virtual address of the VM communicates with the communication queue of the vTPM instance.
  • the vTPM instance is implemented by software, and the hardware processor is not required, which reduces the hardware volume and cost.
  • the VM can directly transmit the vTPM command to the vTPM instance through the communication queue, and does not need to be converted and processed by the hypervisor and the proxy VM. Reduced latency and improved processing efficiency.
  • FIG. 1 is a schematic structural diagram of an ARM V8 processor-based hardware provided by the present invention
  • FIG. 2 is a schematic diagram of an ARM V8 architecture provided by the present invention.
  • Embodiment 3 is a flowchart of Embodiment 1 of a method for implementing a vTPM function according to the present invention
  • FIG. 4 is a schematic diagram of an application scenario of a method for implementing a vTPM function according to the present invention
  • FIG. 5 is a schematic structural diagram of Embodiment 1 of a vTPM management device according to the present invention.
  • FIG. 6 is a schematic structural diagram of Embodiment 2 of a vTPM management device according to the present invention.
  • the vTPM management device for implementing the vTPM function implementation method of the present invention can be integrated into the ARM V8 processor.
  • An application scenario of the ARM V8 processor is shown in FIG. 1.
  • the hardware shown in FIG. 1 includes: an ARM V8 processor.
  • Non-volatile memory such as Flash
  • volatile memory such as DDR
  • one-time programmable memory such as OPT/FUST
  • algorithm acceleration engine such as: SEC / RSA
  • static random access memory Static Random Access Memory, referred to as :SRAM
  • ROM Read-Only Memory
  • ARM V8 processor is used for main control, volatile memory and non-volatile memory are used to store data lost and lost without power loss.
  • FIG. 2 is a schematic diagram of the ARM V8 architecture provided by the present invention. As shown in FIG. 2, the ARM V8 architecture proposes an exception level (Exception Level, referred to as: The concept of EL) divides the operational phase into EL0-EL3. Among them, the application (Application, abbreviation: APP) runs in EL0, and the VM runs on EL1.
  • APP Application, abbreviation: APP
  • VMM virtual machine monitor
  • vTPM management device vTPM management device
  • EL3 has the highest privilege and enjoys the highest level of security features.
  • EL3 is the first to run on the CPU, and the rest can be EL3 by exception.
  • the implementation of the vTPM function provided by the present invention is implemented in the EL3 of the processor of the ARM V8 architecture.
  • the processor can be configured to enter the EL3 by configuring some registers. This is a prior art and will not be described here.
  • Embodiment 3 is a flowchart of Embodiment 1 of a method for implementing a vTPM function according to the present invention.
  • the execution body of the embodiment is a vTPM management device, and the vTPM management device is executed in an EL3 of a processor adopting an ARM V8 architecture.
  • the method of an embodiment may include:
  • each VM will deliver the requirements of the VM, so that the vTPM management device receives the requirements delivered by the one or more VMs, and then the vTPM management device Generating one or more vTPM instances corresponding to each VM according to the received requirements of the one or more VMs, that is, each generated vTPM instance is in one-to-one correspondence with one VM, since the process of generating the vTPM instance is in the processor Internally executed, there is no dedicated TPM hardware chip, because this vTPM instance is a software TPM. However, its function is similar to that of the hardware TPM. For example, the functions defined in the TPM such as encryption and decryption of data are completed.
  • the generated vTPM instance is stored in the preset security space, that is, the vTPM management device implemented by the vTPM management device can simulate the hardware TPM to implement the TPM function, so that the TPM function can be implemented without setting a hardware processor. Reduces the hardware size and cost; at the same time, the generated vTPM instance is stored in the preset security space. Since the EL3 in the ARM V8 architecture has the highest level of security features, the ARM V8 architecture supports the configuration of the security space. Therefore, the vTPM manager Some memory spaces can be configured as security attributes.
  • vTPM manager configures a preset security space, and some registers can be set as the preset security space to be configured, and then the vTPM instance is stored in the memory space. Configured in the preset security space, so that you can take advantage of the internal security of the processor Sex to protect vTPM instances, making vTPM instances less vulnerable to malicious code interception, improving security.
  • each of the vTPM instances has a dedicated instance communication queue for use with its corresponding VM, and each of the instance communication queues is assigned a physical address.
  • VM1 requires two vTPM instances
  • VM2 needs three vTPM implementations
  • five vTPM instances and two vTPM instances can be generated.
  • three vTPM instances correspond to VM2, for example: vTPM instance 1, vTPM instance 3 corresponds to VM1, vTPM instance 2, vTPM instance 4, vTPM instance 5 corresponds to VM2, and vTPM instance 1 provides dedicated instance communication.
  • Queues (eg, instance communication queue 1) are used by VM1
  • vTPM instance 2 provides a dedicated instance communication queue (eg, instance communication queue 2) for use by VM2
  • vTPM instance 3 provides a dedicated instance communication queue (eg, instance communication queue 3) to VM1
  • vTPM instance 4 provides a dedicated instance communication queue (eg, instance communication queue 4) for use by VM2
  • vTPM instance 5 provides a dedicated instance communication queue (eg, instance communication queue 5) for use by VM2.
  • the instance communication queue is used for communication between the vTPM instance and the VM.
  • the VM acquires a communication queue virtual address of the VM corresponding to a physical address of a communication queue of the vTPM instance in a virtual address space of the VM, and causes the VM to be The communication queue virtual address of the VM is communicated with the communication queue of the vTPM instance.
  • FIG. 4 is a schematic diagram of an application scenario of a method for implementing a vTPM function according to the present invention.
  • an mapping table between an intermediate physical address and a physical address is stored in the EL2, that is, an intermediate physical address ⁇ -> physical address in FIG.
  • the mapping table for example, the physical address 0x1100 maps the intermediate physical address 0x8000, the physical address 0x2100 maps the intermediate physical address 0x9000; the EL1 holds the mapping table of the virtual address and the intermediate physical address, that is, the virtual address ⁇ -> in the middle of FIG. 4
  • the physical address mapping table for example, the intermediate physical address 0x8000 maps the virtual address 0x4000, and the intermediate physical address 0x9000 maps the virtual address 0x5000.
  • the EL mapping can be reversed step by step through the above two mapping tables, and finally the mapping relationship between the physical address and the virtual address is obtained.
  • the virtual box is used to identify and physically The virtual address corresponding to the address.
  • mapping between the physical address and the virtual address can be obtained in the following manners.
  • the interacting with the virtual machine monitor VMM and the VM causes the VM to acquire a virtual address space of the VM corresponding to a physical address of a communication queue of the vTPM instance.
  • the communication queue virtual address of the VM includes: sending a first query request to the EL2, where the first query request includes a communication queue physical address of the vTPM instance, so that the EL2 requests and stores according to the first query Determining, by the mapping table of the physical address and the intermediate physical address in the EL2, an intermediate physical address corresponding to the physical address of the communication queue of the vTPM instance and transmitting the same to the EL3; receiving the intermediate physical address sent by the EL2 Sending a second query request to the EL1, the second query request including the intermediate physical address, so that the EL1 maps the intermediate physical address and the virtual address stored in the EL1 according to the second query request a table determining a virtual address corresponding to the intermediate physical address; the determined virtual address being a communication queue virtual address
  • the physical address of the communication queue of each vTPM instance can be known in advance.
  • the 0x1100 can be carried in the first query request and can pass between EL3 and EL2.
  • the query interface is sent to the EL2, and the VMM/Hypervisor is located in the EL2.
  • the first query request is used to request the intermediate physical address mapped by 0x1100, and the EL2 determines the 0x1100 mapping according to the mapping table of the physical address 0x1100 and the physical address and the intermediate physical address.
  • the intermediate physical address is 0x8000, and then the determined intermediate physical address is returned; thus, the vTPM management device of this embodiment can receive the intermediate physical address 0x8000 sent by the EL2, and carry the received 0x8000 in the second query request. It can be sent to EL1 through a query interface between EL3 and EL1.
  • the second query request is used to request the virtual address mapped by 0x8000, and EL1 is determined according to the mapping table of intermediate physical address 0x8000 and intermediate physical address and virtual address.
  • the virtual address mapped to 0x8000 is 0x4000. Since the VM is located in EL1, the VM can determine the virtuality of the VM. Communicating the physical address queue address space of the corresponding vTPM instance 0x1100 communication queue of the VM virtual address 0x4000.
  • the VM interacts with the virtual machine monitor VMM and the VM, so that the VM acquires the virtual address space of the VM and the vTPM.
  • the communication queue virtual address of the VM corresponding to the physical address of the communication queue of the instance includes: sending a first query request to the EL2, where the first query request includes a physical address of the communication queue of the vTPM instance, so that the EL2 is based on Determining, by the first query request and the mapping table of the physical address and the intermediate physical address in the EL2, determining an intermediate physical address corresponding to the physical address of the communication queue of the vTPM instance, and sending the physical address to the EL3; Determining, according to the intermediate physical address and a mapping table of intermediate physical addresses and virtual addresses stored in the EL1, a virtual address corresponding to the intermediate physical address; the determined virtual address is a virtual communication queue of the VM address.
  • the physical address of the communication queue of each vTPM instance can be known in advance.
  • the 0x2100 can be carried in the first query request and can pass between EL3 and EL2.
  • the query interface is sent to the EL2, and the first query request is used to request the intermediate physical address mapped by 0x2100, and the EL2 determines that the intermediate physical address mapped by the 0x2100 is 0x9000 according to the mapping table of the physical address 0x2100 and the physical address and the intermediate physical address.
  • the determined intermediate physical address 0x9000 is carried in the second query request and can be sent to EL1 through a query interface between EL2 and EL1, and the second query request is used to request the virtual address mapped by 0x9000, and EL1 is further according to the middle.
  • the mapping between the physical address is 0x9000 and the intermediate physical address and the virtual address, and the virtual address of the 0x9000 mapping is determined to be 0x5000. Since the VM is located in the EL1, the VM can determine the physicality of the communication queue with the vTPM instance in the virtual address space of the VM.
  • the virtual queue of the VM's communication queue corresponding to address 0x2100 is 0x5000.
  • the VM communicates with the communication queue of the vTPM instance by using a communication queue virtual address of the VM, including: the VM passes the communication queue of the vTPM instance according to a communication queue virtual address of the VM. Sending a vTPM command to the vTPM instance, so that the vTPM instance processes according to the vTPM command, and feeds the processing result to the VM through the communication queue of the vTPM instance; the VM is virtualized according to the communication queue of the VM An address, the processing result of the vTPM command is read by the communication queue of the vTPM instance.
  • the VM may pass the virtual address of the communication queue of the VM.
  • Communication queue of the vTPM instance Communicate; thus the transmitted vTPM commands do not need to be converted and processed.
  • the VM may send a vTPM command to the vTPM instance through the communication queue of the vTPM instance according to the communication queue virtual address, so that the vTPM instance processes according to the vTPM command, and the processing result is passed through the communication queue of the vTPM instance.
  • the VM is fed back to the VM; the VM reads the processing result of the vTPM command through the communication queue of the vTPM instance according to the communication queue virtual address of the vTPM instance.
  • VM1 can send a vTPM command to the vTPM instance 1 through the communication queue of the vTPM instance 1 according to the communication queue virtual address of the VM1 corresponding to the vTPM instance 1.
  • the vTPM instance 1 After receiving the vTPM command, the vTPM instance 1 processes the vTPM command according to the vTPM command. Then, the processing result is fed back to the VM1 through the communication queue of the vTPM instance 1; the VM1 reads the processing result of the vTPM command through the communication queue of the vTPM instance 1 according to the communication queue virtual address of the VM1.
  • the VM2 can send a vTPM command to the vTPM instance 2 through the communication queue of the vTPM instance 2 according to the communication queue virtual address of the VM2 corresponding to the vTPM instance 2.
  • the vTPM instance 2 After receiving the vTPM command, the vTPM instance 2 processes the vTPM command according to the vTPM command, and then The processing result is fed back to VM2 through the communication queue provided by the VTPM instance 2; the VM2 reads the processing result of the vTPM command through the communication queue of the vTPM instance 2 according to the communication queue virtual address of the VM2.
  • the processing result of the vTPM command may be the result of encrypting the sensitive data or the decryption result, which is not limited in this embodiment.
  • the vTPM function implementation method provided by the embodiment of the present invention generates one or more vTPM instances corresponding to each of the VMs according to requirements of one or more virtual machine VMs, and generates the generated one or more vTPMs.
  • the instances are stored in a preset secure space, wherein each of the vTPM instances has a dedicated instance communication queue for use with its corresponding VM, each of the instance communication queues being assigned a physical address; by interacting with the VMM and the VM Causing the VM to obtain a communication queue virtual address of the VM corresponding to a physical address of a communication queue of the vTPM instance in a virtual address space of the VM, and causing the VM to pass the virtual address of the communication queue of the VM The communication queue of the vTPM instance communicates.
  • the vTPM instance is implemented by software, and the hardware processor is not required, which reduces the hardware volume and cost.
  • the VM can directly transmit the vTPM command to the vTPM instance through the communication queue, and does not need to be converted and processed by the hypervisor and the proxy VM. Reduced latency and improved processing efficiency.
  • the VTPM manager of the present embodiment is executed in EL3 of a processor adopting an ARM V8 architecture, and the VTPM manager of this embodiment may include: generating a unit 11, a storage unit 12, and an interaction unit 13, wherein the generation unit 11 is configured to generate one or more vTPM instances corresponding to each of the VMs according to requirements of one or more virtual machine VMs; the storage unit 12 is configured to Storing the generated one or more vTPM instances in a preset security space, wherein each of the vTPM instances has a dedicated instance communication queue for use with its corresponding VM, and each of the instance communication queues is allocated a physical address; the interaction unit 13 is configured to interact with the virtual machine monitor VMM and the VM such that the VM acquires the VM in the virtual address space of the VM corresponding to the physical address of the communication queue of the vTPM instance
  • the interaction unit 13 is specifically configured to send a first query request to the EL2, where the first query request includes a communication queue physical address of the vTPM instance, so that the EL2 is requested and stored according to the first query.
  • the interaction unit 13 is specifically configured to send a first query request to the EL2, where the first query request includes a communication queue physical address of the vTPM instance, so that the EL2 is requested and stored according to the first query.
  • a mapping table of the physical address and the intermediate physical address in the EL2 determining an intermediate physical address corresponding to the physical address of the communication queue of the vTPM instance, and transmitting the same to the EL3; so that the EL1 is stored according to the intermediate physical address a mapping table of intermediate physical addresses and virtual addresses in the EL1, determining a virtual address corresponding to the intermediate physical address; the determined virtual address is a communication queue virtual address of the VM.
  • VTPM manager of this embodiment may be used to implement the technical solution of the foregoing method embodiment of the present invention, and the implementation principle and technical effects thereof are similar, and details are not described herein again.
  • FIG. 6 is a schematic structural diagram of Embodiment 2 of a vTPM management device according to the present invention.
  • the vTPM management device in this embodiment may include: a processor 21 and a memory 22.
  • the processor 21 is a processor based on an ARM V8 architecture.
  • the processor 21 and the memory 22 may be connected by a bus.
  • the vTPM management device of this embodiment may further include some external devices, such as the external device 23 and the external device 24; the memory 22 stores the code required for the processor 21 to operate, and the processor 21 is used to read the code described in the memory 22, and the following method is performed in the exception level EL3:
  • each of the vTPM instances has a dedicated instance communication queue for use with its corresponding VM, and each of the instance communication queues is assigned a physical address;
  • the VM Interacting with the virtual machine monitor VMM and the VM, causing the VM to acquire a communication queue virtual address of the VM corresponding to a physical address of a communication queue of the vTPM instance in a virtual address space of the VM, and The VM communicates with the communication queue of the vTPM instance through the communication queue virtual address of the VM.
  • the processor 21 by interacting with the virtual machine monitor VMM and the VM, causes the VM to acquire communication of the VM in a virtual address space of the VM corresponding to a physical address of a communication queue of the vTPM instance.
  • Queue virtual address including:
  • the processor 21 sends a first query request to the EL2, the first query request including a communication queue physical address of the vTPM instance, so that the EL2 requests and stores the physical address in the EL2 according to the first query. Determining, with the mapping table of the intermediate physical address, an intermediate physical address corresponding to the physical address of the communication queue of the vTPM instance and transmitting to the EL3; receiving the intermediate physical address sent by the EL2; sending a second query request to the EL1
  • the second query request includes the intermediate physical address, so that the EL1 determines the intermediate physics according to the second query request and a mapping table of intermediate physical addresses and virtual addresses stored in the EL1.
  • the virtual address corresponding to the address; the determined virtual address is a communication queue virtual address of the VM.
  • the processor 21 by interacting with the virtual machine monitor VMM and the VM, causes the VM to acquire communication of the VM in a virtual address space of the VM corresponding to a physical address of a communication queue of the vTPM instance.
  • Queue virtual address including:
  • the processor 21 sends a first query request to the EL2, the first query request including a communication queue physical address of the vTPM instance, so that the EL2 requests and stores the physical address in the EL2 according to the first query. Determining, with the mapping table of the intermediate physical address, an intermediate physical address corresponding to the physical address of the communication queue of the vTPM instance and transmitting to the EL3; so that the EL1 is based on the intermediate physical address and the intermediate physics stored in the EL1 a mapping table of addresses and virtual addresses, determining a virtual address corresponding to the intermediate physical address; the determined virtual address is a communication queue virtual address of the VM.
  • the vTPM management device of this embodiment may be used to implement the technical solution of the foregoing method embodiment of the present invention, and the implementation principle and technical effects thereof are similar, and details are not described herein again.
  • the aforementioned program can be stored in a computer readable storage medium.
  • the program when executed, performs the steps including the foregoing method embodiments; and the foregoing storage medium includes various media that can store program codes, such as a ROM, a RAM, a magnetic disk, or an optical disk.

Abstract

本发明实施例提供一种虚拟可信平台模块功能实现方法和管理设备,其中,该方法在采用ARM V8架构的处理器的异常层级EL3中执行,该方法包括:根据一个或多个VM的需求,生成一个或多个与每个VM对应的vTPM实例,将生成的一个或多个的vTPM实例存储在预设安全空间中,其中,每个vTPM实例有专用的实例通信队列给与其对应的VM使用,每个实例通信队列分配有物理地址;通过与VMM以及所述VM交互,使得VM获取VM的虚拟地址空间中与vTPM实例的通信队列物理地址对应的VM的通信队列虚拟地址,并使得VM通过VM的通信队列虚拟地址与vTPM实例的通信队列进行通信;从而减少了时延,提高了处理效率。

Description

一种虚拟可信平台模块功能实现方法和管理设备 技术领域
本发明实施例涉及通信技术领域,尤其涉及一种虚拟可信平台模块功能实现方法和管理设备。
背景技术
可信平台模块(Trusted Platform Module,简称:TPM)技术是由可信赖计算组织(Trusted Computing Group,简称:TCG)提出,目的是为了防止非法用户对敏感数据进行更改。由于TPM是为了保证平台的可靠性,因此一个操作系统平台对应一个独立的TPM。现有技术中,IBM公司提出了vTMP方案,也就是利用一块独立于中央处理器(Central Processing Unit,简称:CPU)的芯片(例如:安全协同处理器)来提供类似于TPM的安全特性,用软件虚拟出多个虚拟可信平台模块(virtual Trusted Platform Module,简称:vTPM),以保证一个虚拟机(virtual Machine,简称:VM)对应一个VTPM。当运行在VM上的应用程序需要调用vTPM命令时,通过一个代理VM(proxy)、安全协处理器驱动和监视器(Hypervisor)的转化和处理,访问至对应的vTMP,实现多个虚拟机平台的可信执行。
然而,现有技术中,每次访问vTMP时,都需要通过安全协作处理器进行转化和处理,增加时延,处理效率低下;同时实现vTPM时需要设置有一块硬件处理器,造成硬件体积增大。
发明内容
本发明提供一种虚拟可信平台模块功能实现方法和管理设备,用于减少时延,提高处理效率。
第一方面,本发明实施例提供一种vTPM功能实现方法,所述方法在采用ARM V8架构的处理器的异常层级EL3中执行,所述方法包括:
根据一个或多个虚拟机VM的需求,生成一个或多个与每个所述VM对应的vTPM实例,将所述生成的一个或多个的vTPM实例存储在预设安 全空间中,其中,每个所述vTPM实例有专用的实例通信队列给与其对应的VM使用,每个所述实例通信队列分配有物理地址;
通过与虚拟机监控器VMM以及所述VM交互,使得所述VM获取所述VM的虚拟地址空间中与所述vTPM实例的通信队列物理地址对应的所述VM的通信队列虚拟地址,并使得所述VM通过所述VM的通信队列虚拟地址与所述vTPM实例的通信队列进行通信。
在第一方面的第一种可能的实现方式中,所述通过与虚拟机监控器VMM以及所述VM交互,使得所述VM获取所述VM的虚拟地址空间中与所述vTPM实例的通信队列物理地址对应的所述VM的通信队列虚拟地址,包括:
向EL2发送第一查询请求,所述第一查询请求包括所述vTPM实例的通信队列物理地址,以使所述EL2根据所述第一查询请求和存储在所述EL2中的物理地址与中间物理地址的映射表,确定与所述vTPM实例的通信队列物理地址对应的中间物理地址并发送给所述EL3;
接收所述EL2发送的所述中间物理地址;
向EL1发送第二查询请求,所述第二查询请求包括所述中间物理地址,以使所述EL1根据所述第二查询请求和存储在所述EL1中的中间物理地址与虚拟地址的映射表,确定与所述中间物理地址对应的虚拟地址;所述确定的虚拟地址为所述VM的通信队列虚拟地址。
在第一方面的第二种可能的实现方式中,所述通过与虚拟机监控器VMM以及所述VM交互,使得所述VM获取所述VM的虚拟地址空间中与所述vTPM实例的通信队列物理地址对应的所述VM的通信队列虚拟地址,包括:
向EL2发送第一查询请求,所述第一查询请求包括所述vTPM实例的通信队列物理地址,以使所述EL2根据所述第一查询请求和存储在所述EL2中的物理地址与中间物理地址的映射表,确定与所述vTPM实例的通信队列物理地址对应的中间物理地址并发送给EL3;以使所述EL1根据所述中间物理地址与存储在所述EL1中的中间物理地址与虚拟地址的映射表,确定与所述中间物理地址对应的虚拟地址;所述确定的虚拟地址为所述VM的通信队列虚拟地址。
结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述VM通过所述VM的通信队列虚拟地址与所述vTPM实例的通信队列进行通信,包括:
所述VM根据所述VM的通信队列虚拟地址,通过所述vTPM实例的通信队列向所述vTPM实例发送vTPM命令,以使所述vTPM实例根据vTPM命令进行处理,并将处理结果通过所述vTPM实例的通信队列反馈给所述VM;
所述VM根据所述VM的通信队列虚拟地址,通过所述vTPM实例的通信队列读取所述vTPM命令的处理结果。
第二方面,本发明实施例提供一种vTPM管理设备,所述vTPM管理设备在采用ARM V8架构的处理器的异常层级EL3中执行,所述vTPM管理设备包括:
生成单元,用于根据一个或多个虚拟机VM的需求,生成一个或多个与每个所述VM对应的vTPM实例;
存储单元,用于将所述生成的一个或多个的vTPM实例存储在预设安全空间中,其中,每个所述vTPM实例有专用的实例通信队列给与其对应的VM使用,每个所述实例通信队列分配有物理地址;
交互单元,用于通过与虚拟机监控器VMM以及所述VM交互,使得所述VM获取所述VM的虚拟地址空间中与所述vTPM实例的通信队列物理地址对应的所述VM的通信队列虚拟地址,并使得所述VM通过所述VM的通信队列虚拟地址与所述vTPM实例的通信队列进行通信。
在第二方面的第一种可能的实现方式中,所述交互单元具体用于向EL2发送第一查询请求,所述第一查询请求包括所述vTPM实例的通信队列物理地址,以使所述EL2根据所述第一查询请求和存储在所述EL2中的物理地址与中间物理地址的映射表,确定与所述vTPM实例的通信队列物理地址对应的中间物理地址并发送给所述EL3;接收所述EL2发送的所述中间物理地址;向EL1发送第二查询请求,所述第二查询请求包括所述中间物理地址,以使所述EL1根据所述第二查询请求和存储在所述EL1中的中间物理地址与虚拟地址的映射表,确定与所述中间物理地址对应的虚拟地址;所述确定的虚拟地址为所述VM的通信队列虚拟地址。
在第二方面的第二种可能的实现方式中,所述交互单元具体用于向EL2发送第一查询请求,所述第一查询请求包括所述vTPM实例的通信队列物理地址,以使所述EL2根据所述第一查询请求和存储在所述EL2中的物理地址与中间物理地址的映射表,确定与所述vTPM实例的通信队列物理地址对应的中间物理地址并发送给EL3;以使所述EL1根据所述中间物理地址与存储在所述EL1中的中间物理地址与虚拟地址的映射表,确定与所述中间物理地址对应的虚拟地址;所述确定的虚拟地址为所述VM的通信队列虚拟地址。
第三方面,本发明实施例提供一种vTPM管理设备,包括:基于ARM V8架构的处理器和存储器;所述存储器中存储有所述处理器运行所需的代码,所述处理器用于读取所述存储器中所述的代码,在异常层级EL3中执行如下方法:
根据一个或多个虚拟机VM的需求,生成一个或多个与每个所述VM对应的vTPM实例,将所述生成的一个或多个的vTPM实例存储在预设安全空间中,其中,每个所述vTPM实例有专用的实例通信队列给与其对应的VM使用,每个所述实例通信队列分配有物理地址;
通过与虚拟机监控器VMM以及所述VM交互,使得所述VM获取所述VM的虚拟地址空间中与所述vTPM实例的通信队列物理地址对应的所述VM的通信队列虚拟地址,并使得所述VM通过所述VM的通信队列虚拟地址与所述vTPM实例的通信队列进行通信。
在第三方面的第一种可能的实现方式中,所述处理器通过与虚拟机监控器VMM以及所述VM交互,使得所述VM获取所述VM的虚拟地址空间中与所述vTPM实例的通信队列物理地址对应的所述VM的通信队列虚拟地址,包括:
所述处理器向EL2发送第一查询请求,所述第一查询请求包括所述vTPM实例的通信队列物理地址,以使所述EL2根据所述第一查询请求和存储在所述EL2中的物理地址与中间物理地址的映射表,确定与所述vTPM实例的通信队列物理地址对应的中间物理地址并发送给所述EL3;接收所述EL2发送的所述中间物理地址;向EL1发送第二查询请求,所述第二查询请求包括所述中间物理地址,以使所述EL1根据所述第二查 询请求和存储在所述EL1中的中间物理地址与虚拟地址的映射表,确定与所述中间物理地址对应的虚拟地址;所述确定的虚拟地址为所述VM的通信队列虚拟地址。
在第三方面的第二种可能的实现方式中,所述处理器通过与虚拟机监控器VMM以及所述VM交互,使得所述VM获取所述VM的虚拟地址空间中与所述vTPM实例的通信队列物理地址对应的所述VM的通信队列虚拟地址,包括:
所述处理器向EL2发送第一查询请求,所述第一查询请求包括所述vTPM实例的通信队列物理地址,以使所述EL2根据所述第一查询请求和存储在所述EL2中的物理地址与中间物理地址的映射表,确定与所述vTPM实例的通信队列物理地址对应的中间物理地址并发送给EL3;以使所述EL1根据所述中间物理地址与存储在所述EL1中的中间物理地址与虚拟地址的映射表,确定与所述中间物理地址对应的虚拟地址;所述确定的虚拟地址为所述VM的通信队列虚拟地址。
本发明实施例提供的虚拟可信平台模块功能实现方法和管理设备,通过根据一个或多个虚拟机VM的需求,生成一个或多个与每个所述VM对应的vTPM实例,将所述生成的一个或多个的vTPM实例存储在预设安全空间中,其中,每个所述vTPM实例有专用的实例通信队列给与其对应的VM使用,每个所述实例通信队列分配有物理地址;通过与VMM以及所述VM交互,使得所述VM获取所述VM的虚拟地址空间中与所述vTPM实例的通信队列物理地址对应的所述VM的通信队列虚拟地址,并使得所述VM通过所述VM的通信队列虚拟地址与所述vTPM实例的通信队列进行通信。本实施例通过软件来实现vTPM实例,不需要设置硬件处理器,降低了硬件体积和成本,同时VM可以通过通信队列直接向vTPM实例传输vTPM命令,不需要通过Hypervisor和代理VM进行转化和处理,减少了时延,提高了处理效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易 见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的基于ARM V8处理器的硬件的结构示意图;
图2为本发明提供的ARM V8架构的示意图;
图3为本发明vTPM功能实现方法实施例一的流程图;
图4为本发明vTPM功能实现方法的一种应用场景示意图;
图5为本发明vTPM管理设备实施例一的结构示意图;
图6为本发明vTPM管理设备实施例二的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
用于执行本发明vTPM功能实现方法的vTPM管理设备可以集成在ARM V8处理器中,ARM V8处理器的一种应用场景如图1所示,图1所示的硬件包括:ARM V8处理器、非易失存储器(例如Flash)、易失存储器(例如DDR)、一次性可编程存储器(例如OPT/FUST)、算法加速引擎(例如:SEC/RSA)、静态随机存储器(Static Random Access Memory,简称:SRAM)和只读内存(Read-Only Memory,简称:ROM)。ARM V8处理器用于主控制,易失存储器和非易失存储器分别用于存储掉电丢失及掉电不丢失的数据,一次性可编程存储器用于存储不可更改且保密的数据,算法加速引擎为各种加解密操作提供算法,图1所示的硬件还可以包括显示控制器、键盘等设备(未示出)。需要说明的是,ARM V8处理器为基于ARM V8架构的处理器,图2为本发明提供的ARM V8架构的示意图,如图2所示,ARM V8架构提出了异常层级(Exception Level,简称:EL)的概念,将运行阶段分为EL0-EL3。其中,应用程序(Application,简称:APP)运行在EL0中,VM运行在EL1 中,虚拟机监控器(virtual Machine Monitor,简称:VMM)或者Hypervisor(监视器)运行在EL2中,vTPM管理设备(manager)和vTPM运行在EL3中。其中,EL3具有最高的特权,以及享有最高级别的安全特性,EL3是CPU上电最先运行的,其余层级可以通过发生异常进行EL3。值得注意的是,本发明提供的vTPM功能实现方法在采用ARM V8架构的处理器的EL3中执行,可以通过配置一些寄存器使得处理器进入EL3,此为现有技术,此处不再赘述。
图3为本发明vTPM功能实现方法实施例一的流程图,如图3所示,本实施例的执行主体为vTPM管理设备,vTPM管理设备在采用ARM V8架构的处理器的EL3中执行,本实施例的方法可以包括:
S101、根据一个或多个VM的需求,生成一个或多个与每个所述VM对应的vTPM实例,将所述生成的一个或多个的vTPM实例存储在预设安全空间中,其中,每个所述vTPM实例有专用的实例通信队列给与其对应的VM使用,每个所述实例通信队列分配有物理地址。
本实施例中,在一个或多个VM创建之后,每个VM会下发该VM的需求,从而vTPM管理设备(manager)会接收到该一个或多个VM下发的需求,然后vTPM管理设备根据接收到的该一个或多个VM的需求,生成一个或多个与每个VM对应的vTPM实例,即生成的每一个vTPM实例与一个VM一一对应,由于生成vTPM实例的过程在处理器内部执行,并没有专用的TPM硬件芯片,因为,这个vTPM实例为软件TPM。但其功能与硬件TPM类似,例如,都完成对数据的加解密等TPM中定义的功能。然后将生成的vTPM实例存储于预设安全空间中,即vTPM管理设备采用纯软件实现的vTPM实例可以模拟硬件TPM,以实现TPM的功能,这样可以不用专门设置一个硬件处理器来实现TPM的功能,降低了硬件体积和成本;同时将生成的vTPM实例存储于预设安全空间中,由于ARM V8架构中的EL3具有最高级别的安全特性,ARM V8架构中支持安全空间的配置,因此,vTPM manager可以配置一些内存空间为安全属性,这些内存空间运行于EL3中,即vTPM manager配置了预设安全空间,也可以将一些寄存器设定为要配置的预设安全空间,然后将vTPM实例存储至该配置的预设安全空间中,从而可以利用处理器内部的安全特 性来保护vTPM实例,使得vTPM实例不容易被恶意代码拦截破坏,提高了安全性。
本实施例中,VTPM manager在生成vTPM实例之后,每个所述vTPM实例有专用的实例通信队列给与其对应的VM使用,每个所述实例通信队列分配有物理地址。
假设ARM V8处理器中存在有两个VM,分别为VM1和VM2,若VM1需要两个vTPM实例与其对应,若VM2需要三个vTPM实现与其对应,那么可以生成5个vTPM实例,两个vTPM实例与VM1对应,三个vTPM实例与VM2对应,例如:vTPM实例1、vTPM实例3与VM1对应,vTPM实例2、vTPM实例4、vTPM实例5与VM2对应,并且,vTPM实例1提供专用的实例通信队列(例如实例通信队列1)给VM1使用,vTPM实例2提供专用的实例通信队列(例如实例通信队列2)给VM2使用,vTPM实例3提供专用的实例通信队列(例如实例通信队列3)给VM1使用,vTPM实例4提供专用的实例通信队列(例如实例通信队列4)给VM2使用,vTPM实例5提供专用的实例通信队列(例如实例通信队列5)给VM2使用。实例通信队列用于vTPM实例与VM之间的通信。
S102、通过与VMM以及所述VM交互,使得所述VM获取所述VM的虚拟地址空间中与所述vTPM实例的通信队列物理地址对应的所述VM的通信队列虚拟地址,并使得所述VM通过所述VM的通信队列虚拟地址与所述vTPM实例的通信队列进行通信。
图4为本发明vTPM功能实现方法的一种应用场景示意图,如图4所示,EL2中保存有中间物理地址与物理地址的映射表,即如图4中的中间物理地址<->物理地址的映射表,例如:物理地址0x1100映射中间物理地址0x8000,物理地址0x2100映射中间物理地址0x9000;EL1中保存有虚拟地址与中间物理地址的映射表,即如图4中的虚拟地址<->中间物理地址的映射表,例如:中间物理地址0x8000映射虚拟地址0x4000,中间物理地址0x9000映射虚拟地址0x5000。
基于上述保存的映射表,当EL3分配vTPM实例的通信队列的物理地址后,就可以通过上述两个映射表一步步反推,最终得到物理地址与虚拟地址之间的映射关系。如图4中的EL3所示,虚拟框用于标识与物理地 址对应的虚拟地址。
具体的,可以通过下面几种方式来得到物理地址与虚拟地址之间的映射关系。
在第一种可行的实现方式中,所述通过与虚拟机监控器VMM以及所述VM交互,使得所述VM获取所述VM的虚拟地址空间中与所述vTPM实例的通信队列物理地址对应的所述VM的通信队列虚拟地址,包括:向EL2发送第一查询请求,所述第一查询请求包括所述vTPM实例的通信队列物理地址,以使所述EL2根据所述第一查询请求和存储在所述EL2中的物理地址与中间物理地址的映射表,确定与所述vTPM实例的通信队列物理地址对应的中间物理地址并发送给所述EL3;接收所述EL2发送的所述中间物理地址;向EL1发送第二查询请求,所述第二查询请求包括所述中间物理地址,以使所述EL1根据所述第二查询请求和存储在所述EL1中的中间物理地址与虚拟地址的映射表,确定与所述中间物理地址对应的虚拟地址;所述确定的虚拟地址为所述VM的通信队列虚拟地址。
具体地,在EL3中可以预先获知各vTPM实例的通信队列物理地址,以vTPM实例的通信队列物理地址为0x1100为例,将该0x1100携带在第一查询请求中可以通过EL3与EL2之间的一个查询接口发送给EL2,VMM/Hypervisor位于EL2中,该第一查询请求用于请求0x1100所映射的中间物理地址,EL2再根据物理地址为0x1100和物理地址与中间物理地址的映射表,确定0x1100映射的中间物理地址为0x8000,然后再将确定的中间物理地址返回;从而本实施例的vTPM管理设备可以接收到EL2发送的中间物理地址0x8000,并将接收到的该0x8000携带在第二查询请求中可以通过EL3与EL1之间的一个查询接口发送给EL1,该第二查询请求用于请求0x8000所映射的虚拟地址,EL1再根据中间物理地址为0x8000和中间物理地址与虚拟地址的映射表,确定0x8000映射的虚拟地址为0x4000,由于VM位于EL1中,从而VM可以确定该VM的虚拟地址空间中与所述vTPM实例的通信队列物理地址0x1100对应的该VM的通信队列虚拟地址为0x4000。
在第二种可行的实现方式中,所述通过与虚拟机监控器VMM以及所述VM交互,使得所述VM获取所述VM的虚拟地址空间中与所述vTPM 实例的通信队列物理地址对应的所述VM的通信队列虚拟地址,包括:向EL2发送第一查询请求,所述第一查询请求包括所述vTPM实例的通信队列物理地址,以使所述EL2根据所述第一查询请求和存储在所述EL2中的物理地址与中间物理地址的映射表,确定与所述vTPM实例的通信队列物理地址对应的中间物理地址并发送给EL3;以使所述EL1根据所述中间物理地址与存储在所述EL1中的中间物理地址与虚拟地址的映射表,确定与所述中间物理地址对应的虚拟地址;所述确定的虚拟地址为所述VM的通信队列虚拟地址。
具体地,在EL3中可以预先获知各vTPM实例的通信队列物理地址,以vTPM实例的通信队列物理地址为0x2100为例,将该0x2100携带在第一查询请求中可以通过EL3与EL2之间的一个查询接口发送给EL2,该第一查询请求用于请求0x2100所映射的中间物理地址,EL2再根据物理地址为0x2100和物理地址与中间物理地址的映射表,确定0x2100映射的中间物理地址为0x9000,然后再将确定的中间物理地址0x9000携带在第二查询请求中可以通过EL2与EL1之间的一个查询接口发送给EL1,该第二查询请求用于请求0x9000所映射的虚拟地址,EL1再根据中间物理地址为0x9000和中间物理地址与虚拟地址的映射表,确定0x9000映射的虚拟地址为0x5000,由于VM位于EL1中,从而VM可以确定该VM的虚拟地址空间中与所述vTPM实例的通信队列物理地址0x2100对应的该VM的通信队列虚拟地址为0x5000。
可选地,所述VM通过所述VM的通信队列虚拟地址与所述vTPM实例的通信队列进行通信,包括:所述VM根据所述VM的通信队列虚拟地址,通过所述vTPM实例的通信队列向所述vTPM实例发送vTPM命令,以使所述vTPM实例根据vTPM命令进行处理,并将处理结果通过所述vTPM实例的通信队列反馈给所述VM;所述VM根据所述VM的通信队列虚拟地址,通过所述vTPM实例的通信队列读取所述vTPM命令的处理结果。
在实施例中,在各VM获取该VM的虚拟地址空间中与与其对应的vTPM实例的通信队列物理地址对应的该VM的通信队列虚拟地址之后,VM可以通过所述VM的通信队列虚拟地址与所述vTPM实例的通信队列 进行通信;从而传输的vTPM命令不需要经过转化和处理。
具体地,VM可以根据通信队列虚拟地址,通过vTPM实例的通信队列向所述vTPM实例发送vTPM命令,以使所述vTPM实例根据vTPM命令进行处理,并将处理结果通过所述vTPM实例的通信队列反馈给所述VM;所述VM根据所述vTPM实例的通信队列虚拟地址,通过所述vTPM实例的通信队列读取所述vTPM命令的处理结果。例如:VM1可以根据与vTPM实例1对应的VM1的通信队列虚拟地址,通过该vTPM实例1的通信队列向vTPM实例1发送vTPM命令,vTPM实例1接收到该vTPM命令后,根据该vTPM命令进行处理,然后将处理结果通过该vTPM实例1的通信队列反馈给VM1;VM1根据该VM1的通信队列虚拟地址,通过该vTPM实例1的通信队列读取vTPM命令的处理结果。VM2可以根据与vTPM实例2对应的VM2的通信队列虚拟地址,通过该vTPM实例2的通信队列向vTPM实例2发送vTPM命令,vTPM实例2接收到该vTPM命令后,根据该vTPM命令进行处理,然后将处理结果通过该VTPM实例2所提供的通信队列反馈给VM2;VM2根据该VM2的通信队列虚拟地址,通过该vTPM实例2的通信队列读取vTPM命令的处理结果。其中,vTPM命令的处理结果可以为加密敏感数据的结果或者解密结果,本实施例对此不做限制。
本发明实施例提供的vTPM功能实现方法,通过根据一个或多个虚拟机VM的需求,生成一个或多个与每个所述VM对应的vTPM实例,将所述生成的一个或多个的vTPM实例存储在预设安全空间中,其中,每个所述vTPM实例有专用的实例通信队列给与其对应的VM使用,每个所述实例通信队列分配有物理地址;通过与VMM以及所述VM交互,使得所述VM获取所述VM的虚拟地址空间中与所述vTPM实例的通信队列物理地址对应的所述VM的通信队列虚拟地址,并使得所述VM通过所述VM的通信队列虚拟地址与所述vTPM实例的通信队列进行通信。本实施例通过软件来实现vTPM实例,不需要设置硬件处理器,降低了硬件体积和成本,同时VM可以通过通信队列直接向vTPM实例传输vTPM命令,不需要通过Hypervisor和代理VM进行转化和处理,减少了时延,提高了处理效率。
图5为本发明vTPM管理设备实施例一的结构示意图,如图5所示,本实施例的VTPM manager在采用ARM V8架构的处理器的EL3中执行,本实施例的VTPM manager可以包括:生成单元11、存储单元12和交互单元13,其中,生成单元11用于根据一个或多个虚拟机VM的需求,生成一个或多个与每个所述VM对应的vTPM实例;存储单元12用于将所述生成的一个或多个的vTPM实例存储在预设安全空间中,其中,每个所述vTPM实例有专用的实例通信队列给与其对应的VM使用,每个所述实例通信队列分配有物理地址;交互单元13用于通过与虚拟机监控器VMM以及所述VM交互,使得所述VM获取所述VM的虚拟地址空间中与所述vTPM实例的通信队列物理地址对应的所述VM的通信队列虚拟地址,并使得所述VM通过所述VM的通信队列虚拟地址与所述vTPM实例的通信队列进行通信。
可选地,交互单元13具体用于向EL2发送第一查询请求,所述第一查询请求包括所述vTPM实例的通信队列物理地址,以使所述EL2根据所述第一查询请求和存储在所述EL2中的物理地址与中间物理地址的映射表,确定与所述vTPM实例的通信队列物理地址对应的中间物理地址并发送给所述EL3;接收所述EL2发送的所述中间物理地址;向EL1发送第二查询请求,所述第二查询请求包括所述中间物理地址,以使所述EL1根据所述第二查询请求和存储在所述EL1中的中间物理地址与虚拟地址的映射表,确定与所述中间物理地址对应的虚拟地址;所述确定的虚拟地址为所述VM的通信队列虚拟地址。
可选地,交互单元13具体用于向EL2发送第一查询请求,所述第一查询请求包括所述vTPM实例的通信队列物理地址,以使所述EL2根据所述第一查询请求和存储在所述EL2中的物理地址与中间物理地址的映射表,确定与所述vTPM实例的通信队列物理地址对应的中间物理地址并发送给EL3;以使所述EL1根据所述中间物理地址与存储在所述EL1中的中间物理地址与虚拟地址的映射表,确定与所述中间物理地址对应的虚拟地址;所述确定的虚拟地址为所述VM的通信队列虚拟地址。
本实施例的VTPM manager,可以用于执行本发明上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图6为本发明vTPM管理设备实施例二的结构示意图,如图6所示,本实施例的vTPM管理设备可以包括:处理器21、存储器22,处理器21为基于ARM V8架构的处理器;处理器21与存储器22可以通过总线连接,本实施例的vTPM管理设备还可以包括一些外部设备,如外部设备23和外部设备24;存储器22中存储有处理器21运行所需的代码,处理器21用于读取存储器22中所述的代码,在异常层级EL3中执行如下方法:
根据一个或多个虚拟机VM的需求,生成一个或多个与每个所述VM对应的vTPM实例,将所述生成的一个或多个的vTPM实例存储在预设安全空间中,其中,每个所述vTPM实例有专用的实例通信队列给与其对应的VM使用,每个所述实例通信队列分配有物理地址;
通过与虚拟机监控器VMM以及所述VM交互,使得所述VM获取所述VM的虚拟地址空间中与所述vTPM实例的通信队列物理地址对应的所述VM的通信队列虚拟地址,并使得所述VM通过所述VM的通信队列虚拟地址与所述vTPM实例的通信队列进行通信。
可选地,处理器21通过与虚拟机监控器VMM以及所述VM交互,使得所述VM获取所述VM的虚拟地址空间中与所述vTPM实例的通信队列物理地址对应的所述VM的通信队列虚拟地址,包括:
处理器21向EL2发送第一查询请求,所述第一查询请求包括所述vTPM实例的通信队列物理地址,以使所述EL2根据所述第一查询请求和存储在所述EL2中的物理地址与中间物理地址的映射表,确定与所述vTPM实例的通信队列物理地址对应的中间物理地址并发送给所述EL3;接收所述EL2发送的所述中间物理地址;向EL1发送第二查询请求,所述第二查询请求包括所述中间物理地址,以使所述EL1根据所述第二查询请求和存储在所述EL1中的中间物理地址与虚拟地址的映射表,确定与所述中间物理地址对应的虚拟地址;所述确定的虚拟地址为所述VM的通信队列虚拟地址。
可选地,处理器21通过与虚拟机监控器VMM以及所述VM交互,使得所述VM获取所述VM的虚拟地址空间中与所述vTPM实例的通信队列物理地址对应的所述VM的通信队列虚拟地址,包括:
处理器21向EL2发送第一查询请求,所述第一查询请求包括所述vTPM实例的通信队列物理地址,以使所述EL2根据所述第一查询请求和存储在所述EL2中的物理地址与中间物理地址的映射表,确定与所述vTPM实例的通信队列物理地址对应的中间物理地址并发送给EL3;以使所述EL1根据所述中间物理地址与存储在所述EL1中的中间物理地址与虚拟地址的映射表,确定与所述中间物理地址对应的虚拟地址;所述确定的虚拟地址为所述VM的通信队列虚拟地址。
本实施例的vTPM管理设备,可以用于执行本发明上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

  1. 一种虚拟可信平台模块vTPM功能实现方法,其特征在于,所述方法在采用ARM V8架构的处理器的异常层级EL3中执行,所述方法包括:
    根据一个或多个虚拟机VM的需求,生成一个或多个与每个所述VM对应的vTPM实例,将所述生成的一个或多个的vTPM实例存储在预设安全空间中,其中,每个所述vTPM实例有专用的实例通信队列给与其对应的VM使用,每个所述实例通信队列分配有物理地址;
    通过与虚拟机监控器VMM以及所述VM交互,使得所述VM获取所述VM的虚拟地址空间中与所述vTPM实例的通信队列物理地址对应的所述VM的通信队列虚拟地址,并使得所述VM通过所述VM的通信队列虚拟地址与所述vTPM实例的通信队列进行通信。
  2. 根据权利要求1所述的方法,其特征在于,所述通过与虚拟机监控器VMM以及所述VM交互,使得所述VM获取所述VM的虚拟地址空间中与所述vTPM实例的通信队列物理地址对应的所述VM的通信队列虚拟地址,包括:
    向EL2发送第一查询请求,所述第一查询请求包括所述vTPM实例的通信队列物理地址,以使所述EL2根据所述第一查询请求和存储在所述EL2中的物理地址与中间物理地址的映射表,确定与所述vTPM实例的通信队列物理地址对应的中间物理地址并发送给所述EL3;
    接收所述EL2发送的所述中间物理地址;
    向EL1发送第二查询请求,所述第二查询请求包括所述中间物理地址,以使所述EL1根据所述第二查询请求和存储在所述EL1中的中间物理地址与虚拟地址的映射表,确定与所述中间物理地址对应的虚拟地址;所述确定的虚拟地址为所述VM的通信队列虚拟地址。
  3. 根据权利要求1所述的方法,其特征在于,所述通过与虚拟机监控器VMM以及所述VM交互,使得所述VM获取所述VM的虚拟地址空间中与所述vTPM实例的通信队列物理地址对应的所述VM的通信队列虚拟地址,包括:
    向EL2发送第一查询请求,所述第一查询请求包括所述vTPM实例的 通信队列物理地址,以使所述EL2根据所述第一查询请求和存储在所述EL2中的物理地址与中间物理地址的映射表,确定与所述vTPM实例的通信队列物理地址对应的中间物理地址并发送给EL3;以使所述EL1根据所述中间物理地址与存储在所述EL1中的中间物理地址与虚拟地址的映射表,确定与所述中间物理地址对应的虚拟地址;所述确定的虚拟地址为所述VM的通信队列虚拟地址。
  4. 根据权利要求1-3任意一项所述的方法,其特征在于,所述VM通过所述VM的通信队列虚拟地址与所述vTPM实例的通信队列进行通信,包括:
    所述VM根据所述VM的通信队列虚拟地址,通过所述vTPM实例的通信队列向所述vTPM实例发送vTPM命令,以使所述vTPM实例根据vTPM命令进行处理,并将处理结果通过所述vTPM实例的通信队列反馈给所述VM;
    所述VM根据所述VM的通信队列虚拟地址,通过所述vTPM实例的通信队列读取所述vTPM命令的处理结果。
  5. 一种虚拟可信平台模块vTPM管理设备,其特征在于,所述vTPM管理设备在采用ARM V8架构的处理器的异常层级EL3中执行,所述vTPM 管理设备包括:
    生成单元,用于根据一个或多个虚拟机VM的需求,生成一个或多个与每个所述VM对应的vTPM实例;
    存储单元,用于将所述生成的一个或多个的vTPM实例存储在预设安全空间中,其中,每个所述vTPM实例有专用的实例通信队列给与其对应的VM使用,每个所述实例通信队列分配有物理地址;
    交互单元,用于通过与虚拟机监控器VMM以及所述VM交互,使得所述VM获取所述VM的虚拟地址空间中与所述vTPM实例的通信队列物理地址对应的所述VM的通信队列虚拟地址,并使得所述VM通过所述VM的通信队列虚拟地址与所述vTPM实例的通信队列进行通信。
  6. 根据权利要求5所述的vTPM管理设备,其特征在于,所述交互单元具体用于向EL2发送第一查询请求,所述第一查询请求包括所述vTPM实例的通信队列物理地址,以使所述EL2根据所述第一查询请求和 存储在所述EL2中的物理地址与中间物理地址的映射表,确定与所述vTPM实例的通信队列物理地址对应的中间物理地址并发送给所述EL3;接收所述EL2发送的所述中间物理地址;向EL1发送第二查询请求,所述第二查询请求包括所述中间物理地址,以使所述EL1根据所述第二查询请求和存储在所述EL1中的中间物理地址与虚拟地址的映射表,确定与所述中间物理地址对应的虚拟地址;所述确定的虚拟地址为所述VM的通信队列虚拟地址。
  7. 根据权利要求5所述的vTPM管理设备,其特征在于,所述交互单元具体用于向EL2发送第一查询请求,所述第一查询请求包括所述vTPM实例的通信队列物理地址,以使所述EL2根据所述第一查询请求和存储在所述EL2中的物理地址与中间物理地址的映射表,确定与所述vTPM实例的通信队列物理地址对应的中间物理地址并发送给EL3;以使所述EL1根据所述中间物理地址与存储在所述EL1中的中间物理地址与虚拟地址的映射表,确定与所述中间物理地址对应的虚拟地址;所述确定的虚拟地址为所述VM的通信队列虚拟地址。
  8. 一种虚拟可信平台模块vTPM管理设备,包括:基于ARM V8架构的处理器和存储器;所述存储器中存储有所述处理器运行所需的代码,所述处理器用于读取所述存储器中所述的代码,在异常层级EL3中执行如下方法:
    根据一个或多个虚拟机VM的需求,生成一个或多个与每个所述VM对应的vTPM实例,将所述生成的一个或多个的vTPM实例存储在预设安全空间中,其中,每个所述vTPM实例有专用的实例通信队列给与其对应的VM使用,每个所述实例通信队列分配有物理地址;
    通过与虚拟机监控器VMM以及所述VM交互,使得所述VM获取所述VM的虚拟地址空间中与所述vTPM实例的通信队列物理地址对应的所述VM的通信队列虚拟地址,并使得所述VM通过所述VM的通信队列虚拟地址与所述vTPM实例的通信队列进行通信。
  9. 根据权利要求8所述的vTPM管理设备,其特征在于,所述处理器通过与虚拟机监控器VMM以及所述VM交互,使得所述VM获取所述VM的虚拟地址空间中与所述vTPM实例的通信队列物理地址对应的所述 VM的通信队列虚拟地址,包括:
    所述处理器向EL2发送第一查询请求,所述第一查询请求包括所述vTPM实例的通信队列物理地址,以使所述EL2根据所述第一查询请求和存储在所述EL2中的物理地址与中间物理地址的映射表,确定与所述vTPM实例的通信队列物理地址对应的中间物理地址并发送给所述EL3;接收所述EL2发送的所述中间物理地址;向EL1发送第二查询请求,所述第二查询请求包括所述中间物理地址,以使所述EL1根据所述第二查询请求和存储在所述EL1中的中间物理地址与虚拟地址的映射表,确定与所述中间物理地址对应的虚拟地址;所述确定的虚拟地址为所述VM的通信队列虚拟地址。
  10. 根据权利要求8所述的vTPM管理设备,其特征在于,所述处理器通过与虚拟机监控器VMM以及所述VM交互,使得所述VM获取所述VM的虚拟地址空间中与所述vTPM实例的通信队列物理地址对应的所述VM的通信队列虚拟地址,包括:
    所述处理器向EL2发送第一查询请求,所述第一查询请求包括所述vTPM实例的通信队列物理地址,以使所述EL2根据所述第一查询请求和存储在所述EL2中的物理地址与中间物理地址的映射表,确定与所述vTPM实例的通信队列物理地址对应的中间物理地址并发送给EL3;以使所述EL1根据所述中间物理地址与存储在所述EL1中的中间物理地址与虚拟地址的映射表,确定与所述中间物理地址对应的虚拟地址;所述确定的虚拟地址为所述VM的通信队列虚拟地址。
PCT/CN2014/089566 2014-05-26 2014-10-27 一种虚拟可信平台模块功能实现方法和管理设备 WO2015180396A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP14893093.6A EP3139268B1 (en) 2014-05-26 2014-10-27 Virtual trusted platform module function realization method and management device
US15/360,012 US10338949B2 (en) 2014-05-26 2016-11-23 Virtual trusted platform module function implementation method and management device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201410226504.5 2014-05-26
CN201410226504.5A CN103995732B (zh) 2014-05-26 2014-05-26 一种虚拟可信平台模块功能实现方法和管理设备

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/360,012 Continuation US10338949B2 (en) 2014-05-26 2016-11-23 Virtual trusted platform module function implementation method and management device

Publications (1)

Publication Number Publication Date
WO2015180396A1 true WO2015180396A1 (zh) 2015-12-03

Family

ID=51309908

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/089566 WO2015180396A1 (zh) 2014-05-26 2014-10-27 一种虚拟可信平台模块功能实现方法和管理设备

Country Status (4)

Country Link
US (1) US10338949B2 (zh)
EP (1) EP3139268B1 (zh)
CN (1) CN103995732B (zh)
WO (1) WO2015180396A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103995732B (zh) 2014-05-26 2017-02-22 华为技术有限公司 一种虚拟可信平台模块功能实现方法和管理设备
GB2536201B (en) 2015-03-02 2021-08-18 Advanced Risc Mach Ltd Handling address translation requests
CN105678173B (zh) * 2015-12-31 2018-06-29 武汉大学 基于硬件事务内存的vTPM安全保护方法
CN106201652B (zh) * 2016-06-29 2020-05-26 联想(北京)有限公司 一种数据处理方法及虚拟机
CN106372510B (zh) * 2016-08-23 2019-04-16 Oppo广东移动通信有限公司 一种操作信息的监控方法及装置
CN109413001B (zh) * 2017-08-15 2021-06-22 东软集团股份有限公司 对云计算系统内的交互数据进行安全保护的方法及装置
CN109756492B (zh) * 2018-12-28 2021-05-14 中国人民解放军战略支援部队信息工程大学 基于sgx的云平台可信执行方法、装置、设备及介质
US11544096B2 (en) 2020-02-27 2023-01-03 Hewlett Packard Enterprise Development Lp Virtual trusted platform modules
CN113485785B (zh) * 2021-06-28 2023-10-27 海光信息技术股份有限公司 一种虚拟化可信平台模块实现方法、安全处理器及存储介质
CN114116026B (zh) * 2021-11-12 2023-04-07 四川大学 一种云平台信任链分层模型构建方法
CN114860339B (zh) * 2022-04-28 2023-06-02 阿里巴巴(中国)有限公司 智能板卡的控制方法、电子设备的启动方法及电子系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050138370A1 (en) * 2003-12-23 2005-06-23 Goud Gundrala D. Method and system to support a trusted set of operational environments using emulated trusted hardware
US20090086979A1 (en) * 2007-09-28 2009-04-02 Tasneem Brutch Virtual tpm keys rooted in a hardware tpm
CN103593147A (zh) * 2013-11-07 2014-02-19 华为技术有限公司 一种数据读取的方法及装置
CN103995732A (zh) * 2014-05-26 2014-08-20 华为技术有限公司 一种虚拟可信平台模块功能实现方法和管理设备

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5692193A (en) * 1994-03-31 1997-11-25 Nec Research Institute, Inc. Software architecture for control of highly parallel computer systems
US7552419B2 (en) * 2004-03-18 2009-06-23 Intel Corporation Sharing trusted hardware across multiple operational environments
US7590867B2 (en) * 2004-06-24 2009-09-15 Intel Corporation Method and apparatus for providing secure virtualization of a trusted platform module
US7478246B2 (en) * 2004-07-29 2009-01-13 International Business Machines Corporation Method for providing a scalable trusted platform module in a hypervisor environment
US7444670B2 (en) * 2006-03-21 2008-10-28 International Business Machines Corporation Method and apparatus for migrating a virtual TPM instance and preserving uniqueness and completeness of the instance
CN101488174B (zh) * 2009-01-15 2010-07-14 北京交通大学 动态透明的虚拟可信平台模块的实现方法
CN102110197B (zh) * 2009-12-25 2013-04-03 中国科学院计算技术研究所 多核处理器的计算环境中实现tpm的方法及其系统
US8788763B2 (en) * 2011-10-13 2014-07-22 International Business Machines Corporation Protecting memory of a virtual guest
US20140007087A1 (en) * 2012-06-29 2014-01-02 Mark Scott-Nash Virtual trusted platform module
US9384352B2 (en) * 2013-10-02 2016-07-05 Intel Corporation Trusted boot and runtime operation
US9721104B2 (en) * 2013-11-26 2017-08-01 Intel Corporation CPU-based measured boot

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050138370A1 (en) * 2003-12-23 2005-06-23 Goud Gundrala D. Method and system to support a trusted set of operational environments using emulated trusted hardware
US20090086979A1 (en) * 2007-09-28 2009-04-02 Tasneem Brutch Virtual tpm keys rooted in a hardware tpm
CN103593147A (zh) * 2013-11-07 2014-02-19 华为技术有限公司 一种数据读取的方法及装置
CN103995732A (zh) * 2014-05-26 2014-08-20 华为技术有限公司 一种虚拟可信平台模块功能实现方法和管理设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3139268A4 *

Also Published As

Publication number Publication date
EP3139268A4 (en) 2017-08-16
US10338949B2 (en) 2019-07-02
US20170075717A1 (en) 2017-03-16
EP3139268B1 (en) 2021-09-15
CN103995732B (zh) 2017-02-22
EP3139268A1 (en) 2017-03-08
CN103995732A (zh) 2014-08-20

Similar Documents

Publication Publication Date Title
WO2015180396A1 (zh) 一种虚拟可信平台模块功能实现方法和管理设备
US11783081B2 (en) Secure public cloud
US20180114013A1 (en) Extending packet processing to trusted programmable and fixed-function accelerators
US11082231B2 (en) Indirection directories for cryptographic memory protection
US9781117B2 (en) Multinode hubs for trusted computing
US20140007087A1 (en) Virtual trusted platform module
US10303880B2 (en) Security device having indirect access to external non-volatile memory
WO2017062128A2 (en) Technologies for end-to-end biometric-based authentication and platform locality assertion
BR112015022865B1 (pt) Método e aparelho para ativar seletivamente as operações de um monitor de máquina virtual sob demanda
WO2015060858A1 (en) Methods and apparatus for protecting software from unauthorized copying
JP6682752B2 (ja) セキュアエンクレーブを用いてデータ暗号化を強化するための技術
US20170249106A1 (en) Multiple input-output memory management units with fine grained device scopes for virtual machines
WO2023273647A1 (zh) 虚拟化可信平台模块实现方法、安全处理器及存储介质
US20210365591A1 (en) Secure debug of fpga design
CN112948070A (zh) 用于由数据处理加速器处理数据的方法及数据处理加速器
CN117561699A (zh) 安全计算机制
US20220100911A1 (en) Cryptographic computing with legacy peripheral devices
EP4254203A1 (en) Device memory protection for supporting trust domains
EP3920501B1 (en) Data protection with static resource partition for data processing accelerators
US20210382737A1 (en) Data protection with dynamic resource isolation for data processing accelerators
JP2022043279A (ja) 仮想化環境内の人工知能アクセラレータ・ステータス確認を用いる仮想マシン移行のための方法
CN114491544A (zh) 一种虚拟可信平台模块的实现方法及相关装置
WO2022088615A1 (zh) 一种虚拟可信平台模块的实现方法及相关装置
US20240095059A1 (en) Secure virtual machine and peripheral device communication

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14893093

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

REEP Request for entry into the european phase

Ref document number: 2014893093

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2014893093

Country of ref document: EP