Secure Processor Firmware Verification and Key Protection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current computing systems lack secure mechanisms to ensure the integrity and trustworthiness of software execution across different processing devices, particularly during the boot process, as untrusted processors may execute firmware without adequate verification, leading to potential security breaches.
Innovation Solution
A method where a trusted secure processor verifies and authenticates firmware and key pairs, enabling secure execution and communication between processing devices, using Software Guard Extensions (SGX) to protect memory spaces and establish a secure channel, ensuring that only trusted software modules access sensitive keys and data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a trusted secure processor verifies firmware before execution, then system security and integrity are improved, but the boot process complexity and time increase
Solution Approach 1:
The trusted secure processor performs verification of the firmware's digital signature before the firmware is executed on the untrusted processor. This preliminary verification action ensures that only authenticated firmware is loaded, establishing security before the main execution begins, thus improving reliability without significantly increasing overall system complexity.
Solution Approach 2:
The patent introduces a trusted secure processor as an intermediary between the firmware and the untrusted processor. This mediator verifies the firmware's authenticity and then securely transfers control to the untrusted processor, allowing the system to maintain security while enabling complex boot processes through modular architecture.
2Speed
If an untrusted processor executes firmware without verification, then boot process speed is improved, but system security and trustworthiness deteriorate
Solution Approach 1:
The trusted secure processor performs verification of the firmware's digital signature before execution on the untrusted processor. This preliminary action ensures security is established before speed-critical execution begins, allowing the untrusted processor to run verified firmware at high speed without compromising security.
Solution Approach 2:
The system is segmented into a trusted secure processor for verification tasks and an untrusted processor for execution tasks. This segmentation allows the verification process to be performed securely in isolation, then enables fast execution on the untrusted processor, resolving the contradiction between speed and security.
3Speed
If sensitive keys are stored in unprotected memory, then access speed is improved, but vulnerability to compromise increases
Solution Approach 1:
The patent creates a localized protected memory region with special security attributes that isolates sensitive keys from the rest of the memory space. This local quality change allows keys to be stored with enhanced protection while maintaining efficient access within the protected region, resolving the contradiction between access speed and security vulnerability.
Solution Approach 2:
The trusted secure processor acts as an intermediary that manages access to protected memory regions containing sensitive keys. It controls which software modules can access these keys and under what conditions, enabling fast authenticated access while preventing unauthorized access, thus resolving the speed-vulnerability contradiction.
4Ease of operation
If software modules communicate without secure channels, then communication simplicity is improved, but trustworthiness and integrity deteriorate
Solution Approach 1:
The trusted secure processor serves as an intermediary that establishes secure communication channels between software modules. It manages key distribution and authentication, allowing modules to communicate securely without each pair needing to implement complex security protocols, thus maintaining simplicity while improving trustworthiness.
Solution Approach 2:
The trusted secure processor provides universal security services to multiple software modules, including key generation, distribution, and communication verification. This multi-functional approach allows diverse modules to communicate securely through a unified security framework, maintaining ease of operation while ensuring communication integrity.
Data Source
AI summary
An example method is disclosed, for example a method of executing a software module in a computing system, the method comprising executing, in a first processing device of the computing system, a first software module to verify a second software module and to cause a second processing device of the computing system to execute the second software module, executing, in the second processing device, the second software module to execute, in the second processing device, a third software module and to provide a first key of a key pair to the third software module, and protecting, by the second processing device, a memory space associated with the third software module, wherein the memory space contains the first key of the key pair, wherein the first processing device contains a second key of the key pair.


