Embedded Controller Boot Block Verification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The BIOS code in computing systems, including the boot block, can become compromised due to malware attacks or accidental modifications, leading to unauthorized access, data modification, and system malfunction, as existing protection mechanisms may fail to ensure the integrity and trustworthiness of the boot block.

Innovation Solution

An embedded controller is used to retrieve and verify the boot block from non-volatile memory while the core logic is off the shared bus, ensuring secure access and verification of the boot block before execution, utilizing secure access logic and verification logic to confirm its integrity and trustworthiness.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the boot block is stored in non-volatile memory accessible by core logic, then the system can boot and execute code, but the boot block becomes vulnerable to malware attacks and unauthorized modifications

Engineering Contradiction:
Improveboot block integrityVSAvoidmalware attacks
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The system separates the verification function from the execution function by creating a dedicated verification logic component that operates independently from the core logic. This segmentation allows the boot block to be verified for integrity before execution without requiring the core logic to be continuously present, reducing the attack surface while maintaining security.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The verification logic performs integrity verification of the boot block before the core logic executes it. This preliminary action ensures that any malware or unauthorized modifications are detected prior to execution, preventing compromised code from running while allowing legitimate boot operations to proceed normally.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If protection mechanisms are implemented to verify boot block integrity, then system security is improved, but the device complexity increases

Engineering Contradiction:
Improvesystem securityVSAvoidverification mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The verification functionality is extracted as a separate, dedicated logic component rather than being integrated into the core logic or processor. This extraction simplifies the overall system architecture by creating a specialized, focused verification module that handles security checks independently, reducing the complexity burden on the main execution path.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The verification logic acts as an intermediary between the non-volatile memory containing the boot block and the core logic that executes it. This intermediary component provides a controlled interface that enforces security policies without requiring complex integration between memory, processor, and security mechanisms, thereby managing system complexity effectively.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If the embedded controller retrieves the boot block while core logic is off the shared bus, then secure access is ensured, but the boot process time increases

Engineering Contradiction:
Improvesecure accessVSAvoidboot process time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system uses periodic or staged access to the shared bus where the verification logic retrieves the boot block during a designated verification phase before core logic execution begins. This periodic action structure allows secure retrieval without requiring continuous bus occupation, enabling parallel operations that minimize overall boot time while maintaining security during the critical verification window.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS9734339B2Retrieving system boot code from a non-volatile memory
Publication Date: 2017.08.15 HEWLETT PACKARD DEVELOPMENT COMPANY LP
  • US9734339B2 patent drawing
  • US9734339B2 patent drawing
  • US9734339B2 patent drawing

AI summary

A controller monitors for an indication from core logic indicating that the core logic is in a state in which the core logic does not access a bus. In response to detecting the indication, the controller retrieves the system boot code from a non-volatile memory over the bus.