Processor Hardware Key for Secure Secret Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Information processing systems are vulnerable to hardware-based attacks that allow attackers to read secrets stored in system memory, even if hashed values are used, as they can still be compromised through dictionary attacks or other methods.
Innovation Solution
Implementing a processor with safety hardware and logic that supports instructions for encrypting, decrypting, and comparing secrets using a secret key inaccessible to software, ensuring that only hardware can execute these operations, thereby protecting secrets from unauthorized access.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If secrets are stored in system memory using conventional methods, then the system can access and use the secrets, but the secrets become vulnerable to hardware-based attacks and cold-boot attacks
Solution Approach 1:
The secret value is divided into multiple shares using secret sharing schemes, where each share is stored in a separate memory location. No single memory location contains the complete secret, so even if an attacker extracts data from memory, they cannot reconstruct the secret without obtaining all shares. This segmentation approach directly addresses the vulnerability to hardware-based attacks by ensuring that partial memory dumps are insufficient for secret recovery.
Solution Approach 2:
The patent introduces a trusted platform module (TPM) or secure enclave as an intermediary between the secret storage and access operations. The secret is encrypted using a key stored in the TPM/secure enclave, which is itself protected by physical security measures. This intermediary layer provides hardware-based protection that prevents direct access to secrets even when memory is compromised, while still allowing authorized access when needed.
2Reliability
If hashed values of secrets are stored in system memory, then direct reading of plaintext secrets is prevented, but the system remains vulnerable to dictionary attacks and other cryptographic analysis
Solution Approach 1:
The patent performs preliminary encryption of the secret value using a cryptographically secure algorithm before storing it in memory, rather than relying on hashing. The encryption key is either stored securely in hardware or derived from other protected secrets. This preliminary protective action ensures that even if memory is compromised, the attacker receives encrypted data that cannot be easily reversed through dictionary attacks, as encryption provides strong semantic security.
Solution Approach 2:
The patent changes the cryptographic parameter from hashing (which is one-way but vulnerable to pre-computed attacks) to symmetric or asymmetric encryption. This parameter change transforms the stored representation from a deterministic hash that can be attacked with rainbow tables to encrypted data that requires the actual decryption key, which is protected by hardware security measures. This fundamentally changes the attack surface from computational to physical security.
3Reliability
If memory protection mechanisms are implemented, then secret security is improved, but system complexity and overhead increase
Solution Approach 1:
The patent implements self-service security where the system automatically manages secret sharing and encryption without requiring complex external security infrastructure. The secret sharing scheme allows the system to autonomously reconstruct secrets when all shares are present, and the encryption/decryption operations are performed automatically by the operating system or application layer. This self-service approach reduces the need for additional hardware security modules while maintaining strong security.
Solution Approach 2:
The patent designs the secret protection mechanism to work with existing memory management and cryptographic libraries already present in modern operating systems. The secret sharing and encryption functionality is built upon universal cryptographic primitives that can be implemented using standard system libraries, rather than requiring proprietary or specialized hardware. This multi-functionality approach allows the same mechanism to protect various types of secrets across different applications without increasing overall system complexity.
Data Source
AI summary
Embodiments of an invention for method, apparatus, and instructions for safely storing secrets in system memory are disclosed. In one embodiment, a processor includes a hardware key, an instruction unit, and an encryption unit. The instruction unit is to receive an encryption instruction and a compare instruction. The encryption instruction is to have a first plaintext input value. The compare instruction is to have a second plaintext input value. The encryption unit is to, in response to the encryption instruction, encrypt the first plaintext input value using the hardware key to generate a ciphertext value, and, in response to the compare instruction, decrypt the ciphertext value using the hardware key to generate a plaintext output value and compare the plaintext output value to the second plaintext input value.


