用于可编程逻辑器件的故障表征系统和方法技术方案

技术编号:27586397 阅读:37 留言:0更新日期:2021-03-10 10:01
公开了用于安全可编程逻辑器件(PLD)的故障表征的系统和方法。示例性系统包括安全PLD,安全PLD包括可编程逻辑块(PLB)和配置引擎,可编程逻辑块(PLB)被布置在安全PLD的PLD结构中,配置引擎被配置为根据存储在安全PLD的非易失性存储器(NVM)中的、和/或通过安全PLD的配置输入/输出(I/O)耦合到配置引擎的配置映像对PLD结构进行编程。安全PLD被配置为从PLD结构或从通过配置I/O耦合到安全PLD的外部系统接收故障表征(FC)命令,并执行FC命令,以至少部分地擦除和/或无效NVM的部分。安全PLD还可以被配置为引导用于PLD结构的调试配置,该调试配置标识和/或表征安全PLD的操作故障。调试配置标识和/或表征安全PLD的操作故障。调试配置标识和/或表征安全PLD的操作故障。

【技术实现步骤摘要】
【国外来华专利技术】用于可编程逻辑器件的故障表征系统和方法
[0001]相关申请的交叉引用
[0002]本专利申请要求2019年5月10日提交的题为“SECURE BOOT SYSTEMS AND METHODS FOR PROGRAMMABLE LOGIC DEVICES”的美国临时专利申请第62/846,365号的优先权和权益,其全部内容通过引用结合于此。
[0003]本专利申请要求2018年11月5日提交的题为“ASSET MANAGEMENT SYSTEMS AND METHODS FOR PROGRAMMABLE LOGIC DEVICES”的美国临时专利申请第62/756,021号的优先权和权益,其全部内容通过引用结合于此。
[0004]本专利申请要求2018年11月5日提交的题为“KEY PROVISIONING SYSTEMS AND METHODS FOR PROGRAMMABLE LOGIC DEVICES”的美国临时专利申请第62/756,001号的优先权和权益,其全部内容通过引用结合于此。
[0005]本专利申请要求2018年11月5日提交的题为“FAILURE CHARACTERIZATION SYSTEMS AND METHODS FOR PROGRAMMABLE LOGIC DEVICES”的美国临时专利申请第62/756,015号的优先权和权益,其全部内容通过引用结合于此。
[0006]本专利申请要求2018年5月11日提交的题为“DEVICES WITH PROGRAMMABLE LOGIC AND SECURITY FEATURES AND METHODS OF USING”的美国临时专利申请第62/670,487号的优先权和权益,其全部内容通过引用结合于此。


[0007]本专利技术总体上涉及可编程逻辑器件,并且更具体地,涉及表征这种器件的安全配置和/或操作中的故障。

技术介绍

