Host-Guest License Encryption via TPM Binding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The isolation of guest operating systems from host operating systems in computing systems poses difficulties in sharing sensitive information like license information, leading to potential software piracy and security risks due to the built-in flexibility of virtual machines and containers, which allows unauthorized copying and launching of applications across hosts without valid licenses.
Innovation Solution
Implementing a license engine in the kernel mode of the host operating system that uses a virtual Trusted Platform Module (vTPM) initialized in kernel mode, bound to a Trusted Platform Module (TPM), to securely exchange and encrypt license information between the host and guest operating systems, ensuring that even if the vTPM is moved, it cannot decrypt the license blob without the original TPM, thus preventing unauthorized access.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If license information is shared between host and guest operating systems, then user convenience is improved, but security risks increase due to potential unauthorized copying and piracy
Solution Approach 1:
The patent introduces a license proxy in the guest operating system that acts as an intermediary between the application and the host operating system's license engine. This proxy handles license requests securely through encrypted communication channels, allowing convenient license verification while preventing unauthorized access to license information. The intermediary architecture enables users to launch applications in guest systems with a single product key while maintaining security through the proxy's controlled access mechanisms.
Solution Approach 2:
The patent replaces traditional mechanical/license-based access control with cryptographic mechanisms. Instead of relying on physical or simple digital license files that can be copied, the system uses encrypted license blobs and cryptographic verification through the license proxy and engine. This substitution of cryptographic protocols for traditional license management enables seamless user experience while preventing piracy through mathematical security rather than physical barriers.
2Adaptability or versatility
If virtual machines and containers are made flexible for easy copying and migration, then operational flexibility is improved, but security control deteriorates due to unauthorized license bypass
Solution Approach 1:
The patent implements preliminary binding between the virtual trusted platform module (vTPM) in the guest operating system and the trusted platform module (TPM) in the host operating system during system initialization. This preliminary action establishes cryptographic bindings before any license operations occur, ensuring that even if virtual machines are copied or migrated, the license security is maintained through pre-established cryptographic relationships that cannot be easily replicated or bypassed.
Solution Approach 2:
The patent segments the license management system into distinct components: the license engine in the host operating system, the license proxy in the guest operating system, and the TPM/vTPM modules. This segmentation allows the flexible virtual machine architecture to be maintained while distributing security functions across isolated components. The license proxy in the guest system can handle local operations independently while maintaining secure communication with the host's license engine, enabling operational flexibility without compromising license security.
Data Source
AI summary
Techniques for secure sharing of data in computing systems are disclosed herein. In one embodiment, a method includes when exchanging data between the host operating system and the guest operating system, encrypting, at a trusted platform module (TPM) of the host, data to be exchanged with a first key to generate encrypted data. The method also includes transmitting the encrypted data from the host operating system to the guest operating system and decrypting, at the guest operating system, the transmitted encrypted data using a second key previously exchanged between the TPM of the host and a virtual TPM of the guest operating system.


