电路保护系统和方法技术方案

技术编号:16112807 阅读:30 留言:0更新日期:2017-08-30 06:09
本发明专利技术提出了一种与包括基本布尔变量的电路的结构描述相关联的布尔电路的保护方法,每个基本布尔变量由一位表示,该方法包括以下操步骤,所述步骤在于:‑根据预定义的选择标准来选择电路的k个基本布尔变量的集合,‑通过根据选定的顺序对k个所选择的变量进行级联来构造由k位表示的变量x,‑根据与二进制码C的补码D的对偶距离有关的条件来确定二进制码C以及二进制码C的补码D,二进制码C包括一组代码字并属于给定的向量空间,二进制码C具有长度n和大小2

【技术实现步骤摘要】
【国外来华专利技术】电路保护系统和方法
本专利技术总体上涉及电子电路,并且更具体地涉及用于保护这种电子电路的系统和方法。现有技术制造电子组件需要极其复杂的工艺。此外,制造这种组件需要复杂且昂贵的基础设施,例如用于制造通常由硅组成并使用掩模的这些电子组件的电子电路的代工型工厂。特别地,已经观察到电子组件的技术越发达,制造它们所需要的工厂数量越少。继而,小数量的这种工厂必须以强约束运转(举例来说,例如可用性和生产能力限制),以便能够处理交付给它们的不同类型的电子组件。继而,变得难以选择特定的代工厂。为了通过使这些约束(例如在延迟方面)最小化来优化电子组件的制造成本,可能需要在其它地理区域中制造组件。在一些技术行业中,这种选择可能受到由代工厂提供的缺少或保证的限制,并且具体而言不可能确保代工厂操作人员在制造电子组件的背景下没有恶意。例如,难以检查代工厂是否进行以下操作:-生产比所要求的样本更多的样本,以便将其在灰色市场(这是被称为过度生产的概念)上销售;-复制电子组件的蓝图,以便将其转售;-在制造电子电路之前对其蓝图进行修改(称为仿造)。对电子电路进行修改是尤其敏感的威胁。很多动机可能导致代工厂恶意地修改这些蓝图,举例来说,例如:-使得电路有意地比竞争对手的电路表现得差;-插入“后门”,以便提供远程访问或简单地以谨慎的方式过滤掉信息;-插入能够远程销毁组件的逻辑单元(被称为终止开关)。对电子电路的这种恶意修改通常被称为硬件特洛伊木马。特洛伊木马包括两部分:1、激活部分(触发器),其监视电路的状态以从中推断出用于触发特洛伊木马的条件,以及2、动作部分(有效载荷),其在触发之后执行恶意动作。为了执行其恶意动作,特洛伊木马必须同时访问包括触发器和有效载荷的两个功能部分。引申开来,特洛伊木马设陷所涉及的ASIC(专用集成电路)和FPGA(现场可编程门阵列)配置文件的掩模与处理器二进制机器码一样多。有两种经典的方法用来对抗特洛伊木马。第一种方法或主动方法在于预防插入,而第二种方法或被动方法在于检测插入。被动方法是缓解的解决方案,因为该方法基于特洛伊木马事实上已经成功地被引入到电路中的假设。该方法的可靠性也难以量化。事实上,可能会出现误报(falsepositives)(检测到实际上不存在的特洛伊木马)和漏报(falsenegatives)(未检测到实际上存在的特洛伊木马,例如如果其足够谨慎)。同样可能的是,在有特洛伊木马的情况下制造相同电子组件的一些样本,而在没有特洛伊木马的情况下制造电子组件的其它样品,这是可能的,例如,如果全部的掩模仅用于一个或几个仿造管芯。如果检测测试不是穷尽的,而是以个案为基础进行应用(这种方法被称为筛查),则被感染的样品有可能绕过过滤器。一些现有的检测方法直接内建在组件上:这继而被称为监视器。对组件进行完全逆向设计并验证蓝图的完整性也是可能的,例如在RandyTorrance和DickJames.的“TheState-of-the-ArtinICReverseEngineering,InCHES,volume5747ofLNCS,pages363-381.Springer,September6-92009.Lausanne,Switzerland”中所描述的。然而,如果电路包含几百万个门(这使得该方法非常昂贵),则可以证明通过对组件进行逆向设计的这种研究特别冗长且复杂。其它已知的检测方法使用逻辑测试,举例来说,例如在M.Bang和M.S.Hsiao.的“ODETTE:ANon-ScanDesign-for-TestMethodologyforTrojanDetectioninICs.InInternationalWorkshoponHardware-OrientedSecurityandTrust(HOST),IEEE,pages18-23,2011”中所描述的方法。这篇文章描述了总是被激活的逻辑链(类似于扫描链)的产生,因为当采用双相输出时,其被连接到锁存器D的Q输出,反之亦然。这种检测方法使得有可能具有相关的两个功能(所需要的功能,以及验证功能)。因此,可以经由验证功能来检测对电路规格的修改。还提出了物理观察技术,例如描绘或测量将暴露特洛伊木马的存在的物理量(在逻辑路径、电磁发射、光子发射等中的传播时间)。在这样的方法中,为了获得令人满意的检测能力,需要具有可用的健康参考样品以执行差异测量,这使得该方法更加复杂且昂贵。通过预防插入,主动方法使得有可能补救消极方法的一些缺点。已经提出了用于预防特洛伊木马插入的各种解决方案。一种已知的预防解决方案在于使用仅给予代工厂关于电子组件的信息的一部分的设计过程,该部分被充分地限制以防止黑客设计有用的特洛伊木马,举例来说,例如:-在于以下操作的过程:在给定代工厂中制造组件的一部分,然后在另一个代工厂中制造该组件的其它部分(该方法被称为划分代工厂);-基于使用可编程存储器(例如FPGA类型的可重配置区域或存储器)来实现组件的一些部分的方法,这使得有可能在制造之后对关键组件进行编程,而不将其公开给代工厂(JarrodA.Roy、FarinazKoushanfar和lgorL.Markov.的“EPIC:EndingPiracyofIntegratedCircuits.InDATE,pages1069-1074.IEEE,2008”)。然而,使用两个代工厂特定于制造用于ASIC(专用集成电路)类型的专用电路的掩模,导致高物流成本并降低生产效率。此外,尽管使用在制造之后配置的存储器使得有可能提供取决于密钥的功能,但是这导致高附加成本:可以估计FPGA类型的可再编程面积比专用区域大40倍。此外,对于正确的密钥来说,电路假定功能语义。因此,该方法不受电子电路的部分结构(被称为网表)的静态分析的保护。已经开发了强大的工具(例如,SAT-solvers和SMT)来解决这样的布尔问题。不同于加密密钥(没有一个是有区别的),在理论上,相同的密钥不适用于在其制造期间采用从组件中减去信息的对策。此外,这种保护是静态的,即一旦组件已经被定制,就无法防止黑客探测缺失的配置。另一种预防解决方案在于实现高密度放置,这使得难以插入大型特洛伊木马(ShivamBhasin、Jean-LucDanger、SylvainGuilley、XuanThuyNgo、和LaurentSauvage的“HardwareTrojanHorsesinCryptographicIPCores.InWielandFischerandSchmidt,editors,FDTC,pages15-29.IEEE,2013”)。尽管基于增加放置密度的这种解决方案使得插入大型特洛伊木马更加复杂,但是实际上,除了这种解决方案以外黑客也有可能生产足够强大的特洛伊木马并将其插入目标电路中。如美国专利US7994042B2中所描述的,另一个预防解决方案基于混淆操作,例如导致复杂布线(被称为Spaghetti布线)或伪装的门的混合。这些预防技术基于使用手动设计或者自动设计,例如使用专用于设计电子电路的CAD(计算机辅助设计)工具(被称为电子设计自动化(EDA))。可以引导这样的工具(例如,经由脚本)以实现这样的保护。此外,这样的工具本文档来自技高网...
电路保护系统和方法

