Software Trusted Platform Module Emulation for Legacy Security

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
ImprovesecurityVSAvoiddevice complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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

Inventive Principle:
Principle #26Copying

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

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

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

Engineering Contradiction:
ImproveadaptabilityVSAvoidsecurity
Core Design Contradiction:
Adaptability or versatilityVSReliability

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

Inventive Principle:
Principle #1Segmentation

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

Inventive Principle:
Principle #7Nested doll (Nesting)

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

Engineering Contradiction:
Improveease of operationVSAvoidsystem complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

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

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS7870399B2Software trusted platform module and application security wrapper
Publication Date: 2011.01.11 MICROSEMI CORP SECURITY SOLUTIONS
  • US7870399B2 patent drawing
  • US7870399B2 patent drawing
  • US7870399B2 patent drawing

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.