Boot Program Firmware Confidentiality Roll-back Prevention

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvefirmware functionalityVSAvoidfirmware confidentiality
Core Design Contradiction:
Adaptability or versatilityVSReliability

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improvefirmware update flexibilityVSAvoidkey data management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

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.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If key data usability is dynamically set based on firmware identification information, then confidentiality is improved, but processing time before firmware startup increases

Engineering Contradiction:
Improvefirmware confidentialityVSAvoidboot program execution time
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #16Partial or excessive action

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP3007094B1Boot program, information processing apparatus, information processing system, information processing method, semiconductor apparatus, and program
Publication Date: 2021.05.05 NINTENDO CO LTD
  • EP3007094B1 patent drawingFigure 1~2
  • EP3007094B1 patent drawingFigure 3
  • EP3007094B1 patent drawingFigure 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.