用于保护集成电路的安全特征的技术制造技术

技术编号:19075933 阅读:24 留言:0更新日期:2018-09-29 17:54
一种集成电路包括控制电路、一次性可编程电路和安全特征。所述控制电路响应于所述集成电路的用户对访问所述安全特征的请求而判断所述一次性可编程电路是否被编程。如果所述控制电路确定所述一次性可编程电路已经被编程以指示对所述安全特征的先前访问,那么所述控制电路生成用于向所述集成电路的用户指示所述安全特征先前已经被访问的信号。如果所述控制电路确定所述一次性可编程电路未被编程,那么所述控制电路响应于所述请求而使所述一次性可编程电路被编程。

【技术实现步骤摘要】
【国外来华专利技术】用于保护集成电路的安全特征的技术相关申请的交叉引用本专利申请要求2016年3月4日提交的美国专利申请No.15/061622的优先权,通过引用将该美国专利申请的全文并入本文中。
本公开涉及电子电路和系统,并且更具体而言,涉及用于保护集成电路的安全特征的电路和方法。
技术介绍
现场可编程门阵列(FPGA)是具有可编程逻辑电路和可编程路线选择电路的集成电路。可编程逻辑和路线选择可以被配置有从外部源加载到FPGA中的配置位流。FPGA还可以具有测试模式,FPGA的制造商使用所述测试模式在FPGA售出之前检查其是否具有充分功能性,并且所述测试模式还用于对从现场返回的FPGA执行故障分析。相较于通过位流提供给一般用户的访问和控制,测试模式往往提供对FPGA中的元件的更高的访问和控制。FPGA可以含有熔丝,其可以用于永久性地禁用测试模式访问或者阻止编程或者读回加密密钥。
技术实现思路
根据一些实施例,集成电路包括控制电路、一次性可编程电路和安全特征。所述控制电路响应于所述集成电路的用户对访问所述安全特征的请求而判断所述一次性可编程电路是否已被编程。如果所述控制电路确定所述一次性可编程电路已被编程为指示对所述安全特征的先前访问,那么所述控制电路生成为所述集成电路的用户指示所述安全特征先前已经被访问的信号。如果所述控制电路确定所述一次性可编程电路尚未被编程,那么所述控制电路响应于所述请求而使所述一次性可编程电路被编程。在考虑下述具体实施方式和附图时,本专利技术的各种目的、特征和优点将变得显而易见。附图说明图1示出了根据实施例的安全特性访问系统的示例。图2是根据实施例的示出可以被执行以清空安全特征访问寄存器的操作的示例的流程图。图3是根据实施例的示出可以被执行以判断集成电路(IC)是否将允许用户访问安全特征的操作的示例的流程图。图4是根据另一实施例的示出可以被执行以判断IC是否将允许用户访问安全特征的操作的示例的流程图。图5示出了根据另一实施例的另一安全特征访问系统的示例。图6是根据实施例的示出用于判断可编程集成电路(IC)先前是否已经被配置的操作的示例的流程图。图7是根据另一实施例的示出判断可编程集成电路(IC)先前是否已经被编程的操作的示例的流程图。图8是根据另一实施例的示出判断可编程集成电路(IC)先前是否已经被编程的操作的其它示例的流程图。具体实施方式在关键的商业、工业和军事基础设施中经常使用现场可编程门阵列(FPGA)集成电路(又称为器件);并且因此它们可能遭受敌对对手的攻击。攻击可能旨在损坏FPGA器件,以使器件由于寿命期间压力状况的原因而过早地发生故障或者使部署的器件更易于受到未来的攻击。例如,可以使用FPGA器件的测试模式有意地使FPGA器件中的某些晶体管过应力,从而使所述晶体管容易过早地受到负偏压温度不稳定性(NBTI)影响。这些影响可以用于给FPGA器件中的静态随机存取存储器(RAM)或寄存器打上印记,从而使它们被加电到对攻击者有利的已知状态。另一种形式的攻击涉及截取FPGA中存储的秘密,例如加密密钥。存储在FPGA器件中的这些秘密可以由FPGA器件中的唯一值来保护,例如,所述唯一值是通过物理不可克隆函数(PUF)创建的唯一值。FGPA的最终用户可能必须在部署器件之前知道这些值,但是最终用户会想要阻止攻击者在部署FPGA之前或者之后提取出所述秘密,因为攻击者可能在沿FGPA的供应链的任何位置拦截FPGA。其它形式的损害可能具有不太有恶意的动机,但是仍然必须受到保护。例如,将先前使用过的(并且因而局部承受应力并且有磨损)的FPGA器件作为新的没用过的FPGA器件重新售出也可能具有使FPGA器件在其第二次应用期间出人意料地过早发生故障的效果。根据本文公开的一些实施例,通过一次性可编程电路来保护集成电路(IC)的安全特征。控制电路可以允许基于一次性可编程电路的状态而允许对IC的安全特征的用户访问。控制电路可以基于一次性可编程电路的状态来阻止用户访问IC的安全特征。安全特征可以是(例如)加密密钥、物理不可克隆函数(PUF)、IC的安全存储区、IC的测试模式、FPGA的配置模式、或者IC的用户模式。安全特征又可以被称为防护特征。在一些实施例中,控制电路可以允许用户访问IC的安全特征,只能到在已经通过设置安全特征访问寄存器对一次性可编程电路进行编程之后发生的IC的下一次上电复位为止。在IC的下一次上电复位之后,IC将安全特征访问寄存器清空到清空状态。响应于安全特征访问寄存器处于清空状态,控制电路阻止用户访问IC的安全特征。安全特征访问寄存器可以(例如)无限期地保持处于清空状态,或者可以通过另一个一次性可编程电路再次重新设置安全特征访问寄存器。图1-图4示出这些实施例的一些示例。图1示出了根据实施例的安全特性访问系统100的示例。图1的安全特征访问系统100包括控制电路101、安全特征访问寄存器电路102、一次性可编程电路103和安全特征104。安全特征访问系统100(包括电路101-104在内)可以完全位于集成电路(IC)内。IC可以是(例如)FPGA、可编程逻辑器件(PLD)、可编程逻辑阵列(PLA)、处理器、存储器件、模拟器件、或者任何其它类型的IC。控制电路101可以是(例如)状态机、处理器电路、处理器电路的部分、被编程为起着控制器的作用的可编程逻辑电路、或者另一类型的控制电路。系统100支持控制电路101与安全特征访问寄存器102、一次性可编程电路103和安全特征104中的每者之间的双向通信,如图1中的箭头所示。系统100还可以支持一次性可编程电路103与安全特征104之间的双向通信,如图1所示。安全特征访问寄存器102是可以包括(例如)一个或多个触发器电路的易失性存储电路。安全特征104可以是(例如)IC的安全存储区、IC的测试模式、可编程IC的配置模式、IC的用户模式、可编程逻辑IC的可编程逻辑电路、加密密钥、物理不可克隆函数(PUF),仅举几例。PUF是使用IC管芯的不可复制的制造变化来产生每个IC管芯中的唯一并且不可克隆函数的管芯上电路。PUF可以用于生成询问-响应对。至PUF的输入是询问,并且PUF的输出是响应。询问和响应均可以是(例如)几百或几千位。PUF可以用于保护加密密钥。秘密PUF可以用于例如通过对加密密钥与PUF响应进行异或运算以生成输出密钥来隐藏加密密钥。可以通过对输出密钥与PUF响应进行异或运算而从输出密钥提取出原始加密密钥。PUF还可以用于生成加密密钥。安全特征104可以是任何类型的PUF。PUF的两个示例是仲裁型PUF和静态RAMPUF。仲裁型PUF是使用IC管芯中的两个不同信号路径的延迟之间的差的PUF,所述差是由个体IC管芯的制造变化所导致的。静态RAMPUF是基于IC中的SRAM电路的个体存储单元被加电至随机状态的PUF。PUF可以是软PUF或硬PUF。硬PUF被直接实施到IC的硅中。软PUF是通过配置IC中的可编程资源(例如查找表、寄存器和存储器)来实施的。可以使用可编程IC中的可编程资源将静态RAMPUF和仲裁型PUF两者实施为硬PUF或软PUF。在实施例中,安全特征104可以是(例如)通过可编程IC中的可编程资源实施的软PUF与可编程IC的配置模式的组合。作本文档来自技高网...

