本发明专利技术涉及一种IP核安全路径选取与切断方法,其中,包括:步骤1:对待测IP核代码进行信息流处理,为每一个信号添加污迹标签;步骤2:将起点DI的污迹标记位DIt始终约束为高;步骤3:切断起点DI的所有驱动信号;步骤4:判断起点DI的污迹标记位DIt是否为高,如果起点DI为低则起点DI与终点DO之间不存在数据路径,转步骤7,如果为高则进行步骤5;步骤5:判断路径(DI,A,DO)的节点A的标记位At是否为高,如果标记位At为低,则起点DI与起点DO之间存在数据路径,但不存在路径(DI,A,DO),转步骤7,如果为高则进行步骤6;步骤6:寻找除路径(DI,A,DO)之外其他存在的路径,约束所选路径的信号污迹标签始终为低;步骤7:结束。本发明专利技术对IP核的数据路径进行约束处理,提高了验证的精确性、降低误报率,有很高的市场价值。
【技术实现步骤摘要】
一种IP核安全路径选取与切断方法
本专利技术属于数字集成电路安全检测
,特别是涉及一种对软IP核的安全路径选取与切断方法。
技术介绍
IP核是一段具有特定电路功能的硬件描述语言程序,该程序与集成电路工艺无关,可以移植到不同的半导体工艺中去生产集成电路芯片(下文提及的IP核均指软IP核)。在现代的半导体产业中,随着芯片规模越来越庞大,设计越来越复杂,一些通用的IP核复用能避免重复劳动,大大减轻设计者的工作量。在ASIC、FPGA和SoC中通常集成了数量庞大的IP核,其来源可能是第三方IP核供应商或开源代码,IP核中可能存在的安全漏洞或硬件后门将严重影响系统的安全性,因此IP核的安全性检测是芯片安全性检测中极其重要的一环。IP核的安全性问题主要是IP核内部及之间存在数据交互的安全威胁,无论是通信控制类IP核、存储控制类IP核还是片内总线类IP核都需要对其数据交互的机密性和完整性开展验证,形成IP核的安全性检测技术,保障IP核内部及IP核之间交互数据的机密性和完整性。现有的由于芯片中通常包含有大量的IP核,使得路径级联关系非常复杂。因此在安全验证时,主要存在以下问题:1)多路径情况导致安全验证工作量巨大。验证机密性完整性时会出现多种可能的路径,这些路径中有些为需要验证的数据路径,而有些是安全需求不关注的。穷举所有数据路径的安全性会导致加大工作量、耗费更多资源甚至延长测试周期;2)复杂路径导致安全验证难度较高。随着IP核的设计复杂度不断提升,芯片设计中的路径级联关系非常复杂,使用典型的芯片安全验证手段对级联关系非常复杂的路径开展验证难度较大,需要耗费大量的时间,影响测试效率。因此,需要研究一种可以抓取关键数据路径,切断非关键数据路径的检测方法。
技术实现思路
本专利技术目的在于提供一种IP核安全路径选取与切断的方法,用于解决IP核安全检测中数据级联复杂,数据路径庞大造成的安全检测效率低,成本高的技术问题。本专利技术一种IP核安全路径选取与切断方法,其中,包括:步骤1:对待测IP核代码进行信息流处理,为每一个信号添加污迹标签;步骤2:将起点DI的污迹标记位DIt始终约束为高;步骤3:切断起点DI的所有驱动信号;步骤4:判断起点DI的污迹标记位DIt是否为高,如果起点DI为低则起点DI与终点DO之间不存在数据路径,转步骤7,如果为高则进行步骤5;步骤5:判断路径(DI,A,DO)的节点A的标记位At是否为高,如果标记位At为低,则起点DI与起点DO之间存在数据路径,但不存在路径(DI,A,DO),转步骤7,如果为高则进行步骤6;步骤6:寻找除路径(DI,A,DO)之外其他存在的路径,约束所选路径的信号污迹标签始终为低;步骤7:结束。根据本专利技术的IP核安全路径选取与切断方法的一实施例,其中,所述IP核代码采用的寄存器级污迹处理。根据本专利技术的IP核安全路径选取与切断方法的一实施例,其中,对每一个寄存器外扩3-bit作为污迹标记位tag[2]、tag[1]以及tag[0],tag[2]为1表示来自安全性未知的IP核输出,为0表示安全的输入;tag[1]为1表示敏感信息,为0表示非敏感信息;tag[0]为1表示保护区域,为0表示非保护区域。根据本专利技术的IP核安全路径选取与切断方法的一实施例,其中,污迹追踪采用全传播策略,通过污迹传播逻辑对所有运算操作中的污迹标记位tag[2]进行逻辑或运算操作;当数据源进行运算时有一个源操作数的污迹标记位tag[2]为1,目的操作数的污迹标记位tag[2]为1。本专利技术对IP核的数据路径进行约束处理,包括选取待测数据流、切断无关数据流,可用于IP核安全性检测,提高了验证的精确性、降低误报率,有很高的市场价值。附图说明图1为数据路径选取与切断的示例图;图2为一种IP核数据路径选取与切断技术流程图。具体实施方式为使本专利技术的目的、内容、和优点更加清楚,下面结合附图和实施例,对本专利技术的具体实施方式作进一步详细描述。图1为数据路径选取与切断的示例,其中,需要选取的路径为从DI到A到DO(以下表示为(DI,A,DO)),无关路径为从DI到B到DO(以下表示为(DI,B,DO))、从DI到C到DO(以下表示为(DI,C,DO))等。选取路径:假设在IP核的多条路径中,从安全需求中可知路径1为期望验证的路径,因此选取只存在于路径1的中间节点A,且将DI的污迹位置1并且切断DI与系统中驱动信号的连接,即forceDIt=1。假设DO的污迹位DOt=1,且A的污迹位At=1,则说明污迹从DI经过A到达了DO,则此条路径为期望验证的路径1。切断路径:假设在IP核的多条路径中,根据安全需求可知除路径1之外其他路径都是不需要验证的,选取模块中不经过路径1的所有节点,例如路径2上的节点B。将DI的污迹位置1并且切断DI与系统中驱动信号的连接,即forceDIt=1,同时约束无关节点B的污迹Bt=0。假设最后DO的污迹位DOt=1,则DI到DO之间存在路径,而且存在的路径必然不会是B所在的路径2,从而实现了无关路径的切断。如图2为一种IP核数据路径选取与切断技术流程图,包括以下步骤:步骤1:对待测IP核代码进行信息流处理,为每一个信号添加污迹标签;步骤2:将DI的污迹标记位DIt始终约束为高;步骤3:切断DI的所有驱动信号;步骤4:判断DI的污迹标记位DIt是否为高,如果DI为低则进行步骤5,如果为高则进行步骤6;步骤5:得出结论:DI与DO之间不存在数据路径。结束;步骤6:判断At是否为高,如果At为低则进行步骤7,如果为高则进行步骤8;步骤7:得出结论:DI与DO之间存在数据路径,但不存在路径(DI,A,DO)。结束;步骤8:寻找除路径(DI,A,DO)之外其他存在的路径,如路径(DI,B,DO),(DI,C,DO);步骤9:约束所选路径的信号污迹标签始终为低,如约束Bt、Ct的污迹标签为低;步骤10:此时的数据路径为(DI,A,DO),无关路径已经切断。结束。本专利技术提供了一种IP核安全路径选取与切断的方法进一步包括:(1)IP核代码污迹标记处理包括:优选地,所述IP核代码污迹标记处理模块采用的寄存器级污迹处理,如表1所示,对每一个寄存器外扩3-bit作为污迹标记位tag[2]、tag[1]、tag[0],表1给出了污迹标记位的定义。这种污迹标记方法为污迹传播提供了“通道”。这种方法只将寄存器外扩了3-bit,没有对代码本身的功能逻辑进行修改,因此允许在设计功能正常工作的同时进行污迹标记与追踪。而同时,污迹追踪采用全传播策略,污迹追踪监控机制通过污迹传播逻辑对所有运算操作中的污迹标记位tag[2]进行逻辑或运算操作;只要数据源进行运算时有一个源操作数的污迹标记位tag[2]为“1”,目的操作数的污迹标记位tag[2]就为“1”。通过以上的传播策略,可通过监测污迹的方式实现对整个IP本文档来自技高网...
【技术保护点】
1.一种IP核安全路径选取与切断方法,其特征在于,包括:/n步骤1:对待测IP核代码进行信息流处理,为每一个信号添加污迹标签;/n步骤2:将起点DI的污迹标记位DIt始终约束为高;/n步骤3:切断起点DI的所有驱动信号;/n步骤4:判断起点DI的污迹标记位DIt是否为高,如果起点DI为低则起点DI与终点DO之间不存在数据路径,转步骤7,如果为高则进行步骤5;/n步骤5:判断路径(DI,A,DO)的节点A的标记位At是否为高,如果标记位At为低,则起点DI与起点DO之间存在数据路径,但不存在路径(DI,A,DO),转步骤7,如果为高则进行步骤6;/n步骤6:寻找除路径(DI,A,DO)之外其他存在的路径,约束所选路径的信号污迹标签始终为低;/n步骤7:结束。/n
【技术特征摘要】
1.一种IP核安全路径选取与切断方法,其特征在于,包括:
步骤1:对待测IP核代码进行信息流处理,为每一个信号添加污迹标签;
步骤2:将起点DI的污迹标记位DIt始终约束为高;
步骤3:切断起点DI的所有驱动信号;
步骤4:判断起点DI的污迹标记位DIt是否为高,如果起点DI为低则起点DI与终点DO之间不存在数据路径,转步骤7,如果为高则进行步骤5;
步骤5:判断路径(DI,A,DO)的节点A的标记位At是否为高,如果标记位At为低,则起点DI与起点DO之间存在数据路径,但不存在路径(DI,A,DO),转步骤7,如果为高则进行步骤6;
步骤6:寻找除路径(DI,A,DO)之外其他存在的路径,约束所选路径的信号污迹标签始终为低;
步骤7:结束。
2.如权...
【专利技术属性】
技术研发人员:李东方,沈炜,赵霞,
申请(专利权)人:北京计算机技术及应用研究所,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。