FPGA configuration bitstream protection using multiple keys
    1.
    发明授权
    FPGA configuration bitstream protection using multiple keys 有权
    FPGA配置比特流保护使用多个密钥

    公开(公告)号:US08826038B1

    公开(公告)日:2014-09-02

    申请号:US13474745

    申请日:2012-05-18

    IPC分类号: G06F21/00

    摘要: Circuits, methods, and apparatus that prevent detection and erasure of encoding or encryption keys. These encoding keys may be used to encode a configuration bitstream or other data for an FPGA or other device. An exemplary embodiment of the present invention masks a first key to form an encoding key in order to prevent detection of the first key. In a specific embodiment, the first key is encoded using a second key. The encoded key is used to encode a configuration bitstream or other data. The encoded key is stored on an FPGA or other device. When the device is to be configured, the encoded key is retrieved and used to decode the bitstream or other data. A further embodiment stores an encryption key in a one-time programmable memory (OTP) array to prevent its erasure or modification. The encoding key may be further obfuscated before storage.

    摘要翻译: 阻止检测和擦除编码或加密密钥的电路,方法和装置。 这些编码密钥可以用于对配置比特流或FPGA或其他设备的其他数据进行编码。 本发明的示例性实施例掩蔽第一密钥以形成编码密钥,以便防止第一密钥的检测。 在具体实施例中,使用第二密钥对第一密钥进行编码。 编码密钥用于对配置比特流或其他数据进行编码。 编码密钥存储在FPGA或其他设备上。 当要配置设备时,将检索编码密钥并将其用于解码比特流或其他数据。 另一实施例将加密密钥存储在一次性可编程存储器(OTP)阵列中以防止其擦除或修改。 在存储之前可以进一步模糊编码密钥。

    FPGA configuration bitstream protection using multiple keys
    2.
    发明授权
    FPGA configuration bitstream protection using multiple keys 有权
    FPGA配置比特流保护使用多个密钥

    公开(公告)号:US08209545B1

    公开(公告)日:2012-06-26

    申请号:US12785400

    申请日:2010-05-21

    IPC分类号: H04L9/08

    摘要: Circuits, methods, and apparatus that prevent detection and erasure of encoding or encryption keys. These encoding keys may be used to encode a configuration bitstream or other data for an FPGA or other device. An exemplary embodiment of the present invention masks a first key to form an encoding key in order to prevent detection of the first key. In a specific embodiment, the first key is encoded using a second key. The encoded key is used to encode a configuration bitstream or other data. The encoded key is stored on an FPGA or other device. When the device is to be configured, the encoded key is retrieved and used to decode the bitstream or other data. A further embodiment stores an encryption key in a one-time programmable memory (OTP) array to prevent its erasure or modification. The encoding key may be further obfuscated before storage.

    摘要翻译: 阻止检测和擦除编码或加密密钥的电路,方法和装置。 这些编码密钥可以用于对配置比特流或FPGA或其他设备的其他数据进行编码。 本发明的示例性实施例掩蔽第一密钥以形成编码密钥,以便防止第一密钥的检测。 在具体实施例中,使用第二密钥对第一密钥进行编码。 编码密钥用于对配置比特流或其他数据进行编码。 编码密钥存储在FPGA或其他设备上。 当要配置设备时,将检索编码密钥并将其用于解码比特流或其他数据。 另一实施例将加密密钥存储在一次性可编程存储器(OTP)阵列中以防止其擦除或修改。 在存储之前可以进一步模糊编码密钥。

    FPGA configuration bitstream protection using multiple keys
    3.
    发明授权
    FPGA configuration bitstream protection using multiple keys 有权
    FPGA配置比特流保护使用多个密钥

    公开(公告)号:US07725738B1

    公开(公告)日:2010-05-25

    申请号:US11042477

    申请日:2005-01-25

    IPC分类号: G06F12/14

    摘要: Circuits, methods, and apparatus that prevent detection and erasure of encoding or encryption keys. These encoding keys may be used to encode a configuration bitstream or other data for an FPGA or other device. An exemplary embodiment of the present invention masks a first key to form an encoding key in order to prevent detection of the first key. In a specific embodiment, the first key is encoded using a second key. The encoded key is used to encode a configuration bitstream or other data. The encoded key is stored on an FPGA or other device. When the device is to be configured, the encoded key is retrieved and used to decode the bitstream or other data. A further embodiment stores an encryption key in a one-time programmable memory (OTP) array to prevent its erasure or modification. The encoding key may be further obfuscated before storage.

    摘要翻译: 阻止检测和擦除编码或加密密钥的电路,方法和装置。 这些编码密钥可以用于对配置比特流或FPGA或其他设备的其他数据进行编码。 本发明的示例性实施例掩蔽第一密钥以形成编码密钥,以便防止第一密钥的检测。 在具体实施例中,使用第二密钥对第一密钥进行编码。 编码密钥用于对配置比特流或其他数据进行编码。 编码密钥存储在FPGA或其他设备上。 当要配置设备时,将检索编码密钥并将其用于解码比特流或其他数据。 另一实施例将加密密钥存储在一次性可编程存储器(OTP)阵列中以防止其擦除或修改。 在存储之前可以进一步模糊编码密钥。

    One-time programmable memories for key storage
    4.
    发明授权
    One-time programmable memories for key storage 有权
    用于密钥存储的一次性可编程存储器

    公开(公告)号:US07818584B1

    公开(公告)日:2010-10-19

    申请号:US11042937

    申请日:2005-01-25

    IPC分类号: G06F11/30 G06F12/14

    摘要: Circuits, methods, and apparatus that store and prevent modification or erasure of stored encoding keys, serial identification numbers, or other information. An encoding key stored with an embodiment of the present invention may be used to decode a configuration bitstream on an integrated circuit, such as an FPGA. A serial number may be used to track or authenticate an integrated circuit. Embodiments of the present invention store this information in a memory such as an SRAM, DRAM, EPROM, EEPROM, flash, fuse array, or other type of memory. In order to prevent its erasure or modification, write enable circuitry for the memory is then permanently disabled, and if the memory is volatile, a continuous power supply is provided. Further refinements verify that the write enable circuitry has been disabled before allowing the device to be configured or to be operable.

    摘要翻译: 存储和防止存储的编码密钥,串行标识号或其他信息的修改或擦除的电路,方法和装置。 与本发明的实施例一起存储的编码密钥可用于解码诸如FPGA的集成电路上的配置比特流。 序列号可用于跟踪或认证集成电路。 本发明的实施例将该信息存储在诸如SRAM,DRAM,EPROM,EEPROM,闪存,熔丝阵列或其它类型的存储器之类的存储器中。 为了防止其擦除或修改,存储器的写使能电路然后被永久禁用,并且如果存储器是易失性的,则提供连续的电源。 进一步细化验证在允许设备被配置或可操作之前写使能电路已被禁用。

    One-time programmable memories for key storage
    5.
    发明授权
    One-time programmable memories for key storage 有权
    用于密钥存储的一次性可编程存储器

    公开(公告)号:US08433930B1

    公开(公告)日:2013-04-30

    申请号:US12884753

    申请日:2010-09-17

    IPC分类号: H04L29/06

    摘要: Circuits, methods, and apparatus that store and prevent modification or erasure of stored encoding keys, serial identification numbers, or other information. An encoding key stored with an embodiment of the present invention may be used to decode a configuration bitstream on an integrated circuit, such as an FPGA. A serial number may be used to track or authenticate an integrated circuit. Embodiments of the present invention store this information in a memory such as an SRAM, DRAM, EPROM, EEPROM, flash, fuse array, or other type of memory. In order to prevent its erasure or modification, write enable circuitry for the memory is then permanently disabled, and if the memory is volatile, a continuous power supply is provided. Further refinements verify that the write enable circuitry has been disabled before allowing the device to be configured or to be operable.

    摘要翻译: 存储和防止存储的编码密钥,串行识别号码或其他信息的修改或擦除的电路,方法和装置。 与本发明的实施例一起存储的编码密钥可用于解码诸如FPGA的集成电路上的配置比特流。 序列号可用于跟踪或认证集成电路。 本发明的实施例将该信息存储在诸如SRAM,DRAM,EPROM,EEPROM,闪存,熔丝阵列或其它类型的存储器之类的存储器中。 为了防止其擦除或修改,存储器的写使能电路然后被永久禁用,并且如果存储器是易失性的,则提供连续的电源。 进一步细化验证在允许设备被配置或可操作之前写使能电路已被禁用。

    FPGA configuration bitstream encryption using modified key
    6.
    发明授权
    FPGA configuration bitstream encryption using modified key 失效
    FPGA配置比特流加密使用修改密钥

    公开(公告)号:US07606362B1

    公开(公告)日:2009-10-20

    申请号:US11042019

    申请日:2005-01-25

    IPC分类号: H04L21/00

    摘要: Circuits, methods, and apparatus that prevent detection and erasure of a configuration bitstream or other data for an FPGA or other device. An exemplary embodiment of the present invention masks a user key in order to prevent its detection. In a specific embodiment, the user key is masked by software that performs a function on it a first number of times. The result is used to encrypt a configuration bitstream. The user key is also provided to an FPGA or other device, where the function is performed a second number of times and the result stored. When the device is configured, the result is retrieved, the function is performed on it the first number of times less the second number of times and then it is used to decrypt the configuration bitstream. A further embodiment uses a one-time programmable fuse (OTP) array to prevent erasure or modification.

    摘要翻译: 阻止对FPGA或其他设备的配置比特流或其他数据的检测和擦除的电路,方法和装置。 本发明的示例性实施例掩盖用户密钥以防止其检测。 在具体实施例中,用户密钥被第一次执行功能的软件掩码。 结果用于加密配置比特流。 用户密钥还提供给FPGA或其他设备,其中功能被执行第二次并且存储结果。 当配置设备时,将检索结果,该功能在其上执行第一次次数少于第二次,然后用于解密配置比特流。 另一实施例使用一次性可编程熔丝(OTP)阵列来防止擦除或修改。

    FPGA configuration bitstream encryption using modified key
    7.
    发明授权
    FPGA configuration bitstream encryption using modified key 有权
    FPGA配置比特流加密使用修改密钥

    公开(公告)号:US07984292B1

    公开(公告)日:2011-07-19

    申请号:US12559287

    申请日:2009-09-14

    IPC分类号: H04L29/06 G06F15/16

    摘要: Circuits, methods, and apparatus that prevent detection and erasure of a configuration bitstream or other data for an FPGA or other device. An exemplary embodiment of the present invention masks a user key in order to prevent its detection. In a specific embodiment, the user key is masked by software that performs a function on it a first number of times. The result is used to encrypt a configuration bitstream. The user key is also provided to an FPGA or other device, where the function is performed a second number of times and the result stored. When the device is configured, the result is retrieved, the function is performed on it the first number of times less the second number of times and then it is used to decrypt the configuration bitstream. A further embodiment uses a one-time programmable fuse (OTP) array to prevent erasure or modification.

    摘要翻译: 阻止对FPGA或其他设备的配置比特流或其他数据的检测和擦除的电路,方法和装置。 本发明的示例性实施例掩盖用户密钥以防止其检测。 在具体实施例中,用户密钥被第一次执行功能的软件掩码。 结果用于加密配置比特流。 用户密钥还提供给FPGA或其他设备,其中功能被执行第二次并且存储结果。 当配置设备时,将检索结果,该功能在其上执行第一次次数少于第二次,然后用于解密配置比特流。 另一实施例使用一次性可编程熔丝(OTP)阵列来防止擦除或修改。

    Encryption key obfuscation and storage
    8.
    发明授权
    Encryption key obfuscation and storage 失效
    加密密钥模糊和存储

    公开(公告)号:US07734043B1

    公开(公告)日:2010-06-08

    申请号:US11042032

    申请日:2005-01-25

    IPC分类号: G06F9/00 H04K1/00 G06F9/24

    摘要: Circuits, methods, and apparatus that prevent easy detection and erasure or modification of an encryption or encoding key. This key may be used to encode and decode a configuration bitstream for an FPGA or other programmable or configurable device. One embodiment of the present invention obfuscates a key then stores it in a memory array on an FPGA. This memory array may be a one-time programmable memory to prevent erasure or modification of the key. After retrieval from storage, a reverse or de-obfuscation is performed to recover the key. Further obfuscation may be achieved by proper layout of the relevant circuitry.

    摘要翻译: 防止容易检测和擦除或修改加密或编码密钥的电路,方法和装置。 该密钥可用于编码和解码FPGA或其他可编程或可配置设备的配置比特流。 本发明的一个实施例模糊一个密钥然后将其存储在FPGA上的存储器阵列中。 该存储器阵列可以是一次性可编程存储器,以防止键的擦除或修改。 在从存储器检索之后,执行反向或去混淆以恢复密钥。 可以通过相关电路的适当布局来实现进一步的模糊化。

    FPGA configuration bitstream encryption using modified key

    公开(公告)号:US08363833B1

    公开(公告)日:2013-01-29

    申请号:US13155843

    申请日:2011-06-08

    IPC分类号: H04L9/00

    摘要: Circuits, methods, and apparatus that prevent detection and erasure of a configuration bitstream or other data for an FPGA or other device. An exemplary embodiment of the present invention masks a user key in order to prevent its detection. In a specific embodiment, the user key is masked by software that performs a function on it a first number of times. The result is used to encrypt a configuration bitstream. The user key is also provided to an FPGA or other device, where the function is performed a second number of times and the result stored. When the device is configured, the result is retrieved, the function is performed on it the first number of times less the second number of times and then it is used to decrypt the configuration bitstream. A further embodiment uses a one-time programmable fuse (OTP) array to prevent erasure or modification.