Trusted Platform Module Key Management for Secure Boot
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current processors lacking dedicated hardware support for trusted execution environments face challenges in securely managing decryption keys, making them vulnerable to unauthorized tampering and security attacks, especially during the boot process.
Innovation Solution
Incorporating a Trusted Platform Module (TPM) to generate, store, and manage decryption keys by measuring CPU boot ROM code, using hash operations to create unsealable keys, and implementing additional operations to destroy measurement values, ensuring only authorized code can access and use the keys.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If processors provide hardware support for trusted execution environment with isolated domains, then security is improved by preventing unauthorized access to data and resources, but device complexity increases due to additional hardware requirements
Solution Approach 1:
The patent introduces a Trusted Platform Module (TPM) as an intermediary component that handles key generation, storage, and management operations. The TPM acts as a mediator between the processor and the trusted execution environment, providing security functions without requiring the processor itself to have dedicated hardware support for trusted execution. This separates the security functionality into a dedicated module, improving security while managing complexity through specialization.
Solution Approach 2:
The system is segmented into distinct functional components: the processor for general computation, the TPM for security operations, and isolated execution domains. By dividing the system into separate modules with specific responsibilities, the patent achieves security through architectural segmentation rather than requiring the processor to handle all security functions, thus managing complexity while improving reliability.
2Device complexity
If processors lack dedicated hardware support for trusted execution, then device complexity is reduced, but security is worsened due to vulnerability to unauthorized tampering and security attacks
Solution Approach 1:
The TPM serves as an intermediary security module that compensates for the lack of dedicated trusted execution hardware in the processor. It provides key management and measurement verification functions that would otherwise require complex processor-level security features, thereby achieving security without increasing processor complexity.
Solution Approach 2:
The patent replaces the need for complex processor-level hardware security mechanisms with a separate TPM module that uses cryptographic operations and secure key management. This substitution allows systems without dedicated hardware support to achieve comparable security through alternative technical means centered around the TPM.
3Reliability
If decryption keys are stored in the TPM and unsealed for use, then secure boot is enabled by decrypting executable code, but the keys become vulnerable to access if not properly destroyed after use
Solution Approach 1:
The system performs preliminary actions by measuring and verifying the integrity of boot code before unsealing decryption keys. The TPM verifies measurements of the boot ROM and boot stage executable against expected values, and only unseals keys after successful verification. This preliminary validation ensures that keys are only exposed when the system is in a known good state, preventing key exposure risks.
Solution Approach 2:
The patent implements a cycle of key usage followed by destruction. After decryption keys are unsealed and used to decrypt and verify boot code, they are immediately destroyed or discarded. The TPM maintains keys in a sealed state until needed, uses them temporarily for verification, then discards them, ensuring they cannot be accessed by unauthorized code that might execute later in the boot process.
4Reliability
If measurement values are stored in the TPM PCR to verify boot code integrity, then security is improved by detecting tampering, but the stored measurement values can be destroyed by additional operations preventing future verification
Solution Approach 1:
The system performs integrity verification as a preliminary action before any key unsealing or code execution. The TPM measures the boot ROM and boot stage executable, storing measurement values in PCRs. Only after successful verification does the system proceed to unseal keys. This preliminary verification ensures that integrity checking occurs before any potentially compromising actions, maximizing security while maintaining verification capability.
Solution Approach 2:
The patent implements a rapid boot verification process where measurements are taken and verified quickly, and if successful, the system rushes through the key unsealing and code execution phases without pausing to allow for potential attacks. The measurement values are used immediately for verification and then the system progresses rapidly, minimizing the window where measurement values could be targeted by attacks.
Applied Scientific Principles
This section explains which scientific principles are used to turn an abstract innovation direction into a practical engineering solution.
Function Achieved in This Case
This approach provides secure boot mechanisms that prevent unauthorized access and tampering, even in systems without dedicated hardware, by using TPMs to securely generate, use, and destroy decryption keys, thus enhancing overall system security.
Implementation Method 1
A decryption key stored in the TPM is unsealed and can be used to provide secure boot by using the unsealed key to decrypt executable code executed by the computer during boot
Data Source
AI summary
Methods and apparatus are disclosed for securing executable code for execution with a processor using a trusted platform module (TPM). In one example of the disclosed technology, a method of decrypting executable code for execution includes measuring values stored in a CPU boot ROM and measuring second values for executable code stored in non-volatile memory, storing the resulting measurement value in a TPM platform configuration register. The PCR value is used to unseal a key stored in non-volatile memory of the TPM, which key is used to decrypt executable code for execution. Security can be further enhanced by destroying the values stored in the PCR by performing additional measurement operations with the TPM PCR used to generate the measurement value.


