Accelerated Integrity Checks for Non-Volatile Memory Boot

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Processor-based systems face challenges in trusting the integrity of information stored in external non-volatile memory, such as flash memory, during the boot process, which can lead to system corruption and increased boot time due to the need for time-consuming authentication protocols.

Innovation Solution

An accelerated integrity check process is implemented using a keyed-hash message authentication code (HMAC) to verify the authenticity of access control information and data from non-volatile memory, reducing the need for repeated authentication and minimizing data transfer by utilizing access control information and digests stored locally on the host processor.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If authentication protocol is implemented to verify integrity of information on external non-volatile memory, then system security and trustworthiness are improved, but boot time and access time increase

Engineering Contradiction:
Improveintegrity of informationVSAvoidboot time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements preliminary authentication by storing authentication data (digests, keys, or certificates) in the non-volatile memory during manufacturing or initial setup. This pre-configured authentication information allows the host processor to quickly verify integrity without performing time-consuming authentication protocols during boot, thus resolving the contradiction between security and boot time

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent extracts only the essential authentication elements (such as digests or authentication tags) and stores them separately in the non-volatile memory, while the main authentication logic resides in the host processor. This separation allows for rapid verification by comparing only the extracted authentication elements rather than performing complete authentication protocols, reducing boot time while maintaining security

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If authentication protocol is implemented to verify integrity of information on external non-volatile memory, then system security is improved, but data transfer volume increases

Engineering Contradiction:
Improvetrustworthiness of dataVSAvoiddata transfer
Core Design Contradiction:
ReliabilityVSLoss of substance

Solution Approach 1:

The patent extracts only the critical authentication components (digests, authentication tags, or keys) and stores them in the non-volatile memory, rather than transferring and verifying entire data blocks. During verification, only these extracted authentication elements need to be transferred and compared, dramatically reducing data transfer volume while maintaining complete trustworthiness verification

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent segments the authentication process into separate components: authentication data generation, storage of authentication elements, and verification. By storing pre-computed authentication elements in the memory, the system avoids transferring large amounts of data during verification, as only the segmented authentication elements (not the entire data set) need to be transferred and compared

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7743239B2Accelerating integrity checks of code and data stored in non-volatile memory
Publication Date: 2010.06.22 INTEL NDTM US LLC
  • US7743239B2 patent drawing
  • US7743239B2 patent drawing
  • US7743239B2 patent drawing

AI summary

In some embodiments, a command may be used by a host processor to access certain information from a non-volatile memory, together with a message authentication code. That information may be utilized to generate a message authentication code on the processor. Then, in any future accesses, the message authentication code generated by the host processor may be compared to the message authentication code from the non-volatile memory to determine the integrity of data or code that is received from the non-volatile memory.