CN111880768B - 一种ip核代码级安全需求描述方法 - Google Patents

一种ip核代码级安全需求描述方法 Download PDF

Info

Publication number
CN111880768B
CN111880768B CN202010715870.2A CN202010715870A CN111880768B CN 111880768 B CN111880768 B CN 111880768B CN 202010715870 A CN202010715870 A CN 202010715870A CN 111880768 B CN111880768 B CN 111880768B
Authority
CN
China
Prior art keywords
security
core
requirement
analyzing
requirements
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.)
Active
Application number
CN202010715870.2A
Other languages
English (en)
Other versions
CN111880768A (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.)
Beijing Institute of Computer Technology and Applications
Original Assignee
Beijing Institute of Computer Technology and Applications
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 Beijing Institute of Computer Technology and Applications filed Critical Beijing Institute of Computer Technology and Applications
Priority to CN202010715870.2A priority Critical patent/CN111880768B/zh
Publication of CN111880768A publication Critical patent/CN111880768A/zh
Application granted granted Critical
Publication of CN111880768B publication Critical patent/CN111880768B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及一种IP核代码级安全需求描述方法,其中,包括:输入IP核设计代码及需求规格说明书;分析IP核需求规格说明书并确定IP核的主要功能和目的,找到IP核中实现功能所需要的最小组成部分;按照对功能实现的重要程度对组成部分进行排序,得到按重要程度排序的安全资产;分析并确定接口,可被攻击者获取并对安全资产进行访问,作为安全需求的访问点;依据安全资产及访问点,分析安全需求,以编写安全行为和安全条件;基于信息流理论,对IP核设计进行信息流处理,依次添加污迹标签和污迹传播逻辑,结合SVA语法映射为可执行属性。本发明实现了从需求到断言的转换,生成的安全属性基于SVA语言,可被大多数仿真和形式化验证工具支持。使用者无需手动编写安全属性断言,提高了IP核安全性验证的效率。

Description

