Trusted Processor Volatile Memory Key Generation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing computing systems face challenges in reducing the trusted computing base (TCB) due to the reliance on non-volatile memory for long-term storage of secret data, which is susceptible to attacks and complicates data transfer between owners, and current security solutions are operationally complex and unreliable.
Innovation Solution
A computing system utilizing a trusted processor that generates cryptographic keys based on a physically unclonable function (PUF) in volatile memory, allowing for secure data encryption and integrity verification without relying on non-volatile memory for key storage, thereby reducing the TCB and enhancing security.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Duration of action of stationary object
If non-volatile memory is used for long-term storage of secret data in TPM modules, then data persistence is improved, but security is worsened due to susceptibility to offline attacks and difficulty in device transfer
Solution Approach 1:
The patent extracts the secret key storage function from non-volatile memory and relocates it to volatile memory within a trusted processor. The TPM module no longer stores secret keys in its non-volatile memory,而是 generates them dynamically in volatile memory when needed, eliminating the security vulnerability of persistent key storage while maintaining data persistence through encrypted storage in untrusted memory.
Solution Approach 2:
The patent introduces encrypted data storage in untrusted memory as an intermediary between the trusted processor and persistent storage requirements. Secret keys remain in volatile memory of the trusted processor, while data is stored encrypted in untrusted memory, with the trusted processor acting as the mediator that decrypts and processes data only when needed, preventing offline attacks on persistent key storage.
2Reliability
If TPM modules are physically separated from the main processor, then secret data protection is improved, but device complexity and operational reliability are worsened
Solution Approach 1:
The patent merges the trusted processor functionality directly into the main processor unit, eliminating the need for a physically separate TPM module. The processor is configured to operate in both trusted and untrusted modes, combining previously separate functions into a single integrated device, thereby reducing system complexity while maintaining secret data protection through software-based trusted execution environments.
Solution Approach 2:
The processor is designed with multi-functionality, capable of operating in both trusted and untrusted modes. This universal design eliminates the need for dedicated separate hardware for trusted operations, allowing the same processor to handle both secure key generation in volatile memory and general computing tasks, thereby reducing overall device complexity.
3Reliability
If non-volatile memory with limited write cycles is used for key storage, then security is improved, but productivity and adaptability are worsened due to inability to store dynamic data
Solution Approach 1:
The patent extracts the key storage function from non-volatile memory with limited write cycles and relocates it to volatile memory. This allows frequent updates and changes to cryptographic keys without wearing out the storage medium, enabling dynamic data storage while maintaining security through the trusted processor's control over key generation and management.
Solution Approach 2:
The patent changes the storage medium parameter from non-volatile memory with limited write cycles to volatile memory with unlimited write capability. This parameter change enables the system to store and frequently update dynamic data such as cryptographic keys, session data, and temporary information without reliability concerns about write cycle exhaustion.
Data Source
Figure 1
Figure 2A~2B
Figure 3
AI summary
A method for operating a computing system with a trusted processor include generating a secret cryptographic key based on a physically unclonable function in at least one hardware component in the trusted processor, generating a first public key and first private key using first secret cryptographic key, and executing instruction code corresponding to a first software program. The method further includes generating output data with the trusted processor during execution of the first software program, generating encrypted data corresponding to the output data using the first public key for at least a portion of the encryption, generating a signature of the encrypted data, and transmitting with an input/output (I/O) interface operatively connected to the trusted processor the encrypted data and the signature for storage in an untrusted memory.