Software Trusted Platform Module Emulation for Legacy Security
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
There is a need for a software system that provides Trusted Platform Module (TPM) functionality without requiring a hardware TPM device, enabling secure computing on both TPM-enabled and non-TPM-enabled machines, and allowing for automated protection of legacy applications without source code dependence, while also supporting devices without pre-programmed secret keys.
Innovation Solution
The Software Root of Trust (SRT) provides a Soft-Trusted Platform Module (STPM) that conforms to Trusted Computing Group specifications, offering a software-created shielded location for processing sensitive data and acting as a bridge between applications and hardware TPMs, with features like license management, content management, policy management, key management, system integrity services, and anti-tamper services, utilizing a security wrapper and device driver to implement TPM functionality.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a hardware TPM device is used to provide trusted computing functionality, then security and reliability are improved, but device complexity and cost increase
Solution Approach 1:
The patent creates a software copy of the TPM functionality through the STPM, which replicates the essential security features of hardware TPM without requiring physical hardware. The STPM implements TPM commands, key management, and cryptographic operations in software, providing comparable security functionality while eliminating hardware dependencies and reducing device complexity
Solution Approach 2:
The patent replaces the mechanical/hardware TPM system with a software-based implementation. The STPM uses software components including a device driver, security wrapper, and protected capability implementations to substitute for the physical TPM hardware, achieving the same security objectives through software mechanisms rather than hardware
2Adaptability or versatility
If a software TPM (STPM) is implemented to provide TPM functionality without hardware, then adaptability and ease of operation are improved, but security and reliability may be compromised
Solution Approach 1:
The patent segments the STPM into multiple protected capabilities organized in a hierarchical structure, where each capability performs a specific security function. This segmentation allows the system to provide comprehensive TPM functionality while maintaining security through isolated, independently verified components. The segmentation also enables selective activation of capabilities based on system requirements
Solution Approach 2:
The patent implements nested protection layers within the STPM architecture, where security wrappers encapsulate protected capabilities, which in turn encapsulate cryptographic operations and data. This nested structure provides multiple layers of security validation, with each layer verifying the integrity and authenticity of operations performed by inner layers, thereby maintaining high security in software form
3Ease of operation
If automated protection mechanisms are inserted into legacy applications without source code, then ease of operation is improved, but device complexity and potential security risks increase
Solution Approach 1:
The patent introduces the STPM as an intermediary layer between legacy applications and the operating system/TPM hardware. The security wrapper acts as a mediator that intercepts application calls, translates them into TPM commands, and manages communication with the underlying TPM or simulated TPM functionality. This intermediary approach enables automatic protection of legacy applications without requiring modifications to the application code itself
Solution Approach 2:
The patent implements self-service mechanisms where the STPM automatically performs security operations such as key generation, certificate management, and integrity verification without requiring manual configuration or intervention. The system automatically detects legacy applications, applies appropriate protection levels, and manages security credentials, reducing the burden on users while maintaining security
Data Source
AI summary
A software system that transforms an original application into an STPM enabled application and runs the enabled application. At protect time, an anti-tamper tool accepts the original application, uses anti-tamper techniques to create a guarded application, creates a security wrapper according to a policy file, and wraps the guarded application to create the STPM enabled application. A trusted service provider is inserted at the entry point of the enabled application. A set of core services is made accessible to the enabled application through the trusted service provider. At runtime the trusted service provider creates a TSP thread and passes a security file to an STPM device driver implementing TPM functionality and protected by anti-tamper techniques. The TSP thread actively monitors the enabled application and interacts with the STPM device driver through the set of core services.


