Secure IC Programming with Device Authentication and Payload Verification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Data leakage is a significant concern when plain text data is burnt into integrated circuits without encryption protection.
Innovation Solution
A secure programming system and method that encrypts job control packages using a security control unit, verifies device identification codes, and decrypts payloads only for compatible devices, ensuring data security through authentication and verification processes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If plain text data is burnt into integrated circuits without encryption protection, then programming operations are simple and fast, but data leakage risk increases
Solution Approach 1:
The system performs preliminary encryption of the payload before burning it into the integrated circuit. The security control unit encrypts the payload using a security key, and only the encrypted data is stored in the circuit. This preliminary protective action ensures that even if the circuit is compromised, the data remains protected.
Solution Approach 2:
The security control unit acts as an intermediary between the programming system and the integrated circuit. It manages the encryption keys, performs authentication verification, and controls the burning process. This intermediary layer adds security without requiring changes to the fundamental burning operation.
2Reliability
If encryption is applied to job control packages, then data security is enhanced, but processing time and computational resources increase
Solution Approach 1:
The encryption of the job control package is performed in advance before the burning operation. The security control unit encrypts the payload once, and the encrypted data is then burned into the circuit without requiring real-time decryption during the burning process. This eliminates time loss during the actual programming operation.
Solution Approach 2:
The security control unit automatically manages the encryption and decryption processes using stored security keys. Once the encryption is set up, the system serves itself by automatically verifying authentication codes and decrypting data only when proper authorization is confirmed, without requiring manual intervention or additional processing time.
3Reliability
If authentication verification is performed for each burning operation, then data security is improved, but operational complexity increases
Solution Approach 1:
The security control unit serves as an intermediary that automatically handles authentication verification. It compares the authentication code provided with the stored security key and either permits or blocks the burning operation automatically. This intermediary manages the complexity of security verification while keeping the user interface simple.
Solution Approach 2:
The system implements a feedback mechanism where the security control unit automatically responds to authentication attempts. If the authentication code matches the security key, the system provides positive feedback by allowing the burning operation to proceed. If it doesn't match, negative feedback is provided by blocking the operation. This automated feedback loop simplifies operation while maintaining security.
Data Source
AI summary
An operating method for a secure programming system is provided. Firstly, the programmer encrypts a job control package including a payload. Then, a programmable device is loaded into the programmer. If an authentication code in an authentication list complies with a device identification code of the programmable device, the programmer decrypts the encrypted job control packages so as to extract the payload. Then, the programmer calculates a first verification code according to the payload, and the programmer burns the payload into the programmable device. Then, the programmer reads the burnt payload from the programmable device and calculates a second verification code according to the burnt payload. If the first verification code and the second verification code are verified successfully, the programmable device is categorized into a first output container representing a good output container.

