External Hardware Authenticator for Microprocessor Program Integrity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Integrated circuits with sensitive information face attacks that modify or access program codes stored in internal memory, necessitating robust authentication and protection mechanisms to prevent unauthorized access and data exposure.
Innovation Solution
A method involving two authentication steps using a hardware computing circuit external to the microprocessor, employing hash functions to verify the integrity of program parts, with the microprocessor being activated only after successful authentication of both parts, and a hardware key being made inaccessible post-authentication to enhance security and speed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a single authentication is performed by the microprocessor, then the device complexity is low, but the security is insufficient
Solution Approach 1:
The authentication process is divided into two distinct phases: a first authentication performed by an external hardware computing circuit before microprocessor activation, and a second authentication performed by the microprocessor after activation. This segmentation allows each authentication to be optimized for its specific purpose - the first for initial security verification and the second for ongoing integrity checks - thereby improving overall security without requiring a single overly complex authentication mechanism.
Solution Approach 2:
An external hardware computing circuit is introduced as an intermediary between the program code and the microprocessor. This intermediary performs the first authentication of the program code before the microprocessor is activated, providing an additional layer of security. The hardware circuit acts as a mediator that verifies the program's integrity without requiring the microprocessor to be active, thus enhancing security while maintaining a relatively simple microprocessor design.
2Reliability
If authentication is performed by external hardware circuit, then the security is improved, but the execution speed decreases
Solution Approach 1:
The first authentication is performed in advance by the external hardware computing circuit before the microprocessor is activated. This preliminary authentication ensures that only authenticated program code can activate the microprocessor, providing strong security guarantees. By performing this authentication beforehand, the system ensures security without requiring the microprocessor to be active during the authentication process, and the authenticated program can then execute with full microprocessor performance.
Solution Approach 2:
The patent replaces software-based authentication mechanisms with hardware-based authentication circuits. The external hardware computing circuit implements the first authentication in hardware, providing faster and more secure verification compared to software-based approaches. This hardware substitution ensures that the authentication cannot be easily bypassed or modified, while the microprocessor remains inactive during this process, maintaining security without compromising eventual execution speed.
3Reliability
If the microprocessor remains inactive during first authentication, then the security is enhanced, but the activation time increases
Solution Approach 1:
The first authentication is performed in advance by the external hardware computing circuit before the microprocessor is activated. This preliminary action ensures that the microprocessor only becomes active after the program code has been verified as authentic. By performing this authentication beforehand when the microprocessor is inactive, the system enhances security without requiring the microprocessor to be active during the authentication process, and the authenticated program can then execute with full microprocessor performance.
Data Source
AI summary
A memory stores a program to be executed by a microprocessor. The program includes a first program part and a second program part. An authenticator is configured to authenticate the program and includes a module that is external to the microprocessor and configured to authenticate said first program part when the microprocessor is inactive. The authenticator further activates the microprocessor to execute the first program part and authenticate said second program part using instructions of the first program part if the module has authenticated the first program part. The microprocessor then executes the second program part if the microprocessor has authenticated said second program part.

