Secure Firmware Execution Environment for Option ROM Verification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current electronic devices lack effective security measures to prevent the execution of unauthorized firmware in option read-only memories, leading to potential system damage and malicious code propagation, with existing solutions being either cumbersome or time-consuming, such as requiring physical access or frequent device restarts.
Innovation Solution
A secure firmware execution environment is implemented by detecting new components, determining if they contain option read-only memories, and authorizing their execution through hash functions or public/private key exchanges, ensuring only authorized code is executed, thereby preventing unauthorized firmware from running.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If system firmware executes code from option ROM without verification, then device functionality is enhanced through peripheral devices, but system security deteriorates due to potential malicious code execution
Solution Approach 1:
The system performs preliminary verification of option ROM code integrity before execution by computing a hash value of the ROM image and comparing it against an authorized hash value stored in secure memory. This preliminary check prevents malicious code from executing while allowing legitimate peripheral devices to function, thus maintaining both security and adaptability
Solution Approach 2:
The patent introduces an intermediary verification mechanism between the system firmware and option ROM execution. The hash value comparison acts as a mediator that validates the authenticity of the ROM code, allowing the system to safely execute peripheral device code without directly trusting the option ROM content, thereby resolving the security-functionality contradiction
2Reliability
If hardware security measures are implemented to prevent physical access to option ROM, then system security is improved, but device complexity and ease of operation worsen due to tedious physical access requirements
Solution Approach 1:
The patent replaces mechanical/physical security measures (requiring physical access to device housing and expansion slots) with an automated software-based security mechanism. The system automatically verifies option ROM integrity through hash comparison without requiring user physical intervention, thus maintaining high security while dramatically improving ease of operation
Solution Approach 2:
The system performs self-verification of option ROM authenticity automatically during the boot process or device initialization. The firmware independently computes and compares hash values without requiring user action, making the security process transparent and convenient while maintaining strong security protections
3Reliability
If device restart is required each time a new peripheral device is connected, then security is improved by re-initializing the system, but productivity deteriorates due to substantial time loss
Solution Approach 1:
The system performs preliminary security verification of option ROM code before allowing execution, computing hash values and comparing them against authorized values stored in secure memory. This preliminary verification eliminates the need for system restarts when new devices are connected, maintaining security while preserving system availability and productivity
Solution Approach 2:
The patent implements a dynamic security verification process that adapts to device connection events. Instead of requiring static system restarts, the system dynamically verifies the authenticity of newly connected devices' option ROMs and integrates them if verified, thus maintaining security while improving system responsiveness and productivity
Data Source
AI summary
A method for providing a secure firmware operating environment includes detecting the presence of a new component, for example, a peripheral device. Next, a determination is made as to whether the peripheral device includes an option read-only memory. Next, a determination is made as to whether the option read-only memory is authorized to be executed on the corresponding device. If the option read-only memory is authorized, the code contained within the option read-only memory is executed. By only allowing execution of peripheral devices or components including authorized option read-only memories, security related breaches are substantially reduced or eliminated; thereby, enhancing device integrity.


