FPGA Lockstep Root of Trust for Fault-Tolerant Flight Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current root of trust architectures lack fault-tolerant functionality, making them unsuitable for flight-critical and safety-critical systems, as they can introduce single-point failures and violate safety guarantees when used with fault-tolerant processors.

Innovation Solution

An embedded fault-tolerant root of trust architecture on an FPGA featuring a lock-step fault-tolerant processor with two or more soft lock-step cores that provide command and control for an integrated cryptography processing core, ensuring redundancy and reliability through parallel operation and comparison of outputs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a conventional root of trust architecture is used in flight-critical systems, then the system can perform trusted boot procedures and cryptographic functions, but the system introduces single-point failures and violates safety guarantees

Engineering Contradiction:
Improvesystem reliabilityVSAvoidarchitecture complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The root of trust architecture is segmented into multiple independent processing cores (primary and secondary) that operate in parallel. Each core independently executes the same instructions and maintains separate state, allowing the system to divide the critical functionality across multiple units rather than relying on a single point of failure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each processing core is given identical functional capabilities and executes the same root of trust algorithms independently. The primary and secondary cores both perform cryptographic operations, key management, and boot verification, ensuring that each local unit has the quality and capability to handle critical functions autonomously.

Inventive Principle:
Principle #3Local quality

2Reliability

If redundant systems are provided for fault tolerance, then system reliability improves, but the device complexity and resource requirements increase

Engineering Contradiction:
Improvefault toleranceVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

A secondary copy of the processing core is created and configured to execute identical instructions to the primary core. This copy includes duplicate cryptographic function blocks, memory structures, and execution logic, providing redundancy without requiring entirely separate systems. The secondary core serves as both a functional duplicate and a fault-tolerance mechanism.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The primary and secondary cores are merged into a single integrated architecture that shares common resources such as the FPGA substrate, interconnect structures, and external interfaces. This combining approach provides redundancy while reducing overall system complexity compared to completely separate redundant systems.

Inventive Principle:
Principle #5Merging (Combining)

3Measurement precision

If lock-step processing with multiple cores is implemented, then fault detection capability improves, but the processing speed and execution time may be reduced

Engineering Contradiction:
Improvefault detection accuracyVSAvoidprocessing speed
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The system skips detailed step-by-step comparison of every internal state change and rushes through the critical path by comparing only the essential output results and key state variables. This allows the lock-step verification to proceed quickly without sacrificing fault detection capability, maintaining processing speed while ensuring accuracy.

Inventive Principle:
Principle #21Skipping (Rushing through)

Solution Approach 2:

Instead of performing complete and exhaustive comparison of all internal registers and states at every clock cycle, the system performs partial verification by comparing critical output values and key execution states. This partial action approach maintains adequate fault detection while reducing the overhead that would otherwise slow down processing.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10606764B1Fault-tolerant embedded root of trust using lockstep processor cores on an FPGA
Publication Date: 2020.03.31 NORTHROP GRUMMAN SYSTEMS CORP
  • US10606764B1 patent drawing

AI summary

A field programmable gate array (FPGA) including a root of trust architecture. The architecture includes a system controller providing system control commands for the architecture and a cryptography processor for performing a hash or key operation for authentication of controller-embedded software and attestation of correct firmware in external system resources. The architecture also includes a lock-step fault-tolerant processor being responsive to messages from the system controller, and including a plurality of soft lock-step cores. Each soft core including separate memory and resources and operating on the same input, where each soft core provides output messages that are analyzed by a logic in the fault-tolerant processor that selects one of the messages to be output to the cryptography processor.