Boot Program Firmware Confidentiality Roll-back Prevention
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing boot programs and information processing systems face challenges in ensuring the confidentiality of firmware, particularly when the firmware is updated, as the security measures are not robust enough to prevent roll-backs and maintain confidentiality.
Innovation Solution
A boot program that executes before firmware startup, acquires identification information, sets key data usability based on this information, and ensures that only the latest version of key data is usable, preventing roll-backs and maintaining confidentiality by disabling the generation of new key data after decryption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If firmware is updated to add new functions, then system functionality is improved, but confidentiality of the firmware may be lost
Solution Approach 1:
The key data is segmented into multiple versions (first version and second version), where each version is associated with specific firmware versions. This segmentation allows the system to maintain confidentiality by ensuring that only key data versions corresponding to the actual firmware version are usable, preventing confidentiality loss during firmware updates.
Solution Approach 2:
The boot program performs preliminary actions by acquiring identification information of the firmware before execution, and the key usability setting means pre-configures which key data versions are usable based on this identification information. This preliminary configuration ensures that confidentiality is maintained from the start of firmware execution, preventing unauthorized access or roll-back attacks.
2Adaptability or versatility
If multiple versions of key data are stored for different firmware versions, then flexibility in firmware updates is improved, but system complexity increases
Solution Approach 1:
The boot program and key usability setting means serve multiple functions: they acquire firmware identification information, determine usable key data versions, and enforce confidentiality constraints. This multi-functionality reduces the need for separate dedicated components for each task, thereby managing complexity while maintaining flexibility in firmware updates.
Solution Approach 2:
The system changes the usability parameter of key data based on firmware identification information. By dynamically adjusting which key data versions are usable according to the firmware version, the system achieves flexibility in supporting multiple firmware versions without requiring complex manual configuration or management of each key data version.
3Reliability
If key data usability is dynamically set based on firmware identification information, then confidentiality is improved, but processing time before firmware startup increases
Solution Approach 1:
The key usability setting means performs only the necessary action of setting usability for the relevant key data version based on firmware identification information, rather than checking or configuring all possible key data versions. This partial action approach maintains confidentiality while minimizing the time overhead during the boot process.
Solution Approach 2:
The boot program performs the key usability setting as a preliminary action during the initial boot process, before the main firmware execution begins. By completing this confidentiality-critical configuration early and efficiently, the system ensures security is established without significantly extending the overall boot time that users would perceive.
Data Source
Figure 1~2
Figure 3
Figure 4
AI summary
Identification information of a program read from outside, such as firmware, is acquired, and usability of a piece of key data in a range corresponding to the identification information is set, among a plurality of pieces of key data to be used for the program. As another example, based on new key data generated based on key data stored in advance in a memory and identification information, firmware corresponding to the identification information is decrypted.