Accelerated Integrity Checks for Non-Volatile Memory Boot
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
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
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
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
Data Source
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.