一种IP核代码级安全需求描述方法
技术领域
本发明涉及集成电路安全领域,特别是涉及一种对IP核代码级安全需求的描述方法。
背景技术
IP核作为集成电路设计中的第三方组件,其安全性直接影响到整个集成电路系统的安全性。安全需求作为IP核代码级安全性验证的基准,在验证IP核代码级是否安全中具有重要意义。目前,现常用的安全需求描述方法为设计师采用自然语言对安全需求进行描述。
现有的方法主要存在以下问题:
(1)描述的安全需求不完备。现有的描述方法中缺少系统的安全需求分析手段,描述的安全需求受主观影响较大,无法保证可以覆盖所有的安全威胁;
(2)安全需求难以被工具识别、验证。现有的描述方法采用自然语言对安全需求进行描述,绝大多数EDA工具无法直接解析自然语言,因此使用现有方法描述的安全需求在IP核的安全验证中仅具有参考意义。
发明内容
本发明的目的在于提供一种IP核代码级安全需求描述方法,用于解决上述现有技术的问题。
本发明一种IP核代码级安全需求描述方法,其中,包括:步骤1:输入IP核设计代码及需求规格说明书;步骤2:分析IP核需求规格说明书并确定IP核的主要功能和目的,找到IP核中实现功能所需要的最小组成部分;步骤3:按照对功能实现的重要程度对组成部分进行排序,得到按重要程度排序的安全资产;步骤4:分析并确定接口,可被攻击者获取并对安全资产进行访问,作为安全需求的访问点;步骤5:依据安全资产及访问点,分析安全需求,以编写安全行为和安全条件;步骤6:基于信息流理论,对IP核设计进行信息流处理,依次添加污迹标签和污迹传播逻辑,结合SVA语法映射为可执行属性。
根据本发明的IP核代码级安全需求描述方法的一实施例,其中,分析并确定接口包括信号、引脚、总线以及寄存器。
根据本发明的IP核代码级安全需求描述方法的一实施例,其中,安全行为是对待测设计中受保护资产的操作、状态和路径的描述。
根据本发明的IP核代码级安全需求描述方法的一实施例,其中,安全条件为是安全行为成立时所需要满足的条件。
根据本发明的IP核代码级安全需求描述方法的一实施例,其中,生成可执行属性包括:首先,对结构化描述的安全需求进行解析,提取需求中的安全资产、访问点、安全条件和安全行为;之后,对IP核设计进行信息流处理,依次添加污迹标签和污迹传播逻辑,结合SVA语法映射为可执行属性。
本发明采用采用结构化的描述方式替代传统的自然语言描述方式,使得描述的安全需求较为规范,安全需求可以复用于其他的类似的设计中。使用者无需手动编写安全属性断言,提高了IP核安全性验证的效率。
附图说明
图1为安全需求与可执行属性的映射关系示意图;
图2为IP核代码级安全需求描述方法流程图。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
图1为安全需求与可执行属性的映射关系示意图,图2为IP核代码级安全需求描述方法流程图,如图1以及图2所示,本发明提供了一种IP核代码级安全需求描述方法,实现对IP核设计代码中常见的安全需求描述,具体包括:
(1)确定安全资产
安全资产是指设计中具有价值的资源,以是有形的,例如电路设计中的信号,或者是无形的,例如信号的可控性。常见的安全资产包括设备上密钥、固件、设备上受保护的数据、设备配置、信息熵等。采用以下流程确定安全资产。
首先分析IP核需求规格说明书并确定IP核的主要功能和目的。之后,找到IP核中实现功能所需要的最小组成部分,按照对功能实现的重要程度对组成部分进行排序,得到按重要程度排序的安全资产。
(2)确定访问点
当确定了需要保护的安全资产,分析并确定哪些接口(例如,信号、引脚、总线、寄存器等)可被攻击者获取并对安全资产进行访问(即篡改或泄露),作为安全需求的访问点。
(3)确定安全条件和安全行为
安全行为是对待测设计中受保护资产的操作、状态和路径的描述。安全行为的描述相对灵活,可以是安全需求下设计必须遵循的行为,也可以是安全需求不允许的威胁情况。安全条件为是安全行为成立时所需要满足的条件。
首先,依据需求规格说明书,依次分析是否有机密性、完整性的安全需求,结合此前已确定的安全资产及访问点,编写安全行为和安全条件。
之后,对将安全资产、访问点、安全条件和安全行为填入结构化的安全需求表达式中,安全需求的形式化描述表达式如下:
<access>may<behave><Asset>if<Condition>holds.
其中<access>为访问点,<behave>为安全行为,<Asset>为安全资产,<Condition>为安全条件,将以上步骤确定的信息对应填入表达式,形成安全需求。
(4)生成可执行属性
采用SVA(System Verilog Assertion)来作为属性描述语言,SVA是断言的实现的一种形式,它是SystemVerilog语言的一个子集,可在仿真过程中直接被编译成机器码而加以执行,也被多种形式化验证工具所支持。
生成可执行属性的流程如下:
首先,对结构化描述的安全需求进行解析,提取需求中的安全资产、访问点、安全条件和安全行为。
之后,基于信息流理论,对IP核设计进行信息流处理,依次添加污迹标签和污迹传播逻辑,结合SVA语法映射为可执行属性。
如图1所示,一种IP核安全需求描述方法,包括以下步骤:
步骤1:输入IP核设计代码.v/.vhd及其需求规格说明书;
步骤2:分析IP核需求规格说明书并确定IP核的主要功能和目的,找到IP核中实现功能所需要的最小组成部分;
步骤3:按照对功能实现的重要程度对组成部分进行排序,得到按重要程度排序的安全资产;
步骤4:分析并确定接口(例如,信号、引脚、总线、寄存器等)可被攻击者获取并对安全资产进行访问,作为安全需求的访问点;
步骤5:依据安全资产及访问点,分析是否有机密性、完整性的安全需求,编写安全行为和安全条件;
步骤6:基于信息流理论,对IP核设计进行信息流处理,依次添加污迹标签和污迹传播逻辑,结合SVA语法映射为可执行属性。
本发明具有以下优势:
(1)安全需求描述的较为规范且通用性较好。本方法采用采用结构化的描述方式替代传统的自然语言描述方式,使得描述的安全需求较为规范,安全需求可以复用于其他的类似的设计中。
(2)可直接被形式化验证工具执行。本方法实现了从需求到断言的转换,生成的安全属性基于SVA语言,可被大多数仿真和形式化验证工具支持。使用者无需手动编写安全属性断言,提高了IP核安全性验证的效率。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (4)

1.一种IP核代码级安全需求描述方法,其特征在于,包括:
步骤1:输入IP核设计代码及需求规格说明书;
步骤2:分析IP核需求规格说明书并确定IP核的主要功能和目的,找到IP核中实现功能所需要的最小组成部分;
步骤3:按照对功能实现的重要程度对组成部分进行排序,得到按重要程度排序的安全资产;
步骤4:分析并确定接口,可被攻击者获取并对安全资产进行访问,作为安全需求的访问点;
步骤5:依据安全资产及访问点,分析安全需求,以编写安全行为和安全条件;
步骤6:基于信息流理论,对IP核设计进行信息流处理,依次添加污迹标签和污迹传播逻辑,结合SVA语法映射为可执行属性;
其中,
所述步骤5中,安全行为是对待测设计中受保护资产的操作、状态和路径的描述,安全条件为是安全行为成立时所需要满足的条件;
首先,依据需求规格说明书,依次分析是否有机密性、完整性的安全需求,结合此前已确定的安全资产及访问点,编写安全行为和安全条件;
之后,对将安全资产、访问点、安全条件和安全行为填入结构化的安全需求表达式中,安全需求的形式化描述表达式如下:
<access>may<behave><Asset>if<Condition>holds.
其中<access>为访问点,<behave>为安全行为,<Asset>为安全资产,<Condition>为安全条件,将确定的信息对应填入表达式,形成安全需求;
所述步骤6中,
生成可执行属性包括:
首先,对结构化描述的安全需求进行解析,提取需求中的安全资产、访问点、安全条件和安全行为;
之后,对IP核设计进行信息流处理,依次添加污迹标签和污迹传播逻辑,结合SVA语法映射为可执行属性。
2.如权利要求1所述的IP核代码级安全需求描述方法,其特征在于,分析并确定接口包括信号、引脚、总线以及寄存器。
3.如权利要求1所述的IP核代码级安全需求描述方法,其特征在于,安全行为是对待测设计中受保护资产的操作、状态和路径的描述。
4.如权利要求1所述的IP核代码级安全需求描述方法,其特征在于,安全条件为是安全行为成立时所需要满足的条件。
CN202010715870.2A 2020-07-23 2020-07-23 一种ip核代码级安全需求描述方法 Active CN111880768B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010715870.2A CN111880768B (zh) 2020-07-23 2020-07-23 一种ip核代码级安全需求描述方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010715870.2A CN111880768B (zh) 2020-07-23 2020-07-23 一种ip核代码级安全需求描述方法

