Secure Element OTP Initialization for Anti-Cloning Access Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing chipsets with programmable secrets face risks of unauthorized access and cloning due to unprogrammed one-time-programmable (OTP) areas, which can be exploited by malicious actors, and companies may lose the ability to program secret data after fuses are burned, limiting their utility in mergers or takeovers.
Innovation Solution
A method and device that generate an initialization value and store it in the OTP area if no secret data is present, using a cryptographic key and algorithm to decrypt and verify the integrity of secret data, ensuring only authorized entities can recreate the appropriate data, without the need for burning fuses.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the OTP area is kept accessible and unprogrammed, then chipsets can be recovered and reprogrammed by authorized entities, but unauthorized access and cloning become possible
Solution Approach 1:
The system performs preliminary action by generating an initialization value and storing it in the OTP area during the first boot, before any secret data is loaded. This preliminary initialization creates a unique cryptographic foundation that enables future reprogramming while preventing unauthorized access, as the initialization value is required for any subsequent secret data loading operations
Solution Approach 2:
The initialization value acts as an intermediary element between the OTP area and secret data. It is stored in the OTP area and serves as a mandatory cryptographic prerequisite for loading secret data, thereby controlling access without physically blocking the OTP area. This intermediary mechanism enables authorized reprogramming while preventing unauthorized cloning
2Object-affected harmful factors
If fuses are burned to prevent external access to the OTP area, then unauthorized access is prevented, but the ability to reprogram chipsets is lost
Solution Approach 1:
The system replaces the mechanical fuse-burning approach with a cryptographic software-based access control mechanism. Instead of physically destroying access paths through burned fuses, the system uses cryptographic verification of the initialization value to control access to secret data, thereby maintaining reprogrammability while preventing unauthorized access
Solution Approach 2:
The initialization value stored in the OTP area serves as a cryptographic mediator that controls access to secret data without requiring physical blocking. Authorized entities can load secret data by providing the correct initialization value, while unauthorized entities cannot, thus replacing the need for fuse burning while maintaining security
3Ease of manufacture
If secret data is stored in plain text in black-boxes, then manufacturers can load it during manufacturing, but security risks increase due to exposed secret data
Solution Approach 1:
The system changes the parameter of secret data storage from plain text to encrypted form. Secret data is stored encrypted in the permanent memory, and the initialization value stored in the OTP area is required to decrypt it during operation. This parameter change maintains manufacturing ease while significantly improving security by ensuring secret data cannot be accessed without the initialization value
Data Source
Figure 1~2
Figure 3
Figure 4~5
AI summary
A method for controlling access to a resource (30) in an electronic device (10) comprising a secure element (11) with a permanent memory (20) having an OTP area (21), including the following steps performed first when the secure element or the electronic device boots: - checking presence of at least one of a secret data (23) and an initialization value (27) in the permanent memory (20) and, in a negative event, generating an initialization value (27) and storing it into the OTP area (21), - in a positive event, if the permanent memory includes secret data (23), decrypting, within the secure element (11), the secret data (23) by using an algorithm (13) using a cryptographic key (15) and, if the permanent memory further includes an initialization value (27), the initialization value (27), - checking the integrity of the secret data (23) by using a signature (22) stored in the permanent memory (20) and, on successful completion, providing access to the resource (30).