Secure sidecar container
US-2024330031-A1 · Oct 3, 2024 · US
US9977880B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9977880-B2 |
| Application number | US-201414517264-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 17, 2014 |
| Priority date | May 16, 2007 |
| Publication date | May 22, 2018 |
| Grant date | May 22, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A virtualization system supports secure, controlled execution of application programs within virtual machines. The virtual machine encapsulates a virtual hardware platform and guest operating system executable with respect to the virtual hardware platform to provide a program execution space within the virtual machine. An application program, requiring license control data to enable execution of the application program, is provided within the program execution space for execution within the virtual machine. A data store providing storage of encrypted policy control information and the license control data is provided external to the virtual machine. The data store is accessed through a virtualization system including a policy controller that is selectively responsive to a request received from the virtual machine to retrieve the license control data dependent on an evaluation of the encrypted policy control information.
Opening claim text (preview).
The invention claimed is: 1. A computer system comprising: system hardware, including one or more physical processors, one or more physical memories, and one or more physical mass-storage devices; a virtualization layer, including multiple virtual device emulators and a virtual policy enforcer, that executes on one or more of the one or more physical processors; and one or more virtual machines, each virtual machine authorized to execute in the computer system by policy control data stored in one or more of the one or more physical mass-storage devices accessed by the virtual policy enforcer, each virtual machine including a virtual hardware platform implemented by one or more of the multiple device emulators within the virtualization layer, a guest operating system that provides an application-program execution environment, and an application program that executes within the application-program execution environment and that is licensed to execute by a license module that accesses license control information stored in one or more of the one or more physical mass-storage devices, wherein the virtual policy enforcer controls access to the policy control data, the policy control data encrypted and stored within one or more policy control files on one or more of the one or more physical mass-storage devices, the policy control data decrypted by a cipher function library included in the virtualization layer when the virtual policy enforcer accesses one or more of the one or more policy control files. 2. The computer system of claim 1 wherein, when the virtualization layer loads a virtual machine on the system hardware for initialization and execution, virtual devices within the virtual hardware platform of the virtual machine are functionally disabled by a default locked configuration that precludes operation of the application program or the guest operating system within the virtual machine. 3. The computer system of claim 2 wherein, once the virtual machine is initialized to permit interaction with the virtual policy enforcer, a virtual machine monitor queries the virtual policy enforcer to determine whether continued execution of the virtual machine is permitted within the computer system. 4. The computer system of claim 3 wherein, in response to the virtual-machine-monitor query, the virtual policy enforcer: accesses one or more of the one or more policy control files; derives a platform identifier from one or more components of the system hardware; and uses a license-value portion of policy control data extracted from the one or more policy control files and the derived platform identifier to cryptographically authenticate execution of the virtual machine within the computer system. 5. The computer system of claim 4 wherein, when the virtual policy enforcer successfully authenticates execution of the virtual machine within the computer system, the virtual policy enforcer: accesses one or more of the one or more policy control files; and uses a set of virtual machine properties extracted from the one or more policy control files along with virtual machine configuration files to configure the virtual machine for operation. 6. The computer system of claim 4 wherein, when the virtual policy enforcer fails to successfully authenticate execution of the virtual machine within the computer system, the virtualization layer terminates execution of the virtual machine. 7. The computer system of claim 1 wherein, following loading of an application program of a virtual machine for execution, the licensing module of the virtual machine determines whether or not the application program has been loaded into a virtual hardware platform by executing an invalid instruction that, when attempted to be executed by an operating system not executing as a guest operating system within a virtual machine, results in termination of execution of one or both of the application program and licensing module and that, when attempted to be executed by a guest operating system executing within a virtual machine, is trapped and recognized by the virtualization layer, the virtualization layer then permitting continued execution of the application program and licensing module. 8. The computer system of claim 1 wherein, following loading of the application program of the virtual machine and determination that the application program is loaded into the virtual hardware platform of the virtual machine by the licensing module, the licensing module issues a query that results in access, by the virtual policy enforcer, of a properties set for the application program stored in one or more of the one or more physical mass-storage devices. 9. The computer system of claim 8 wherein the licensing module issues the query to the virtual policy enforcer. 10. The computer system of claim 8 wherein the licensing module issues the query to a virtual dongle, the query including an application identifier and a license key. 11. The computer system of claim 8 wherein the licensing module issues the query by executing of one or more memory read/write operations directed to one or more pre-defined memory-mapped I/O port addresses. 12. The computer system of claim 8 wherein the virtual policy enforcer uses an application identifier and an application key and the properties set for the application program to determine whether or not the application program is authorized to execute within the virtual machine, allowing the application program to continue executing when the application program is authorized to execute within the virtual machine and otherwise terminating execution of the application program. 13. The computer system of claim 11 wherein, when the application program is authorized to execute within the virtual machine, license information extracted from a license file stored on one or more of the one or more physical mass-storage devices is used to configure features and functions of the application program for execution.
Protecting distributed programs or content, e.g. vending or licensing of copyrighted material (protection in video systems or pay television H04N7/16) {; Digital rights management [DRM]} · CPC title
Physics · mapped topic
Restricting unauthorised execution of programs · CPC title
Isolation or security of virtual machine instances · CPC title
Hypervisors; Virtual machine monitors · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.