【技术保护点】
1.一种集成电路,包括:控制电路;一次性可编程电路;以及安全特征,其中,所述控制电路响应于所述集成电路的用户对访问所述安全特征的请求而判断所述一次性可编程电路是否被编程,其中,如果所述控制电路确定所述一次性可编程电路已经被编程以指示对所述安全特征的先前访问,那么所述控制电路生成用于向所述集成电路的用户指示所述安全特征先前已经被访问的信号,并且其中,如果所述控制电路确定所述一次性可编程电路未被编程,那么所述控制电路响应于所述请求而使所述一次性可编程电路被编程。

【技术特征摘要】
【国外来华专利技术】2016.03.04 US 15/061,6221.一种集成电路,包括:控制电路;一次性可编程电路;以及安全特征,其中,所述控制电路响应于所述集成电路的用户对访问所述安全特征的请求而判断所述一次性可编程电路是否被编程,其中,如果所述控制电路确定所述一次性可编程电路已经被编程以指示对所述安全特征的先前访问,那么所述控制电路生成用于向所述集成电路的用户指示所述安全特征先前已经被访问的信号,并且其中,如果所述控制电路确定所述一次性可编程电路未被编程,那么所述控制电路响应于所述请求而使所述一次性可编程电路被编程。2.根据权利要求1所述的集成电路,其中,所述安全特征是在所述集成电路中实施物理不可克隆函数的电路、所述集成电路中的存储安全信息的存储电路、所述集成电路中的可编程逻辑电路、或者所述集成电路中的可编程路线选择电路的至少其中之一。3.根据权利要求1所述的集成电路,其中,所述安全特征是所述集成电路的配置模式、所述集成电路的测试模式、加密密钥、或者所述集成电路中存储的安全数据的至少其中之一。4.根据权利要求1所述的集成电路,其中,所述一次性可编程电路包括至少一个熔丝、至少一个反熔丝、或者熔丝与反熔丝的任何组合。5.根据权利要求1所述的集成电路,其中,所述一次性可编程电路包括一次性可编程禁用电路和一次性可编程启用电路,其中,所述控制电路响应于对访问所述安全特征的所述请求而使所述一次性可编程启用电路被编程,其中,如果所述控制电路确定所述一次性可编程启用电路已经被编程,那么所述控制电路生成用于向所述集成电路的用户指示所述安全特征先前已经被访问的信号,并且其中,如果所述控制电路确定所述一次性可编程禁用电路已经被编程,那么所述控制电路阻止所述集成电路的用户访问所述安全特征。6.根据权利要求1所述的集成电路,还包括:安全特征访问寄存器,其中,所述控制电路在使所述一次性可编程电路被编程之后使访问值被存储在所述安全特征访问寄存器中,并且其中,只有在所述安全特征访问寄存器被设置到所述访问值时,所述控制电路才允许所述集成电路的用户访问所述安全特征。7.根据权利要求6所述的集成电路,其中,所述控制电路响应于所述集成电路在被断电之后被加电而将所述安全特征访问寄存器清空至清空值。8.根据权利要求1所述的集成电路,其中,如果所述控制电路确定所述一次性可编程电路已经被编程以指示对所述安全特征的先前访问,那么所述控制电路阻止所述集成电路的用户访问所述安全特征。9.根据权利要求1所述的集成电路,其中,所述控制电路在所述一次性可编程电路被编程之后并且在所述集成电路的下一次加电复位之前允许所述集成电路的用户访问所述安全特征。10.一种集成电路,包括:控制电路;一次性可编程电路;以及可编程逻辑电路,其中,所述控制电路阻止所述集成电路进入用于配置所述可编程逻辑电路的配置模式,直到所述控制电路确定所述一次性可编程电路已经被编程为止,其中,在所述集成电路进入所述配置模式之前,所述控制电路使所述一次...

【专利技术属性】
技术研发人员:B·佩德森T·鲁B·王A·多世Y·S·王
申请(专利权)人:阿尔特拉公司
类型:发明
国别省市:美国,US

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

1