【技术保护点】
一种用于布尔电路(11)的保护(100)的方法,所述布尔电路(11)与包括基本布尔变量的电路的结构描述相关联,每个所述基本布尔变量由一位表示,所述方法包括以下步骤,所述步骤在于:‑根据预定义的选择标准来选择所述电路的k个基本布尔变量的集合,‑通过根据选定的顺序对k个所选择的变量进行级联来构造由k位表示的变量x,‑根据与二进制码C的补码D的对偶距离有关的条件来确定所述二进制码C以及所述二进制码C的所述补码D,所述二进制码C包括一组代码字并属于给定的向量空间,所述二进制码C具有长度n和大小2

【技术特征摘要】
【国外来华专利技术】2014.08.06 EP 14306247.91.一种用于布尔电路(11)的保护(100)的方法,所述布尔电路(11)与包括基本布尔变量的电路的结构描述相关联,每个所述基本布尔变量由一位表示,所述方法包括以下步骤,所述步骤在于:-根据预定义的选择标准来选择所述电路的k个基本布尔变量的集合,-通过根据选定的顺序对k个所选择的变量进行级联来构造由k位表示的变量x,-根据与二进制码C的补码D的对偶距离有关的条件来确定所述二进制码C以及所述二进制码C的所述补码D,所述二进制码C包括一组代码字并属于给定的向量空间,所述二进制码C具有长度n和大小2k,其中,k指示表示所述变量x的位数;-用由n位表示的受保护的变量z来代替所述布尔电路的所述结构描述中的所述变量x,从而:-用写入所述受保护的变量z的操作来代替写入所述电路中的所述变量x的任何操作,通过将由所述代码C编码的所述变量x加到由所述补码D编码的随机位向量y来生成所述受保护的变量z,以及-用读取所述受保护的变量z的值的操作和使用大小为(n×k)的解码矩阵J来对所述受保护的变量z的所述读取值进行解码的操作,来代替读取所述电路中的所述变量x的任何操作,所述大小为(n×k)的解码矩阵J由所述二进制码C和所述二进制码C的所述补码D来确定。2.根据权利要求1所述的电路保护方法,其特征在于,选择所述基本布尔变量的步骤包括选择具有不同用途的基本布尔变量。3.根据权利要求1和2中的任一项所述的电路保护方法,其特征在于,所述二进制码C是包括大小为k×n的生成矩阵G的线性代码,所述大小为k×n的生成矩阵G用于根据关系式xG对所述变量x的状态进行编码,并且其特征在于,所述补码D包括大小为(n-k)×n的生成矩阵H,所述大小为(n-k)×n的生成矩阵H用于根据关系式yH对随机位的所述向量y进行编码,所使用的所述矩阵J由所述二进制码C的所述生成矩阵G和所述补码D的所述生成矩阵H来确定。4.根据前述权利要求中的任一项所述的电路保护方法,其特征在于,所述方法包括步骤(312),所述步骤(312)在于:通过判断与所述随机位向量有关的条件是否被验证来检测注入到所述受保护的变量z中的故障,如果所述随机位向量y不同于所述受保护的变量z的所述读取值并且所述随机位向量y由大小为n×(n-k)的解码矩阵K进行解码,则所述条件被验证,所述矩阵K由所述二进制码C和所述补码D来确定。5.根据权利要求3和4所述的电路保护方法,其特征在于,所述解码矩阵K由所述二进制码C的所述生成矩阵G和所述补码D的所述生成矩阵H来确定。6.根据权利要求3至5中的任一项所述的电路保护方法,其特征在于,所述解码矩阵J和/或所述解码矩阵K由以下关系式来确定:其中,G指示所述二进制码C的所述生成矩阵G,并且H指示所述补码D的所述生成矩阵。7.根据权利要求4至6中的任一项所述的方法,其特征在于,由所述补码D编码的所述随机位向量y进一步由维度大于或等于n-k的代码E进行编码并产生大小为m的字,所述代码与解码矩阵M和编码矩阵L相关联,所述代码E还与补码F相...

【专利技术属性】
技术研发人员:S·吉耶T·波特伯夫JL·当热
申请(专利权)人:智能IC卡公司
类型:发明
国别省市:法国,FR

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

1