Patent ID: 9672385
Date: 2017-06-06
CPC Classifications: G06F,H04L

Claim:
1. A method for securely programming a population of authorized FPGAs comprising: defining the population of authorized FPGAs, each FPGA containing a unique device serial number and a unique factory key created at the time of manufacture of the FPGA; generating a single encrypted configuration bitstream for the population of authorized FPGAs using a single bitstream encryption key that is not known by any of the FPGAs; generating an individual authorization code for each FPGA in the population of authorized FPGAs, each authorization code generated outside the FPGA using both the unique factory key associated with the unique device serial number of one of the FPGA devices and the single bitstream encryption key; feeding each individual authorization code into the FPGA in the population of FPGAs having the serial number associated with the unique factory key used to generate the authorization code; feeding the encrypted configuration bitstream into all of the FPGAs in the population of FPGAs; in each FPGA using the authorization code and the unique factory key to extract the bitstream key to decrypt the encrypted configuration bitstream; and using the decrypted configuration bitstream to program the FPGA.