Secure Element Code Integrity Verification via Simulated Signature
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current secure elements, such as smart cards, lack effective mechanisms to detect and prevent malicious software or modifications within their nonvolatile memory storage areas, leading to potential security lapses during data loading and integrity verification.
Innovation Solution
A method involving an external device simulating the image of the secure element's code storage area, calculating a signature of this simulated image, and transmitting it along with the data to be loaded, which is then verified by the secure element upon loading to ensure the integrity and authenticity of the data, preventing unauthorized or malicious code execution.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If integrity verification is performed only on newly loaded software elements, then the verification process remains simple and fast, but malicious software or modifications to existing code in the storage area cannot be detected
Solution Approach 1:
The external device performs preliminary action by simulating the loading of data into the code storage area and calculating a signature of the simulated image before actual loading occurs. This allows the secure element to verify the integrity of the entire storage area state after loading, not just the newly loaded portion, thereby detecting malicious software or modifications to existing code without significantly increasing verification complexity at the secure element side.
Solution Approach 2:
The external device creates a copy or simulation of the code storage area image in its own memory, modifies this simulated image by loading the data, and calculates a signature based on this simulated state. This copying approach allows comprehensive integrity verification without requiring the secure element to perform complex simulations, thus maintaining verification simplicity while improving security.
2Reliability
If the entire code storage area is verified after loading, then complete integrity can be ensured, but the verification process becomes more complex and time-consuming
Solution Approach 1:
The external device performs the computationally intensive simulation and signature calculation in advance, before the actual data loading to the secure element. This shifts the time consumption to a preliminary phase that can be performed by the external device with more resources, while the secure element's verification process remains relatively fast as it only needs to calculate a signature of the actual storage area and compare it with the pre-computed expected signature.
Solution Approach 2:
By creating a simulated image of the storage area in the external device's memory rather than manipulating the actual secure element memory during verification, the system avoids time-consuming operations on the secure element. The copying approach allows parallel processing and optimization on the external device side without impacting the secure element's verification time.
Data Source
AI summary
The securing of data loading originating from an external device into a code memory area defined by an initial program of the secure element and any modification of which is controlled solely by the latter. When the external device obtains data to be transmitted to the secure element, the latter simulates an image of the code memory area as it would be modified by the loading of these data. A signature is calculated on the basis of the simulated image, then dispatched to the secure element with the data. The initial program of the secure element compares a signature that it has calculated over the whole of the code memory area after the actual loading of the data, with the signature received from the external device. The identity between these signatures ensures that the code memory area conforms to the image simulated by the external device, and is unimpaired.

