Processor Boot Code Re-execution for Secure Cryptographic Operations
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing processor systems lack efficient and secure utilization of secure boot code after the operating system is up and running, limiting its use for security services and cryptographic operations.
Innovation Solution
A processor system with separate memory areas for boot program code, cryptographic keys, and operating system, where the boot program code can be re-executed for cryptographic operations and data encryption, ensuring only trusted software is used by isolating cryptographic keys and using hash values for verification.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the secure boot code is executed only once during system startup, then the system maintains simplicity in boot management, but the security code cannot be reused for ongoing cryptographic operations
Solution Approach 1:
The boot program is transformed from a static, one-time execution entity into a dynamic, reusable security module. The processor can now execute the boot program multiple times on demand throughout system operation, enabling continuous cryptographic operations while maintaining the original security-critical code's integrity and isolation characteristics.
Solution Approach 2:
The boot program is extended beyond its traditional single function of system initialization to serve multiple purposes: it performs both the original bootstrapping role and ongoing cryptographic operations such as data encryption, authentication, and secure communication throughout system operation.
2Productivity
If cryptographic keys are stored in accessible memory for ongoing operations, then cryptographic operations can be performed efficiently, but the risk of key compromise increases
Solution Approach 1:
Memory is divided into distinct segments with different access permissions. Critical cryptographic keys are stored in protected memory regions that are only accessible when the boot program is executing, while other memory areas remain accessible for general operations. This segmentation isolates sensitive data from potential threats.
Solution Approach 2:
The boot program acts as an intermediary layer between cryptographic keys and the rest of the system. Rather than allowing direct access to keys by applications or the operating system, all cryptographic operations must go through the boot program, which verifies permissions and controls key exposure, thus mediating security risks.
3Adaptability or versatility
If the boot program code is re-executed for cryptographic operations, then security services can be provided during OS operation, but the system complexity increases
Solution Approach 1:
The system adds a temporal dimension to boot program execution. Instead of a single linear execution flow from boot to OS operation, the system now supports multiple execution phases: initial boot execution, OS operation phase, and on-demand re-execution for cryptographic services. This allows security functions to be available throughout the system lifecycle without permanently compromising system architecture.
Data Source
AI summary
A processor system includes a processor and a first memory area storing a boot program code. The boot program code starts execution of the operating system when executed by the processor, performs a cryptographic operation when processor executes the boot program code. A second memory area stores one or more cryptographic keys and is only accessible to the boot program code. A third memory stores the operating system. A communication interface receives data over a communication network. The processor retrieves the boot program code from the first memory area and executes the boot program code to start execution of the operating system. The processor terminates execution of the boot program code. The processor is configured to re-execute the boot program code while the operating system is executed to cryptographically encrypt data upon the basis of the cryptographic keys stored in the second memory area.

