Firmware Verified Boot Using Cryptographic Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Personal computing devices are vulnerable to malicious attacks through modification of their boot paths, allowing malware to be introduced into the firmware or operating system, compromising security and potentially leading to data theft or system exploitation.

Innovation Solution

A verified boot process is implemented using cryptographic hash algorithms and public-key encryption to authenticate the firmware and operating system, ensuring that only authorized and unmodified code is executed during the boot process, thereby preventing malicious modifications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If firmware is made read-write to allow updates and corrections, then adaptability and ease of repair are improved, but security and reliability deteriorate because the firmware can be modified by malicious actors

Engineering Contradiction:
Improvefirmware update capabilityVSAvoidsystem security
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The firmware is divided into multiple segments or components, each with its own digital signature. This allows the system to verify the integrity of individual firmware segments independently, enabling selective updates while maintaining security. The segmentation principle resolves the contradiction by allowing read-write access for updates while preserving reliability through granular verification.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Digital signatures are pre-computed and stored with the firmware images before deployment. This preliminary cryptographic preparation enables the system to verify firmware integrity before execution, allowing the firmware to be read-write during operation while maintaining security through pre-established trust anchors.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If cryptographic verification is performed on all firmware portions, then security is improved, but boot process time and system complexity increase

Engineering Contradiction:
Improvefirmware authenticationVSAvoidboot process duration
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The firmware verification process is segmented into multiple stages, with different verification depths applied to different portions. Critical boot-time firmware segments undergo full cryptographic verification, while less critical segments use lighter verification methods. This segmentation reduces overall verification time while maintaining security for essential components.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs partial verification by focusing cryptographic checks on critical firmware portions that must be absolutely trusted, rather than verifying every single byte of all firmware. This partial action approach maintains security for essential functions while reducing boot time by skipping redundant verification on non-critical segments.

Inventive Principle:
Principle #16Partial or excessive action

3Measurement precision

If multiple cryptographic hash algorithms are used for verification, then measurement precision and security are improved, but device complexity and processing requirements increase

Engineering Contradiction:
Improvesignature verification accuracyVSAvoidcryptographic processing complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

Different cryptographic hash algorithms are applied to different portions of the firmware based on their security requirements. Critical segments use stronger, more computationally intensive hash algorithms, while less critical segments use lighter algorithms. This local differentiation improves verification precision where needed while reducing overall device complexity.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system dynamically selects and applies different cryptographic parameters (hash algorithm types and strengths) based on the specific firmware segment being verified. This parameter adaptation allows high precision verification for critical code while using lower-complexity algorithms for non-critical data, resolving the contradiction between accuracy and complexity.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11062032B2Firmware verified boot
Publication Date: 2021.07.13 GOOGLE LLC
  • US11062032B2 patent drawing
  • US11062032B2 patent drawing
  • US11062032B2 patent drawing

AI summary

Methods and apparatus for verifying a boot process of a computing system are disclosed. An example computer-implemented method includes reading, by a computing system during a boot process, a header section of a read-write portion of firmware of the computing system. The example method further includes generating, using a first cryptographic hash algorithm, a message digest corresponding with the header. The example method also includes decrypting, using a first public-key, an encrypted signature corresponding with the header. The example method still further includes comparing the message digest corresponding with the header and the decrypted signature corresponding with the header. In the event the message digest corresponding with the header and the decrypted signature corresponding with the header match, the example method includes continuing the boot process. In the event the message digest corresponding with the header and the decrypted signature corresponding with the header do not match, the example method includes halting the boot process.