Publications (2)

Publication Number Publication Date
CN111880768A CN111880768A (zh) 2020-11-03
CN111880768B true CN111880768B (zh) 2023-07-14

Family

ID=73156370

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010715870.2A Active CN111880768B (zh) 2020-07-23 2020-07-23 一种ip核代码级安全需求描述方法

Country Status (1)

Country Link
CN (1) CN111880768B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104881606A (zh) * 2015-04-30 2015-09-02 天津大学 基于形式化建模的软件安全需求获取方法
CN106663037A (zh) * 2014-06-30 2017-05-10 亚马逊科技公司 特征处理权衡管理

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102542191B (zh) * 2010-12-31 2014-12-17 深圳市证通电子股份有限公司 Rtl级ip核的保护方法
CN107358123B (zh) * 2016-05-10 2020-11-03 中国科学院微电子研究所 一种安全检测方法及装置
US10289577B2 (en) * 2016-05-11 2019-05-14 New York University System, method and computer-accessible medium for low-overhead security wrapper for memory access control of embedded systems
CN107526969B (zh) * 2016-06-20 2020-11-03 中国科学院微电子研究所 一种确定ip核安全级别的方法及装置
CN109508540B (zh) * 2018-09-12 2023-06-23 成都奥卡思微电科技有限公司 一种芯片安全监视方法和安全监视芯片
CN109711159B (zh) * 2018-11-26 2020-11-10 北京计算机技术及应用研究所 一种基于信息流的ip核rtl级代码安全漏洞检测方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106663037A (zh) * 2014-06-30 2017-05-10 亚马逊科技公司 特征处理权衡管理
CN104881606A (zh) * 2015-04-30 2015-09-02 天津大学 基于形式化建模的软件安全需求获取方法

Also Published As

Publication number Publication date
CN111880768A (zh) 2020-11-03

Similar Documents

Publication Publication Date Title
US7313772B2 (en) Systems, methods, and media for block-based assertion generation, qualification and analysis
US8555234B2 (en) Verification of soft error resilience
US6553514B1 (en) Digital circuit verification
CN109711159B (zh) 一种基于信息流的ip核rtl级代码安全漏洞检测方法
US20210224452A1 (en) Layout-based side-channel emission analysis
Jindal et al. Verification of transaction-level SystemC models using RTL testbenches
JP3822044B2 (ja) 設計検証システム、設計検証方法および設計検証プログラムを格納したコンピュータ読取り可能な記録媒体
US20190087513A1 (en) Learning framework for software-hardware model generation and verification
CN111859380A (zh) Android App漏洞的零误报检测方法
CN115952758A (zh) 芯片验证方法、装置、电子设备及存储介质
Fern et al. Detecting hardware trojans in unspecified functionality using mutation testing
CN112597718A (zh) 集成电路设计的验证方法、验证装置以及存储介质
US7454726B2 (en) Technique for generating input stimulus to cover properties not covered in random simulation
CN110287700B (zh) 一种iOS应用安全分析方法及装置
Wang et al. ASAX: Automatic security assertion extraction for detecting Hardware Trojans
CN108647533B (zh) 用于检测硬件木马的安全断言自动生成方法
Bombieri et al. Incremental ABV for functional validation of TL-to-RTL design refinement
US6810507B2 (en) Method and apparatus for isolating the root of indeterminate logic values in an HDL simulation
Bombieri et al. Functional qualification of TLM verification
CN111880768B (zh) 一种ip核代码级安全需求描述方法
Petersén et al. Fault injection and fault handling: an MPSoC demonstrator using IEEE P1687
Fern et al. Evaluating assertion set completeness to expose hardware trojans and verification blindspots
US10546083B1 (en) System, method, and computer program product for improving coverage accuracy in formal verification
US7689399B1 (en) Automatic extraction of design properties
US10268786B2 (en) System and method for capturing transaction specific stage-wise log data

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
GR01 Patent grant