CN114692551A - 一种Verilog设计文件安全关键信号的检测方法 - Google Patents

一种Verilog设计文件安全关键信号的检测方法 Download PDF

Info

Publication number
CN114692551A
CN114692551A CN202210288448.2A CN202210288448A CN114692551A CN 114692551 A CN114692551 A CN 114692551A CN 202210288448 A CN202210288448 A CN 202210288448A CN 114692551 A CN114692551 A CN 114692551A
Authority
CN
China
Prior art keywords
signals
signal
verilog
design file
safety
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202210288448.2A
Other languages
English (en)
Other versions
CN114692551B (zh
Inventor
沈海华
詹沛恒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Chinese Academy of Sciences
Original Assignee
University of Chinese Academy of Sciences
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University of Chinese Academy of Sciences filed Critical University of Chinese Academy of Sciences
Priority to CN202210288448.2A priority Critical patent/CN114692551B/zh
Publication of CN114692551A publication Critical patent/CN114692551A/zh
Application granted granted Critical
Publication of CN114692551B publication Critical patent/CN114692551B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Architecture (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Lock And Its Accessories (AREA)

Abstract

本发明涉及硬件安全的技术领域,特别是涉及一种Verilog设计文件安全关键信号的检测方法,其能够使芯片检测具备良好的安全关键信号检测功能,提高芯片检测的安全性,满足检测芯片设计中对薄弱信号的需求;检测方法包括以下步骤:S1:将Verilog设计模块整合,形成一个自上而下的整体设计文件;S2:基于信号间的关系,将Verilog设计文件映射为一张有向图;S3:基于信号节点的连接关系,使用signalrank安全关键信号检测算法寻找安全关键信号节点。

Description

一种Verilog设计文件安全关键信号的检测方法
技术领域
本发明涉及硬件安全的技术领域,特别是涉及一种Verilog设计文件安全关键信号的检测方法。
背景技术
随着芯片在人工智能、汽车等领域的大规模应用,业界对芯片设计的安全性能要求逐渐提高。在芯片设计的过程中,可能主动或被动地引入不安全因素。在设计人员认为正确的设计中,也会存在易被攻击的薄弱点,可能被硬件木马等恶意攻击电路利用,导致整个系统的安全受到威胁,同时,芯片设计中的不同模块间的通信很容易受到攻击而造成信息泄露,在芯片设计的过程中进行芯片安全检测,进而提高安全性能已经成为一个迫切需要研究的问题。
目前传统的硬件描述语言代码检测技术不具备安全关键信号检测功能,芯片检测安全性较差,不能满足检测芯片设计中薄弱信号的需求。
发明内容
为解决上述技术问题,本发明提供一种能够使芯片检测具备良好的安全关键信号检测功能,提高芯片检测的安全性,满足检测芯片设计中对薄弱信号的需求的一种Verilog设计文件安全关键信号的检测方法。
本发明的一种Verilog设计文件安全关键信号的检测方法,检测方法包括以下步骤:
S1:将Verilog设计模块整合,形成一个自上而下的整体设计文件;
S2:基于信号间的关系,将Verilog设计文件映射为一张有向图;
S3:基于信号节点的连接关系,使用signalrank安全关键信号检测算法寻找安全关键信号节点。
本发明的一种Verilog设计文件安全关键信号的检测方法,将Verilog设计模块整合,形成一个自上而下的整体设计文件,其操作流程包括:
a、从顶层模块进入,扫描文件读取信号变量;当读入一个新的模块接口时,开始在所有Verilog文件中扫描所需要的模块,找到模块后,进入新的模块按照以往一样读入信号变量;
b、当子模块读入完毕,退出回到父模块的时候,将端口的变量对接起来,然后在处理时将端口部分视为一个assign语句,再进行简单方便地端口对接;
c、循环直至读取完整个顶层设计文件。
本发明的一种Verilog设计文件安全关键信号的检测方法,基于信号间的关系,将Verilog设计文件映射为一张有向图,其操作流程包括:
D1、利用CPU设计中寄存器重命名的做法,将所有变量映射改为模块实例名+变量名;
D2、探究RTL级代码中信号之间的关系,根据RTL代码中信号之间的关联关系将电路设计转化为一张有向图,将每一个信号节点视为图中的节点,当信号之间存在如assign语句或“=”赋值语句时,视为数据流关系,当存在if等逻辑语句控制关系时,视为控制流关系,上述信号所对应的节点之间就存在一个有向边。
本发明的一种Verilog设计文件安全关键信号的检测方法,所述Verilog设计文件映射生成的有向图采用邻接表进行存储。
本发明的一种Verilog设计文件安全关键信号的检测方法,将Verilog设计文件映射生成的有向图进行优化,当存在中间单一信号时,即此信号仅存在单一的信息传递功能时,将此信号从图中省略,同时维护一张映射表,记录被省略的信号可以被其后续信号取代。
本发明的一种Verilog设计文件安全关键信号的检测方法,根据信号之间相互影响的程度,提取对其他信号影响最大的信号,即为安全关键信号,利用signalrank算法实现了对Verilog代码中的定义的信号变量进行排序,得到相对更重要的变量,内部的实现细节为,终点发散或回流:当节点之后没有节点输出时,该节点会跳转到输出信号,避免终点分数累计导致内部关键度消失。
本发明的一种Verilog设计文件安全关键信号的检测方法,根据信号之间相互影响的程度,提取对其他信号影响最大的信号,即为安全关键信号,本检测方法又名signalrank方法,参考马尔科夫链和pagerank算法的原理,基于前面步骤生成的有向图,模拟信息量在信号间的传播过程,随机给出初始信息分布,信号信息和为1,每个信号的信息量通过有向边按照比例传递到下一信号,如果信号没有扇出,则将信息分配到输出信号或者所有的信号,通过迭代计算,最终收敛得到的信号信息量为信号的安全重要性分数。
与现有技术相比本发明的有益效果为:首先在检测过程中,通过将Verilog设计模块整合,形成一个自上而下的整体设计文件,在基于信号间的关系,使Verilog设计的文件映射为一张有向图,然后基于信号节点的连接关系,通过signalrank安全关键信号检测算法寻找安全关键信号节点,从而能够使芯片检测具备良好的安全关键信号检测功能,提高芯片检测的安全性,满足检测芯片设计中对薄弱信号的需求。
附图说明
图1是本发明的安全关键信号检测流程示意图;
图2a是本发明的RTL顶层模块设计文件示意图;
图2b是本发明的RTL子模块设计文件示意图;
图2c是本发明的信号重命名示意图;
图3是本发明的RTL设计文件映射为有向图的示意图;
图4是本发明的有向图的简化示意图;
图5是本发明的signalrank在有向图中应用的示意图;
图6是本发明的安全关键信号检测结果示意图;
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
如图1至图6所示,本发明的一种Verilog设计文件安全关键信号的检测方法,检测方法包括以下步骤:
S1:将Verilog设计模块整合,形成一个自上而下的整体设计文件;
S2:基于信号间的关系,将Verilog设计文件映射为一张有向图;
S3:基于信号节点的连接关系,使用signalrank安全关键信号检测算法寻找安全关键信号节点;首先在检测过程中,通过将Verilog设计模块整合,形成一个自上而下的整体设计文件,在基于信号间的关系,使Verilog设计的文件映射为一张有向图,然后基于信号节点的连接关系,通过signalrank安全关键信号检测算法寻找安全关键信号节点,从而能够使芯片检测具备良好的安全关键信号检测功能,提高芯片检测的安全性,满足检测芯片设计中对薄弱信号的需求。
本发明的一种Verilog设计文件安全关键信号的检测方法,将Verilog设计模块整合,形成一个自上而下的整体设计文件,其操作流程包括:
a、从顶层模块进入,扫描文件读取信号变量;当读入一个新的模块接口时,开始在所有Verilog文件中扫描所需要的模块,找到模块后,进入新的模块按照以往一样读入信号变量;
b、当子模块读入完毕,退出回到父模块的时候,将端口的变量对接起来,然后在处理时将端口部分视为一个assign语句,再进行简单方便地端口对接;
c、循环直至读取完整个顶层设计文件;一个大型的硬件工程设计通常包含多个设计模块,进行安全关键信号的检测首先就需要将各个设计模块综合到一起,将多个模块组合实现整个工程的电路结构,顶层模块必须第一个输入,这个模块统领了整个工程,从顶层模块进入,读取信号变量;当读入一个新的模块接口时,开始在所有Verilog文件中扫描所需要的模块,找到模块后,进入新的模块按照以往一样读入变量;当子模块读入完毕,退出回到父模块的时候,需要将端口的变量对接起来,处理时将端口部分视为一个assign语句,这样的话可以简单方便地实现端口对接。
本发明的一种Verilog设计文件安全关键信号的检测方法,基于信号间的关系,将Verilog设计文件映射为一张有向图,其操作流程包括:
D1、利用CPU设计中寄存器重命名的做法,将所有变量映射改为模块实例名+变量名;
D2、探究RTL级代码中信号之间的关系,根据RTL代码中信号之间的关联关系将电路设计转化为一张有向图,将每一个信号节点视为图中的节点,当信号之间存在如assign语句或“=”赋值语句时,视为数据流关系,当存在if等逻辑语句控制关系时,视为控制流关系,上述信号所对应的节点之间就存在一个有向边;在模块已经组合在一起的前提下,仅仅靠变量的名字已经无法区分变量,通过借鉴CPU设计中寄存器重命名的做法,将所有变量映射改为模块实例名+变量名,这样才可以做到变量与名称的一一映射。
本发明的一种Verilog设计文件安全关键信号的检测方法,所述Verilog设计文件映射生成的有向图采用邻接表进行存储;通过采用邻接表进行存储,能够节省更多的存储空间。
本发明的一种Verilog设计文件安全关键信号的检测方法,将Verilog设计文件映射生成的有向图进行优化,当存在中间单一信号时,即此信号仅存在单一的信息传递功能时,将此信号从图中省略,同时维护一张映射表,记录被省略的信号可以被其后续信号取代;通过对Verilog设计文件映射生成的有向图进行优化,能够去除中间变量,减少图的复杂度,即当C->B->A时,可以将B信号省略,简化为C->A,同时维护一张映射表,记录B信号被A信号取代。
本发明的一种Verilog设计文件安全关键信号的检测方法,根据信号之间相互影响的程度,提取对其他信号影响最大的信号,即为安全关键信号,利用signalrank算法实现了对Verilog代码中的定义的信号变量进行排序,得到相对更重要的变量,内部的实现细节为,终点发散或回流:当节点之后没有节点输出时,该节点会跳转到输出信号,避免终点分数累计导致内部关键度消失。
本发明的一种Verilog设计文件安全关键信号的检测方法,根据信号之间相互影响的程度,提取对其他信号影响最大的信号,即为安全关键信号,本检测方法又名signalrank方法,参考马尔科夫链和pagerank算法的原理,基于前面步骤生成的有向图,模拟信息量在信号间的传播过程,随机给出初始信息分布,信号信息和为1,每个信号的信息量通过有向边按照比例传递到下一信号,如果信号没有扇出,则将信息分配到输出信号或者所有的信号,通过迭代计算,最终收敛得到的信号信息量为信号的安全重要性分数。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变型,这些改进和变型也应视为本发明的保护范围。

Claims (7)

1.一种Verilog设计文件安全关键信号的检测方法,其特征在于,检测方法包括以下步骤:
S1:将Verilog设计模块整合,形成一个自上而下的整体设计文件;
S2:基于信号间的关系,将Verilog设计文件映射为一张有向图;
S3:基于信号节点的连接关系,使用signalrank安全关键信号检测算法寻找安全关键信号节点。
2.如权利要求1所述的一种Verilog设计文件安全关键信号的检测方法,其特征在于,将Verilog设计模块整合,形成一个自上而下的整体设计文件,其操作流程包括:
a、从顶层模块进入,扫描文件读取信号变量;当读入一个新的模块接口时,开始在所有Verilog文件中扫描所需要的模块,找到模块后,进入新的模块按照以往一样读入信号变量;
b、当子模块读入完毕,退出回到父模块的时候,将端口的变量对接起来,然后在处理时将端口部分视为一个assign语句,再进行简单方便地端口对接;
c、循环直至读取完整个顶层设计文件。
3.如权利要求2所述的一种Verilog设计文件安全关键信号的检测方法,其特征在于,基于信号间的关系,将Verilog设计文件映射为一张有向图,其操作流程包括:
D1、利用CPU设计中寄存器重命名的做法,将所有变量映射改为模块实例名+变量名;
D2、探究RTL级代码中信号之间的关系,根据RTL代码中信号之间的关联关系将电路设计转化为一张有向图,将每一个信号节点视为图中的节点,当信号之间存在如assign语句或“=”赋值语句时,视为数据流关系,当存在if等逻辑语句控制关系时,视为控制流关系,上述信号所对应的节点之间就存在一个有向边。
4.如权利要求3所述的一种Verilog设计文件安全关键信号的检测方法,其特征在于,所述Verilog设计文件映射生成的有向图采用邻接表进行存储。
5.如权利要求4所述的一种Verilog设计文件安全关键信号的检测方法,其特征在于,将Verilog设计文件映射生成的有向图进行优化,当存在中间单一信号时,即此信号仅存在单一的信息传递功能时,将此信号从图中省略,同时维护一张映射表,记录被省略的信号可以被其后续信号取代。
6.如权利要求5所述的一种Verilog设计文件安全关键信号的检测方法,其特征在于,根据信号之间相互影响的程度,提取对其他信号影响最大的信号,即为安全关键信号,利用signalrank算法实现了对Verilog代码中的定义的信号变量进行排序,得到相对更重要的变量,内部的实现细节为,终点发散或回流:当节点之后没有节点输出时,该节点会跳转到输出信号,避免终点分数累计导致内部关键度消失。
7.如权利要求6所述的一种Verilog设计文件安全关键信号的检测方法,其特征在于,根据信号之间相互影响的程度,提取对其他信号影响最大的信号,即为安全关键信号,本检测方法又名signalrank方法,参考马尔科夫链和pagerank算法的原理,基于前面步骤生成的有向图,模拟信息量在信号间的传播过程,随机给出初始信息分布,信号信息和为1,每个信号的信息量通过有向边按照比例传递到下一信号,如果信号没有扇出,则将信息分配到输出信号或者所有的信号,通过迭代计算,最终收敛得到的信号信息量为信号的安全重要性分数。
CN202210288448.2A 2022-03-22 2022-03-22 一种Verilog设计文件安全关键信号的检测方法 Active CN114692551B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210288448.2A CN114692551B (zh) 2022-03-22 2022-03-22 一种Verilog设计文件安全关键信号的检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210288448.2A CN114692551B (zh) 2022-03-22 2022-03-22 一种Verilog设计文件安全关键信号的检测方法

Publications (2)

Publication Number Publication Date
CN114692551A true CN114692551A (zh) 2022-07-01
CN114692551B CN114692551B (zh) 2024-06-07

Family

ID=82139886

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210288448.2A Active CN114692551B (zh) 2022-03-22 2022-03-22 一种Verilog设计文件安全关键信号的检测方法

Country Status (1)

Country Link
CN (1) CN114692551B (zh)

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6240376B1 (en) * 1998-07-24 2001-05-29 Mentor Graphics Corporation Method and apparatus for gate-level simulation of synthesized register transfer level designs with source-level debugging
CN101877014A (zh) * 2009-04-30 2010-11-03 国际商业机器公司 一种检测时序约束冲突的方法和装置
US20120110526A1 (en) * 2010-10-29 2012-05-03 International Business Machines Corporation Method and Apparatus for Tracking Uncertain Signals
CN102761475A (zh) * 2012-03-27 2012-10-31 西安交通大学 一种基于通道依赖关系图的片上互联网络容错路由方法
CN103440363A (zh) * 2013-07-31 2013-12-11 浙江大学 一种fpga布局布线后仿真中异常信号溯源方法
CN104331569A (zh) * 2014-11-13 2015-02-04 哈尔滨工业大学 基于关键节点选择和蚁群优化算法的大规模集成电路小时延故障测试通路选择方法
US20150082263A1 (en) * 2013-09-19 2015-03-19 The Board Of Trustees Of The University Of Illinois Merit-based characterization of assertions in hardware design verification
CN105760612A (zh) * 2016-02-26 2016-07-13 中国科学院计算技术研究所 用于硅后芯片验证的断言检测装置、方法、系统、芯片
CN106406229A (zh) * 2016-12-20 2017-02-15 吉林大学 一种数控机床故障诊断方法
CN110414277A (zh) * 2018-04-27 2019-11-05 北京大学 基于多特征参数的门级硬件木马检测方法
CN111240687A (zh) * 2020-01-09 2020-06-05 华东师范大学 源代码静态分析装置
CN111666730A (zh) * 2020-05-22 2020-09-15 中国人民解放军国防科技大学 基于信号名哈希匹配的Verilog模块接口信号自动连接方法及系统
CN114025405A (zh) * 2021-10-09 2022-02-08 哈尔滨工程大学 一种基于强化学习的水下无人航行器安全机会路由方法及装置

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6240376B1 (en) * 1998-07-24 2001-05-29 Mentor Graphics Corporation Method and apparatus for gate-level simulation of synthesized register transfer level designs with source-level debugging
CN101877014A (zh) * 2009-04-30 2010-11-03 国际商业机器公司 一种检测时序约束冲突的方法和装置
US20120110526A1 (en) * 2010-10-29 2012-05-03 International Business Machines Corporation Method and Apparatus for Tracking Uncertain Signals
CN102761475A (zh) * 2012-03-27 2012-10-31 西安交通大学 一种基于通道依赖关系图的片上互联网络容错路由方法
CN103440363A (zh) * 2013-07-31 2013-12-11 浙江大学 一种fpga布局布线后仿真中异常信号溯源方法
US20150082263A1 (en) * 2013-09-19 2015-03-19 The Board Of Trustees Of The University Of Illinois Merit-based characterization of assertions in hardware design verification
CN104331569A (zh) * 2014-11-13 2015-02-04 哈尔滨工业大学 基于关键节点选择和蚁群优化算法的大规模集成电路小时延故障测试通路选择方法
CN105760612A (zh) * 2016-02-26 2016-07-13 中国科学院计算技术研究所 用于硅后芯片验证的断言检测装置、方法、系统、芯片
CN106406229A (zh) * 2016-12-20 2017-02-15 吉林大学 一种数控机床故障诊断方法
CN110414277A (zh) * 2018-04-27 2019-11-05 北京大学 基于多特征参数的门级硬件木马检测方法
CN111240687A (zh) * 2020-01-09 2020-06-05 华东师范大学 源代码静态分析装置
CN111666730A (zh) * 2020-05-22 2020-09-15 中国人民解放军国防科技大学 基于信号名哈希匹配的Verilog模块接口信号自动连接方法及系统
CN114025405A (zh) * 2021-10-09 2022-02-08 哈尔滨工程大学 一种基于强化学习的水下无人航行器安全机会路由方法及装置

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
RENJIE LU, ET AL.: "HTDet: A Clustering Method Using Information Entropy for Hardware Trojan Detection", TSINGHUA SCIENCE AND TECHNOLOGY, 19 June 2020 (2020-06-19) *
SHAHIN NAZARIAN, ET AL.: "S4oC: A Self-Optimizing, Self-Adapting Secure System-on-Chip Design Framework to Tackle Unknown Threats — A Network Theoretic, Learning Approach", 2020 IEEE INTERNATIONAL SYMPOSIUM ON CIRCUITS AND SYSTEMS (ISCAS), 28 September 2020 (2020-09-28) *
刘振宇;李钦富;曾操;李鹏;: "基于Spark的PageRank算法优化及其军事应用研究", 中国电子科学研究院学报, no. 04, 20 August 2018 (2018-08-20) *
胡飞;范建华;魏祥麟;孙钦;: "基于节点状态跳转统计分析的干扰攻击检测算法", 计算机工程, no. 07, 15 July 2017 (2017-07-15) *

Also Published As

Publication number Publication date
CN114692551B (zh) 2024-06-07

Similar Documents

Publication Publication Date Title
CN109783651B (zh) 提取实体相关信息的方法、装置、电子设备和存储介质
CN111767547B (zh) 一种基于复杂网络社团的软件漏洞检测方法
US20230153499A1 (en) Register-transfer level signal mapping construction method, device, apparatus and storage medium
CN111291571A (zh) 语义纠错方法、电子设备及存储介质
CN110674247A (zh) 弹幕信息的拦截方法、装置、存储介质及设备
CN105260357A (zh) 基于哈希有向图的敏感词检查方法和设备
CN110245349A (zh) 一种句法依存分析方法、装置及一种电子设备
CN114492264B (zh) 门级电路的转译方法、系统、存储介质及设备
Razouk et al. Modeling and verification of communication protocols in SARA: The X. 21 interface
US9904674B2 (en) Augmented text search with syntactic information
CN114692551A (zh) 一种Verilog设计文件安全关键信号的检测方法
US11443106B2 (en) Intelligent normalization and de-normalization of tables for multiple processing scenarios
CN115934789A (zh) 一种基于ast的分布式sql查询方法、装置及存储介质
CN110309258A (zh) 一种输入检查方法、服务器和计算机可读存储介质
CA2042824A1 (en) Method and apparatus for interpreting and organizing timing specification information
CN113505669A (zh) 工程图纸中的表格提取方法、装置、电子设备及存储介质
Trojahn et al. An extended value-based argumentation framework for ontology mapping with confidence degrees
CN117009319B (zh) 基于大语言模型的数据库操作方法、系统及存储介质
CN113609352B (zh) 字符串检索方法、装置、计算机设备及存储介质
CN117874307B (zh) 一种工程数据字段识别方法、装置、电子设备和存储介质
Lee et al. A new method for assigning signal flow directions to MOS transistors
CN117194410B (zh) 一种人工智能语言模型生成业务报表的方法及系统
US11010521B2 (en) Method of detecting relations between pins of circuit and computer program product thereof
CN113901800A (zh) 一种从中文文本中抽取场景图谱的方法及系统
CN117743527A (zh) 一种提取用户搜索词路径的方法、系统及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant