CN106484945B - 用于分析逻辑电路的方法 - Google Patents
用于分析逻辑电路的方法 Download PDFInfo
- Publication number
- CN106484945B CN106484945B CN201610799890.6A CN201610799890A CN106484945B CN 106484945 B CN106484945 B CN 106484945B CN 201610799890 A CN201610799890 A CN 201610799890A CN 106484945 B CN106484945 B CN 106484945B
- Authority
- CN
- China
- Prior art keywords
- security
- attack
- component
- computer
- channel
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000004458 analytical method Methods 0.000 claims abstract description 12
- 230000007246 mechanism Effects 0.000 claims abstract description 4
- 238000004088 simulation Methods 0.000 claims description 27
- 238000013497 data interchange Methods 0.000 abstract 1
- 238000011161 development Methods 0.000 description 13
- 230000018109 developmental process Effects 0.000 description 13
- 238000013461 design Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 238000012360 testing method Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000015654 memory Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 239000000758 substrate Substances 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000012938 design process Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/36—Circuit design at the analogue level
- G06F30/367—Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/76—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/556—Detecting local intrusion or implementing counter-measures involving covert channels, i.e. data leakage between processes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Geometry (AREA)
- Evolutionary Computation (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Tests Of Electronic Circuits (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
用于分析逻辑电路的方法。本发明涉及包括多个部件和用于部件间的数据互换的通道的逻辑电路的方法,其中为了模拟逻辑电路运行方式,在电路模型中给每个部件和通道指派功能性质。在该情况下在方法的部分中通过安全分析机制以相应部件或通道被指派至少一个定义的安全性质且安全相关数据被链接到至少一个定义的安全要求和安全状态的方式来扩展电路模型。在方法的进一步部分中依靠模拟单元执行方法步骤:检查相应部件和/或通道的安全性质是否对应于安全相关数据的安全要求且如果不对应则生成安全风险报告;将所建模的攻击应用到部件和/或通道;确定相应部件和/或通道的安全性质对应用的攻击的脆弱性且如果存在安全性质的脆弱性则生成攻击报告。
Description
技术领域
本发明一般地涉及电子逻辑电路、尤其是集成电路的领域,所述集成电路诸如例如所谓的专用集成电路或ASIC、所谓的现场可编程门阵列或FPGA以及所谓的片上系统系统。具体地,本发明涉及用于分析逻辑电路的方法,所述逻辑电路包括多个部件和用于部件之间的数据的交换的通道(channel),其中为了模拟逻辑电路运行的方式,在电路模型中给每个部件和每个通道指派功能性质。
背景技术
逻辑电路被用在许多电气和电子设备或系统中。这样的电路一般地包括衬底(例如半导体衬底),在其上不同的电路元件或电路元件块被容纳并彼此接线。这些电路元件或电路元件块也被称为部件。集成电路通常包括被容纳在单晶衬底上的多个不同的部件。如果在一个芯片上实现所期望功能中的全部或大部分,则这被称为片上系统。依靠该集成,全面的功能和应用在最小的空间中可用。技术开发中的迅速进步意味着当前存在在单个半导体芯片上容纳具有大量部件的复杂逻辑电路的可能性。
通常依靠基于计算机的帮助来设计这样的复杂的电路。在这样的情况下,首先创建虚拟电路模型以便模拟期望方式的运行。具体而言(in concrete terms),通过功能部件模型来表示每个部件(硬件部件;包括硬件和软件部分的系统部件等),以便由此构造逻辑电路的或者逻辑系统的电路模型。基于该电路模型,能够依靠模拟来检查和核实对应电路的功能。这尤其适用于具有高程度的抽象的电路模型,其也被称为高级模型。使用诸如C++、SystemC、系统Verilog等的高级编程语言,可以捕捉、表示功能部件模型和逻辑电路的电路模型,并且可以模拟逻辑电路的功能行为以及逻辑电路的单独部件。具体而言,在该情况下,例如单独的功能部件的运行时间和性能被定义为参数,使得电路模型在模拟期间像对应的真实电路或像真实的硬件模型一样行为。
复杂电路(系统)的开发中的重要目的是保护其免受攻击(安全攻击)。为了致使所述攻击更困难或为了避免它们,将安全措施集成到电路的设计中。利用所述措施,在系统中存储或处理的安全相关数据将被保护。为了确定这些安全措施并以最佳的方式布置它们,要求对设计的分析。在该分析中,调查系统的哪些部件可以被攻击显式或隐式地影响以及对于相应的用例而言哪些安全措施在给定的程度上是明智的(sensitive)。
通常,这样的分析在开发过程期间基于通过开发者(架构师)的对系统的进行的检查和回顾而发生。还已知对所谓的攻击树分析的使用。
因为逻辑电路的渐增的大小和复杂度,所以全面地调查可能的攻击对功能和安全的影响变得越来越困难。
发明内容
本发明的根本目的是进一步开发开始陈述的方法以便能够执行可靠的安全分析。
通过根据权利要求1所述的方法来实现该目的。本发明的有利实施例和发展是从属权利要求的主题。
在该方法中,在方法的部分中通过用于安全分析的机制以相应的部件和/或相应的通道被指派至少一个定义的安全性质并且安全相关数据被链接到至少一个定义的安全要求和安全状态的方式来扩展电路模型,并且在方法的进一步部分中依靠模拟单元执行以下方法步骤:
- 检查相应的部件和/或相应的通道的安全性质是否对应于安全相关数据的安全要求,并且如果其不对应则生成安全风险报告,
- 将所建模的攻击应用到部件和/或通道,
- 确定所应用的攻击能够妨碍部件和/或通道的安全的程度,并且针对安全性质的给定的脆弱性(vulnerability),生成攻击报告。
因此,已经基于模拟在设计阶段进行(undertake)了利用关于安全性质集的适合性和关于所述性质能够被虚拟地执行的攻击妨碍的程度的报告的安全分析。如果例如在受攻击的部件中存在对数据的操纵,则该数据通过进一步部件根据电路模型的功能而移植。也针对这些部件,确定作为处理被操纵的数据的结果的安全性质的脆弱性。在必要时,为了优化系统,可以随后引入或移除附加的安全措施。
这确保被操纵的数据的所有作为结果的影响被识别并且逻辑电路相对于所有建模的和应用的攻击充分地稳健。
利用该方法,还能够检查针对其的模拟通常花费大量时间的攻击,诸如例如密码加密算法的重构。在本方法中,仅必须确定所建模的攻击是否具有充分的潜力来克服受攻击的部件的定义的安全性质。如果其具有,则依靠所生成的攻击报告确认给定的脆弱性。
此外,已经依靠模拟单元在电路模型的设计阶段中识别并通知了数据的安全要求与部件的安全性质之间的偏差。
对于每个部件和每个通道有利的是通过其自己的模拟单元来扩展。该单元然后针对相应的通道或针对相应的部件在模拟期间执行测试步骤,并且如果识别到安全风险则生成对应的报告。
在该情况下,作为所应用的攻击的结果而生成事件数据是明智的。该事件数据描述可能发生了的对数据的任何操纵,通过其使得较精确的分析是可能的。
在本发明的进一步有利变体中,为了确定相应的安全性质的脆弱性,生成概率数据。然后在攻击报告中指定(specify)攻击成功的概率。此外,概率数据可以提供关于在妨碍所涉及的安全性质之前攻击可能持续多久的信息。
因此,明智地从概率数据导出风险数据,用于评估相应的安全性质。能够基于该风险数据以简单的方式建立安全性质是否必须被扩展或者可以被降低。如果例如针对将被开发的电路定义可容忍的风险级别,则进行风险数据与该风险级别的调和。如果所建立的风险超过了用于部件的规范,则必须扩展安全性质。相反地,也通过该方法识别夸大的安全性质。
本发明的简单发展提供了将从先前创建的库选择的攻击。这意味着不必针对每个用例创建新的攻击。代之以,通过从库简单地选择攻击并在必要的情况下适配攻击参数来对攻击建模。
在这里对每个攻击而言有利的被指派攻击潜力和/或攻击类型和/或攻击时间触发器。基于这些属性,能够以简单的方式选择攻击或者能够在经修改的变体中对攻击建模。
为了进一步增加本方法的效率,在发展中提供了具有将被建模的多个图节点的攻击图以及对应于被应用到特定部件和/或特定通道的攻击的每个图节点。因此添加进一步的方法步骤,其中根据所建模的攻击图将附加攻击应用到单独的部件或通道,并且其中继而确定所涉及的部件的相应的安全性质的能力。可以从所确定的多个攻击的影响导出用于适配安全措施的必要步骤。
作为结果的优点是,当将多个攻击图链接到一起时,使得根据执行一个攻击图的执行的进展来执行另一攻击图。因此,进一步增加了能够被应用的攻击场景的复杂度。在该渐增的复杂度的情况下,将被开发的电路的安全也相对于任何形式的攻击而增加。
针对逻辑电路的电路模型,有利地提供了将被具体化为高级模型、尤其被具体化为所谓的电子系统级模型的所述模型。在用于逻辑电路(尤其用于ASIC)的设计过程的不同步骤期间,利用不同级别的抽象来创建不同的电路模型。利用这些电路模型,还可以测试逻辑电路的不同功能。在设计过程的开始处,设计逻辑电路的所谓的高级模型或尤其是所谓的电子系统级模型或ESL模型。利用该模型,一方面可以对单独的部件以及逻辑电路的功能、算法等建模或者创建部件和电路的功能模型,并且另一方面可以有效地测试攻击的影响和安全性质集的脆弱性。
此外,提供集成电路、尤其是所谓的专用集成电路或所谓的片上系统是有利的。集成电路可以包括多个电气连接的电子部件的组合——大部分是半导体部件(例如,二极管、晶体管等)和/或进一步是有源和无源部件(例如,电阻器等)。在例如在处理器、控制器、数据存储器等的构建中的具有高安全要求的许多领域中存在对集成电路的应用。
集成电路的具体形式是当前用在许多不同的电子设备中的所谓的专用集成电路(ASIC)。在ASIC中,逻辑电路的功能已经在开发和制造期间被唯一地定义并且其后不再能够被改变。这意味着ASIC具有对将被处理的数据的严格的依赖性并且在ASIC中实现的逻辑具有与将被执行的一个或多个功能的紧密关系。因此,在ASIC的情况下,对于已经以简单且划算的方式在设计和开发阶段中建立并测试的系统安全而言尤其重要的是例如所需求或期望的风险规范是否被遵守。
集成电路的进一步形式是所谓的片上系统系统或单片系统。在该情况下存在对系统(例如,嵌入式计算机等)的功能中的全部或大部分的集成。系统被认为是诸如例如逻辑电路、定时、微技术传感器、存储器单元、处理器、接口、总线系统等的不同部件的组合,通过其全部来提供具体功能。本方法尤其适用于这些类型的变体,因为作为渐增的系统大小和复杂度的结果,利用常规方法,仅对安全情况的较不适当的评价在这里是可能的。
进一步有利的改进提供了将被作为逻辑电路提供的所谓的现场可编程逻辑门阵列。依靠这样的现场可编程逻辑门阵列或FPGA,通过内部结构(例如,门、逻辑块等)的具体配置,可以实现——从诸如例如计数器电路之类的简单电路到诸如例如微处理器之类的高度复杂的电路的——不同的电路。在数字技术的所有领域中、尤其在其中快速信号处理和修改电路灵活性的能力很重要的领域中使用FPGA。通过与其他逻辑电路、尤其是ASIC的比较,FPGA具有较低的开发成本和非常短的实现时间的优点。FPGA的特定优点是它们能够被重新配置并且因此利用FPGA实现的逻辑电路能够容易地被校正并且——在必要时——能够利用安全机制被扩展。
附图说明
下文通过示例的方式解释本发明,所述示例指附图。在图中,在示意图中:
图1示出了逻辑电路的虚拟电路模型
图2示出了部件的或通道的扩展
图3示出了具有不同攻击的库
图4示出了不同的攻击图
图5示出了具有对电路模型的不同部件的攻击的攻击图
图6示出了具有对电路模型的不同部件的攻击以及对安全相关数据的处理的攻击图。
具体实施方式
本方法的开始点是在适当的基于计算机的模拟环境中的虚拟电路模型1。电路模型1模拟诸如例如片上系统或ASIC之类的逻辑电路并且例如在设计或开发阶段中利用诸如例如SystemC之类的高级编程语言在系统级别处被描述为高级模型(例如,ESL模型)。
在根据图1的示例中,虚拟电路模型1在第一模块2中具有三个示例部件3并且在第二模块4中具有一个部件3。这些部件3可以例如是硬件部件(例如,电子电路元件等)或系统部件(例如,逻辑电路、具有硬件和软件部分的部件等)。为了设计或开发或为了逻辑电路的电路模型1的模拟——例如用以针对预确定的用例测试逻辑电路的功能——将每个部件3创建为功能模型(同样地作为诸如例如SystemC之类的编程语言中的高级模型)。在功能部件模型的帮助下,可以模拟相应的部件3的功能行为。在该情况下,将运行时间和/或性能预确定为可以针对每个部件3设置的参数。在模拟期间,然后存在根据具有近似对应于真实的逻辑电路的运行时间和性能的这些设置的所模拟的数据处理。
部件3被互连并通过通道5连接到外部部件(未示出)。照例,出于该目的提供适当的总线。
在图2中示出了利用发明的属性扩展的部件3。部件3被指派定义的安全性质6。将诸如机密性、完整性、真实性和不可否认性之类的在数据处理中已知的安全概念用在例如安全性质6的确定中。
因此利用例如安全性质6来确定相应的部件3以其处理数据的机密性和/或完整性和/或真实性和/或不可否认性的程度。因此,进行用于保护安全相关数据的相对于其安全性质6的对每个单独的部件3的分类。
同样适用于通道5。在这里也利用定义的安全性质6来确定由相应的通道5以其传输安全相关数据的机密性和/或完整性和/或真实性和/或不可否认性的程度。
例如,以由此在模拟环境中每个部件3和每个通道5被链接到安全参数的方式定义安全性质6。相应的安全参数然后定义机密性和/或完整性和/或真实性和/或不可否认性等的程度多高,如在0和10之间的数。
为了处理安全相关数据,部件3包括适当的存储器设施7。在该情况下,针对安全相关数据确定定义的安全要求8。具体而言,这涉及关于所需求的机密性和/或完整性和/或真实性和/或不可否认性的程度的确定。以该方式,还对将依靠部件3处理或将依靠通道5传输的安全相关数据分类。还能够例如通过被链接到数据的安全参数在模拟环境中确定安全要求8。
此外,将所有安全相关数据链接到安全状态。该安全状态提供关于如下的信息:对应的数据对于示例而言是否仍值得信任,或者是否存在数据操纵已经发生的概率。
利用模拟单元9扩展电路模型1的每个部件3。这最初测试在相应的部件3中处理的数据的安全状态和安全要求8是否对应于该部件3的安全性质6。例如,数据需求高级别的机密性,其是这为什么具有作为安全要求8的加密。如果然后未加密地处理或转发这样的数据,则在数据的安全要求8与所涉及的部件3的或通道5的安全要求8之间不存在匹配。作为这样的不对应的结果,依靠模拟单元9生成安全报告并将其运送到输出单元。
在进一步方法步骤中建模并应用对部件3或通道5的攻击10、11、12。在该情况下,例如部件3的模拟单元9从先前创建的库选择攻击10、11、12,如在图3中示出的那样。
攻击10、11、12具有不同的攻击性质,所述攻击性质例如从分类机密性、完整性、真实性和不可否认性导出。例如,将攻击强度定义为攻击潜力。进一步标识涉及攻击类型,例如密钥重构。为了定义攻击点,攻击10、11、12被指派攻击触发器。后者向模拟单元9指定相应的部件3,在攻击被发起(激活)时通过其取决于配置立即或仅稍后做出攻击10、11、12。
本发明的本质是所触发的攻击10、11、12在模拟期间与虚拟电路模型1交互。在该情况下,相应的攻击10、11、12能够访问数据,其中存在操纵可能性。具体而言,这些操纵可能性取决于所涉及的部件3或所涉及的通道5具有哪些安全性质6以及导向该部件3或该通道5的攻击10、11、12具有哪些攻击性质。
例如,从库选择具有性质——作为攻击类型的“密钥重构”、作为攻击潜力的“高”以及作为攻击时间触发器的“立即”的攻击10。例如,能够在模拟环境中将这些性质设置为攻击参数。
在该攻击10的选择之后,这被立即应用到被指派的部件3。如果该部件具有加密性质,其强度的程度小于攻击潜力的强度的程度(例如,“中”),则攻击10 获得对在该部件3中处理的数据的访问并且可以操纵所述数据。相应地,修改该数据的安全状态并且生成具有结果数据的攻击报告并将其输出到输出单元。在该情况下,存在指定攻击成功的概率的选项。然后在安全状态中和在攻击报告中指定对应的概率数据,例如,数据有70%的概率已经被操纵。
此外,将针对对应的攻击的代码、针对所涉及的部件的代码以及用于执行攻击等的时间点或持续时间作为结果数据输出。还存在针对的不同持续时间计算不同的概率数据的选项。在这样的情况下,基于部件3的、数据的和攻击10的安全参数来计算攻击10将必须持续多久使得将存在作为结果的妨碍的具体概率。因此,可以从概率数据导出风险数据。例如,作为攻击模拟的结果,针对每个部件3和每个通道5输出风险值(安全风险数)。这些风险数然后给出关于部件3和通道5相对于所应用的攻击10-12多么易受攻击的信息。与所需求的风险级别的比较然后立即示出安全措施在何处具有弱点或者可能在何处设置了不必要的安全措施。例如,可以通过用例的模拟来示出在较小程度上的密码功能的执行比原始假定的更充分用于保护系统。
在本发明的发展中,通过攻击10、11、12、13的选择和组合,可以形成一个或多个攻击图14、15,如在图4中示出的那样。在该情况下,例如攻击图14的执行取决于另一攻击图15的结束。在这样的情况下,将攻击图14的分辨(resolution)定向到对电路模型1的攻击10、11、12或10、13的预确定的序列。
具体而言,对攻击图14到电路模型1的映射的模拟发生在模拟期间,如在图5中示出的那样。在这样的情况下,可以将一个或多个攻击10-13应用到一个或多个部件3。
以该方式,创建将不同的用例应用到虚拟电路模型1的选项。可以例如利用所谓的任务图方法(根据纲要的平台架构师)来创建这样的用例。
不同的攻击图14、15可以被用于电路模型的模拟和分析,其中通过攻击10-13的适当组合,可以揭露针对所模拟的用例的安全缺口。例如,利用攻击10,任务可以依靠MAC检查来测试数据分组并且在必要时请求新的分组。
在相应的部件3中的模拟单元9监视所建模的电路模型1并且经由输出单元依靠对应的报告来通知对应的安全妨碍。因此,可以在模拟期间跟踪并记录数据和数据质量。这允许对安全相关事件的追溯。此外,建立被操纵的数据对电路模型1的影响。
在图6中的示例模拟中,通过攻击10、11操纵机密数据16。在该情况下,电路模型1包括四个部件3、3'、3''、3''',其中第一部件3经由第一总线被连接到第二部件3',并且其中第二部件3'经由进一步总线被连接到第三和第四部件3''、3'''。
第一攻击10的最初影响是对先前利用其保护第一总线的密钥的重构17。这意味着解密了通过该通道5'运送的数据16。被解密的数据16'已经到达部件3'。该模拟过程的影响是与数据16'连接的安全状态改变以及对应的攻击报告18被输出。在所述报告中,陈述了例如通过所述通道5'运送的数据16已在具体时间点被解密。
通过根据预确定的攻击图14被应用到第二部件3'的第二攻击11,存在对被解密的数据16'的操纵19。因此,最初经由进一步总线将被操纵的数据16''运送到第三部件3''中并最终将其运送到第四部件3'''中。在该情况下,在数据经过每个部件3''、3'''和每个通道5时,依靠相应的模拟单元9生成和输出攻击报告18。这使得能够相对于被操纵的数据16''的原因和影响来分析整个系统。
具体而言,能够通过被操纵的数据建立部件3、3'、3''、3'''是否展示不同的行为。因此,通过对攻击图和安全措施的假设分析或探测性使用,优化了逻辑电路的设计。
Claims (14)
1.一种用于分析逻辑电路的计算机辅助方法,所述逻辑电路包括多个部件(3、3'、3''、3''')和用于部件(3、3'、3''、3''')之间的数据的互换的通道(5、5'),其中为了模拟逻辑电路运行的方式,在电路模型(1)中给每个部件(3、3'、3''、3''')和每个通道(5、5')指派功能性质,特征在于,在该方法的部分中通过用于安全分析的机制以相应的部件(3、3'、3''、3''')和/或相应的通道(5、5')被指派至少一个定义的安全性质(6)并且安全相关数据(16、16'、16'')被链接到至少一个定义的安全要求(8)和链接到安全状态的方式来扩展所述电路模型(1),
并且在该方法的进一步部分中依靠模拟单元(9)执行以下方法步骤:
–检查相应的部件(3、3'、3''、3''')和/或相应的通道(5、5')的安全性质(6)是否对应于在所述相应的部件中处理的或者通过所述相应的通道运送的安全相关数据(16、16'、16'')的安全要求(8)和安全状态,并且如果其不对应于所述安全要求(8)和所述安全状态则生成安全风险报告,
–将所建模的攻击(10、11、12、13)应用到部件(3、3'、3''、3''')和/或应用到通道(5、5'),
–确定所述相应的部件(3、3'、3''、3''')的和/或所述相应的通道(5、5')的安全性质(6)对所应用的攻击(10、11、12、13)的脆弱性,并且如果存在所述安全性质(6)的脆弱性,则生成攻击报告(18),并且对应地改变在应用所述攻击的时间点时正在所述相应的部件中处理的或者通过所述相应的通道运送的安全相关数据(16、16'、16'')的安全状态。
2.根据权利要求1所述的计算机辅助方法,其特征在于,利用模拟单元(9)扩展每个部件(3、3'、3''、3''')和每个通道(5、5')。
3.根据权利要求1或2所述的计算机辅助方法,其特征在于,作为所应用的攻击(10、11、12、13)的结果而生成事件数据。
4.根据权利要求1或2所述的计算机辅助方法,其特征在于,生成概率数据以确定相应的安全性质(6)的脆弱性。
5.根据权利要求4所述的计算机辅助方法,其特征在于,从所述概率数据导出用于评价相应的安全性质(6)的风险数据。
6.根据权利要求1或2所述的计算机辅助方法,其特征在于,从先前创建的库选择攻击(10、11、12、13)。
7.根据权利要求1或2所述的计算机辅助方法,其特征在于,给每个攻击(10、11、12、13)指派攻击潜力和/或攻击类型和/或攻击时间触发器。
8.根据权利要求1或2所述的计算机辅助方法,其特征在于,建模具有多个图节点的攻击图(14、15)并且每个图节点对应于被应用到具体部件(3、3'、3''、3''')和/或被应用到具体通道(5、5')的攻击(10、11、12、13)。
9.根据权利要求8所述的计算机辅助方法,其特征在于,将多个攻击图(14、15)彼此链接,使得根据一个攻击图(14、15)的执行的进展来执行另一攻击图(14、15)。
10.根据权利要求1或2所述的计算机辅助方法,其特征在于,所述逻辑电路的电路模型(1)被具体化为高级模型。
11.根据权利要求10所述的计算机辅助方法,其特征在于,所述逻辑电路的电路模型(1)被具体化为所谓的电子系统级模型。
12.根据权利要求1或2所述的计算机辅助方法,其特征在于,提供集成电路作为所述逻辑电路。
13.根据权利要求12所述的计算机辅助方法,其特征在于,提供所谓的专用集成电路或所谓的片上系统作为所述逻辑电路。
14.根据权利要求1或2所述的计算机辅助方法,其特征在于,提供所谓的现场可编程门阵列作为所述逻辑电路。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP15183113.8 | 2015-08-31 | ||
EP15183113.8A EP3136268B1 (de) | 2015-08-31 | 2015-08-31 | Verfahren zur sicherheitsanalyse einer logischen schaltung |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106484945A CN106484945A (zh) | 2017-03-08 |
CN106484945B true CN106484945B (zh) | 2020-04-10 |
Family
ID=54106140
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610799890.6A Active CN106484945B (zh) | 2015-08-31 | 2016-08-31 | 用于分析逻辑电路的方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10146937B2 (zh) |
EP (1) | EP3136268B1 (zh) |
CN (1) | CN106484945B (zh) |
IL (1) | IL247055A0 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114676438B (zh) * | 2022-04-15 | 2023-06-09 | 电子科技大学 | 面向硬件系统多维脆弱性的快速探测方法 |
WO2023209719A1 (en) * | 2022-04-28 | 2023-11-02 | Optima Design Automation Ltd. | Fault attack simulation |
EP4273725A1 (de) * | 2022-05-02 | 2023-11-08 | AIT Austrian Institute of Technology GmbH | Verfahren zur ermittlung von kritischen schwachstellenketten |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104125846A (zh) * | 2010-10-15 | 2014-10-29 | 皇家飞利浦电子股份有限公司 | 用于加热受试体的治疗设备 |
US9449196B1 (en) * | 2013-04-22 | 2016-09-20 | Jasper Design Automation, Inc. | Security data path verification |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6516415B1 (en) * | 1999-04-23 | 2003-02-04 | Geneticware Co., Ltd | Device and method of maintaining a secret code within an integrated circuit package |
CN101241735B (zh) * | 2003-07-07 | 2012-07-18 | 罗威所罗生股份有限公司 | 重放加密的视听内容的方法 |
US8091050B2 (en) * | 2008-10-01 | 2012-01-03 | International Business Machines Corporation | Modeling system-level effects of soft errors |
US9092631B2 (en) * | 2013-10-16 | 2015-07-28 | Battelle Memorial Institute | Computer-implemented security evaluation methods, security evaluation systems, and articles of manufacture |
US9721100B2 (en) * | 2014-06-27 | 2017-08-01 | Intel Corporation | Technologies for protected hardware function monitoring and forensics |
-
2015
- 2015-08-31 EP EP15183113.8A patent/EP3136268B1/de active Active
-
2016
- 2016-08-02 IL IL247055A patent/IL247055A0/en active IP Right Grant
- 2016-08-26 US US15/248,370 patent/US10146937B2/en active Active
- 2016-08-31 CN CN201610799890.6A patent/CN106484945B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104125846A (zh) * | 2010-10-15 | 2014-10-29 | 皇家飞利浦电子股份有限公司 | 用于加热受试体的治疗设备 |
US9449196B1 (en) * | 2013-04-22 | 2016-09-20 | Jasper Design Automation, Inc. | Security data path verification |
Non-Patent Citations (3)
Title |
---|
Idea: Simulation Based Security Requirement Verification for Transaction Level Models;Johannes Loinig 等;《ENGINEERING SECURE SOFTWARE AND SYSTEMS, SPRING BERLIN HEIDELBERG》;20110209;第264-271页 * |
Idea: Simulation Based Security Requirement Verification for Transaction Level Models;Johannes Loinig 等;《ENGINEERING SECURE SOFTWARE AND SYSTEMS,SPRING BERLIN HEIDELBERG》;20110209;第264-271页 * |
SysML-Sec: A SysML environment for the design and development of secure embedded systems;Yves Roudier 等;《APCOSEC 2013,Asia-Pacific Council on SystemsEngineering》;20130911;第1-11页 * |
Also Published As
Publication number | Publication date |
---|---|
CN106484945A (zh) | 2017-03-08 |
US20170061124A1 (en) | 2017-03-02 |
US10146937B2 (en) | 2018-12-04 |
IL247055A0 (en) | 2016-12-29 |
EP3136268B1 (de) | 2019-06-19 |
EP3136268A1 (de) | 2017-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Bhunia et al. | The hardware trojan war | |
US11270002B2 (en) | Hardware trojan detection through information flow security verification | |
Rathmair et al. | Applied formal methods for hardware Trojan detection | |
US11681795B2 (en) | Method, system and apparatus for security assurance, protection, monitoring and analysis of integrated circuits and electronic systems in relation to hardware trojans | |
JP6289778B2 (ja) | テストケース生成装置及びテストケース生成プログラム | |
CN106484945B (zh) | 用于分析逻辑电路的方法 | |
US20220180003A1 (en) | Security property-driven vulnerability assessments of ics against fault-injection attacks | |
Mahmoodi et al. | Attack surface modeling and assessment for penetration testing of IoT system designs | |
US20210342249A1 (en) | Method for detecting safety-relevant data streams | |
Hu et al. | Fun-SAT: Functional corruptibility-guided SAT-based attack on sequential logic encryption | |
Azar et al. | Fuzz, penetration, and ai testing for soc security verification: Challenges and solutions | |
KR20180112725A (ko) | 장애 지점을 검출하기 위한 장치 및 방법 | |
CN113795839A (zh) | 用于验证由可配置硬件模块提供的用于至少一个硬件应用的执行的执行环境的方法 | |
Nasahl et al. | SYNFI: pre-silicon fault analysis of an open-source secure element | |
Meade et al. | IP protection through gate-level netlist security enhancement | |
Kharchenko et al. | Gap-and-imeca-based assessment of i&C systems cyber security | |
Di et al. | A hardware threat modeling concept for trustable integrated circuits | |
US11663382B1 (en) | Systems and methods for hardware trojan detection and mitigation | |
Kharchenko et al. | Cyber security of FPGA-based NPP I&C systems: Challenges and solutions | |
Hu et al. | On the Security of Sequential Logic Locking Against Oracle-Guided Attacks | |
US8560987B2 (en) | Test functionality integrity verification for integrated circuit design | |
Kumar et al. | A novel holistic security framework for in-field firmware updates | |
Danger et al. | LAOCOÖN: A run-time monitoring and verification approach for hardware trojan detection | |
Kurachi et al. | Proposal of hils-based in-vehicle network security verification environment | |
Gorbachov et al. | Securing computer hardware on the base of reference monitor obfuscation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |