当前位置: 首页 > 专利查询>浙江大学专利>正文

一种集成电路加密电路状态机的破解方法技术

技术编号:37117225 阅读:21 留言:0更新日期:2023-04-01 05:12
本发明专利技术属于集成电路技术领域,公开了一种集成电路加密电路状态机的破解方法,包括步骤1:对网表施加激励,提取信息;步骤2:将求解密钥的过程视为状态机重构的过程,并将此问题转化为约束编程问题;步骤3:若CP

【技术实现步骤摘要】
一种集成电路加密电路状态机的破解方法


[0001]本专利技术属于集成电路
,尤其涉及一种集成电路加密电路状态机的破解方法。

技术介绍

[0002]近来年,为保护集成电路的知识产权,出现了很多加密电路的方法。如图1所示,这些方法通过将密钥(key)作为电路额外的输入,控制电路的行为;又通过引入防篡改存储器,并将其作为密钥存放的物理介质,保证密钥存放的安全性,即无法从存储器中直接读出密钥。
[0003]状态机(finite state machine, FSM)是时序电路中最常见的结构之一,因此,有很多与之相关的电路加密方法,如在状态机真正的复位状态前增加一些状态及跳转关系,使得只有特定的输入序列才可以使电路正常运行,而这串序列被视作密钥。又如在状态机中增加错误状态及其与正常状态的跳转关系,使得只有在密钥正确时,电路才能正常运行。
[0004]对于加密的时序电路,一般需要结合加密后的网表及激活的芯片进行攻击,后者主要用于获得输入

输出对(oracles)以排除错误key。较通用的攻击方法是时序电路展开。通过将时序电路按照时钟周期展开,时序电路被建模为组合电路,并进一步被转化为布尔可满足性问题送至求解器。由于求解器的一次迭代至多排除2个错误key,且需要展开的时钟周期数未知,而随着展开时钟周期数的增加,求解器的运算规模越来越大,因此,求解效率不高。除此之外的其他攻击方法一般从加密方法本身的特性出发,通过研究其覆盖率、结构及网表痕迹,进行破解。
[0005]JANUS
>‑
HD是最新提出的利用状态机进行电路加密的方法。它将状态机中的可达状态分为D组和T组,并在代码中用异或逻辑修改了所有T组状态的次态:若A状态属于T组,原本的次态为B,则修改后的次态为A^B。如图2所示,灰色表示了T组状态及被需要被修改的状态转移关系,修改后的加密状态机如图3所示,其中11、13状态为加密前电路中的不可达状态。
[0006]若B作为A的次态,即存在A

B的状态转移关系,则它对于A来说是传出,对于B来说是传入,且这个转移关系的类型由A定义:若A属于D组,则称为D型转移关系,否则为T型转移关系。若一个状态接收不和自己同组的传入,则它为入口状态,编码时必须满足和key的汉明距离为特定值h的条件,也称这种编码为on

set编码,如图2中的状态4和14。其他状态机中的可达状态则不可以满足和key的汉明距离为特定值h这一条件,也称这种编码为off

set编码。特别的,h的值是能提供足够on

set编码的最小值。
[0007]为了状态机的正常工作,JANUS

HD引入了一根由当前状态和密钥控制的配置信号,它仅在入口状态处翻转,以满足如下特性:若当前状态属于D组,则配置信号的值为0,也称为D型配置;若当前状态属于T组,则配置信号的值为1,也称为T型配置。
[0008]由于JANUS

HD使用了尽可能少的on

set编码削弱了求解器的剪枝能力,且状态间的配置相互独立,目前没有针对它的有效破解方法,而利用现有方法的破解复杂度相当于
遍历状态机,这一点对于大型电路来说尤其困难。

技术实现思路

[0009]本专利技术目的在于提供一种集成电路加密电路状态机的破解方法,以解决上述的技术问题。
[0010]为解决上述技术问题,本专利技术的一种集成电路加密电路状态机的破解方法的具体技术方案如下:一种集成电路加密电路状态机的破解方法,包括如下步骤:步骤1:对网表施加激励,提取信息;步骤2:将求解密钥的过程视为状态机重构的过程,并将此问题转化为约束编程问题,通过将得到的加密状态机转化为矩阵,并将其在状态机上的结构特性转化为约束,迭代调用求解工具CP

SAT solver,得所有潜在正确的key;步骤3:若CP

