Securely field configurable device
A field configurable device, such as an FPGA, supports secure field configuration without using non-volatile storage for cryptographic keys on the device and without requiring a continuous or ongoing power source to maintain a volatile storage on the device. The approach can be used to secure the configuration data such that it can in general be used on a single or a selected set of devices and/or encryption of the configuration data so that the encrypted configuration data can be exposed without compromising information encoded in the configuration data.
1. A method for configuring an electronic device comprising:
forming first configuration data for the device, the first configuration data including data for forming a first module for generating a volatile response that depends on fabrication variation among like devices configured according to the configuration data;
configuring the device using the first configuration data and using the configured device to generate a first volatile response from the first module and outputting a signal from the device that depends on the volatile response; and
forming second configuration data for the device based on the outputted signal, the second configuration data including data for forming the first module and data for implementing a comparison of the first volatile response and a volatile response generated by the first module according to the second configuration data.
2. The method of claim 1 further comprising:
configuring the device using the second configuration data.
3. The method of claim 2 further comprising:
operating the device configured using the second configuration data, including a comparing the first volatile response and a volatile response generated by the first module and selectively inhibiting operation of functionality specified in the second configuration data depending on the comparison.
4. The method of claim 1 wherein the second configuration data includes data for inhibiting operation of functionality specified in the second configuration data depending on the comparison.
5. The method of claim 1 wherein the second configuration data includes data representing a value determined from the outputted signal.
6. The method of claim 1 wherein the device includes a programmable gate array.