Handle-Based Encryption Key Management for Secure Hardware
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current technologies fail to effectively restrict the usage of encryption keys, making them vulnerable to misuse by attackers who steal encrypted data, as the keys can be used outside their intended environments or after revocation.
Innovation Solution
A hardware processor uses a handle-based system where encryption keys are converted into 'handles' that restrict their usage, ensuring they can only be used within specific modes, such as the OS or specific applications, and are revoked after a security issue is detected, preventing unauthorized access.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If encryption keys are stored in accessible memory for processing, then encryption/decryption operations can be performed efficiently, but the keys become vulnerable to theft and misuse by attackers
Solution Approach 1:
The patent introduces handles as intermediary data structures that reference encryption keys without exposing them. Instead of directly accessing keys in memory, the system uses handles that contain restricted information about key location and usage parameters. This intermediary layer prevents attackers from stealing keys even if they compromise memory, while still allowing efficient encryption operations through the handle reference mechanism.
Solution Approach 2:
The patent applies local quality by making different parts of the key management system have different accessibility properties. Handles contain only the specific information needed for their intended purpose (key location, usage restrictions), while the actual keys remain protected in secure storage. This selective information distribution allows efficient local operations where needed while maintaining security elsewhere.
2Adaptability or versatility
If encryption keys are made accessible to applications for flexible usage, then adaptability is improved, but security control over key usage is weakened
Solution Approach 1:
The patent implements dynamic key usage control through handles that can be created with different restriction parameters. These parameters dynamically control which applications can access which keys and under what conditions. The system can change key accessibility by creating or revoking handles without moving or copying the actual keys, providing both flexibility and security control.
Solution Approach 2:
The patent changes the parameter representation from direct key access to handle-based access with configurable parameters. Handles contain parameters such as key location, usage restrictions, and validity periods. By modifying these parameters in handles rather than the keys themselves, the system achieves flexible adaptability while maintaining security control through parameter validation.
3Reliability
If encryption keys are revoked by removing access, then security is improved, but operations become slower due to key reloading
Solution Approach 1:
The patent applies preliminary action by pre-loading keys into secure processor registers before they are needed for operations. When handles are created, the system can anticipate future key usage and load keys in advance into protected storage. This eliminates the need for time-consuming key reloading when handles are revoked and recreated, as the keys are already positioned for rapid access when needed.
Solution Approach 2:
The patent maintains continuity of useful action by keeping keys in secure processor registers during handle revocation and recreation. Instead of completely removing and reloading keys from external storage, the system maintains key presence in protected internal storage, allowing handle operations to proceed without interrupting the underlying key availability. This ensures continuous encryption capability while maintaining security through handle-based control.
Data Source
AI summary
System, method, and apparatus embodiments for creating, using, and managing protected cryptography keys are described. In an embodiment, an apparatus includes a decoder, an execution unit, and a cache. The decoder is to decode a single instruction into a decoded single instruction, the single instruction having a first source operand to specify encrypted data and a second source operand to specify a handle including a first including ciphertext of an encryption key, an integrity tag, and additional authentication data. The execution unit is to execute the decoded single instruction to perform a first check of the integrity tag against the ciphertext and the additional authentication data for any modification to the ciphertext or the additional authentication data, perform a second check of a current request against one or more restrictions specified by the additional authentication data of the handle, decrypt the ciphertext to generate an encryption key only when the first check indicates no modification to the ciphertext or the additional authentication data and the second check indicates the one or more restrictions are not violated, decrypt the encrypted data with the encryption key to generate unencrypted data, and provide the unencrypted data as a result of the single instruction. The cache is to store the handle, wherein only a portion of the integrity tag is to be used in a lookup of the handle.


