WO2014059575A1 - 输入输出操作的处理方法和装置 - Google Patents
输入输出操作的处理方法和装置 Download PDFInfo
- Publication number
- WO2014059575A1 WO2014059575A1 PCT/CN2012/082953 CN2012082953W WO2014059575A1 WO 2014059575 A1 WO2014059575 A1 WO 2014059575A1 CN 2012082953 W CN2012082953 W CN 2012082953W WO 2014059575 A1 WO2014059575 A1 WO 2014059575A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- virtual
- security firmware
- virtual machine
- storage device
- security
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000012545 processing Methods 0.000 title claims abstract description 23
- 238000013507 mapping Methods 0.000 claims abstract description 43
- 230000001960 triggered effect Effects 0.000 claims abstract description 8
- 238000012795 verification Methods 0.000 claims description 106
- 238000005192 partition Methods 0.000 claims description 45
- 230000006870 function Effects 0.000 claims description 15
- 238000013468 resource allocation Methods 0.000 claims description 6
- 238000004891 communication Methods 0.000 claims description 4
- 230000003993 interaction Effects 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 claims description 3
- 238000001514 detection method Methods 0.000 claims 2
- 238000005516 engineering process Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 238000003672 processing method Methods 0.000 description 7
- 238000007726 management method Methods 0.000 description 6
- 230000000903 blocking effect Effects 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000002311 subsequent effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
Definitions
- the present invention relates to the field of data storage technologies, and in particular, to a method and apparatus for processing input/output (I/O, Input/Output) operations.
- Background technique I/O, Input/Output
- a trusted storage device is a data storage device that allows legitimate users to access and deny unauthorized users access. Trusted storage devices can be used to store sensitive data and solve problems such as data theft, loss, tampering, etc. caused by illegal user access.
- multiple virtual machines can be implemented based on the hardware resources of one physical host.
- multiple virtual storage devices can be implemented based on one storage device, thereby significantly improving the working efficiency of the computer.
- the virtual storage device can be mounted on any virtual machine in the same physical host, and the existing trusted storage solution is not applicable to Virtualization scenario.
- a virtual machine user can access the hard disk without authentication.
- the control of the user's hard disk access operation cannot be implemented.
- How to identify legitimate users and illegal users to access data and protect data security becomes a problem to be solved.
- Embodiments of the present invention provide a method for processing an I/O operation, which is used to improve data security in a virtualization scenario.
- a method for processing an I/O operation including:
- the virtual machine monitor or virtual machine manager detects virtual machine users from virtual storage devices
- the virtual security firmware is verified by the virtual security firmware; the virtual security firmware is obtained by virtualizing the security firmware.
- the virtual security firmware that triggers a mapping relationship with the virtual storage device to verify the virtual machine user specifically: the virtual machine monitor Or the virtual machine manager obtains the virtual security firmware corresponding to the virtual storage device from a mapping relationship between the virtual security firmware and the virtual storage device;
- a second possible implementation manner of the first aspect is further provided, where the virtual security firmware pair that has a mapping relationship with the virtual storage device is triggered.
- the virtual machine user performs verification, and further includes:
- Implementation methods including:
- the virtual machine monitor or virtual machine manager is further configured to allocate a public key certificate and/or a public and private key to the virtual security firmware, where the public key certificate and/or public and private keys are used for mounting and the virtual security
- the firmware exists in the mapping relationship of the virtual storage device, the identity of the virtual storage device is authenticated.
- a fourth possible implementation manner of the first aspect is further provided, where the public private key is further used in the virtual security firmware to the virtual During the verification process of the machine user, the security of the information exchanged between the virtual security firmware and the virtual machine user is implemented.
- Public key The certificate and/or the public and private keys are stored in a secure partition in the virtual storage device, and the secure partition in the virtual storage device refers to a storage space that the virtual machine user cannot access.
- the sixth possible implementation manner of the first aspect is further provided, and the method further includes:
- the storage space is newly allocated for the virtual storage device, and the sum of the capacity of the newly allocated storage space and the capacity of the virtual storage device before the newly allocated storage space is not greater than The upper limit of the capacity of the virtual storage device;
- the I/O operation instruction is executed on the virtual storage device after newly allocating storage space.
- a method for processing input/output I/O operations including: verifying, by a virtual machine monitor or a virtual machine manager, virtual security firmware to authenticate a virtual machine user; Obtained by virtualizing the security firmware.
- the virtual security firmware is obtained by hardware virtualization of the security firmware, and the security firmware has an extended interface function by the hardware virtualization.
- a second possible implementation manner of the second aspect is further provided, where the virtual security firmware is triggered by a virtual machine monitor or a virtual machine manager Verify the virtual machine user, including:
- the security firmware receives a notification command sent by the virtual machine monitor or the virtual machine manager, where the notification instruction carries an identifier of the virtual security firmware;
- the secure firmware identifies an identifier of the virtual secure firmware from the notification command by the extended interface function
- the security firmware acquires the virtual storage device according to the virtual storage device secure partition address
- the machine user authenticates.
- the second possible implementation manner of the third aspect is further provided, where the security firmware verifies the user according to the verification information of the legal user.
- the security firmware verifies the user according to the verification information of the legal user.
- the security firmware receives verification information input by the virtual machine user sent by the virtual machine monitor or the virtual machine manager;
- the security firmware verifies the virtual machine user according to the verification information of the legitimate user and the verification information input by the virtual machine user.
- a processing apparatus for I/O operations including:
- a detecting module configured to detect an I/O operation instruction from the virtual machine user to the virtual storage device; and a verification triggering module, configured to trigger the virtual storage when the detecting module detects the I/O operation instruction
- the virtual security firmware of the device has a mapping relationship to verify the virtual machine user; the virtual security firmware is obtained by virtualizing the security firmware.
- the verification triggering module includes an obtaining unit and a sending unit:
- the obtaining unit is configured to obtain the virtual security firmware corresponding to the virtual storage device from a mapping relationship between the virtual security firmware and the virtual storage device;
- the sending unit is configured to send a notification instruction to the security firmware, where the notification instruction carries an identifier of the virtual security firmware acquired by the acquiring unit, and the identifier of the virtual security firmware is used to enable the security firmware Obtaining verification information of a legitimate user of the virtual storage device.
- the sending unit is further configured to send the virtual machine to the security firmware The verification information input by the user, so that the security firmware verifies the virtual machine user according to the verification information of the legal user and the verification information input by the virtual machine user.
- a certificate allocation module configured to allocate a public key certificate and/or a public and private key to the virtual security firmware, where the public key certificate and/or the public and private key are used to mount the virtual host in a mapping relationship with the virtual security firmware When the device is stored, the identity of the virtual storage device is authenticated.
- a determining module configured to determine, when the verification passes, whether a current capacity of the virtual storage device is sufficient to execute the I/O operation instruction
- a resource allocation module configured to: if the determining module determines that the I/O operation instruction is insufficient to perform the I/O operation instruction, newly allocate a storage space for the virtual storage device, where the capacity of the newly allocated storage space and the newly allocated storage space are The sum of the capacities of the virtual storage devices is not greater than the upper limit of the capacity of the virtual storage devices;
- an execution module configured to execute the I/O operation instruction on the virtual storage device after the resource allocation module newly allocates the storage space.
- a virtual security firmware including:
- a monitoring module configured to monitor a trigger from a virtual machine monitor or a virtual machine manager
- a verification module configured to authenticate the virtual machine user under the trigger of the virtual machine monitor or the virtual machine manager
- the virtual security firmware is obtained by virtualizing the security firmware.
- the verification module includes a receiving unit and an acquiring unit:
- the receiving unit is configured to receive a notification instruction sent by the virtual machine monitor or a virtual machine manager, where the notification instruction carries an identifier of the virtual security firmware;
- the verification unit is configured to identify an identifier of the virtual security firmware from the notification instruction, and obtain, according to the identifier of the virtual security firmware, a correspondence between a virtual security firmware and a virtual storage device security partition address.
- the virtual storage device security partition address corresponding to the virtual security device; obtaining the virtual storage device security partition according to the virtual storage device secure partition address Verification.
- a second possible implementation manner of the fourth aspect is further provided, where the verification unit is further configured to receive the virtual machine monitor or a virtual machine manager The verification information input by the virtual machine user is sent; the virtual machine user is verified according to the verification information of the legal user and the verification information input by the virtual machine user.
- a fifth aspect there is provided a host comprising at least one processor and a memory coupled to the at least one processor, the at least one processor reading a code in the memory; the processor being configured Performing the method of the first aspect above, or any one of the possible implementations of the first aspect.
- a hard disk comprising security firmware, the security firmware being configured to perform the method of any one of the possible implementations of the second aspect or the second aspect.
- the virtual machine monitor or the virtual machine manager detects an I/O operation instruction from the virtual machine user to the virtual storage device; when the virtual machine monitor or the virtual machine manager detects the virtual machine user from the virtual machine
- the security firmware that has a mapping relationship with the virtual storage device is triggered to verify the virtual machine user.
- FIG. 1 is a flow chart of a main implementation principle of an embodiment of the present invention.
- FIG. 2a is a schematic diagram of an application scenario of a method for processing an I/O operation according to an embodiment of the present invention
- FIG. 2b is a schematic diagram of a transmission path of an I/O operation command according to an embodiment of the present invention
- FIG. 3 is a flowchart of a virtual machine mounting a virtual storage device in an embodiment of the present invention
- 4a is a flowchart of a method for processing an I/O operation according to an embodiment of the present invention
- 4b is a flowchart of a user authentication method according to an embodiment of the present invention
- FIG. 5 is a flowchart of a method for processing an I/O operation according to an embodiment of the present invention
- FIG. 6 is a schematic structural diagram of an apparatus for processing an I/O operation according to an embodiment of the present invention
- FIG. 8 is a schematic structural diagram of a virtual security firmware according to an embodiment of the present invention
- FIG. 8 is a schematic structural diagram of a processing device of another type of I/O operation provided by an embodiment
- FIG. 9 is a schematic diagram of a host and a hard disk according to an embodiment of the present invention. detailed description
- the processing method of the I/O operation provided by the embodiment of the present invention is applied to virtualizing multiple virtual machines and multiple virtual storage devices by using virtualization technology on a virtual host or a plurality of physical hosts (for example, a virtual hard disk), at least one virtual storage device is mounted on each virtual machine.
- steps S10 and S20 are performed.
- Step S10 Virtualize the security firmware in the physical memory of the host (for example, a hard disk) to obtain at least one virtual security firmware, and the number of the virtual security firmware is not less than the number of virtual trusted storage devices that need to be set.
- secure firmware in the embodiment of the present invention refers to physical security firmware located in the hard disk of the host.
- the secure firmware can be processed by hardware virtualization technology to obtain a plurality of virtual security firmware.
- Hardware virtualization technology is a key technology for virtual machines and virtual storage devices. Refers to providing all interfaces in a complete analog hardware (and must also emulate the execution of privileged instructions) to reuse limited resources through I/O virtualization. Unified management of physical I/O of physical machines, abstracting into multiple logical I/Os in response to requests from virtual machines. It will not be detailed here.
- the software virtualization technology can also be used to simulate the function of the security firmware through an application software, and when running multiple instances of the application software, multiple virtual security firmware can be implemented.
- Step S20 Establish a mapping relationship between the virtual security firmware and the virtual storage device.
- the virtual storage device with the same number of virtual security firmware may be selected from the virtual storage device, and then the selected virtual storage device and the virtual security are selected.
- Firmware establishment - the corresponding mapping relationship, the subsequent selected virtual storage devices will be used as virtual trusted storage devices, and the unselected virtual storage devices will be used as virtual non-trusted storage devices.
- the number of virtual security firmware is different from the number of virtual storage devices, it can also be handled in a more convenient manner, such as randomly or sequentially fetching a virtual security firmware and a virtual storage device to establish - corresponding Mapping relationship, if there is any remaining virtual security firmware or virtual storage device, then the mapping relationship between these remaining virtual security firmware or virtual storage device is not established.
- mapping relationship between the virtual security firmware and the virtual storage device may be stored by using a mapping relationship table, a singly linked list, or the like.
- the corresponding mapping relationship may specifically be a correspondence between the identifier of the virtual security firmware and the identifier of the virtual storage device.
- the main implementation principle of the processing method of the I/O operation is as follows:
- Step S30 detecting an I/O operation instruction from the virtual machine user to the virtual storage device.
- Device access is received by the hypervisor or virtual machine manager (VMM) and converted to access to physical storage devices. Therefore, the virtual machine operating system sends I/O operation instructions to the virtual storage device through the driver to the hypervisor or VMM, and can detect or receive the virtual through the API, driver, or privileged virtual machine in the hypervisor or VMM.
- the virtual machine user sends the virtual memory from the virtual machine user Store the device's I/O operation instructions. For example, in an open source virtual machine monitor called Xen developed by Cambridge University, the guest operating system (GuestOS) in a normal virtual machine communicates with the backend driver on the privileged virtual machine through the front-end driver. , read and write virtual storage devices.
- GuestOS guest operating system in a normal virtual machine communicates with the backend driver on the privileged virtual machine through the front-end driver. , read and write virtual storage devices.
- Virtual storage devices are created and assigned to other common virtual machines by privileged virtual machines.
- the privileged virtual machine contains real device drivers that have direct access to the hardware and are responsible for interacting with the management API provided by the hypervisor.
- the above I/O operation instructions are also referred to as input/output instructions, read/write instructions.
- the virtual storage device to be accessed includes both a virtual storage device statically assigned to the virtual machine when the virtual machine is created, and a virtual storage device dynamically mounted on the virtual machine after the virtual machine is created.
- the virtual machine user's access to the virtual storage device can be divided into two cases. One is that the virtual storage device to be accessed is statically allocated when the virtual machine is created.
- the virtual storage device to be accessed is a virtual storage device storing an operating system program of the virtual machine, similar to a local hard disk in the physical host; and second, the virtual storage to be accessed
- a device is a virtual storage device mounted on the virtual machine, similar to a mobile hard disk in a physical host, a Universal Serial Bus (USB) card, and the like.
- USB Universal Serial Bus
- the virtual machine accesses the boot area of the operating system, reads and writes files, creates or deletes files, etc. when the virtual operating system is started, the virtual machine initiates an I/O operation instruction of the virtual storage device to be accessed.
- step S40 if an I/O operation instruction from the virtual machine user to the virtual storage device is detected, the virtual security firmware that has a mapping relationship with the virtual storage device is triggered to verify the virtual machine user, and if the verification succeeds, Go to step S50, otherwise go to step S60.
- the I/O operation instructions sent by the virtual machine to the Hypervisor or VMM carry the identifier of the virtual storage device to be accessed.
- the Hypervisor or the VMM may find the virtual security firmware corresponding to the virtual storage device from the mapping relationship between the virtual security firmware and the virtual storage device according to the identifier of the virtual storage device carried in the received I/O operation instruction, and then The discovered virtual security firmware sends a notification instruction, receives the virtual security firmware of the notification instruction, and performs a virtual machine user who initiates the I/O operation instruction. Certificate. Or, after the Hypervisor or the VMM finds the virtual security firmware corresponding to the virtual storage device, sends the I/O operation instruction to the virtual security firmware, and receives the virtual security firmware of the I/O operation instruction, Verifies the virtual machine user who initiated the I/O operation instruction.
- the virtual security firmware may prompt the user to input verification information such as a user name and a password through an output device of the virtual machine, for example, prompting the user to input a user name and a password through an ISV software, or through a basic input/output system (BIOS, The Basic Input Output System screen prompts the user to enter a username and password. Then, the user name and password authentication information input by the user is compared with the verification information of the legal user stored in advance, and if the two are consistent, the verification is passed, and the verification fails.
- verification information such as a user name and a password
- ISV software input a user name and a password
- BIOS Basic Input Output System
- Step S50 allowing the execution of the I/O operation instruction.
- the hypervisor or the VMM notifies the virtual security firmware to perform user authentication by sending a notification instruction to the virtual security firmware
- the virtual security firmware returns a macro to the hypervisor or the VMM for opening the location to the virtual machine user.
- the response command of the access permission of the virtual storage device is forwarded by the Hypervisor or the VMM to the physical storage by performing address translation on the I/O operation instruction, so that the virtual machine user accesses the virtual storage device.
- the virtual security firmware may also return the I/O operation instruction to the Hypervisor or the VMM after the verification is passed, Hypervisor or VMM. After receiving the returned I/O operation instruction, confirming that the virtual security firmware opens the access right to the virtual storage device for the virtual machine user, and the Hypervisor or the VMM performs address translation on the I/O operation instruction and sends the information to the physical a memory, thereby enabling a virtual machine user to access the virtual storage device.
- Step S60 blocking the I/O operation instruction.
- FIG. 2a is a schematic diagram of an application scenario of a processing method of an I/O operation according to an embodiment of the present invention.
- VM1 virtual machine
- VDisk1 ⁇ VDisk2 virtual storage devices
- the scenario is described as an example. In the scenario where there are more virtual machines and virtual storage devices, the method is also applicable.
- VM1, VDiskl ⁇ VDisk2 are all based on the hardware resources of a physical host generated by hardware virtualization technology.
- the physical host also contains a security firmware. This secure firmware is used in conjunction with physical storage such as physical hard disks to implement trusted storage.
- the security firmware can be located on the physical hard disk, adding security code to optimize the hard disk storage resources based on the internal management firmware of the physical hard disk, extending the functions of the hard disk, providing encryption, hashing, secure storage, decryption, digital signature and random numbers. Generate and other functions. An attacker could not modify the management firmware and security firmware on the physical hard disk.
- the execution body of the above embodiment may be a virtual machine monitor or a virtual machine manager, and more specifically, may be a virtual trusted storage device manager implemented on a virtual machine monitor or a virtual machine manager.
- the virtual trusted storage device manager may be a software module located on the virtual machine monitor or the virtual machine manager, which is responsible for management, mapping, and access control of the virtual storage device, so that one physical storage device can be virtualized into multiple Virtual storage devices.
- the virtual trusted storage device manager can be located in domain 0; if it is another architecture, a functional module can be added at a similar layer to implement the function of the virtual trusted storage device manager.
- a virtual trusted storage device manager implemented on the Hypervisor or VMM for creating and managing virtual security firmware.
- the virtual trusted storage device manager may specifically be an application running on a Hypervisor or a VMM.
- the virtual trusted storage device manager first hardware virtualizes the secure firmware using hardware virtualization technology to obtain two virtual security firmware VTM-a, VTM-b, and in fact can obtain more than two virtual security firmware. Then, the virtual trusted storage device manager allocates a virtual security firmware for each virtual storage device, and establishes a mapping relationship between the virtual security firmware and the virtual storage device.
- the mapping relationship table established in this embodiment is shown in Table 1. As shown, the binding of the virtual storage device and the virtual security firmware is achieved.
- the virtual trusted storage device manager further includes a one-to-one mapping relationship between the virtual security firmware and the virtual storage device. :
- the public key certificate includes the public key and the signature information of the issuer (physical security firmware), and the public key certificate and the public and private key of each virtual security firmware are stored in a secure partition of the virtual storage device corresponding to the virtual security firmware, where
- the secure partition of a virtual storage device refers to a reserved area in the virtual storage device (actually an unaddressable space in the physical hard disk), that is, a storage space that cannot be accessed by the user and modified by the user.
- the secure partition is logically independent of the other storage space in the virtual storage device and physically separate from the other storage space in the physical storage. It can be used to store data such as encryption keys, time stamps, and log records.
- a secure partition (ie, a virtual secure partition) of a virtual storage device is created by virtualizing a user-addressable physical secure partition and a user-addressable physical storage space when hardware virtualizing the physical storage device.
- the physical space actually mapped by the virtual security partition is a secure partition on the physical storage device.
- the virtual storage device includes a secure partition that is not user-addressable and a user-addressable storage space.
- the authentication process when the virtual machine mounts the virtual storage device is as shown in Figure 3:
- the virtual machine sends a random number to the virtual storage device to be mounted, and records it as randl;
- the virtual machine decrypts the received encrypted random number rand2 by using the public key of the virtual storage device to be mounted, to obtain the decrypted random number rand3; wherein, the virtual machine
- the public key certificate including the public key of the virtual storage device to be mounted may be obtained from the virtual storage device to be mounted in advance from the issuer, the third-party certification authority, or the special instruction.
- the public key certificate not only carries the public key certificate.
- the public key also carries some other related information of the virtual storage device to be mounted, such as identity information of the virtual storage device to be mounted, and identifier information of the virtual security firmware corresponding thereto.
- the virtual machine compares the random number rand1 sent to the virtual storage device to be mounted with the decrypted random number rand3, and if yes, the authentication succeeds, indicating that the virtual storage device to be mounted is a public key certificate.
- the processing method of the I/O operation provided by the embodiment of the present invention will be described in detail below with reference to FIG. 4a.
- the operating system of the virtual machine VM1 is installed in the virtual storage device VDisk1.
- the virtual machine VM1 needs to mount the virtual storage device VDisk2 as another logical hard disk on VM1.
- step S401 the VM1 queries the virtual trusted storage device manager for the virtual security firmware corresponding to the VDisk2, and learns from the virtual trusted storage device manager that the virtual security firmware corresponding to the VDisk2 is VTM-b.
- Step S402 the VM1 authenticates the identity of the VDisk2 according to the public key certificate of the virtual security firmware VTM-b. If the authentication succeeds, the process proceeds to step S403; otherwise, the mount failure process ends.
- Step S403, VM1 mounts VDisk2.
- VM1 can use the API or driver provided by the operating system of the virtual machine to mount VDisk2.
- Step S404 the operating system of the VM1 detects the user's I/O operation instruction to the VDisk1.
- the virtual machine operating system may detect an I/O operation instruction by using a system level API or a memory driver, where the I/O operation instruction carries an identifier of the virtual storage device to be accessed, that is, VDisk1. logo.
- Step S405 the operating system of the VM1 forwards the I/O operation instruction to the virtual trusted storage device manager through the hupervisor through the communication pipeline.
- Step S406 The virtual trusted storage device manager queries the mapping relationship between the virtual security firmware and the virtual storage device shown in Table 1 to query that the virtual security firmware corresponding to VDisk1 is VTM-a.
- Step S407 The virtual trusted storage device manager sends the I/O operation instruction to the virtual security firmware VTM_a corresponding to the VDisk1 for triggering the VTM-a virtual machine that initiates the I/O operation instruction.
- the user authenticates.
- Step S408 VTM_a verifies the virtual machine user who sends the I/O operation instruction, and if the verification passes, proceeds to step S409, otherwise proceeds to step S410.
- specific verification methods include but are not limited to:
- VTM—a displays an authentication interface to the user through the corresponding ISV software, prompting the user to enter a username and password.
- the ISV software sends the user name and password entered by the user in the interface to the VTM a. If the VTM-a authenticates the user successfully according to the username and password, the hard disk is allowed to perform the user access operation; otherwise, the access is discarded or blocked. operating.
- the user name and corresponding password of the preset legal user used by the virtual security firmware to authenticate the user may be stored in a secure partition of the virtual storage device corresponding to the virtual security firmware.
- VTM a prompts the user to enter a user name and password through the BIOS interface of the virtual machine.
- the BIOS sends the user name and password entered by the user in the interface to the VTM_a. If the VTM-a authenticates the user successfully according to the username and password, the hard disk is allowed to perform the user access operation; otherwise, the access is discarded or blocked. operating.
- the user name and corresponding password of the preset legal user used by the virtual security firmware to authenticate the user may be stored in a secure partition of the virtual storage device corresponding to the virtual security firmware.
- Step S409 if the verification is passed, VTM_a allows the I/O operation finger to be executed on VDisk1. Specifically, VTM_a opens the access authority of VDisk1 for the virtual machine user.
- the virtual machine user-initiated I/O instruction carries a logical address of the data to be accessed in the logical memory, and the Hypervisor or the VMM converts the logical address in the I/O instruction into a logical address through the configuration information of the logical memory in the file system.
- the logical block identifier is then further converted into a corresponding physical block identifier by a storage controller in the physical storage (for example, management firmware in the physical hard disk), and finally converted into a corresponding sector identifier in the physical memory.
- the I/O instruction carrying the converted physical sector identifier is sent to the physical memory through the driver, thereby realizing access to the data in the VDisk1.
- the VTM-a can also prompt the user to pass the license through the ISV software or the BIOS interface.
- Step S410 if the verification fails, blocking the I/O operation instruction.
- VTM-a can also prompt the user's insurance certificate to fail through the ISV software or BIOS interface.
- the processing similar to the steps S404 to S410 can also be performed, and is not repeated here.
- the transmission path of the I/O operation instruction is as shown by the thin solid arrow in FIG. 2b, and is first sent by the virtual machine to the virtual trusted
- the storage device manager is then sent by the virtual trusted storage device manager to the virtual security firmware corresponding to the virtual storage device to be accessed.
- the virtual security firmware passes the authentication, the user returns to the virtual trusted storage device manager, and finally the hypervisor or VMM.
- the I/O operation instruction is address-converted and sent to the physical memory.
- the I/O operation instruction sent by the virtual trusted storage device manager to the virtual security firmware functions as a notification instruction, and of course, a special notification instruction can be set to complete the action.
- the virtual machine operating system can log in to the virtual machine operating system for each user in order to avoid the user's input of the user name and password every time the user's I/O command is detected.
- the step S406 is executed to trigger the corresponding security firmware.
- the user is authenticated.
- the virtual machine operating system directly sends the I/O command to the Hypervisor or the VMM.
- the address translation is performed and then sent to the physical storage device.
- the virtual machine which may be the ISV software in the virtual machine, or the virtual machine's BIOS interface or the biometric terminal, etc.
- the virtual security firmware exchange instructions.
- the virtual trusted storage device manager in the Hypervisor or VMM implements secure communication of these interactive instructions through the public key certificate and/or the public and private key assigned to the virtual security firmware when forwarding these interactive instructions, thereby ensuring that these interactive messages are not Stealed by other virtual machines.
- the Hypervisor or VMM sends a notification command to the virtual security firmware.
- the Hypervisor or VMM When executed at the hardware level, the Hypervisor or VMM actually sends a notification message to the security firmware in the physical memory.
- the instruction carries the identifier of the virtual security firmware that is found; and subsequently validates the virtual machine user in the virtual security firmware that has a mapping relationship with the virtual storage device to be accessed (ie, step S40 in FIG. 1 or Step S408) in FIG.
- the virtual machine sends the verification information input by the user to the virtual security firmware (for example, an instruction carrying the user name and password input by the user, etc.) first sent by the virtual machine to the hypervisor or VMM (such as virtual trusted).
- the hypervisor or VMM such as virtual trusted
- the hypervisor or VMM sends the authentication information input by the user to the virtual security firmware
- the identifier of the virtual security firmware that is in a mapping relationship with the virtual storage device to be accessed is carried in the verification information.
- the secure firmware in physical memory Therefore, it is necessary to improve the security firmware in the physical memory during hardware virtualization, and extend the security firmware interface function to process the above notification messages and 3 certificate information sent by the Hypervisor or VMM.
- the notification command and the verification information required to be processed by the security firmware in this embodiment are added with an identifier of the virtual security firmware, and the security firmware needs to identify the notification instruction or verification through the extended interface function.
- the identifier of the virtual security firmware carried in the message then, For each different virtual security firmware identifier: the security firmware obtains a secure partition address of the virtual storage device that is mapped to the virtual security firmware according to the pre-stored correspondence between the virtual security firmware and the virtual storage device security partition address. And obtaining, according to the secure partition address, the verification information of the legitimate user required for the virtual security firmware to authenticate the user from the secure partition of the virtual storage device.
- a plurality of virtual security firmware is simulated by a secure firmware to authenticate users of different virtual storage devices. The specific process is shown in Figure 4b:
- Step 420 The security firmware receives a notification command sent by the hypervisor or the VMM, where the notification instruction carries an identifier of the virtual security firmware, the virtual security firmware carried in the notification instruction is marked with a step 421, and the security firmware is expanded by hardware virtualization.
- the interface function identifies an identifier carrying the virtual security firmware from the notification command. For example, in the present embodiment, the security firmware identifies that the identity of the carried security firmware is VTM-a.
- Step 422 The security firmware obtains the security of the virtual storage device that is in a mapping relationship with the virtual security firmware from the corresponding relationship between the virtual security firmware and the virtual storage device security partition address according to the identifier of the virtual security firmware. Partition address. For example, the security firmware obtains the secure partition address of the virtual storage device VDisk1 corresponding to VTM_a.
- Step 423 The security firmware obtains, according to the secure partition address, the verification information that the virtual storage device firmware reads the legal user of the virtual storage device VDisk1 from the secure partition address of the virtual storage device VDisk1.
- Step 424 The security firmware verifies the virtual machine user according to the verification information of the legal user and the verification information input by the user sent by the Hypervisor or the VMM.
- the security firmware compares the verification information input by the user with the verification information of the legal user, and if the verification information input by the user is consistent with the verification information of the legal user, the verification is passed; otherwise, the verification is performed. failure.
- the authentication information of the legitimate user read by the security firmware according to the secure partition address is as shown in Table 2. If the authentication information (user name: Sam; password: 12345) input by the user is in Table 2, the two are consistent. Table 2
- the hypervisor or the VMM may also send and receive the verification information input by the user to the security firmware.
- the accessed virtual storage device has a virtual security of the mapping relationship, so that the security firmware can select the verification information of the legitimate user of the virtual storage device to be accessed by the user, and verify the verification information input by the virtual machine user.
- the security firmware performs different processing according to the verification result. If the verification is performed, proceed to step 425, otherwise step 426 is performed.
- Step 425 the secure firmware allows an execution of an I/O operation instruction from a target address of the virtual machine user in a physical address space corresponding to the virtual storage device.
- Step 426 the security firmware blocks an I/O operation instruction in a physical address space corresponding to the virtual storage device from a target address of the virtual machine user.
- the security firmware can send the verification result to the virtual machine monitor or the virtual machine manager, and send the verification result to the virtual machine user through the virtual machine monitor or the virtual machine manager.
- an embodiment of the present invention further provides a hard disk including security firmware, the security firmware being configured to perform the method described in Figure 4b.
- the embodiment of the invention provides a method for processing an I/O operation, which virtualizes the security firmware in the physical storage device to obtain at least one virtual security firmware; and then establishes a mapping relationship between the virtual security firmware and the virtual storage device to implement virtualization. Binding of secure firmware to virtual storage devices.
- the virtual security firmware that is in a mapping relationship with the virtual storage device is triggered to verify the virtual machine user, and only when the verification is passed. Executing the I/O operation instruction; otherwise blocking the I/O operation instruction.
- the user accessing the virtual storage device can be authenticated, thereby achieving the purpose of screening legitimate users and illegal users of the virtual storage device, thereby improving data security.
- the virtual trusted storage device implemented in the virtualization scenario is made to have similar functions to the trusted storage device in the prior art. The optimization of the capacity of the second embodiment will be described in detail below.
- the upper limit of the capacity of each virtual storage device to be created may be set; when the virtual storage device is created, The capacity of the storage space allocated by the virtual storage device is smaller than the upper limit of the capacity corresponding to the virtual storage device.
- the setting requires two virtual storage devices through hardware virtualization technology.
- Each storage device has a capacity limit of 5G, but in reality only 2G storage space is allocated for each virtual storage device.
- the upper limit of the capacity of each of the virtual storage devices may be stored in the virtual trusted storage device manager.
- step S40 of FIG. 1 After the virtual machine user is verified in step S40 of FIG. 1, the following steps are further included:
- Step S510 if the verification is passed, determining whether the current capacity of the virtual storage device is sufficient to execute the I/O operation instruction, if it is sufficient to execute the I/O operation instruction, proceeding to step S520, otherwise proceeding to step S530.
- the determining process may be performed by a hypervisor, a virtual storage device management software, a virtual trusted storage device manager, or a virtual security firmware corresponding to the virtual storage device to be accessed.
- Step S520 executing the I/O operation instruction on the virtual storage device.
- step 309 in FIG. 3 please refer to the description of step 309 in FIG. 3, which will not be repeated here.
- Step S530 if the virtual machine user access operation is insufficient, the storage space is newly allocated for the virtual storage device, and the capacity of the newly allocated storage space and the newly allocated storage space are The sum of the capacities of the virtual storage devices is not greater than the upper limit of the capacity of the virtual storage devices.
- Step S540 executing the I/O operation instruction on the virtual storage device after the newly allocated storage space. For details, please refer to the description of step 309 in FIG. 3, which will not be repeated here.
- the processing method of the I/O operation provided by the embodiment of the present invention on the basis of the first embodiment, dynamically adjusts the storage space of the virtual storage device when the virtual security firmware passes the user verification, thereby realizing initial virtualization.
- a virtual storage device is created, less storage space is allocated, and subsequent effects are allocated as needed, which saves storage resources and helps to reduce the waste of a large amount of storage resources.
- FIG. 6 An embodiment of the present invention provides a processing device for an I/O operation, and a schematic structural diagram thereof is shown in FIG. 6, which includes:
- the detecting module 601 is configured to detect an I/O operation instruction from the virtual machine user to the virtual storage device.
- a verification triggering module 602 configured to: when the detecting module 601 detects the I/O operation instruction, trigger a virtual security firmware that has a mapping relationship with the virtual storage device to verify the virtual machine user, where the virtual security firmware is Obtained by virtualizing the security firmware.
- the verification triggering module 602 specifically includes an obtaining unit 6021 and a sending unit 6022: the obtaining unit 6021 is configured to obtain, according to a mapping relationship between the virtual security firmware and the virtual storage device, the corresponding to the virtual storage device. Virtual security firmware;
- the sending unit 6022 is configured to send a notification instruction to the security firmware, where the notification instruction carries an identifier of the virtual security firmware acquired by the acquiring unit, and the identifier of the virtual security firmware is used to enable the security
- the firmware acquires verification information of a legitimate user of the virtual storage device.
- the sending unit 6022 is further configured to send, to the security firmware, verification information input by the virtual machine user, so that the security firmware is input according to the verification information of the legal user and the virtual machine user.
- the verification information authenticates the virtual machine user.
- the processing device of the I/O operation in FIG. 6 further includes: a certificate allocation module 603, configured to allocate a public key certificate and a public and private key for the virtual security firmware, where The public key certificate and the public key are used to authenticate the identity of the virtual storage device when the virtual storage device in which the virtual security firmware has a mapping relationship is mounted.
- a certificate allocation module 603 configured to allocate a public key certificate and a public and private key for the virtual security firmware, where The public key certificate and the public key are used to authenticate the identity of the virtual storage device when the virtual storage device in which the virtual security firmware has a mapping relationship is mounted.
- the public and private keys allocated by the certificate allocation module 603 are further used to implement interaction between the virtual security firmware and the virtual machine user in the process of verifying the virtual machine user by the virtual security firmware.
- the public key certificate and the public key are stored in a secure partition in the virtual storage device corresponding to the virtual security device, and the secure partition in the virtual storage device refers to a storage space that the user cannot access.
- the processing device of the I/O operation in FIG. 6 further includes: a determining module 604, configured to determine, when the verification is passed, whether a current capacity of the virtual storage device is sufficient to perform the I/O operation instructions;
- the resource allocation module 605 is configured to: if the determining module 604 determines that the I/O operation instruction is insufficient to execute the I/O operation instruction, newly allocate a storage space for the virtual storage device, and the capacity of the newly allocated storage space and the newly allocated storage The sum of the capacities of the virtual storage devices before the space is not greater than the upper limit of the capacity of the virtual storage devices;
- the execution module 606 is configured to execute the I/O operation instruction on the virtual storage device after the resource allocation module 605 newly allocates the storage space.
- the embodiment of the present invention provides a processing device for an I/O operation, and when detecting an I/O operation instruction of a virtual storage device by a virtual machine user, triggering a virtual security firmware that has a mapping relationship with the virtual storage device to be accessed,
- the virtual machine user is authenticated, and the I/O operation instruction is allowed to be executed only when the verification is passed; otherwise, the I/O operation instruction is blocked.
- the processing device can verify the user accessing the virtual storage device in the virtualization scenario, thereby achieving the purpose of screening legitimate users and illegal users of the virtual storage device, and improving data security.
- the embodiment of the present invention provides a virtual security firmware obtained by virtualizing physical security firmware. Specifically, it may be obtained through hardware virtualization technology or may be obtained through software virtualization technology. . Its structural schematic diagram is shown in Figure 8, including:
- the monitoring module 801 is configured to monitor a trigger from the virtual machine monitor or the virtual machine manager.
- the verification module 802 is configured to verify the virtual machine user under the trigger of the virtual machine
- the foregoing verification module 802 includes a receiving unit 8021 and an obtaining unit 8022:
- the receiving unit 8021 is configured to receive a notification instruction sent by the virtual machine monitor or the virtual machine manager, where the notification instruction carries an identifier of the virtual security firmware;
- the verification unit 8022 is configured to identify an identifier of the virtual security firmware from the notification instruction, and obtain, according to the identifier of the virtual security firmware, a correspondence between a virtual security firmware and a virtual storage device secure partition address. a virtual storage device security partition address corresponding to the virtual security firmware; and obtaining the virtual storage device security to perform verification according to the virtual storage device secure partition address.
- the verification unit 8022 is further configured to receive verification information input by the virtual machine user sent by the virtual machine monitor or the virtual machine manager; according to the verification information of the legal user and the virtual machine user.
- the entered verification information authenticates the virtual machine user.
- the virtual security firmware provided by the embodiment of the present invention verifies the virtual machine user under the trigger of the virtual machine monitor or the virtual machine manager, and allows the virtual machine user to access the virtual machine as long as the verification is passed.
- the secure firmware has a mapped virtual storage device, thereby improving the security of the data in the virtual storage device.
- the embodiment of the present invention further provides a host.
- the host includes at least one processor 901 and a memory 902 connected to the at least one processor.
- the at least one processor 901 The code in the memory 902 is read.
- the processor 901 is configured to detect an I/O operation instruction from a virtual machine user to the virtual storage device; if the I/O operation instruction is detected, triggering a virtual security that has a mapping relationship with the virtual storage device Firmware verifies the virtual machine user; the virtual security firmware is a host The security firmware in the hard disk is obtained by virtualization.
- the processor may also perform the steps performed by the Hypervisor or the VMM in the method embodiment, and is not repeated here. For details, refer to the introduction in the method embodiment.
- an embodiment of the present invention further provides a hard disk 903 including a security firmware configured to perform the steps shown in Figure 4b. It is not repeated here.
- the hard disk 903 in Fig. 9 can also be used in other scenarios, not just in the scenario shown in Fig. 9, and can be used separately from the processor 901 and the memory 902 in Fig. 9.
- Those of ordinary skill in the art will appreciate that various aspects of the present invention, or possible implementations of various aspects, can be embodied as a system, method, or computer program product.
- aspects of the invention, or possible implementations of various aspects may be in the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, etc.), or a combination of software and hardware aspects, They are collectively referred to herein as "circuits," “modules,” or “systems.”
- aspects of the invention, or possible implementations of various aspects may take the form of a computer program product, which is a computer readable program code stored in a computer readable medium.
- the computer readable medium can be a computer readable signal medium or a computer readable storage medium.
- the computer readable storage medium includes, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or device, or any suitable combination of the foregoing, such as random access memory (RAM), read only memory (ROM), Erase programmable read-only memory (EPROM or flash memory), optical fiber, portable read-only memory (CD-ROM:).
- the processor in the computer reads the computer readable program code stored in the computer readable medium, such that the processor can perform the functional actions specified in each step or combination of steps in the flowchart; A device that functions as specified in each block, or combination of blocks.
- the computer readable program code can be executed entirely on the user's computer, partly on the user's computer, as a separate software package, partly on the user's computer and partly on the remote computer, or entirely on the remote computer or server.
- the functions noted in the various steps of the flowchart, or in the blocks of the block diagram may not be The order noted in it occurs.
- two steps, or two blocks shown in succession may be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.
- the spirit and scope of the invention may be understood that the present invention cover the modifications and the modifications of the invention
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Storage Device Security (AREA)
Abstract
一种输入输出I/O操作的处理方法和装置,用以在虚拟化场景下提高数据的安全性。该方法包括:虚拟机监视器或虚拟机管理器检测来自于虚拟机用户对虚拟存储设备的I/O操作指令;若检测到所述I/O操作指令,触发与所述虚拟存储设备存在映射关系的虚拟安全固件对所述虚拟机用户进行验证;所述虚拟安全固件是对安全固件进行虚拟化获得的。
Description
输入输出操作的处理方法和装置 技术领域
本发明涉及数据存储技术领域, 尤其涉及一种输入输出 ( I/O , Input/Output )操作的处理方法和装置。 背景技术
可信存储设备, 是指可以让合法用户访问、 同时能拒绝非法用户访问的 数据存储设备。 可信存储设备可以用来存储敏感数据, 解决由于非法用户访 问带来的数据被盗取、 丟失、 篡改等问题。
同时随着虚拟化技术的应用, 使得可以基于一台物理主机的硬件资源实 现多台虚拟机, 同理可以基于一个存储设备实现多个虚拟存储设备, 从而显 著提高计算机的工作效率。
然而, 发明人在实现本发明过程中发现, 现有技术至少存在以下缺陷: 虚拟存储设备可以挂载到同一个物理主机中的任意一个虚拟机上, 现有的可 信存储方案并不适用于虚拟化场景。 在虚拟化场景中, 虚拟机用户无需进行 验证就可以访问硬盘, 不能实现对用户硬盘访问操作的控制, 如何甄别合法 用户和非法用户对数据的访问操作, 保护数据安全成为一个需要解决的问题。 发明内容
本发明实施例提供一种 I/O操作的处理方法,用以在虚拟化场景下提高数 据的安全性。
本发明实施例提供的技术方案如下:
第一方面, 提供了一种 I/O操作的处理方法, 包括:
虚拟机监视器或虚拟机管理器检测来自于虚拟机用户对虚拟存储设备的
I/O操作指令;
若检测到所述 I/O操作指令,触发与所述虚拟存储设备存在映射关系的虚
拟安全固件对所述虚拟机用户进行验证; 所述虚拟安全固件是对安全固件进 行虚拟化获得的。
在所述第一方面的第一种可能的实现方式中, 所述触发与所述虚拟存储 设备存在映射关系的虚拟安全固件对所述虚拟机用户进行验证, 具体包括: 所述虚拟机监视器或虚拟机管理器从虚拟安全固件与虚拟存储设备的映 射关系中 , 获得与所述虚拟存储设备对应的所述虚拟安全固件;
所述虚拟机监视器或虚拟机管理器向所述安全固件发送通知指令,所述通 知指令中携带所述虚拟安全固件的标识, 所述虚拟安全固件的标识用于使所 述安全固件获取所述虚拟存储设备的合法用户的验证信息。
在所述第一方面的第一种可能的实现方式中, 还提供了所述第一方面的 第二种可能的实现方式, 所述触发与所述虚拟存储设备存在映射关系的虚拟 安全固件对所述虚拟机用户进行验证, 还包括:
所述虚拟机监视器或虚拟机管理器向所述安全固件发送用户输入的验证 信息, 以使所述安全固件根据所述合法用户的验证信息和所述虚拟机用户输 入的验证信息对所述虚拟机用户进行验证。
在所述第一方面、 所述第一方面的第一种可能的实现方式或所述第一方 面的第二种可能的实现方式中, 还提供了所述第一方面的第三种可能的实现 方式, 还包括:
所述虚拟机监视器或虚拟机管理器还用于为所述虚拟安全固件分配公钥 证书和 /或公私钥, 所述公钥证书和 /或公私钥用于在挂载与所述虚拟安全固件 存在映射关系的所述虚拟存储设备时, 对所述虚拟存储设备的身份进行认证。
在所述第一方面的第三种可能的实现方式中,还提供了所述第一方面的第 四种可能的实现方式, 所述公私钥还用于在所述虚拟安全固件对所述虚拟机 用户进行验证的过程中, 实现所述虚拟安全固件与所述虚拟机用户之间交互 信息的安全。
在所述第一方面的第三种可能的实现方式、或所述第一方面的第四种可能 的实现方式中, 还提供了所述第一方面的第五种可能的实现方式, 所述公钥
证书和 /或公私钥存储在所述虚拟存储设备中的安全分区中, 所述虚拟存储设 备中的安全分区是指所述虚拟机用户无法访问的存储空间。
在所述第一方面、 或第一方面的上述任意一种可能的实现方式中, 还提 供了所述第一方面的第六种可能的实现方式, 还包括:
若验证通过, 则判断所述虚拟存储设备的当前容量是否足以执行所述 I/O 操作指令;
若不足以执行所述 I/O操作指令, 则为所述虚拟存储设备新分配存储空 间, 所述新分配存储空间的容量与新分配存储空间之前所述虚拟存储设备的 容量之和不大于所述虚拟存储设备的容量上限;
在新分配存储空间之后的所述虚拟存储设备上, 执行所述 I/O操作指令。 第二方面, 提供了一种输入输出 I/O操作的处理方法, 包括: 在虚拟机监 视器或虚拟机管理器的触发下, 虚拟安全固件对虚拟机用户进行验证; 所述 虚拟安全固件是对安全固件进行虚拟化获得的。
在所述第二方面的第一种可能的实现方式中,所述虚拟安全固件是对所述 安全固件进行硬件虚拟化获得的, 所述安全固件通过所述硬件虚拟化具有扩 展的接口功能。
在第二方面的第一种可能的实现方式中, 还提供了所述第二方面的第二 种可能的实现方式, 所述在虚拟机监视器或虚拟机管理器的触发下, 虚拟安 全固件对虚拟机用户进行验证, 具体包括:
所述安全固件接收所述虚拟机监视器或虚拟机管理器发送的通知指令, 所述通知指令中携带所述虚拟安全固件的标识;
所述安全固件通过所述扩展的接口功能从所述通知指令中识别出所述虚 拟安全固件的标识;
所述安全固件根据所述虚拟安全固件的标识, 从虚拟安全固件与虚拟存 储设备安全分区地址的对应关系中, 获得与所述虚拟安全固件对应的虚拟存 储设备安全分区地址;
所述安全固件根据所述虚拟存储设备安全分区地址,获取所述虚拟存储设
机用户进行验证。
在第二方面的第二种可能的实现方式中, 还提供了所述第三方面的第二 种可能的实现方式, 所述安全固件根据所述合法用户的验证信息, 对所述用 户进行验证, 还包括:
所述安全固件接收所述虚拟机监视器或虚拟机管理器发送的所述虚拟机 用户输入的验证信息;
所述安全固件根据所述合法用户的验证信息和所述虚拟机用户输入的验 证信息对所述虚拟机用户进行验证。
第三方面, 提供了一种 I/O操作的处理装置, 包括:
检测模块, 用于检测来自于虚拟机用户对虚拟存储设备的 I/O操作指令; 验证触发模块, 用于当所述检测模块检测到所述 I/O操作指令时, 触发与 所述虚拟存储设备存在映射关系的虚拟安全固件对所述虚拟机用户进行验 证; 所述虚拟安全固件是对安全固件进行虚拟化获得的。
在所述第三方面的第一种可能的实现方式中, 所述验证触发模块包括获 取单元和发送单元:
所述获取单元, 用于从虚拟安全固件与虚拟存储设备的映射关系中, 获 得与所述虚拟存储设备对应的所述虚拟安全固件;
所述发送单元,用于向所述安全固件发送通知指令,所述通知指令中携带 所述获取单元获取的所述虚拟安全固件的标识, 所述虚拟安全固件的标识用 于使所述安全固件获取所述虚拟存储设备的合法用户的验证信息。
在所述第三方面的第一种可能的实现方式中,还提供了所述第三方面的第 二种可能的实现方式, 所述发送单元还用于向所述安全固件发送所述虚拟机 用户输入的验证信息, 以使所述安全固件根据所述合法用户的验证信息和所 述虚拟机用户输入的验证信息对所述虚拟机用户进行验证。
在所述第三方面、所述第三方面的第一种可能的实现方式、或第二种可能 的实现方式中, 还提供了所述第三方面的第三种可能的实现方式, 还包括:
证书分配模块, 用于为所述虚拟安全固件分配公钥证书和 /或公私钥, 所 述公钥证书和 /或公私钥用于在挂载与所述虚拟安全固件存在映射关系的所述 虚拟存储设备时, 对所述虚拟存储设备的身份进行认证。
在所述第三方面、 或所述第三方面的上述任意一种可能的实现方式中, 还提供了所述第三方面的第四种可能的实现方式, 还包括:
判断模块, 用于在验证通过时, 判断所述虚拟存储设备的当前容量是否 足以执行所述 I/O操作指令;
资源分配模块, 用于若所述判断模块判断出不足以执行所述 I/O操作指 令, 则为所述虚拟存储设备新分配存储空间, 所述新分配存储空间的容量与 新分配存储空间之前所述虚拟存储设备的容量之和不大于所述虚拟存储设备 的容量上限;
执行模块,用于在资源分配模块新分配存储空间之后的所述虚拟存储设备 上, 执行所述 I/O操作指令。
第四方面, 还提供了一种虚拟安全固件, 包括:
监测模块, 用于监测来自于虚拟机监视器或虚拟机管理器的触发; 验证模块, 用于在所述虚拟机监视器或虚拟机管理器的触发下, 对虚拟 机用户进行验证;
所述虚拟安全固件是对安全固件进行虚拟化获得的。
在所述第四方面的第一种可能的实现方式中, 所述验证模块包括接收单 元和获取单元:
所述接收单元, 用于接收所述虚拟机监视器或虚拟机管理器发送的通知 指令, 所述通知指令中携带所述虚拟安全固件的标识;
所述验证单元, 用于从所述通知指令中识别出所述虚拟安全固件的标识; 根据所述虚拟安全固件的标识, 从虚拟安全固件与虚拟存储设备安全分区地 址的对应关系中, 获得与所述虚拟安全固件对应的虚拟存储设备安全分区地 址; 根据所述虚拟存储设备安全分区地址, 获取所述虚拟存储设备安全分区
验证。
在所述第四方面的第一种可能的实现方式中,还提供了第四方面的第二种 可能的实现方式, 所述验证单元还用于接收所述虚拟机监视器或虚拟机管理 器发送的所述虚拟机用户输入的验证信息; 根据所述合法用户的验证信息和 所述虚拟机用户输入的验证信息对所述虚拟机用户进行验证。
第五方面, 还提供了一种主机, 包括至少一个处理器、 以及与所述至少 一个处理器连接的存储器, 所述至少一个处理器读取所述存储器中的代码; 所述处理器被配置执行上述第一方面、或第一方面的任意一种可能的实现 方式所述的方法。
第六方面, 还提供了一种硬盘, 包括安全固件, 所述安全固件被配置执行 第二方面、 或第二方面任意一种可能的实现方式所述的方法。
本发明实施例通过虚拟机监视器或虚拟机管理器检测来自于虚拟机用户 对虚拟存储设备的 I/O操作指令; 当虚拟机监视器或虚拟机管理器检测到来 自于虚拟机用户对虚拟存储设备的 I /O操作指令时, 触发与该虚拟存储设备 存在映射关系的安全固件对所述虚拟机用户进行验证。 提供了一种在虚拟化 场景下对虚拟机用户的 I/O操作进行认证的方案, 有助于提高数据的安全性。 附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对实 施例或现有技术描述中所需要使用的附图作一简单地介绍, 显而易见地, 下 面描述中的附图是本发明的一些实施例, 对于本领域普通技术人员来讲, 在 不付出创造性劳动的前提下, 还可以根据这些附图获得其他的附图。
图 1为本发明实施例的主要实现原理流程图;
图 2a为本发明实施例提供的 I/O操作的处理方法应用场景的示意图; 图 2b为本发明实施例中 I/O操作指令的传输路径示意图;
图 3为本发明实施例中虚拟机挂载虚拟存储设备的流程图;
图 4a为本发明实施例提供的 I/O操作的处理方法的流程图;
图 4b为本发明实施例中用户验证方法的流程图;
图 5为本发明实施例提供的另一种 I/O操作的处理方法的流程图; 图 6为本发明实施例提供的一种 I/O操作的处理装置的结构示意图; 图 7为本发明实施例提供的另一种 I/O操作的处理装置的结构示意图; 图 8为本发明实施例提供的一种虚拟安全固件的结构示意图;
图 9为本发明实施例提供的一种主机、 以及一种硬盘的示意图。 具体实施方式
下面结合各个附图对本发明实施例技术方案的主要实现原理、 具体实施 方式及其对应能够达到的有益效果进行详细的阐述。
本文中术语"和 /或", 仅仅是一种描述关联对象的关联关系, 表示可以存 在三种关系, 例如, A和 /或 B, 可以表示: 单独存在 A, 同时存在 A和 B, 单独存在 B 这三种情况。 另外, 本文中字符 "/" , 一般表示前后关联对象是 一种 "或" 的关系。
实施例一
本发明实施例提供的 I/O操作的处理方法应用于在虚拟化场景下,即在一 台或多台物理主机上已经通过虚拟化技术虚拟出多个虚拟机、 和多个虚拟存 储设备(例如虚拟硬盘), 每台虚拟机上都挂载有至少一个虚拟存储设备。
如图 1所示, 在所述虚拟化场景下, 执行步骤 S10和 S20,
步骤 S10, 对主机物理存储器(例如硬盘)中的安全固件进行虚拟化, 获 得至少一个虚拟安全固件, 所述虚拟安全固件的数量不少于需要被设定为虚 拟可信存储设备的数量。
为了描述的简便, 本发明实施例中的 "安全固件" 是指位于主机硬盘中 的物理安全固件。
可选地, 可以通过硬件虚拟化技术对安全固件进行处理, 从而得到多个 虚拟安全固件。 硬件虚拟化技术是实现虚拟机和虚拟存储设备的关键技术,
指以完整模拟硬件的方式提供全部接口 (同时还必须模拟特权指令的执行过 程), 通过 I/O虚拟化的方式来复用有限的资源。 将物理机真实的 I/O统一管 理, 抽象成多个逻辑 I/O以响应虚拟机的请求。 在这里不再进行详述。
可选地, 也可以利用软件虚拟化技术通过一个应用软件来模拟安全固件 的功能, 在运行多个所述应用软件的实例时, 就可以实现多个虚拟安全固件。
步骤 S20, 建立虚拟安全固件与虚拟存储设备的映射关系。
可选地, 若虚拟安全固件的数量小于虚拟存储设备的数量, 则可以从虚 拟存储设备中选择出数量与虚拟安全固件的数量相同的虚拟存储设备, 然后 将选择出的虚拟存储设备与虚拟安全固件建立——对应的映射关系, 后续这 些选择出的虚拟存储设备将作为虚拟可信存储设备, 而未被选择出的将作为 虚拟非可信存储设备。 当然在虚拟安全固件的数量与虚拟存储设备的数量不 同的情况下, 也可以釆用更为简便的方式来处理, 例如随机或顺次取出一个 虚拟安全固件和一个虚拟存储设备建立——对应的映射关系, 如果有剩余的 虚拟安全固件或虚拟存储设备, 则不为这些剩余的虚拟安全固件或虚拟存储 设备建立映射关系即可。
可选地, 可以通过映射关系表、 单向链表等结构来存储虚拟安全固件与 虚拟存储设备的——对应的映射关系。 当然该——对应的映射关系具体可以 为虚拟安全固件的标识与虚拟存储设备的标识之间的对应关系。
在步骤 S10生成的虚拟安全固件、 以及步骤 S20建立的映射关系的基础 上, 本发明实施例提供的 I/O操作的处理方法的主要实现原理流程如下:
步骤 S30, 检测来自于虚拟机用户对虚拟存储设备的 I/O操作指令。 设备的访问都会被虚拟机监视器( Hypervisor )或虚拟机管理器( VMM, virtual machine manager )接收, 并被转换为对物理存储设备的访问。 因此, 虚拟机 操作系统通过驱动程序对虚拟存储设备的 I/O操作指令都会发送到 Hypervisor 或 VMM, 可以通过 Hypervisor或 VMM中的 API、 驱动程序、 或者特权虚拟 机等机制检测、 或接收到虚拟机操作系统发送的来自于虚拟机用户对虚拟存
储设备的 I/O操作指令。 例如, 在剑桥大学开发的名为 Xen的开放源代码虚 拟机监视器中, 普通虚拟机中的客操作系统(GuestOS )都是通过其中的前端 驱动程序与特权虚拟机上的后端驱动程序通信, 读写虚拟存储设备。 虚拟存 储设备由特权虚拟机负责创建和赋给其它普通虚拟机。 特权虚拟机内部包含 了真实的设备驱动程序,可直接访问硬件, 负责与 Hypervisor提供的管理 API 交互。 上述 I/O操作指令也被称为输入 /输出指令、 读 /写指令。
待访问的虚拟存储设备既包括在创建虚拟机时静态分配给所述虚拟机的 虚拟存储设备, 也包括在创建所述虚拟机之后动态挂载在所述虚拟机上的虚 拟存储设备。 换句话说, 与物理主机用户访问物理存储设备的情况相类似, 虚拟机用户对虚拟存储设备的访问可以分为两种情况, 一是待访问的虚拟存 储设备是创建所述虚拟机时静态分配给所述虚拟机的虚拟存储设备的情况, 即待访问的虚拟存储设备是存储所述虚拟机的操作系统程序的虚拟存储设 备, 类似于物理主机中的本地硬盘; 二是待访问的虚拟存储设备是挂载在所 述虚拟机上的虚拟存储设备, 类似于物理主机中的移动硬盘、 通用串行总线 ( USB, Universal Serial BUS ) 闪存卡等。
需要说明的是, 虚拟机在启动虚拟操作系统时访问操作系统的引导区、 读写文件、创建或删除文件等, 均会发起对待访问的虚拟存储设备的 I/O操作 指令。
步骤 S40, 若检测到来自于虚拟机用户对虚拟存储设备的 I/O操作指令, 触发与所述虚拟存储设备存在映射关系的虚拟安全固件对所述虚拟机用户进 行验证, 若验证通过, 则进入步骤 S50, 否则进入步骤 S60。
在虚拟机发送到 Hypervisor或 VMM的 I/O操作指令中,除了携带操作符 (如读 /写操作符)、 地址信息之外, 还携带有待访问的虚拟存储设备的标识。
Hypervisor或 VMM可以根据接收到的 I/O操作指令中携带的虚拟存储设 备的标识, 从虚拟安全固件与虚拟存储设备的映射关系中, 查找到所述虚拟 存储设备对应的虚拟安全固件, 然后向查找到的虚拟安全固件发送通知指令, 接收到通知指令的虚拟安全固件, 对发起 I/O操作指令的虚拟机用户进行验
证。 或者, Hypervisor或 VMM在查找到所述虚拟存储设备对应的虚拟安全固 件后, 将所述 I/O操作指令发送给所述虚拟安全固件, 接收到所述 I/O操作指 令的虚拟安全固件, 对发起 I/O操作指令的虚拟机用户进行验证。
可选地, 该虚拟安全固件可以通过所述虚拟机的输出设备, 提示用户输 入用户名、 口令等验证信息, 例如通过 ISV软件提示用户输入用户名和密码, 也可以通过基本输入输出系统(BIOS, Basic Input Output System )界面提示 用户输入用户名和密码。 然后将用户输入的用户名密码对等验证信息, 与预 先存储的合法用户的验证信息进行比对, 若二者一致则验证通过, 反之验证 失败。
步骤 S50, 允许执行所述 I/O操作指令。
具体地, 若是 Hypervisor或 VMM通过向虚拟安全固件发送通知指令的 方式通知虚拟安全固件进行用户验证, 在验证通过后, 虚拟安全固件向 Hypervisor或 VMM返回一个用于为所述虚拟机用户开放对所述虚拟存储设备 的访问权限的应答指令, Hypervisor或 VMM将所述 I/O操作指令进行地址转 换后发送给物理存储器, 从而实现虚拟机用户访问所述虚拟存储设备。
若是 Hypervisor或 VMM通过向虚拟安全固件发送所述 I/O操作指令通知 虚拟安全固件进行用户验证, 在验证通过后, 虚拟安全固件也可以向 Hypervisor或 VMM返回该 I/O操作指令, Hypervisor或 VMM接收到返回的 I/O操作指令后, 确认虚拟安全固件为所述虚拟机用户开放对所述虚拟存储设 备的访问权限, Hypervisor或 VMM将所述 I/O操作指令进行地址转换后发送 给物理存储器, 从而实现虚拟机用户访问所述虚拟存储设备。
步骤 S60, 阻断所述 I/O操作指令。
附图 2a是本发明实施例提供的 I/O操作的处理方法应用场景的示意图, 为了简明起见, 在附图 2a 中仅以一个虚拟机( VM1 ), 两个虚拟存储设备 ( VDiskl~VDisk2 )的场景为例进行说明, 在有更多虚拟机和虚拟存储设备的 场景下, 该方法同样适用。 VM1、 VDiskl~VDisk2 都是基于一台物理主机的 硬件资源利用硬件虚拟化技术生成的。 该物理主机中还包含一个安全固件,
该安全固件用于和物理存储器 (如物理硬盘) 结合实现可信存储。 该安全固 件可以位于物理硬盘中, 在物理硬盘内部本身的管理固件基础上添加优化硬 盘存储资源的安全代码, 扩展了硬盘的功能, 提供加密、 散列、 安全存储、 解密、 数字签名和随机数字生成等功能。 攻击者无法修改物理硬盘中的管理 固件和安全固件。
上述实施例的执行主体可以是虚拟机监视器或虚拟机管理器, 更具体地, 可以是在虚拟机监视器或虚拟机管理器上实现的虚拟可信存储设备管理器。 虚拟可信存储设备管理器可以是位于虚拟机监视器或虚拟机管理器上的一个 软件模块, 用来负责虚拟存储设备的管理、 映射、 访问控制, 从而使得一个 物理存储设备可以虚拟化为多个虚拟存储设备。
更具体地,比如说是 Xen架构,虚拟可信存储设备管理器可以位于 domain 0; 如果是其他架构, 可以在类似的层添加一功能模块, 实现虚拟可信存储设 备管理器的功能。
在 Hypervisor或 VMM上实现的虚拟可信存储设备管理器, 用于创建和 管理虚拟安全固件。 可选地, 虚拟可信存储设备管理器具体可以是一个运行 在 Hypervisor或 VMM上的应用程序。
虚拟可信存储设备管理器首先利用硬件虚拟化技术对所述安全固件进行 硬件虚拟化, 获得两个虚拟安全固件 VTM— a、 VTM— b, 事实上完全可以获得 多于两个虚拟安全固件。 然后, 虚拟可信存储设备管理器为每个虚拟存储设 备分配一个虚拟安全固件, 建立虚拟安全固件与虚拟存储设备的——对应的 映射关系, 在本实施例中建立的映射关系表如表 1 所示, 从而实现虚拟存储 设备和虚拟安全固件的绑定。
表 1
为每个虚拟安全固件分配一个公钥证书和 /或公私钥, 所述公钥证书和 / 或公私钥用于虚拟机挂载该虚拟安全固件对应的虚拟存储设备时, 对虚拟存 储设备的身份进行认证, 若认证成功, 则虚拟机可以挂载该虚拟存储设备; 否则虚拟机可以拒绝挂载该虚拟存储设备。公钥证书中包含公钥和颁发者(物 理安全固件) 的签名信息, 每个虚拟安全固件的公钥证书和公私钥, 存储于 与该虚拟安全固件对应的虚拟存储设备的安全分区中, 其中, 虚拟存储设备 的安全分区是指虚拟存储设备中的保留区 (实际是物理硬盘中的不可寻址空 间), 即一段不可被用户访问和被用户所修改的存储空间。 安全分区在逻辑上 与虚拟存储设备中的其他存储空间相独立, 在物理上也与物理存储器中的其 他存储空间相独立, 可以用来存储加密密钥、 时间戳、 日志记录等数据。 只 有提供正确凭证的应用程序能够访问该安全分区, 而虚拟可信存储设备管理 器正是这样的应用程序。 虚拟存储设备的安全分区 (即虚拟安全分区) 的创 建方式为, 在对物理存储设备进行硬件虚拟化时, 对用户不可寻址的物理安 全分区和用户可寻址的物理存储空间进行虚拟化, 其中虚拟安全分区实际映 射的物理空间是物理存储设备上的安全分区。 这样, 虚拟存储设备中包括了 用户不可寻址的安全分区和用户可寻址的存储空间。
可选地, 虚拟机挂载虚拟存储设备时的认证过程如附图 3所示:
S310, 虚拟机向待挂载的虚拟存储设备发送一个随机数, 记为 randl ;
S320 , 待挂载的虚拟存储设备利用私钥对随机数进行加密后, 将已加密 的随机数 rand2返回给所述虚拟机;
S330 , 所述虚拟机利用待挂载的虚拟存储设备的公钥, 对接收到的已加 密的随机数 rand2进行解密, 得到解密后的随机数 rand3; 其中, 所述虚拟机
可以预先从颁发者、 第三方认证机构、 或通过特殊指令从待挂载的虚拟存储 设备中获得包含有所述待挂载的虚拟存储设备的公钥的公钥证书, 公钥证书 中不仅携带有公钥, 还携带有所述待挂载的虚拟存储设备的一些其他相关信 息, 例如待挂载的虚拟存储设备的身份标识信息、 以及与之对应的虚拟安全 固件的标识信息等等。
S340,所述虚拟机比较向待挂载的虚拟存储设备发送的随机数 randl与解 密后的随机数 rand3是否一致, 若是, 则认证成功, 说明所述待挂载的虚拟存 储设备是公钥证书中身份标识信息所声称的虚拟存储设备; 否则, 认证失败。
需要说明的是, 虚拟机和虚拟存储设备之间还可以釆用其他的基于公私 钥的身份认证流程, 在这里不再——列举。
在图 2a所示的场景下,下面将结合图 4a对本发明实施例提供的 I/O操作 的处理方法进行详细介绍。 在该场景中, 虚拟机 VM1的操作系统安装于虚拟 存储设备 VDiskl中, 虚拟机 VM1由于存储用户业务数据的需求, 需要通过 挂载虚拟存储设备 VDisk2作为 VM1上的另一个逻辑硬盘。
步骤 S401 , VM1向虚拟可信存储设备管理器查询 VDisk2对应的虚拟安 全固件; 并从所述虚拟可信存储设备管理器获知 VDisk2对应的虚拟安全固件 为 VTM— b。
步骤 S402, VM1根据虚拟安全固件 VTM— b的公钥证书, 对 VDisk2的 身份进行认证, 若认证成功则进入步骤 S403; 否则, 挂载失败流程结束。
VM1对 VDisk2的身份进行认证的具体过程请参照前面附图 3的介绍, 在这里不再重复。
步骤 S403 , VM1挂载 VDisk2。
VM1 可以釆用该虚拟机的操作系统提供的 API 或者驱动程序来实现对 VDisk2的挂载。
步骤 S404, VM1的操作系统检测到用户对 VDiskl的 I/O操作指令。 具 体地, 虚拟机操作系统可以通过系统级 API或存储器驱动程序, 检测到 I/O 操作指令, 该 I/O操作指令中携带待访问的虚拟存储设备的标识, 即 VDiskl
的标识。
步骤 S405 , VM1 的操作系统通过通信管道, 将所述 I/O操作指令通过 hupervisor转发到虚拟可信存储设备管理器。
步骤 S406, 虚拟可信存储设备管理器从表 1所示的各虚拟安全固件与虚 拟存储设备的映射关系表, 查询到 VDiskl对应的虚拟安全固件为 VTM— a。
步骤 S407 , 虚拟可信存储设备管理器将所述 I/O操作指令发送到与向 VDiskl对应的虚拟安全固件 VTM— a, 用以触发 VTM— a对发起所述 I/O操作 指令的虚拟机用户进行验证。
步骤 S408, VTM— a对发送所述 I/O操作指令的虚拟机用户进行验证, 若 验证通过, 进入步骤 S409, 否则进入步骤 S410。
可选地, 具体的验证方法包括但不限于:
方式一、 VTM— a通过对应的 ISV软件向用户显示一个认证界面, 提示用 户输入用户名和密码。 ISV软件将用户在该界面中输入的用户名和密码发送给 VTM a,若 VTM— a根据用户名和密码对用户认证成功, 则允许硬盘执行该用 户访问操作; 否则, 丟弃或阻断所述访问操作。 其中, 虚拟安全固件用以对 用户进行验证的预设的合法用户的用户名和对应的密码可以存储在, 该虚拟 安全固件对应的虚拟存储设备的安全分区中。
方式二、 VTM— a通过虚拟机的 BIOS界面提示用户输入用户名和密码。 BIOS将用户在该界面中输入的用户名和密码发送给 VTM— a,若 VTM— a根据 用户名和密码对用户认证成功, 则允许硬盘执行该用户访问操作; 否则, 丟 弃或阻断所述访问操作。 其中, 虚拟安全固件用以对用户进行验证的预设的 合法用户的用户名和对应的密码可以存储在, 该虚拟安全固件对应的虚拟存 储设备的安全分区中。
除了上述两种方式之外, 还可以釆用生物识别技术、 智能卡等方式对虚 拟机用户进行验证。 在这里不再——详述。
步骤 S409, 若验证通过, VTM— a允许在 VDiskl上执行所述 I/O操作指
具体地, VTM— a为所述虚拟机用户开放 VDiskl 的访问权限。 所述虚拟 机用户发起的 I/O 指令中携带有待访问数据在逻辑存储器中的逻辑地址, Hypervisor或 VMM通过文件系统中逻辑存储器的配置信息, 将所述 I/O指令 中的逻辑地址转换为逻辑区块标识, 然后由物理存储器中的存储控制器 (例 如物理硬盘中的管理固件)将所述逻辑地址进一步转换成对应的物理区块标 识, 最后再转换为物理存储器中对应的扇区标识, 最后通过驱动程序向物理 存储器发送携带有转换得到的物理扇区标识的 I/O指令, 从而实现对 VDiskl 中数据的访问。
可选地, 若验证通过, VTM— a还可以通过 ISV软件或者 BIOS界面提示 用户险证通过。
步骤 S410, 若验证失败, 则阻断所述 I/O操作指令。
可选地, 若验证失败, VTM— a还可以通过 ISV软件或者 BIOS界面提示 用户险证失败。
同理, 若 VM1的操作系统检测到用户对 VDisk2的 I/O操作指令, 则也 可以执行类似于步骤 S404〜步骤 S410的处理, 在这里不再重复。
釆用附图 4a所示的处理方法后, 附图 2a所示场景中, I/O操作指令的传 输路径如附图 2b中的细实线箭头所示, 先由虚拟机发送至虚拟可信存储设备 管理器, 然后由虚拟可信存储设备管理器发送给待访问的虚拟存储设备对应 的虚拟安全固件, 虚拟安全固件对用户验证通过后, 返回虚拟可信存储设备 管理器,最后 Hypervisor或 VMM将所述 I/O操作指令进行地址转换后发送给 物理存储器。虚拟可信存储设备管理器向虚拟安全固件发送的所述 I/O操作指 令起到了一个通知指令的作用, 当然也可以设置专门的通知指令来完成该作 用。
需要说明的是, 为了避免每次检测到用户对虚拟存储设备的 I/O指令时, 都要求用户输入用户名和密码对用户造成额外负担, 虚拟机操作系统可以在 每个用户登录虚拟机操作系统之后、 且该用户注销之前的时间段内, 用户第 一次访问一个虚拟存储设备时, 才执行步骤 S406, 用以触发对应的安全固件
对用户进行验证, 在上述时间段内, 同一用户后续对同一个虚拟存储设备访 问时,虚拟机操作系统直接将 I/O指令发送至 Hypervisor或 VMM中,执行地 址转换后发送给物理存储设备。
可选地, 为了确保在虚拟安全固件对用户进行验证时, 虚拟机(可以是 虚拟机中的 ISV软件、或者虚拟机的 BIOS界面或者生物识别终端等 )与虚拟 安全固件之间交互指令的安全性, Hypervisor或 VMM中的虚拟可信存储设备 管理器在转发这些交互指令时, 通过为虚拟安全固件分配的公钥证书和 /或公 私钥实现这些交互指令的安全通信, 从而保证这些交互消息不被其他虚拟机 所窃取。
下面将对在虚拟机监视器或虚拟机管理器的触发下, 虚拟安全固件对虚 拟机用户进行验证的底层实现过程进行介绍:
若虚拟安全固件是釆用硬件虚拟化技术生成的, Hypervisor或 VMM向虚 拟安全固件发送通知指令, 在硬件层次执行时实际上仍然是 Hypervisor 或 VMM向物理存储器中的安全固件发送通知消息,该通知指令中携带查找到的 所述虚拟安全固件的标识; 后续在与待访问虚拟存储设备存在映射关系的虚 拟安全固件对所述虚拟机用户进行验证的过程中 (即附图 1 中的步骤 S40或 附图 4a中的步骤 S408 ),虚拟机向虚拟安全固件发送用户输入的验证信息(例 如,携带用户输入的用户名和密码的指令等等 )先由虚拟机发送至 Hypervisor 或 VMM (如虚拟可信存储设备管理器), Hypervisor或 VMM向虚拟安全固 件发送用户输入的验证信息时, 也同理是将与待访问的虚拟存储设备存在映 射关系的虚拟安全固件的标识携带在所述验证信息中发送给物理存储器中的 安全固件。 因此, 需要在硬件虚拟化时对物理存储器中的安全固件进行改进, 扩展安全固件接口功能, 才能用于处理 Hypervisor或 VMM发来的上述通知 消息和 3全证信息。
首先, 与现有安全固件相比, 本实施例中的安全固件所需处理的通知指 令和验证信息中增加了一个虚拟安全固件的标识, 安全固件需要通过扩展的 接口功能识别出通知指令或验证信息中携带的虚拟安全固件的标识; 然后,
针对每个不同的虚拟安全固件的标识: 安全固件根据预先存储的所述虚拟安 全固件与虚拟存储设备安全分区地址的对应关系, 得到与该虚拟安全固件存 在映射关系的虚拟存储设备的安全分区地址, 然后根据该安全分区地址, 从 虚拟存储设备的安全分区中获得该虚拟安全固件对用户进行验证时所需的合 法用户的验证信息。 从而通过一个安全固件模拟多个虚拟安全固件对不同虚 拟存储设备的用户进行验证。 具体流程如附图 4b所示:
步骤 420, 安全固件接收 Hypervisor或 VMM发送的通知指令, 所述通知 指令中携带虚拟安全固件的标识, 所述通知指令中携带的虚拟安全固件的标 步骤 421 ,安全固件通过硬件虚拟化时扩展的接口功能从所述通知指令中 识别出携带虚拟安全固件的标识。 例如, 在本实施例中, 安全固件识别出携 带的安全固件的标识是 VTM— a。
步骤 422, 所述安全固件根据所述虚拟安全固件的标识,从所述虚拟安全 固件与虚拟存储设备安全分区地址的对应关系中, 获得与所述虚拟安全固件 存在映射关系的虚拟存储设备的安全分区地址。 例如, 安全固件得到 VTM— a 对应的虚拟存储设备 VDiskl的安全分区地址。
步骤 423 , 所述安全固件根据所述安全分区地址, 获取所述虚拟存储设备 固件从虚拟存储设备 VDiskl的安全分区地址中读取虚拟存储设备 VDiskl的 合法用户的验证信息。
步骤 424 , 所述安全固件根据所述合法用户的验证信息, 以及所述 Hypervisor或 VMM发送的用户输入的验证信息,对所述虚拟机用户进行验证。
具体地, 安全固件将所述用户输入的验证信息与所述合法用户的验证信 息进行比较, 若所述用户输入的验证信息与所述合法用户的验证信息一致, 则表明验证通过; 否则说明验证失败。 例如安全固件根据安全分区地址读取 的合法用户的验证信息如表 2所示, 若用户输入的验证信息 (用户名: Sam; 密码: 12345 )在表 2中, 则说明二者一致。
表 2
可选地, 为了使安全固件能够并行地对多个访问不同虚拟存储设备的虚 拟机用户进行验证, 所述 Hypervisor或 VMM在向所述安全固件发送用户输 入的验证信息时, 还可以将与待访问的虚拟存储设备存在映射关系的虚拟安 固件, 以便所述安全固件能够选择用户待访问的虚拟存储设备的合法用户的 验证信息, 对所述虚拟机用户输入的验证信息进行验证。
可选地, 安全固件根据验证结果分别执行不同的处理, 若验证通过进行 步骤 425, 否则进行步骤 426。
步骤 425,所述安全固件允许执行来自于所述虚拟机用户的目标地址在所 述虚拟存储设备对应的物理地址空间中 I/O操作指令。
步骤 426,所述安全固件阻断自于所述虚拟机用户的目标地址在所述虚拟 存储设备对应的物理地址空间中 I/O操作指令。
可选地, 安全固件可以把验证结果发送给虚拟机监视器或虚拟机管理器, 并通过虚拟机监视器或虚拟机管理器将验证结果发送给虚拟机用户。
相应地, 本发明实施例还提供了一种硬盘, 该硬盘中包括安全固件, 安 全固件被配置执行附图 4b所述的方法。
本发明实施例提供了一种 I/O操作的处理方法,对物理存储设备中的安全 固件进行虚拟化, 获得至少一个虚拟安全固件; 然后建立虚拟安全固件与虚 拟存储设备的映射关系, 实现虚拟安全固件与虚拟存储设备的绑定。 后续当 检测到虚拟机用户对虚拟存储设备的 I/O操作指令时,触发与所述虚拟存储设 备存在映射关系的虚拟安全固件对所述虚拟机用户进行验证, 只有在验证通 过时, 才允许执行所述 I/O操作指令; 否则阻断所述 I/O操作指令。 通过该方
案能够在虚拟化场景中, 对访问虚拟存储设备的用户进行验证, 从而达到甄 别虚拟存储设备的合法用户和非法用户的目的, 提高了数据的安全性。 使得 在虚拟化场景中所实现的虚拟可信存储设备具备与现有技术中可信存储设备 类似的功能。 实施例二 容量的优化, 下面将进行详细介绍。
在利用硬件虚拟化技术对主机中的物理存储器进行虚拟化获得多个虚拟 存储设备之前, 可以设定每个待创建的虚拟存储设备的容量上限; 在创建虚 拟存储设备时, 为每个所述虚拟存储设备分配的存储空间的容量小于所述虚 拟存储设备对应的容量上限。 例如, 设定需要通过硬件虚拟化技术获得 2个 虚拟存储设备, 每个存储设备的容量上限为 5G, 但实际上只为每个虚拟存储 设备分配了 2G的存储空间。 可选地, 上述各虚拟存储设备的容量上限可以存 储在虚拟可信存储设备管理器中,
请参照附图 5所示, 在附图 1步骤 S40对所述虚拟机用户进行验证之后, 还包括以下步骤:
步骤 S510, 若验证通过, 判断所述虚拟存储设备的当前容量是否足以执 行所述 I/O操作指令, 若足以执行所述 I/O操作指令, 则进入步骤 S520, 否 则进入步骤 S530。
可选地, 具体可以由 hypervisor、 虚拟存储设备管理软件、 虚拟可信存储 设备管理器、 或者待访问的虚拟存储设备对应的虚拟安全固件来进行上述判 断过程。
步骤 S520, 在所述虚拟存储设备上执行所述 I/O操作指令。 具体请参照 附图 3中步骤 309的描述, 在这里不再重复。
步骤 S530, 若不足以执行所述虚拟机用户访问操作, 则为所述虚拟存储 设备新分配存储空间, 所述新分配存储空间的容量与新分配存储空间之前所
述虚拟存储设备的容量之和不大于所述虚拟存储设备的容量上限。 步骤 S540,在新分配存储空间之后的所述虚拟存储设备上,执行所述 I/O 操作指令。 具体请参照附图 3中步骤 309的描述, 在这里不再重复。
本发明实施例提供的 I/O操作的处理方法,在实施例一的基础上,通过在 虚拟安全固件对用户验证通过时, 动态调整所述虚拟存储设备的存储空间, 从而实现在最初虚拟化创建虚拟存储设备时分配较少存储空间, 后续再按需 分配的效果, 节约了存储资源, 有助于减轻大量存储资源的浪费现象。 实施例三
本发明实施例提供了一种 I/O操作的处理装置, 其结构示意图如附图 6 所示, 包括:
检测模块 601 , 用于检测来自于虚拟机用户对虚拟存储设备的 I/O操作指 令;
验证触发模块 602 , 用于当检测模块 601检测到所述 I/O操作指令时, 触 发与所述虚拟存储设备存在映射关系的虚拟安全固件对所述虚拟机用户进行 验证所述虚拟安全固件是对安全固件进行虚拟化获得的。
可选地, 验证触发模块 602具体包括获取单元 6021和发送单元 6022: 所述获取单元 6021 ,用于从虚拟安全固件与虚拟存储设备的映射关系中, 获得与所述虚拟存储设备对应的所述虚拟安全固件;
所述发送单元 6022, 用于向所述安全固件发送通知指令, 所述通知指令 中携带所述获取单元获取的所述虚拟安全固件的标识, 所述虚拟安全固件的 标识用于使所述安全固件获取所述虚拟存储设备的合法用户的验证信息。
可选地, 所述发送单元 6022还用于向所述安全固件发送所述虚拟机用户 输入的验证信息, 以使所述安全固件根据所述合法用户的验证信息和所述虚 拟机用户输入的验证信息对所述虚拟机用户进行验证。
可选地,为了进一步提高安全性,附图 6中的 I/O操作的处理装置还包括: 证书分配模块 603 , 用于为所述虚拟安全固件分配公钥证书和公私钥, 所
述公钥证书和公私钥用于在挂载所述虚拟安全固件存在映射关系的所述虚拟 存储设备时, 对所述虚拟存储设备的身份进行认证。
可选地, 所述证书分配模块 603 分配的公私钥还用于在所述虚拟安全固 件对所述虚拟机用户进行验证的过程中, 实现所述虚拟安全固件与所述虚拟 机用户之间交互信息的安全通信, 所述交互信息是由虚拟机监视器或虚拟机 管理器转发的。 所述公钥证书和公私钥存储在所述虚拟安全固件对应的的虚 拟存储设备中的安全分区中, 所述虚拟存储设备中的安全分区是指用户无法 访问的存储空间。
可选地, 请参照附图 7, 附图 6中的 I/O操作的处理装置还包括: 判断模块 604, 用于在验证通过时, 判断所述虚拟存储设备的当前容量是 否足以执行所述 I/O操作指令;
资源分配模块 605, 用于若所述判断模块 604判断出不足以执行所述 I/O 操作指令, 则为所述虚拟存储设备新分配存储空间, 所述新分配存储空间的 容量与新分配存储空间之前所述虚拟存储设备的容量之和不大于所述虚拟存 储设备的容量上限;
执行模块 606,用于在资源分配模块 605新分配存储空间之后的所述虚拟 存储设备上, 执行所述 I/O操作指令。
本发明实施例提供了一种 I/O操作的处理装置,当检测到虚拟机用户对虚 拟存储设备的 I/O操作指令时,触发与待访问的虚拟存储设备存在映射关系的 虚拟安全固件, 对所述虚拟机用户进行验证, 只有在验证通过时, 才允许执 行所述 I/O操作指令; 否则阻断所述 I/O操作指令。 该处理装置可以在虚拟化 场景中, 对访问虚拟存储设备的用户进行验证, 从而达到甄别虚拟存储设备 的合法用户和非法用户的目的, 提高了数据的安全性。 本发明实施例提供了一种虚拟安全固件, 该虚拟安全固件是对物理安全 固件进行虚拟化获得的, 具体的, 可以是通过硬件虚拟化技术获得的, 也可 以是通过软件虚拟化技术获得的。 其结构示意图如附图 8所示, 包括:
监测模块 801, 用于监测来自于虚拟机监视器或虚拟机管理器的触发; 验证模块 802, 用于在所述虚拟机监视器或虚拟机管理器的触发下, 对虚 拟机用户进行验证。
可选地, 上述验证模块 802包括接收单元 8021和获取单元 8022:
所述接收单元 8021 , 用于接收所述虚拟机监视器或虚拟机管理器发送的 通知指令, 所述通知指令中携带所述虚拟安全固件的标识;
所述验证单元 8022, 用于从所述通知指令中识别出所述虚拟安全固件的 标识; 根据所述虚拟安全固件的标识, 从虚拟安全固件与虚拟存储设备安全 分区地址的对应关系中, 获得与所述虚拟安全固件对应的虚拟存储设备安全 分区地址; 根据所述虚拟存储设备安全分区地址, 获取所述虚拟存储设备安 户进行验证。
可选地, 所述验证单元 8022还用于接收所述虚拟机监视器或虚拟机管理 器发送的所述虚拟机用户输入的验证信息; 根据所述合法用户的验证信息和 所述虚拟机用户输入的验证信息对所述虚拟机用户进行验证。
本发明实施例提供的虚拟安全固件, 在在所述虚拟机监视器或虚拟机管 理器的触发下, 对虚拟机用户进行验证, 并且只要在验证通过时, 才允许虚 拟机用户访问与该虚拟安全固件存在映射关系的虚拟存储设备, 从而提高了 虚拟存储设备中数据的安全性。 实施例四
本发明实施例还提供了一种主机, 其结构示意图请参照附图 9, 该主机中 包括至少一个处理器 901、 以及与所述至少一个处理器连接的存储器 902, 所 述至少一个处理器 901读取所述存储器 902中的代码。
所述处理器 901被配置用于检测来自于虚拟机用户对虚拟存储设备的 I/O 操作指令; 若检测到所述 I/O操作指令,触发与所述虚拟存储设备存在映射关 系的虚拟安全固件对所述虚拟机用户进行验证; 所述虚拟安全固件是对主机
硬盘中的安全固件进行虚拟化获得的。
所述处理器还可以执行方法实施例中 Hypervisor或 VMM所执行的步骤, 在这里不再重复, 具体请参照方法实施例中的介绍。
参考附图 9, 本发明实施例还提供了一种硬盘 903 , 该硬盘中包括安全固 件, 安全固件被配置执行附图 4b所示的步骤。 在这里不再重复。 当然附图 9 中的硬盘 903也可以在其他场景中使用, 而不仅仅是与附图 9所示的场景中, 并且可以独立于附图 9中的处理器 901和存储器 902而单独使用。 本领域普通技术人员将会理解, 本发明的各个方面、 或各个方面的可能 实现方式可以被具体实施为系统、 方法或者计算机程序产品。 因此, 本发明 的各方面、 或各个方面的可能实现方式可以釆用完全硬件实施例、 完全软件 实施例 (包括固件、 驻留软件等等), 或者组合软件和硬件方面的实施例的形 式, 在这里都统称为"电路"、 "模块"或者"系统"。 此外, 本发明的各方面、 或 各个方面的可能实现方式可以釆用计算机程序产品的形式, 计算机程序产品 是指存储在计算机可读介质中的计算机可读程序代码。
计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。 计算机可读存储介质包含但不限于电子、 磁性、 光学、 电磁、 红外或半导体 系统、 设备或者装置,或者前述的任意适当组合,如随机存取存储器 (RAM)、 只读存储器 (ROM)、可擦除可编程只读存储器 (EPROM或者快闪存储器)、光 纤、 便携式只读存储器 (CD-ROM:)。
计算机中的处理器读取存储在计算机可读介质中的计算机可读程序代 码, 使得处理器能够执行在流程图中每个步骤、 或各步骤的组合中规定的功 能动作; 生成实施在框图的每一块、 或各块的组合中规定的功能动作的装置。
计算机可读程序代码可以完全在用户的计算机上执行、 部分在用户的计 算机上执行、 作为单独的软件包、 部分在用户的计算机上并且部分在远程计 算机上, 或者完全在远程计算机或者服务器上执行。 也应该注意, 在某些替 代实施方案中, 在流程图中各步骤、 或框图中各块所注明的功能可能不按图
中注明的顺序发生。 例如, 依赖于所涉及的功能, 接连示出的两个步骤、 或 两个块实际上可能被大致同时执行, 或者这些块有时候可能被以相反顺序执 行。 发明的精神和范围。 这样, 倘若本发明的这些修改和变型属于本发明权利要 求及其等同技术的范围之内, 则本发明也意图包含这些改动和变型在内。
Claims
1、 一种输入输出 I/O操作的处理方法, 其特征在于, 包括:
虚拟机监视器或虚拟机管理器检测来自于虚拟机用户对虚拟存储设备的
I/O操作指令;
若检测到所述 I/O操作指令,触发与所述虚拟存储设备存在映射关系的虚 拟安全固件对所述虚拟机用户进行验证; 所述虚拟安全固件是对安全固件进 行虚拟化获得的。
2、 如权利要求 1所述的方法, 其特征在于, 所述触发与所述虚拟存储设 备存在映射关系的虚拟安全固件对所述虚拟机用户进行验证, 具体包括: 所述虚拟机监视器或虚拟机管理器从虚拟安全固件与虚拟存储设备的映 射关系中 , 获得与所述虚拟存储设备对应的所述虚拟安全固件;
所述虚拟机监视器或虚拟机管理器向所述安全固件发送通知指令, 所述 通知指令中携带所述虚拟安全固件的标识, 所述虚拟安全固件的标识用于使 所述安全固件获取所述虚拟存储设备的合法用户的验证信息。
3、 如权利要求 2所述的方法, 其特征在于, 所述触发与所述虚拟存储设 备存在映射关系的虚拟安全固件对所述虚拟机用户进行验证, 还包括:
所述虚拟机监视器或虚拟机管理器向所述安全固件发送所述虚拟机用户 输入的验证信息, 以使所述安全固件根据所述合法用户的验证信息和所述虚 拟机用户输入的验证信息对所述虚拟机用户进行验证。
4、 如权利要求 1至 3中任一所述的方法, 其特征在于, 还包括: 所述虚拟机监视器或虚拟机管理器还用于为所述虚拟安全固件分配公钥 证书和 /或公私钥, 所述公钥证书和 /或公私钥用于在挂载与所述虚拟安全固件 存在映射关系的所述虚拟存储设备时, 对所述虚拟存储设备的身份进行认证。
5、 如权利要求 4所述的方法, 其特征在于, 所述公私钥还用于在所述虚 拟安全固件对所述虚拟机用户进行验证的过程中, 实现所述虚拟安全固件与 所述虚拟机用户之间交互信息的安全。
6、 如权利要求 4或 5所述的方法, 其特征在于, 所述公钥证书和 /或公私 钥存储在所述虚拟存储设备中的安全分区中, 所述虚拟存储设备中的安全分 区是指所述虚拟机用户无法访问的存储空间。
7、 如权利要求 1至 6任一所述的方法, 其特征在于, 还包括:
若验证通过, 则判断所述虚拟存储设备的当前容量是否足以执行所述 I/O 操作指令;
若不足以执行所述 I/O操作指令, 则为所述虚拟存储设备新分配存储空 间, 所述新分配存储空间的容量与新分配存储空间之前所述虚拟存储设备的 容量之和不大于所述虚拟存储设备的容量上限;
在新分配存储空间之后的所述虚拟存储设备上, 执行所述 I/O操作指令。
8、 一种输入输出 I/O操作的处理方法, 其特征在于, 包括:
在虚拟机监视器或虚拟机管理器的触发下, 虚拟安全固件对虚拟机用户 进行验证; 所述虚拟安全固件是对安全固件进行虚拟化获得的。
9、 如权利要求 8所述的方法, 其特征在于, 所述虚拟安全固件是对所述 安全固件进行硬件虚拟化获得的, 所述安全固件通过所述硬件虚拟化具有扩 展的接口功能。
10、 如权利要求 9 所述的方法, 其特征在于, 所述在虚拟机监视器或虚 拟机管理器的触发下, 虚拟安全固件对虚拟机用户进行验证, 具体包括: 所述安全固件接收所述虚拟机监视器或虚拟机管理器发送的通知指令, 所述通知指令中携带所述虚拟安全固件的标识;
所述安全固件通过所述扩展的接口功能从所述通知指令中识别出所述虚 拟安全固件的标识;
所述安全固件根据所述虚拟安全固件的标识, 从虚拟安全固件与虚拟存 储设备安全分区地址的对应关系中, 获得与所述虚拟安全固件对应的虚拟存 储设备安全分区地址;
所述安全固件根据所述虚拟存储设备安全分区地址, 获取所述虚拟存储
拟机用户进行验证。
11、 如权利要求 10所述的方法, 所述虚拟安全固件对虚拟机用户进行验 证 还包括:
所述安全固件接收所述虚拟机监视器或虚拟机管理器发送的所述虚拟机 用户输入的验证信息;
所述安全固件根据所述合法用户的验证信息和所述虚拟机用户输入的验 证信息对所述虚拟机用户进行验证。
12、 一种输入输出 I/O操作的处理装置, 其特征在于, 包括:
检测模块, 用于检测来自于虚拟机用户对虚拟存储设备的 I/O操作指令; 验证触发模块,用于当所述检测模块检测到所述 I/O操作指令时,触发与 所述虚拟存储设备存在映射关系的虚拟安全固件对所述虚拟机用户进行验 证; 所述虚拟安全固件是对安全固件进行虚拟化获得的。
13、 如权利要求 12所述的装置, 其特征在于, 所述验证触发模块包括获 取单元和发送单元:
所述获取单元, 用于从虚拟安全固件与虚拟存储设备的映射关系中, 获 得与所述虚拟存储设备对应的所述虚拟安全固件;
所述发送单元, 用于向所述安全固件发送通知指令, 所述通知指令中携 带所述获取单元获取的所述虚拟安全固件的标识, 所述虚拟安全固件的标识 用于使所述安全固件获取所述虚拟存储设备的合法用户的验证信息。
14、 如权利要求 13所述的装置, 其特征在于, 所述发送单元还用于向所 述安全固件发送所述虚拟机用户输入的验证信息, 以使所述安全固件根据所 述合法用户的验证信息和所述虚拟机用户输入的验证信息对所述虚拟机用户 进行验证。
15、 如权利要求 12至 14任一所述的装置, 其特征在于, 还包括: 证书分配模块, 用于为所述虚拟安全固件分配公钥证书和 /或公私钥, 所 述公钥证书和 /或公私钥用于在挂载与所述虚拟安全固件存在映射关系的所述 虚拟存储设备时, 对所述虚拟存储设备的身份进行认证。
16、 如权利要求 12至 15任一所述的装置, 其特征在于, 还包括: 判断模块, 用于在验证通过时, 判断所述虚拟存储设备的当前容量是否 足以执行所述 I/O操作指令;
资源分配模块, 用于若所述判断模块判断出不足以执行所述 I/O操作指 令, 则为所述虚拟存储设备新分配存储空间, 所述新分配存储空间的容量与 新分配存储空间之前所述虚拟存储设备的容量之和不大于所述虚拟存储设备 的容量上限;
执行模块, 用于在资源分配模块新分配存储空间之后的所述虚拟存储设 备上, 执行所述 I/O操作指令。
17、 一种虚拟安全固件, 其特征在于, 包括:
监测模块, 用于监测来自于虚拟机监视器或虚拟机管理器的触发; 验证模块, 用于在所述虚拟机监视器或虚拟机管理器的触发下, 对虚拟 机用户进行验证;
所述虚拟安全固件是对安全固件进行虚拟化获得的。
18、 如权利要求 17所述的虚拟安全固件, 其特征在于, 所述验证模块包 括接收单元和获取单元:
所述接收单元, 用于接收所述虚拟机监视器或虚拟机管理器发送的通知 指令, 所述通知指令中携带所述虚拟安全固件的标识;
所述验证单元, 用于从所述通知指令中识别出所述虚拟安全固件的标识; 根据所述虚拟安全固件的标识, 从虚拟安全固件与虚拟存储设备安全分区地 址的对应关系中, 获得与所述虚拟安全固件对应的虚拟存储设备安全分区地 址; 根据所述虚拟存储设备安全分区地址, 获取所述虚拟存储设备安全分区 验证。
19、 如权利要求 18所述的虚拟安全固件, 其特征在于, 所述验证单元还 用于接收所述虚拟机监视器或虚拟机管理器发送的所述虚拟机用户输入的验 证信息; 根据所述合法用户的验证信息和所述虚拟机用户输入的验证信息对
所述虚拟机用户进行 3全证。
20、 一种主机, 其特征在于, 包括至少一个处理器、 以及与所述至少一 个处理器连接的存储器, 所述至少一个处理器读取所述存储器中的代码; 所述处理器被配置执行如权利要求 1至 7任一所述的方法。
21、 一种硬盘, 其特征在于, 包括安全固件, 所述安全固件被配置执行 如权利要求 8至 11任一所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201280001960.9A CN103403732B (zh) | 2012-10-15 | 2012-10-15 | 输入输出操作的处理方法和装置 |
PCT/CN2012/082953 WO2014059575A1 (zh) | 2012-10-15 | 2012-10-15 | 输入输出操作的处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2012/082953 WO2014059575A1 (zh) | 2012-10-15 | 2012-10-15 | 输入输出操作的处理方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2014059575A1 true WO2014059575A1 (zh) | 2014-04-24 |
Family
ID=49565849
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2012/082953 WO2014059575A1 (zh) | 2012-10-15 | 2012-10-15 | 输入输出操作的处理方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103403732B (zh) |
WO (1) | WO2014059575A1 (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104660578B (zh) * | 2014-04-22 | 2017-12-19 | 董唯元 | 一种实现数据安全存储及数据访问控制的系统及其方法 |
CN103927489B (zh) * | 2014-04-22 | 2017-01-18 | 陈幼雷 | 一种数据可信存储的系统及其方法 |
GB2532415A (en) * | 2014-11-11 | 2016-05-25 | Ibm | Processing a guest event in a hypervisor-controlled system |
CN106033369A (zh) * | 2015-03-10 | 2016-10-19 | 杭州华三通信技术有限公司 | 存储设备使用方法及装置 |
CN105262735B (zh) * | 2015-09-24 | 2019-05-28 | 浪潮(北京)电子信息产业有限公司 | 一种云平台数据安全保护的方法及系统 |
CN105825136B (zh) * | 2016-03-24 | 2020-04-03 | 珠海泰坦软件系统有限公司 | 一种软硬件结合实现电子文件安全传递的方法及装置 |
CN106874795B (zh) * | 2017-01-16 | 2020-12-08 | 北京安云世纪科技有限公司 | 一种移动终端的防拆机方法、装置及移动终端 |
CN107239681A (zh) * | 2017-06-08 | 2017-10-10 | 山东超越数控电子有限公司 | 一种加密移动硬盘上位机软件结构 |
CN108345803B (zh) * | 2018-03-22 | 2021-01-08 | 北京可信华泰科技有限公司 | 一种可信存储设备的数据存取方法及装置 |
CN112947866A (zh) * | 2021-04-06 | 2021-06-11 | 苏州菲瑞斯信息技术有限公司 | 全闪存超融合阵列高性能存储系统及电子设备 |
CN113918251B (zh) * | 2021-09-18 | 2022-10-28 | 中标慧安信息技术股份有限公司 | 一种设备隔离的用户访问控制方法和装置 |
CN117992157A (zh) * | 2022-11-01 | 2024-05-07 | 深圳市中兴微电子技术有限公司 | 一种虚拟机的图像显示方法及装置 |
CN117412059B (zh) * | 2023-12-12 | 2024-04-16 | 北京象帝先计算技术有限公司 | 基于虚拟化的视频编解码系统、设备及方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101272242A (zh) * | 2008-02-29 | 2008-09-24 | 中兴通讯股份有限公司 | 基于网络的移动存储系统和方法 |
US20090164770A1 (en) * | 2007-12-20 | 2009-06-25 | Zimmer Vincent J | Hypervisor runtime integrity support |
CN101599025A (zh) * | 2009-07-07 | 2009-12-09 | 武汉大学 | 可信密码模块安全虚拟化方法 |
CN101808139A (zh) * | 2010-03-31 | 2010-08-18 | 重庆索伦互联网信息服务有限公司 | 云环境中的数据存储系统 |
US20120023591A1 (en) * | 2007-12-31 | 2012-01-26 | Ravi Sahita | Pre-boot protected memory channel |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100547515C (zh) * | 2005-07-15 | 2009-10-07 | 联想(北京)有限公司 | 支持可信计算的虚拟机系统及在其上实现可信计算的方法 |
US20110154023A1 (en) * | 2009-12-21 | 2011-06-23 | Smith Ned M | Protected device management |
US8462955B2 (en) * | 2010-06-03 | 2013-06-11 | Microsoft Corporation | Key protectors based on online keys |
US8607054B2 (en) * | 2010-10-15 | 2013-12-10 | Microsoft Corporation | Remote access to hosted virtual machines by enterprise users |
-
2012
- 2012-10-15 WO PCT/CN2012/082953 patent/WO2014059575A1/zh active Application Filing
- 2012-10-15 CN CN201280001960.9A patent/CN103403732B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090164770A1 (en) * | 2007-12-20 | 2009-06-25 | Zimmer Vincent J | Hypervisor runtime integrity support |
US20120023591A1 (en) * | 2007-12-31 | 2012-01-26 | Ravi Sahita | Pre-boot protected memory channel |
CN101272242A (zh) * | 2008-02-29 | 2008-09-24 | 中兴通讯股份有限公司 | 基于网络的移动存储系统和方法 |
CN101599025A (zh) * | 2009-07-07 | 2009-12-09 | 武汉大学 | 可信密码模块安全虚拟化方法 |
CN101808139A (zh) * | 2010-03-31 | 2010-08-18 | 重庆索伦互联网信息服务有限公司 | 云环境中的数据存储系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103403732B (zh) | 2015-07-08 |
CN103403732A (zh) | 2013-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11741230B2 (en) | Technologies for secure hardware and software attestation for trusted I/O | |
WO2014059575A1 (zh) | 输入输出操作的处理方法和装置 | |
US9698988B2 (en) | Management control method, apparatus, and system for virtual machine | |
CA2939925C (en) | Securing client-specified credentials at cryptographically attested resources | |
JP6484255B2 (ja) | 信頼実行環境を含むホストのアテステーション | |
KR101434069B1 (ko) | 피보호 장치 관리 | |
US10374805B2 (en) | Technologies for trusted I/O for multiple co-existing trusted execution environments under ISA control | |
US9471355B2 (en) | Secure operations for virtual machines | |
US9819496B2 (en) | Method and system for protecting root CA certificate in a virtualization environment | |
JP5346608B2 (ja) | 情報処理装置およびファイル検証システム | |
US11575672B2 (en) | Secure accelerator device pairing for trusted accelerator-to-accelerator communication | |
US10482278B2 (en) | Remote provisioning and authenticated writes to secure storage devices | |
US10747885B2 (en) | Technologies for pre-boot biometric authentication | |
WO2023273647A1 (zh) | 虚拟化可信平台模块实现方法、安全处理器及存储介质 | |
US20180198618A1 (en) | Apparatus and method for providing secure execution environment for mobile cloud | |
US20230236870A1 (en) | Safe entropy source for encrypted virtual machines | |
US10938857B2 (en) | Management of a distributed universally secure execution environment |
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: 12886762 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 12886762 Country of ref document: EP Kind code of ref document: A1 |