FPGA Copy Protection Using User-Specific Gate Array
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing FPGA copy protection methods rely on encryption and decryption processes that can be bypassed by unauthorized users with access to decoding functions, allowing for unauthorized copying of FPGA systems.
Innovation Solution
A user-specific gate array (GA) is pre-programmed to control the connection between the FPGA and the ROM, appearing as an FPGA to the ROM and a ROM to the FPGA, ensuring that only authorized users with correct startup key information can boot and operate the system, thereby preventing unauthorized copying.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If encryption and decryption processes are used for copy protection, then unauthorized copying is prevented, but the system can still be bypassed by unauthorized users with access to decoding functions
Solution Approach 1:
A user-specific gate array (GA) is introduced as an intermediary component between the ROM and the FPGA. The GA performs authentication by comparing startup key information with encrypted startup key code strings before allowing the FPGA to operate. This intermediary authentication mechanism prevents unauthorized users with decoding functions from bypassing copy protection, as they cannot provide the correct authentication keys.
Solution Approach 2:
The system performs authentication preliminarily before allowing FPGA operation. The GA compares startup key information with decrypted startup key code strings obtained from the ROM during the boot process. Only if the authentication succeeds can the FPGA be programmed and operated, preventing unauthorized copying before it can occur.
2Reliability
If the FPGA performs decryption processing and determination processing, then copy protection is achieved, but purchasing an FPGA with the same decoding function enables unauthorized copying
Solution Approach 1:
The user-specific gate array serves as a mediator that holds the authentication authority. Even if an unauthorized user obtains an FPGA with equivalent decoding functions, they cannot bypass the GA's authentication without the correct startup key information stored in the GA, thus preventing unauthorized copying.
Solution Approach 2:
The copy protection function is segmented into separate components: the ROM stores encrypted startup key code strings, the user-specific GA performs authentication using stored startup key information, and the FPGA executes user programs. This segmentation ensures that even if the FPGA is copied, the authentication mechanism remains secure.
3Reliability
If a user-specific gate array is introduced for authentication, then unauthorized copying is prevented, but the device complexity increases
Solution Approach 1:
The user-specific gate array combines multiple functions into a single integrated component: storing startup key information, decrypting startup key code strings, comparing authentication data, and controlling the connection between ROM and FPGA. This merging reduces the overall system complexity compared to implementing separate authentication modules.
Data Source
AI summary
The present invention relates to a programmable-gate-array copy protection method and a system which prevent unauthorized copying of an FPGA program. A copy protection method for a field-programmable gate array, the method comprising a step of causing a user-specific gate array to boot a user circuit data to the field-programmable gate array, the user-specific gate array being connected to the field-programmable gate array and a memory device in which the user circuit data is stored and being pre-programmed at a semiconductor-vender's factory.


