Microprocessor Key Protection via Authorization Tokens
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing information processing systems face challenges in efficiently enforcing compartmentalization to protect secrets within a program, even in the presence of vulnerabilities, as demonstrated by attacks like the Equifax breach and vulnerabilities in ProFTPd and NGINX, where sensitive data can leak due to insufficient security measures.
Innovation Solution
A processor-based solution that selectively imposes constraints on access to secrets using authorization tokens, encoding keys within key handles, and embedding these tokens in cryptographic instructions, ensuring access is restricted to authorized logical compartments and code regions, thereby protecting sensitive data without incurring excessive performance overhead.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If cryptographic keys are stored and accessed in traditional information processing systems, then the system can perform cryptographic operations, but the system becomes vulnerable to attacks where sensitive data can leak due to insufficient security measures
Solution Approach 1:
The patent segments the cryptographic key access control by dividing the system into authorized and unauthorized code regions, and into different logical compartments. Each compartment has specific access rights to cryptographic keys, preventing unauthorized access even if one compartment is compromised. This segmentation isolates vulnerabilities to specific compartments rather than exposing the entire system.
Solution Approach 2:
The patent introduces authorization tokens as intermediaries between code and cryptographic keys. These tokens embed access control information and are verified by the processor before allowing key access. The tokens act as a mediator that enforces compartmentalization policies, preventing direct access to keys unless proper authorization is present.
2Reliability
If encryption and access control measures are implemented to protect sensitive data, then security is improved, but performance overhead increases
Solution Approach 1:
The patent applies encryption and access control measures selectively rather than universally. Encryption is applied only to cryptographic keys and sensitive data, while authorization tokens are verified only when accessing protected resources. This partial application of security measures reduces overhead compared to encrypting all data and performing checks on every operation.
Solution Approach 2:
The patent performs access control verification through authorization tokens before cryptographic operations are executed. The tokens are embedded in code during compilation or loading, allowing the processor to verify authorization in advance rather than performing expensive cryptographic checks during runtime operations.
3Reliability
If compartmentalization is enforced to protect secrets, then access control is improved, but device complexity increases
Solution Approach 1:
The authorization tokens serve as compact intermediaries that encode compartmentalization policies. Rather than implementing complex runtime verification systems, the processor simply checks whether the embedded token matches the required authorization for the cryptographic operation. This simplifies the enforcement mechanism while maintaining strong compartmentalization.
Solution Approach 2:
The patent embeds copies of authorization information directly into the code structure through tokens. Instead of maintaining separate complex access control databases or verification systems, the authorization data is copied into the executable code itself, allowing the processor to verify access rights through simple token matching during code execution.
Data Source
AI summary
A processor core that includes a token generator circuit is to execute a first instruction in response to initialization of a software program that requests access to protected data output by a cryptographic operation. To execute the first instruction, the processor core is to: retrieve a key that is to be used by the cryptographic operation; trigger the token generator circuit to generate an authorization token; cryptographically encode the key and the authorization token within a key handle; store the key handle in memory; and embed the authorization token within a cryptographic instruction that is to perform the cryptographic operation. The cryptographic instruction may be associated with a first logical compartment of the software program that is authorized access to the protected data.


