Secure Processor Firmware Verification and Key Protection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computing systems lack secure mechanisms to ensure the integrity and trustworthiness of software execution across different processing devices, particularly during the boot process, as untrusted processors may execute firmware without adequate verification, leading to potential security breaches.

Innovation Solution

A method where a trusted secure processor verifies and authenticates firmware and key pairs, enabling secure execution and communication between processing devices, using Software Guard Extensions (SGX) to protect memory spaces and establish a secure channel, ensuring that only trusted software modules access sensitive keys and data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a trusted secure processor verifies firmware before execution, then system security and integrity are improved, but the boot process complexity and time increase

Engineering Contradiction:
Improvesystem securityVSAvoidboot process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The trusted secure processor performs verification of the firmware's digital signature before the firmware is executed on the untrusted processor. This preliminary verification action ensures that only authenticated firmware is loaded, establishing security before the main execution begins, thus improving reliability without significantly increasing overall system complexity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a trusted secure processor as an intermediary between the firmware and the untrusted processor. This mediator verifies the firmware's authenticity and then securely transfers control to the untrusted processor, allowing the system to maintain security while enabling complex boot processes through modular architecture.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If an untrusted processor executes firmware without verification, then boot process speed is improved, but system security and trustworthiness deteriorate

Engineering Contradiction:
Improveboot process speedVSAvoidsystem security
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The trusted secure processor performs verification of the firmware's digital signature before execution on the untrusted processor. This preliminary action ensures security is established before speed-critical execution begins, allowing the untrusted processor to run verified firmware at high speed without compromising security.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system is segmented into a trusted secure processor for verification tasks and an untrusted processor for execution tasks. This segmentation allows the verification process to be performed securely in isolation, then enables fast execution on the untrusted processor, resolving the contradiction between speed and security.

Inventive Principle:
Principle #1Segmentation

3Speed

If sensitive keys are stored in unprotected memory, then access speed is improved, but vulnerability to compromise increases

Engineering Contradiction:
Improvekey access speedVSAvoidsecurity vulnerability
Core Design Contradiction:
SpeedVSObject-affected harmful factors

Solution Approach 1:

The patent creates a localized protected memory region with special security attributes that isolates sensitive keys from the rest of the memory space. This local quality change allows keys to be stored with enhanced protection while maintaining efficient access within the protected region, resolving the contradiction between access speed and security vulnerability.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The trusted secure processor acts as an intermediary that manages access to protected memory regions containing sensitive keys. It controls which software modules can access these keys and under what conditions, enabling fast authenticated access while preventing unauthorized access, thus resolving the speed-vulnerability contradiction.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Ease of operation

If software modules communicate without secure channels, then communication simplicity is improved, but trustworthiness and integrity deteriorate

Engineering Contradiction:
Improvecommunication simplicityVSAvoidcommunication trustworthiness
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The trusted secure processor serves as an intermediary that establishes secure communication channels between software modules. It manages key distribution and authentication, allowing modules to communicate securely without each pair needing to implement complex security protocols, thus maintaining simplicity while improving trustworthiness.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The trusted secure processor provides universal security services to multiple software modules, including key generation, distribution, and communication verification. This multi-functional approach allows diverse modules to communicate securely through a unified security framework, maintaining ease of operation while ensuring communication integrity.

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

Data Source

PatentUS11615188B2Executing software
Publication Date: 2023.03.28 HEWLETT PACKARD DEVELOPMENT COMPANY LP
  • US11615188B2 patent drawing
  • US11615188B2 patent drawing
  • US11615188B2 patent drawing

AI summary

An example method is disclosed, for example a method of executing a software module in a computing system, the method comprising executing, in a first processing device of the computing system, a first software module to verify a second software module and to cause a second processing device of the computing system to execute the second software module, executing, in the second processing device, the second software module to execute, in the second processing device, a third software module and to provide a first key of a key pair to the third software module, and protecting, by the second processing device, a memory space associated with the third software module, wherein the memory space contains the first key of the key pair, wherein the first processing device contains a second key of the key pair.