SRAM-based FPGAs are non-volatile devices. Upon powerup, They are required to be programmed from an external source. This procedure allows anyone to easily monitor the bit-stream, and clone the device. The problem then becomes how can you effectively protect your intellectual property from others in an architecture where the part is externally programmed?
Implementing a microprocessor to configure the device does not address this security issue. The microprocessor must still write the configuration data externally. The configuration data is of finite length and can therefore be captured and used to configure another FPGA.
Most FPGA vendors do not publish the definition of the bit-stream. It is therefore very difficult to reverse engineer a design from a configuration bit-stream.
A FPGA bit-stream cannot be encrypted externally, because there is no way to decrypt the data before it programs the SRAM elements. However, you can program the FPGA and require an external device to write a random number that will enable the operation of the FPGA. Without the proper access code, the FPGA is programmed, but disabled and non-functional.
SRAM工艺FPGA的加密技术.pdf
(295.31 KB)
|