1. Technical Field
Embodiments of the present disclosure relate to virtual machine technology, and particularly to a virtual machine operation security system and method.
2. Description of Related Art
A physical machine such as a server, may have a plurality of virtual machines (VMs) installed for providing multiple services to users. When a user is granted access to the physical machine or to the host of the virtual machines, the user may also have access to the virtual machines without being specifically granted access to these virtual machines. Thus, the virtual machine security is compromised. Therefore, a virtual machine operation security system and method is needed.
The disclosure is illustrated by way of example and not by way of limitation in the figures of the accompanying drawings in which like references indicate similar elements. It should be noted that references to “an” or “one” embodiment in this disclosure are not necessarily to the same embodiment, and such references mean “at least one.”
In general, the word “module”, as used herein, refers to logic embodied in computing or firmware, or to a collection of software instructions, written in a programming language, such as, Java, C, or assembly. One or more software instructions in the modules may be embedded in firmware, such as in an erasable programmable read only memory (EPROM). The modules described herein may be implemented as either software and/or computing modules and may be stored in any type of non-transitory computer-readable medium or other storage device. Some non-limiting examples of non-transitory computer-readable media include CDs, DVDs, BLU-RAY, flash memory, and hard disk drives.
In this embodiment, the control computer 11 includes a first VM operation security unit 110, a first storage system 111, and a first processor 112. The client computer 12 includes a second VM operation security unit 120, a second storage system 121, and a second processor 122. The first storage system 111 and the second storage system 121 may be dedicated memories, such as EPROMs, hard disk drives (HDDs), or flash memories. In some embodiments, the first storage system 111 and the second storage system 121 may be external storage devices, such as external hard disks, storage cards, or data storage mediums.
The computerized code includes instructions that are executed by the first processor 112.
In step S401, the generation module 1100 generates an asymmetric key pair, which include a private key and a public key, for each of the client computers 12. The generation module 110 stores the public key in the first storage system 111, and stores the asymmetric key pair to the second storage system 121 of the corresponding client computer 12. In one embodiment, the asymmetric key pair are RSA asymmetric keys.
In step S402, the search module 1200 receives a user request for performing an operation to a virtual machine in the control computer 11, and searches a specific parameter of the virtual machine in the control computer 11. In one embodiment, the specific parameter of the virtual machine may be a universally unique identifier (UUID). The UUID of the virtual machine determines a physical address of the virtual machine and a configuration file of the virtual machine. In one example, three virtual machines denoted as VM1, VM2, and VM3 are installed in the control computer 11. A UUID of the virtual machine VM1 is represented as umUUID1. A UUID of the virtual machine VM2 is represented as umUUID2. A UUID of the virtual machine VM3 is represented as umUUID3. The UUIDS of the virtual machines may be pre-stored in a system configuration file of a system management basic input/output system (SMBIOS) of the control computer 11. The operation to the virtual machine may be a power-on operation, a power-off operation, a power-suspend operation, or a power-resume operation.
In step S403, the signature module 1201 electronically signs the specific parameter of the virtual machine using the private key stored in the second storage system 121 of the client computer 12. After the specific parameter of the virtual machine is signed electronically, an electronic signature is added to the specific parameter. In one embodiment, the signature module 1201 electronically signs the specific parameter of the virtual machine using RSA encryption algorithm.
In step S404, the request module 1202 generates an instruction of performing the operation to the virtual machine and sends the instruction to the control computer 11. The instruction includes the electronically signed specific parameter. For example, the request module 1202 generates an instruction PowerOnVM_Task(vCenterIP, Signx(vmUuid2), “on”) to power on the virtual machine VM2, where vCenterIP is an IP address of the control computer 11, Signx(vmUuid2) is the electronically signed UUID of the virtual machine VM2.
In step S405, the verification module 1101 receives the instruction with the electronically signed specific parameter from the client computer 12, retrieves the public key that is paired with the private key of the client computer 12 from the first storage system 111, and verifies whether the electronically signed specific parameter is with a valid signature using the retrieved public key. For example, the verification module 1101 verifies the electronically signed UUID of the virtual machine VM2 using the public key that is paired with the private key of the client computer 12 stored in the first storage system 111.
If the electronically signed specific parameter is with the valid signature, in step S406, the response module 1102 performs the operation to the virtual machine according to the instruction. For example, if the client computer 12 requests to perform a power-on operation to the virtual machine, the response module 1102 powers on the virtual machine.
If the electronically signed specific parameter is not with the valid signature, in step S407, the notification module 1103 notifies the client computer 12 of a verification failure. In some embodiment, the process may end if the electronically signed specific parameter is not with the valid signature.
Although certain inventive embodiments of the present disclosure have been specifically described, the present disclosure is not to be construed as being limited thereto. Various changes or modifications may be made to the present disclosure without departing from the scope and spirit of the present disclosure.
Number | Date | Country | Kind |
---|---|---|---|
101106035 | Feb 2012 | TW | national |