System and method for secured configuration data for programmable logic devices
First Claim
1. A system for secured configuration data for a programmable device comprising:
- at least one memory device, the at least one memory device storing configuration data comprising at least one configuration bitstream and an associated authentication tag for each at least one configuration bitstream, each authentication tag created using one associated at least one configuration bitstream;
a programmable device operably connected to the at least one memory device, the programmable device receiving one of the at least one configuration bitstream, the programmable device using the associated authentication tag of the one of the at least one configuration bitstream to verify that the one of the at least one configuration bitstream is authentic, the programmable device loading the one of the at least one configuration bitstream if the one of the at least one configuration bitstream is authentic.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and systems for secured configuration data for a programmable device. One or more memory devices store configuration data that includes one or more configuration bitstreams and associated authentication tags for each configuration bitstream. Each authentication tag is created using the associated configuration bitstream. A programmable device operably connected to the one or more memory devices receives one of the configuration bitstreams. The programmable device uses the associated authentication tag of the configuration bitstream to verify that the configuration bitstream is authentic. The programmable device loads the configuration bitstream if the one of the configuration bitstream is authentic, or may discard it otherwise.
-
Citations
15 Claims
-
1. A system for secured configuration data for a programmable device comprising:
-
at least one memory device, the at least one memory device storing configuration data comprising at least one configuration bitstream and an associated authentication tag for each at least one configuration bitstream, each authentication tag created using one associated at least one configuration bitstream;
a programmable device operably connected to the at least one memory device, the programmable device receiving one of the at least one configuration bitstream, the programmable device using the associated authentication tag of the one of the at least one configuration bitstream to verify that the one of the at least one configuration bitstream is authentic, the programmable device loading the one of the at least one configuration bitstream if the one of the at least one configuration bitstream is authentic. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for secured configuration data for a programmable device comprising:
-
generating a bitstream, the bitstream used for configuration of a programmable device;
generating an authentication tag using the bitstream, the authentication tag being appended to the bitstream forming configuration data;
encrypting the configuration data using a key associated with the programmable device;
receiving the encrypted configuration data at the programmable device;
decrypting the encrypted configuration data using the key producing a received bitstream with appended authentication tag;
separating the received bitstream from the appended authentication tag;
generating a second authentication tag using the received bitstream;
comparing the appended authentication tag with the second authentication tag to determine if they are equal; and
configuring the programmable device using the received bitstream if the appended authentication tag and the second authentication tag are equal. - View Dependent Claims (10, 11)
-
-
12. A method for secured configuration data for a programmable device comprising:
-
generating a bitstream, the bitstream used for configuration of a programmable device;
generating an authentication tag using the bitstream, the authentication tag being appended to the bitstream forming configuration data;
generating a secret key;
encrypting the configuration data using the secret key;
encrypting the secret key using a second key, the encrypted secret key being appended to the encrypted configuration data;
receiving the encrypted secret key and the appended encrypted configuration data at a programmable device;
separating the encrypted secret key from the appended encrypted configuration data;
decrypting the encrypted secret key using the second key producing a received secret key;
decrypting the encrypted configuration data using the received secret key producing a received bitstream with appended authentication tag;
separating the received bitstream from the appended authentication tag;
generating a second authentication tag using the received bitstream;
comparing the appended authentication tag with the second authentication tag to determine if they are equal; and
configuring the programmable device using the received bitstream if the appended authentication tag and the second authentication tag are equal. - View Dependent Claims (13, 14)
-
-
15. A dynamically reconfigurable mobile device connected to a Wireless Local Area Network (WLAN) comprising:
-
a WLAN interface; and
a programmable device, the programmable device receiving encrypted configuration data comprising a configuration bitstream with appended associated authentication tag from the WLAN, the programmable device using the associated authentication tag to verify that the configuration bitstream is authentic, the programmable device loading the configuration bitstream if the configuration bitstream is authentic thereby dynamically configuring the mobile device.
-
Specification