Network Interface Device Firmware Integrity Verification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Network interface devices (NICs) face challenges in ensuring that only intended firmware or computer code is executed, as they become increasingly complex and vulnerable to malicious or unauthorized code execution, which can compromise network security and integrity.

Innovation Solution

A network interface device comprising an integrated circuit with a processor and a secure data store, where a first encryption key is used to encrypt data, and a private key is stored securely to authenticate and verify the integrity of firmware, preventing unauthorized access and ensuring only signed firmware is executed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If firmware is stored in external memory for rapid updates and agile development, then productivity and adaptability are improved, but security and reliability deteriorate because the firmware can be unauthorizedly modified or executed

Engineering Contradiction:
Improvefirmware update speedVSAvoidfirmware integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by computing and storing hash values of firmware sections in read-only memory before the firmware is executed. This pre-computed hash data serves as a reference for integrity verification, allowing the system to quickly verify firmware authenticity without delaying the update process. The hash values are prepared in advance and protected in a secure, immutable storage location.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces hash functions as an intermediary mechanism between the firmware code and the verification process. Instead of directly verifying the entire firmware binary, the system uses hash values as intermediaries that represent the firmware's integrity state. This intermediary layer enables efficient verification while maintaining security, as the hash computation can be performed quickly on external memory content.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If firmware is stored in external memory, then adaptability is improved, but device complexity increases due to the need for additional security verification mechanisms

Engineering Contradiction:
Improvefirmware flexibilityVSAvoidsecurity verification complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing the firmware into multiple sections, each with its own hash value stored in read-only memory. This segmentation allows the system to verify individual firmware sections independently, reducing the complexity of verifying the entire firmware at once. Each section can be updated and verified separately, making the security mechanism more manageable and less complex.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements self-service by enabling the network interface device to perform its own firmware integrity verification using the pre-stored hash values. The device independently computes hashes of the loaded firmware sections and compares them against the stored reference hashes without requiring external verification infrastructure. This self-verification capability reduces the need for additional complex security hardware or external validation systems.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10713392B2Network interface device and method
Publication Date: 2020.07.14 XILINX INC
  • US10713392B2 patent drawing
  • US10713392B2 patent drawing
  • US10713392B2 patent drawing

AI summary

A network interface device comprises an integrated circuit device comprises at least one processor. A network interface device comprises a memory. The integrated device is configured to execute a function with respect to at least a part of stored data in said memory.