[0008]可编程逻辑器件(PLD)(例如,现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)、现场可编程片上系统(FPSC)或其它类型的可编程器件)可以用各种用户设计来配置以实现期望的功能。通常,用户设计被合成并映射到特定PLD中可用的可配置资源(例如,可编程逻辑门、查找表(LUT)、嵌入式硬件或其他类型的资源)和互连。然后可以确定合成的和映射的用户设计的物理布局和路由,以生成特定PLD的配置数据。
[0009]PLD的客户端通常将相当多的资源用于为其所选择的PLD类型和/或能力开发配置,并且保护配置数据和防止与所选择的PLD和/或开发的配置相关的期望操作或能力被破坏,对于许多PLD的客户端来说是至关重要的。因此,本领域需要用于制造、保护、分发、升级和测试PLD和PLD配置的系统和方法,特别是在可信计算应用和可信计算体系结构的环境中。
附图说明
[0010]图1示出了根据本公开的实施例的可编程逻辑器件(PLD)的框图。
[0011]图2示出了根据本公开的实施例的PLD的逻辑块的框图。
[0012]图3示出了根据本公开的实施例的PLD的设计过程。
[0013]图4示出了根据本公开的实施例的安全PLD的框图。
[0014]图5A示出了根据本公开的实施例的安全PLD供应系统的框图。
[0015]图5B示出了根据本公开的实施例的安全PLD供应系统的框图。
[0016]图6示出了根据本公开的实施例的包括安全PLD的用户设备的框图。
[0017]图7示出了根据本公开的实施例的用于锁定的安全PLD的供应过程。
[0018]图8示出了根据本公开的实施例的用于锁定的安全PLD的故障表征过程。
[0019]图9示出了根据本公开的实施例的用于锁定的安全PLD的故障表征过程。
[0020]通过参考下面的详细描述可以最好地理解本公开的实施例及其优点。应当理解,相同的附图标记用于标识在一个或多个附图中所示出的相同的元件,其中,文中的示出是为了说明本公开的实施例而不是为了限制本公开的实施例。
具体实施方式
[0021]本公开提供了用于促进锁定的安全可编程逻辑器件(PLD)(其用在可信计算应用和体系结构中)的安全返回和故障表征的系统和方法,如本文所述。例如,实施例提供了安全地擦除安全PLD的系统和方法,该安全PLD被锁定到怀疑隐匿有物理或其他类型的操作故障的客户端定义的配置和/或操作环境,,从而可以在安全PLD上或由安全PLD执行调试过程,并且可以标识、表征和/或修复/减轻故障,而不冒丢失或提取客户端数据的风险,并且在一些情况下,不需要孤立或以其他方式破坏或浪费安全PLD,以保护安全客户端数据或限制可自由编程的解锁的安全PLD的分发(例如,其可以以其他方式用非客户端数据进行编程,并且潜在地被用于破坏用于可信平台的各种安全操作,例如,包括安全地配置和/或引导这样的平台/用户设备),如本文所述。
[0022]根据本文阐述的实施例,提供了在可编程逻辑器件(PLD)中安全地实现用户设计的技术。在各种实施例中,用户设计可以被转换成PLD组件集合(例如,被配置用于逻辑、算术或其它硬件功能)及其在PLD中可用的相关联的互连、和/或由PLD组件集合及其在PLD中可用的相关联的互连表示。例如,PLD可包括多个可编程逻辑块(PLB)以及可用于互连PLB和/或逻辑单元的可配置路由资源,每个PLB包括多个逻辑单元。在一些实施例中,每个PLB可以用2到16个之间或2到32个之间的逻辑单元来实现。
[0023]通常,PLD(例如,FPGA)结构包括一个或多个路由结构和布置在可编程功能块(例如,PFB和/或PLB)内的类似布置的逻辑单元的阵列。路由结构的目的是以必要的组合将逻辑单元/PLB的端口可编程地彼此连接以实现预期功能。安全PLD可包括各种附加的“硬”引擎或模块,所述“硬”引擎或模块被配置为提供可链接到PLD结构的操作以提供可配置的可信计算功能和/或体系结构的一系列安全功能。当将用户设计合成、映射、放置和/或路由到多个PLD组件中时,可以使用路由灵活性和可配置功能嵌入。作为各种用户设计优化过程的结果(这可导致相当大的设计时间和成本),用户设计可以相对有效地实现,从而释放否则将被附加操作和路由资源占用的可配置PLD组件。在一些实施例中,优化的用户设计可以由标识由PLD提供的各种类型的组件及其相关联的信号的网表来表示。在产生经转换的用户设计的网表的实施例中,可以对这样的网表执行优化过程。一旦优化,这样的配置就可以被加密和签名和/或以其他方式被保护以分发到安全的PLD,并且这样的过程可以包括一个或
多个密钥供应过程,如本文所述。
[0024]现在参考附图,图1示出了根据本公开的实施例的PLD 100的框图。PLD 100(例如,现场可编程门阵列(FPGA))、复杂可编程逻辑器件(CPLD)、现场可编程片上系统(FPSC)或其它类型的可编程器件)通常包括输入/输出(I/O)块102和逻辑块104(例如,也被称为可本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种安全可编程逻辑器件(PLD)故障表征系统,包括:安全PLD,其中所述安全PLD包括:多个可编程逻辑块(PLB),被布置在所述安全PLD的PLD结构中;以及配置引擎,被配置为根据存储在所述安全PLD的非易失性存储器(NVM)中的、和/或通过所述安全PLD的配置输入/输出(I/O)耦合到所述配置引擎的配置映像,对所述PLD结构进行编程,其中所述安全PLD被配置为执行计算机实现的方法,所述计算机实现的方法包括:从所述PLD结构或从通过所述配置I/O耦合到所述安全PLD的外部系统接收故障表征(FC)命令;执行所述FC命令,其中执行所述FC命令包括擦除和/或无效所述安全PLD的所述NVM的至少一部分;以及执行调试过程,其中执行所述调试过程包括由所述PLD结构引导调试配置,所述调试配置被配置为标识和/或表征所述安全PLD的任何一个元件或元件组合的操作中的故障。2.根据权利要求1所述的安全PLD故障表征系统,其中所述计算机实现的方法还包括:在执行所述FC命令之前,认证所接收的FC命令,其中所述FC命令使用与用于所述安全PLD的安全PLD客户端相关联的应用私有密钥来被签名,相应的应用公共密钥被存储在所述NVM中,并且所述认证包括使用所述应用公共密钥来验证所述FC命令使用与所述安全PLD客户端相关联的所述应用私有密钥而被签名。3.根据权利要求1所述的安全PLD故障表征系统,其中所述计算机实现的方法还包括:在执行所述FC命令之前,认证所接收的FC命令,其中所述FC命令包括FC跟踪ID,与所述安全PLD相关联的跟踪ID被存储在所述NVM中,并且所述认证包括将所述FC跟踪ID与存储在所述NVM中的所述跟踪ID进行比较。4.根据权利要求1所述的安全PLD故障表征系统,其中所述NVM包括可重写和/或经解锁的扇区,并且其中执行经认证的FC命令包括:根据优先化擦除顺序,擦除所述NVM的各个扇区,其中所述优先化擦除顺序包括用户闪存扇区、映像扇区、存储在安全存储扇区中的安全和/或其它特征、设备密钥扇区和锁定策略扇区。5.根据权利要求1所述的安全PLD故障表征系统,其中所述NVM包括一次性可编程扇区,并且其中执行经认证的FC命令包括:根据优先化擦除顺序,使所述NVM的各个扇区无效,其中所述无效包括将特定扇区内的所有比特设置为“1”,并且其中所述优先化擦除顺序包括用户闪存扇区、映像扇区、存储在安全存储扇区中的安全和/或其它特征、设备密钥扇区和锁定策略扇区。6.根据权利要求1所述的安全PLD故障表征系统,其中执行所述调试过程包括:通过所述配置I/O接收调试配置;在所述PLD结构中加载、引导和/或执行所接收的调试配置;以及生成与所述调试配置相关联的调试摘要,其中所述调试摘要包括与由所述PLD结构进行的所述调试配置的执行相关联的故障和/或其它调试信息的列表。7.根据权利要求6所述的安全PLD故障表征系统,其中执行所述调试过程还包括:在所述PLD结构中加载、引导和/或执行所接收的调试配置之前,认证所述调试配置;以及
通过所述配置I/O,向耦合到所述安全PLD的外部系统提供所述调试摘要。8.根据权利要求1所述的安全PLD故障表征系统,其中所述计算机实现的方法还包括在执行所述调试过程之后重新供应所述安全PLD,并且其中所述重新供应所述安全PLD包括:通过所述安全PLD的所述配置I/O,接收编程私有密钥、编程秘密和初始编程映像(IPI)配置;将所述IPI配置存储在所述NVM中;根据所述IPI配置,对所述安全PLD的所述PLD结构进行编程。9.根据权利要求1所述的安全PLD故障表征系统,还包括:外部系统,包括处理器和存储器,并且被配置为通过所述安全PLD的所述配置输入/输出(I/O)耦合到所述安全PLD,其中所述存储器包括机器可读指令,所述机器可读指令在由所述外部系统的所述处理器执行时,适于使所述外部系统:通过所述配置I/O,向所述安全PLD提供调试配置;从所述安全PLD接收与由所述安全PLD的所述PLD结构进行的所述调试配置的引导和/或执行相关联的调试摘要;至少部分地基于所接收的调试摘要来确定更新的制造商修整;以及通过所述配置I/O,向所述安全PLD提供所述更新的制造商修整。10.根据权利要求1所述的安全PLD故障表征系统,还包括:外部系统,包括处理器和存储器,并且被配置为通过所述安全PLD的所述配置输入/输出(I/O)耦合到所述安全PLD,其中所述存储器包括机器可读指令,所述机器可读指令在由所述外部系统的所述处理器执行时,适于使所述外部系统:生成或接收用于所述安全PLD的受保护配置;以及根据所述受保护配置,对所述安全PLD进行编程;其中所述受保护配置包括应用配置和特征配置以及编程密钥摘要,所述应用配置和所述特征配置各自通过与安全PLD客户端相关联的应用私有密钥来被签名、并且通过与所述安全PLD客户端相关联的应用加密密钥来被加密,所述编程密钥摘要包括应用公共密钥、所述应用加密密钥和编程秘密的加密和签名组合,所述编程秘密与所述安全PLD客户端...

【专利技术属性】
技术研发人员:F
申请(专利权)人:美国莱迪思半导体公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1