SAT solver解得的key的数量为1,攻击结束,得到唯一正确key,否则用Synopsys VC Formal SEQ Application进行时序等价性检查,并结合Oracles进一步排除错误的key,直到得到唯一正确的key或多个等价的key。
[0011]进一步地,所述步骤1提取信息包括D型配置下的加密状态机、状态机的复位状态、汉明距离值h和配置信号复位值,T型配置下的加密状态机由D型配置下的加密状态机推导,即将所有状态的次态修改为与当前状态的异或。
[0012]进一步地,所述步骤2的加密状态机转化为矩阵的方法,包括如下步骤:矩阵的大小为n*n,其中n=2^(DFF数量),对于由4个触发器构成的加密状态机,需要创建一个16*16的矩阵,对于,若FSM[i][j]=1,代表状态机中有从state i到state j的连接关系;若FSM[i][j]=0,则没有,若FSM较大,压缩存储FSM矩阵,对于任意状态,只记录它的次态。
[0013]进一步地,所述步骤2的结构特性转化为约束的方法,包括如下步骤:步骤2.1:创建变量表示每个状态是否可达,是否属于D组或T组,是否为入口状态,创建变量表示潜在正确的key,采用五个布尔型变量:U,D,T,E,K,其中U代表不可达,D和T代表D组状态和T组状态,E代表入口状态,K代表潜在正确的key;步骤2.2:根据线索加入约束。
[0014]进一步地,所述步骤2.2的线索包括:1)根据配置信号的复位值确定状态机复位状态属于D组或T组,若复位值为0,则属于D组,否则属于T组;2)入口状态接收和自己不属于同一组的传入;3)每个状态仅接收一种类型的传入,但传出可以到同组的状态或是另一组的入口状态;4)异步复位下,复位状态不为入口;5)可达状态中只有入口状态的编码属于on

set,入口状态间的汉明距离在2和2*h之间;6)入口状态的数量大于h

1提供的on

set编码数量,不大于h提供的on

set编码数
量;7)不可达状态的数量大于剩余的on

set编码的数量,且次态都为真实状态;8)在D型配置下,不可达状态和接收T型传入的可达状态都可能不可达,它们一旦可达,传入一定不来自D组状态,只有T组状态会传出到不可达状态;9)在T型配置下,不可达状态和接收D型传入的可达状态都可能不可达,它们一旦可达,传入一定不来自T组状态, T组状态不会传出到不可达状态;10)根据状态属性分配重建状态机后,除了复位状态,所有的D组和T组状态都可达,其他状态都不可达,且存在由此推出的key。
[0015]进一步地,所述步骤2迭代调用求解工具CP

SAT solver的方法,包括:每次调用CP

SAT solver只求一个可行解,记录下对应的key后,增加新的约束,使后续的可行解中不能推出相同的key。
[0016]进一本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种集成电路加密电路状态机的破解方法,其特征在于,包括如下步骤:步骤1:对网表施加激励,提取信息;步骤2:将求解密钥的过程视为状态机重构的过程,并将此问题转化为约束编程问题,通过将得到的加密状态机转化为矩阵,并将其在状态机上的结构特性转化为约束,迭代调用求解工具CP

SAT solver,得所有潜在正确的key;步骤3:若CP

SAT solver解得的key的数量为1,攻击结束,得到唯一正确key,否则用Synopsys VC Formal SEQ Application进行时序等价性检查,并结合Oracles进一步排除错误的key,直到得到唯一正确的key或多个等价的key。2.根据权利要求1所述的集成电路加密电路状态机的破解方法,其特征在于,所述步骤1提取信息包括D型配置下的加密状态机、状态机的复位状态、汉明距离值h和配置信号复位值,T型配置下的加密状态机由D型配置下的加密状态机推导,即将所有状态的次态修改为与当前状态的异或。3.根据权利要求1所述的集成电路加密电路状态机的破解方法,其特征在于,所述步骤2的加密状态机转化为矩阵的方法,包括如下步骤:矩阵的大小为n*n,其中n=2^(DFF数量),对于由4个触发器构成的加密状态机,需要创建一个16*16的矩阵,对于,若FSM[i][j]=1,代表状态机中有从state i到state j的连接关系;若FSM[i][j]=0,则没有,若FSM较大,压缩存储FSM矩阵,对于任意状态,只记录它的次态。4.根据权利要求1所述的集成电路加密电路状态机的破解方法,其特征在于,所述步骤2的结构特性转化为约束的方法,包括如下步骤:步骤2.1:创建变量表示每个状态是否可达,是否属于D组或T组,是否为入口状态,创建变量表示潜在正确的key,采用五个布尔型变量:U,D,T,E,K,其中U代表不可达,D和T代表D组状态和T组状态,E代表入口状态,K代表潜在正确的key;步骤2.2:根据线索加入约束。5.根据权利要求4所述的集成电路加密电路状态机的破解方法,其特征在于,所述步骤2.2的线索包括:1)根据配置信号的复位值确定状...

【专利技术属性】
技术研发人员:金琳莉黄凯王轲蒋小文刘智力
申请(专利权)人:浙江大学
类型:发明
国别省市:

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

1