CN107038374B - 用于运行电子装置的方法和电子装置 - Google Patents

用于运行电子装置的方法和电子装置 Download PDF

Info

Publication number
CN107038374B
CN107038374B CN201611015970.4A CN201611015970A CN107038374B CN 107038374 B CN107038374 B CN 107038374B CN 201611015970 A CN201611015970 A CN 201611015970A CN 107038374 B CN107038374 B CN 107038374B
Authority
CN
China
Prior art keywords
functional unit
state
predeterminable
state vector
steps
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
CN201611015970.4A
Other languages
English (en)
Other versions
CN107038374A (zh
Inventor
H.泽伊迪
P.杜普利斯
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of CN107038374A publication Critical patent/CN107038374A/zh
Application granted granted Critical
Publication of CN107038374B publication Critical patent/CN107038374B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/556Detecting local intrusion or implementing counter-measures involving covert channels, i.e. data leakage between processes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/004Countermeasures against attacks on cryptographic mechanisms for fault attacks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting 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/75Protecting 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 by inhibiting the analysis of circuitry or operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)
  • Pinball Game Machines (AREA)

Abstract

本发明涉及一种用于运行电子装置(100)的方法,所述电子装置具有至少一个功能单元(110),所述功能单元的运行通过一个或者多个状态变量来表征,其特征在于以下步骤:在能够预先给定的不同的时间点形成(200)能够预先给定的数量的状态矢量,其中每个状态矢量包含所述功能单元(110)和/或所述装置(100)的一个或者多个状态变量;根据所述能够预先给定的数量的状态矢量中的至少一个状态矢量来获知(210),所述装置(100)和/或所述装置的功能单元(110)的运行是否正常。

Description

用于运行电子装置的方法和电子装置
技术领域
本发明涉及一种用于运行电子装置的方法,所述电子装置具有至少一个功能单元,所述功能单元的运行通过一个或者多个状态变量来表征。所述电子装置能够例如是数据处理设备,所述数据处理设备此外借助于其功能单元来处理数据。
此外,本发明涉及一种具有至少一个功能单元的电子装置,所述功能单元的运行通过一个或者多个状态变量来表征。
背景技术
开头所提及的类型的电子装置或者数据处理装置或者数据处理方法本身是已知的,并且另外被用于执行加密的方法或者通常用于处理与安全相关的数据、尤其也用在IT安全领域中。同样已知的是,以上所提及的系统和方法或者更精确地所述系统和方法在目标系统、像例如微控制器或者类似结构中的具体的硬件和软件的执行能够借助于所谓的旁路攻击(英文:side channel attack)来进行攻击。在该旁路攻击时,检测并且考虑到与机密数据、像例如加密方法的机密密匙的相互关联而调查有待攻击的系统的一个或者多个物理参数(例如电流消耗、电磁辐射等)。攻击者由此能够获得关于机密密钥和/或所处理的数据的信息。
发明内容
因此,本发明的任务是,以下述方式来改善开头所提及的类型的方法和装置:在旁路攻击之前给出得到提高的安全性。
该任务在开头所提及的类型的方法中根据本发明以下述方式得以解决,所述方法具有以下步骤:在能够预先给定的不同的时间点形成能够预先给定的数量的状态矢量,其中每个状态矢量包含所述功能单元和/或所述装置的一个或者多个状态变量;根据所述能够预先给定的数量的状态矢量中的至少一个状态矢量来获知,所述装置和/或所述装置的功能单元的运行是否正常。
根据本发明已经识别,能够由一个状态矢量或者多个状态矢量推断出所述装置运行正常或者运行与所述装置的正常的运行相偏离,所述状态矢量表征了所述功能单元或者包含该功能单元的电子装置的运行。由此非正常的运行的存在——如所述非正常的运行例如可能在旁路攻击的范围内所出现的那样——似乎能够从通过所考虑的状态矢量来表征的运行行为中来获知。因此也能够将本发明看作是“基于行为的”、用于识别并且必要时用于防御旁路攻击的方案。
在一种优选的实施方式中规定,所述获知的步骤包括以下步骤:将单个状态矢量与至少一个能够预先给定的参考状态矢量进行比较。例如能够设想的是,在一些实施方式中,所考虑的状态矢量的特定的数值仅以相对小的可能性在正常运行的范围内出现。在这种情况下,能够例如已经推断出攻击、像例如旁路攻击,并且/或者能够将所述装置的运行、尤其也将所述状态矢量的形成与当前的情形相适配(例如以更紧密的时间顺序形成比对一个状态矢量进行评估之前多的状态矢量)。
在另一种有利的实施方式中规定,所述形成的步骤包括在相应的能够预先给定的不同的时间点形成大于一个的状态矢量,其中获得了状态序列,这有利地实现了对所述装置的必要时非正常的状态的更为精确的获知,因为相对于以上所描述的、考虑状态矢量的数值的实施方式,在此获得了所述状态矢量或者包含在所述状态矢量中的状态的时间顺序(序列),因此也获得了关于相应的状态转换的信息。
在另一种有利的实施方式中规定,所述获知的步骤包括以下步骤:将所述状态序列与至少一个能够预先给定的参考状态序列进行比较。由此能够特别精确地推断出运行状态正常或者非正常。
在另一种有利的实施方式中规定,如果将所述单个状态矢量与所述至少一个能够预先给定的参考状态矢量进行比较得出:所述单个状态矢量最大化地偏离了所述参考状态矢量一个能够预先给定的大小,那么就推断出所述装置运行正常,其中如果将所述单个状态矢量与所述至少一个能够预先给定的参考状态矢量进行比较得出:所述单个状态矢量与所述参考状态矢量相同,那么就尤其推断出所述装置运行正常。
在另一有利的实施方式中规定,如果将所述状态序列与所述至少一个能够预先给定的参考状态序列进行比较得出:所述状态序列最大化地偏离了所述参考状态序列一个能够预先给定的大小,那么就推断出所述装置运行正常,其中如果将所述状态序列与所述至少一个能够预先给定的参考状态序列进行比较得出:所述状态序列与所述参考状态序列相同,那么就尤其推断出所述装置运行正常。
在另一种有利的实施方式中规定,如果在所述获知的步骤中推断出:所述装置和/或所述装置的功能单元运行不正常,那么就在接下来的步骤中引入应对措施,所述应对措施包括下述步骤中的至少一个步骤:
a. 将非正常的运行用信号传递给所述装置的用户和/或传递给相对于所述装置布置在外部的单元,
b. 记录所述功能单元和/或所述装置的一个或者多个状态变量,
c. 修正和/或清除存储在所述功能单元和/或所述装置中的数据、尤其清除所存储的机密数据和/或伪造所存储的机密数据,
d. 控制和/或影响所述功能单元的运行、尤其解除和/或中断所述功能单元的功能。
作为本发明的任务的其他解决方案,给出了一种按照本发明所述的装置。
作为本发明的任务的另一种解决方案还给出了一种按照本发明所述的控制单元。用于具有至少一个功能单元的电子装置的控制单元,所述功能单元的运行通过一个或者多个状态变量来表征,所述控制单元的特征在于,所述控制单元被构造用于执行下述步骤:在能够预先给定的不同的时间点形成能够预先给定的数量的状态矢量,其中每个状态矢量包含所述功能单元和/或所述装置的一个或者多个状态变量;根据所述能够预先给定的数量的状态矢量中的至少一个状态矢量来获知,所述装置和/或所述装置的功能单元的运行是否正常。
附图说明
下面将参考附图对本发明的示例性的实施方式进行阐述。在附图中:
图1 示意性地示出了根据一种实施方式的装置,
图2 示意性地示出了根据本发明的方法的一种实施方式的简化的流程图,
图3 示意性地示出了根据另一种实施方式的时间图,并且
图4 示意性地示出了另一种实施方式。
具体实施方式
图1示意性地示出了根据一种实施方式的电子装置100。所述电子装置100例如能够是计算单元、像例如微控制器或者处理器或者类似结构或者通常能够是数据处理设备。所述装置100例如还能够至少部分地以能够编程的逻辑组件(FPGA,现场可编程门阵列)或者ASIC(专用集成电路)的形式来实现。
所述装置100具有至少一个功能单元110,所述功能单元被构造用于执行一种或者多种功能、尤其数据处理的功能。所述数据处理的功能尤其包括但不限于计算功能、逻辑功能。在一种特别优选的实施方式中,所述功能单元110被构造用于执行加密的方法或者执行所述加密的方法的一部分。
所述功能单元110在此示例性地被构造用于根据AES(高级加密标准)来执行数据的块加密。关于所述高级加密标准的信息能够在互联网中的下述内容中得到:“http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf”,Federal InformationProcessing Standards Publication 197(联邦信息处理标准出版物197),2001年11月26日。为此,所述功能单元110具有输入端112,在该输入端处所述功能单元能够或者从布置在所述装置100外部的、未示出的单元并且/或者从另一布置在所述装置100内部的、同样未示出的单元接收有待加密的输入数据。在输出端114处,所述功能单元110能够输出以AES加密的输入数据。
所述功能单元110的运行通过一个或者多个状态变量来表征。所述功能单元110的状态在此例如能够通过所述功能单元110在时间点t的所有n多个状态变量s_0、s_1、...、s_n的集合S_t=[s_0、s_1、...、s_n]_t来描述。所述功能单元110的状态变量s_0、s_1、...、s_n能够例如是所述功能单元的存储寄存器或者存储单元的数值。
与此类似地,所述装置100或者所述装置100的其他组件(除了所述功能单元110)的状态能够通过所述装置或者所述装置的其他组件的其他相应的状态变量来描述。
根据本发明来执行下面参照图2的流程图所描述的方法,尤其以便获得关于所述装置100或者所述装置的功能单元110的运行的信息。
在第一步骤200中,在能够预先给定的不同的时间点t1、t2、t3形成能够预先给定的数量的状态矢量zv1、zv2、zv3,其中每个状态矢量zv1、zv2、zv3包含所述功能单元110和/或所述装置100的一个或者多个状态变量。这在图3的时间图中示意性地表示,在所述时间图中可看出:在此示例性地在三个时间点t1、t2、t3例如周期地(periodisch)形成了相应的状态矢量zv1、zv2、zv3。多数个所获知的状态矢量zv1、zv2、zv3形成了状态序列C。
在一种优选的实施方式中,每个状态矢量zv1、zv2、zv3包含相同的状态变量。例如能够规定,每个状态矢量zv1、zv2、zv3包含所述功能单元110的所有的状态变量。在这种情况下,也就是说每个状态矢量zv1、zv2、zv3都包含整个集合S_t=[s_0、s_1、...、s_n]_t。
特别优选地,在其他实施方式中也能够规定,每个状态矢量zv1、zv2、zv3仅包含所述整个集合S_t的子集,其中所述子集例如包括所述功能单元110的下述这些状态变量,在根据本发明的评估的意义中所述状态变量关于所述功能单元110的正常状态或者非正常状态是特别有说服力的。
作为替代方案或者补充方案,每个状态矢量zv1、zv2、zv3也能够具有所述装置100或者所述装置的其他组件(未示出)的一个或者多个状态变量。
通常也能够设想的是,并不是所有被考虑的状态矢量zv1、zv2、zv3都具有相同的状态变量集合或者状态变量子集合。
在根据图2的方法的第二步骤210中,根据所述能够预先给定的数量的状态矢量zv1、zv2、zv3中的至少一个状态矢量来获知:所述装置100和/或所述装置的功能单元110的运行是否正常。
这能够在一种实施方式中例如以下述方式来实现,所述步骤210包括以下步骤:将单个状态矢量zv1与至少一个能够预先给定的参考状态矢量进行比较。如果在所述步骤200中已经获得了状态序列C,即大于一个的状态矢量zv1,那么所述步骤210在另一种实施方式中还能够有利地包括以下步骤:将所述状态序列C与至少一个能够预先给定的参考状态序列进行比较。
所述参考状态矢量或者所述参考状态序列能够例如在所述装置100的测试运行中在所定义的条件像例如输入数据、环境条件、特定功能的执行的数量下通过所述功能单元110(图1)等来获知,并且为了以后执行根据图2的方法——必要时也以压缩的形式——例如存储在所述装置100的存储设备120中。
在一种优选的实施方式中,如果在步骤210中所执行的、将所述单个状态矢量与所述至少一个能够预先给定的参考状态矢量进行的比较得出:所述单个状态矢量最大化地偏离了所述参考状态矢量一个能够预先给定的大小,那么就推断出所述装置100(图1)运行正常,其中如果将所述单个状态矢量与所述至少一个能够预先给定的参考状态矢量进行比较得出:所述单个状态矢量与所述参考状态矢量相同,那么就尤其推断出所述装置100运行正常。在这种情况下,也就是根据本发明所考虑的单个状态矢量与表征已知的参考状态的参考状态矢量基本相符或者甚至完全相符,从而不会涉及所述装置的非正常的运行、例如旁路攻击。
在另一种优选的实施方式中,如果在步骤210(图2)中将所述状态序列C(图3)与所述至少一个能够预先给定的参考状态序列进行比较得出:所述状态序列C最大化地偏离了所述参考状态序列一个能够预先给定的大小,那么就推断出所述装置100运行正常,其中如果将所述状态序列C与所述至少一个能够预先给定的参考状态序列进行比较得出:所述状态序列C与所述参考状态序列相同,那么就尤其推断出所述装置100运行正常。
反之,例如如果所述状态序列C与所述参考状态序列不相同或者如果所述状态序列C偏离所述参考状态序列超过一个能够预先给定的大小,那么能够推断出所述装置100或者所述装置的功能单元110的运行非正常。例如在下述情形下就是这种情况,在旁路攻击的范围内,先后大量重复地执行所述功能单元110的特定的功能、例如加密的功能,反之,在正常应用AES算法时,通过所述功能单元110基于输送给它的输入数据可以相对少地执行相同的功能。这种在所述装置100的行为方面的差别能够通过根据本发明的方案来有利地识别。
在另一种实施方式中规定,如果在获知210(图2)的步骤中推断出:所述装置100(图1)和/或所述装置的功能单元110运行不正常,那么在可选的接下来的步骤220(图2)中引入应对措施,所述应对措施包括下述步骤中的至少一个步骤:
a. 将非正常的运行用信号传递给所述装置100的用户和/或传递给相对于所述装置100布置在外部的单元,
b. 记录所述功能单元110和/或所述装置100的一个或者多个状态变量(例如以比至今更高的时间密度,参见图3,以便必要时能够实现对所述装置100的运行进行验证或者能够检查由步骤210进行的评估),
c. 修正和/或清除存储在所述功能单元110和/或所述装置100中的数据、尤其清除所存储的机密数据和/或伪造所存储的机密数据(例如清除或者改变机密的加密密钥,以便通过伪造的数值来阻碍接下来的旁路攻击的实现),
d. 控制和/或影响所述功能单元110的运行、尤其解除和/或中断所述功能单元110的功能(例如通过使所述功能单元110的电能供应无效来进行)。
在另一种实施方式中规定,根据本发明的方法例如在执行加密的功能之前通过所述功能单元110来实现,以便在处理敏感数据之前及时地识别所述装置100或者所述功能单元110的必要时非正常的运行。
在另一种实施方式中规定,仅仅当运行所述功能单元110时才执行根据本发明的方法。在这种情况下,也就是仅仅当所述功能单元110还是激活的或者即将激活所述功能单元时,根据本发明的基于行为的监控才是激活的,从而使得根据本发明的基于行为的监控关于所述装置的其他功能组件是非激活的。
在另一种实施方式中规定,为了执行根据本发明的方法,尤其是图2中的步骤200、210、220,所述装置100具有控制单元130(图1)。所述控制单元130的功能性能够例如在相同的计算单元(和/或FPGA、ASIC)中来执行,所述计算单元也提供所述功能单元110的功能性。
所述控制单元130能够例如被构造用于访问所述功能单元110的状态变量,和/或引入一个或者多个以上所提及的应对措施。
图4示意性地示出了本发明的另一种实施方式。与图1不同的是,被构造用于执行根据本发明的方法的控制单元130相对于所述装置100和/或所述功能单元110被构造为外部的单元。所述装置100例如具有第一计算单元,该第一计算单元提供所述功能单元110的功能性,并且所述控制单元130以与所述第一计算单元分离的第二计算单元的形式来设置。所述控制单元130能够访问所述功能单元110和/或所述装置100的状态变量,这在此通过未作记号的双箭头来表示(这例如能够通过双端口RAM和/或通过将感兴趣的数据从所述装置100“映射”到能够被所述单元100、130共同利用的存储器中来实现,所述两个计算单元都能够访问所述双端口RAM)。如有必要,所述控制单元130同样能够在以上所描述的可选的应对措施(图2中的步骤220)的意义中作用到所述功能单元110和/或所述装置100上。
特别有利地,能够将根据本发明的装置100的功能性用在例如用于机动车的内燃机的控制器中和/或电动工具或者家用器具中。
本发明的应用实例涉及将所述装置100或者所述控制单元130用于机动车的控制器中。所述控制器(未示出)例如能够接收另一个控制器的消息,所述消息设有消息认证码(MAC;德语:“Nachrichtenauthentifizierungscode”),以便能够检验所述消息的完整性。然后,所述控制器能够验证所接收的消息或者其MAC,其中例如使用所述功能单元110的AES块加密或者另一种功能。如果在所述控制器正常运行中对MAC进行这种验证,那么所述控制器或者所述功能单元110的特定的状态转换与此有关联。例如能够设想的是,所述控制器在正常的运行中仅以超过一能够预先给定的阈值的时间间隔(并且肯定不连续地,也就是例如以非常短的时间间隔)来接收和验证消息和MAC。作为替代或者补充方案能够规定,所述控制器仅在配属于其的计算单元出现特定的中断需要(根据特定的事件、例如通过总线系统接收消息)之后才接收和/或验证消息和MAC。作为替代或者补充方案能够规定,所述控制器仅在机动车的内燃机起动之后才接收和/或验证消息和MAC。所有这些情况都能够通过能够预先给定的或者例如能够在测试系统处获知的参考状态矢量或者参考状态序列来表征,从而使得关于此的偏离能够通过根据本发明的原理根据实际所获知的状态或者状态转换来识别。
根据本发明的原理有利地实现了,尤其基于行为地识别在电子装置100——像例如控制器的计算单元、加密的功能单元等——中与正常状态的偏离并且必要时引入应对措施。由此能够阻碍传统的旁路攻击的实现(例如通过清除机密数据或者使所述功能单元110无效来进行),在所述传统的旁路攻击中,通常在本发明的意义中出现被归类为非正常的运行状态(例如通常对相同的或者略微改变的输入数据来重复地执行AES块加密)。
但为了在将根据本发明的原理应用在装置中时还能够进一步执行旁路攻击(SCA),攻击者必须确保,相应地在正常的运行状态的范围内执行所述旁路攻击,因此通过根据本发明的原理不能够作为非正常的运行来对其进行鉴别。这显著阻碍了为了成功进行SCA通常所需要的、对例如相互有待关联的测量数据进行的收集,因为速率——攻击者能够以所述速率获得这些数据——由于为了进行再次的SCA专门需要的输出状态相对于传统的系统而言非常低。因此许多SCA是不经济的。
根据本发明的功能性不仅能够以硬件(例如专用的ASIC作为控制单元130)的方式而且能够以软件(例如用于所述装置100的计算单元的程序代码,所述计算单元执行根据本发明的方法)的方式或者以硬件和软件组合的方式有利地有效率地实现。此外,与能够在硅芯片平面或者芯片平面上实现的SCA防御措施、像例如屏蔽(Maskierungen)相比,能够简单地测试本发明的执行。此外,如果目标系统100或者110的状态空间是已知的,那么能够相对简单地获知本发明的有效性或者为了进行SCA而需要的根据本发明所提高的花费。

Claims (18)

1.用于运行电子装置(100)的方法,所述电子装置具有至少一个功能单元(110),所述功能单元的运行通过一个或者多个状态变量来表征,其特征在于以下步骤:在能够预先给定的不同的时间点(t1、t2、t3)形成(200)能够预先给定的数量的状态矢量(zv1、zv2、zv3),其中每个状态矢量(zv1、zv2、zv3)包含所述功能单元(110)和/或所述装置(100)的一个或者多个状态变量;根据所述能够预先给定的数量的状态矢量(zv1、zv2、zv3)中的至少一个状态矢量来获知(210)所述装置(100)和/或所述装置的功能单元(110)的运行是否正常,其中如果在所述获知(210)的步骤中推断出:所述装置(100)和/或所述装置的功能单元(110)受到旁路攻击,那么就在接下来的步骤(220)中引入应对措施,所述应对措施包括下述步骤中的至少一个步骤:
a. 将非正常的运行用信号传递给所述装置(100)的用户和/或传递给相对于所述装置(100)布置在外部的单元,
b. 记录所述功能单元(110)和/或所述装置(100)的一个或者多个状态变量,
c. 修正和/或清除存储在所述功能单元(110)和/或所述装置(100)中的数据,
d. 控制和/或影响所述功能单元(110)的运行。
2.按权利要求1所述的方法,其中所述获知(210)的步骤包括以下步骤:将单个状态矢量(zv1)与至少一个能够预先给定的参考状态矢量进行比较。
3.按前述权利要求中任一项所述的方法,其中所述形成(200)的步骤包括:在相应的能够预先给定的不同的时间点(t1、t2、t3)形成大于一个的状态矢量(zv1、zv2、zv3),其中获得了状态序列(C)。
4.按权利要求3所述的方法,其中所述获知(210)的步骤包括以下步骤:将所述状态序列(C)与至少一个能够预先给定的参考状态序列进行比较。
5.按权利要求2所述的方法,其中如果将所述单个状态矢量与所述至少一个能够预先给定的参考状态矢量进行比较得出:所述单个状态矢量最大化地偏离了所述参考状态矢量一个能够预先给定的大小,那么就推断出所述装置(100)运行正常,其中如果将所述单个状态矢量与所述至少一个能够预先给定的参考状态矢量进行比较得出:所述单个状态矢量与所述参考状态矢量相同,那么就推断出所述装置(100)运行正常。
6.按权利要求4所述的方法,其中如果将所述状态序列(C)与所述至少一个能够预先给定的参考状态序列进行比较得出:所述状态序列(C)最大化地偏离了所述参考状态序列一个能够预先给定的大小,那么就推断出所述装置(100)运行正常,其中如果将所述状态序列(C)与所述至少一个能够预先给定的参考状态序列进行比较得出:所述状态序列(C)与所述参考状态序列相同,那么就推断出所述装置(100)运行正常。
7.按权利要求1所述的方法,其中,所述应对措施包括清除所存储的机密数据和/或伪造所存储的机密数据。
8.按权利要求1所述的方法,其中,所述应对措施包括解除和/或中断所述功能单元(110)的功能。
9.具有至少一个功能单元(110)的电子装置(100),所述功能单元的运行通过一个或者多个状态变量来表征,其特征在于,所述装置(100)被构造用于执行下述步骤:在能够预先给定的不同的时间点(t1、t2、t3)形成(200)能够预先给定的数量的状态矢量(zv1、zv2、zv3),其中每个状态矢量(zv1、zv2、zv3)包含所述功能单元(110)和/或所述装置(100)的一个或者多个状态变量;根据所述能够预先给定的数量的状态矢量(zv1、zv2、zv3)中的至少一个状态矢量来获知(210),所述装置(100)和/或所述装置的功能单元(110)的运行是否正常,其中如果在所述获知(210)的步骤中推断出:所述装置(100)和/或所述装置的功能单元(110)受到旁路攻击,那么就在接下来的步骤(220)中引入应对措施,所述应对措施包括下述步骤中的至少一个步骤:
a. 将非正常的运行用信号传递给所述装置(100)的用户和/或传递给相对于所述装置(100)布置在外部的单元,
b. 记录所述功能单元(110)和/或所述装置(100)的一个或者多个状态变量,
c. 修正和/或清除存储在所述功能单元(110)和/或所述装置(100)中的数据,
d. 控制和/或影响所述功能单元(110)的运行。
10.按权利要求9所述的装置(100),其中所述装置(100)被构造用于执行按权利要求2至6中任一项所述的方法。
11.按权利要求9所述的装置(100),其中所述装置(100)具有计算单元,并且其中所述状态变量表征了所述计算单元的一个或者多个存储单元的内容。
12.按权利要求9所述的装置(100),其中所述功能单元(110)被构造用于执行加密的方法或者执行所述加密的方法的一部分。
13.按权利要求9所述的装置(100),其中所述装置(100)被构造用于在运行所述功能单元(110)时执行所述形成(200)和/或所述获知(210)的步骤,其中所述装置(100)被构造用于在没有运行所述功能单元(110)时不执行所述形成(200)和/或所述获知(210)的步骤。
14.按权利要求9所述的装置(100),其中,所述应对措施包括清除所存储的机密数据和/或伪造所存储的机密数据。
15.按权利要求9所述的装置(100),其中,所述应对措施包括解除和/或中断所述功能单元(110)的功能。
16.用于具有至少一个功能单元(110)的电子装置(100)的控制单元(130),所述功能单元的运行通过一个或者多个状态变量来表征,其特征在于,所述控制单元(130)被构造用于执行下述步骤:在能够预先给定的不同的时间点(t1、t2、t3)形成(200)能够预先给定的数量的状态矢量(zv1、zv2、zv3),其中每个状态矢量(zv1、zv2、zv3)包含所述功能单元(110)和/或所述装置(100)的一个或者多个状态变量;根据所述能够预先给定的数量的状态矢量(zv1、zv2、zv3)中的至少一个状态矢量来获知(210),所述装置(100)和/或所述装置的功能单元(110)的运行是否正常,其中如果在所述获知(210)的步骤中推断出:所述装置(100)和/或所述装置的功能单元(110)受到旁路攻击,那么就在接下来的步骤(220)中引入应对措施,所述应对措施包括下述步骤中的至少一个步骤:
a. 将非正常的运行用信号传递给所述装置(100)的用户和/或传递给相对于所述装置(100)布置在外部的单元,
b. 记录所述功能单元(110)和/或所述装置(100)的一个或者多个状态变量,
c. 修正和/或清除存储在所述功能单元(110)和/或所述装置(100)中的数据,
d. 控制和/或影响所述功能单元(110)的运行。
17.按权利要求16所述的控制单元(130),其中,所述应对措施包括清除所存储的机密数据和/或伪造所存储的机密数据。
18.按权利要求16所述的控制单元(130),其中,所述应对措施包括解除和/或中断所述功能单元(110)的功能。
CN201611015970.4A 2015-11-20 2016-11-18 用于运行电子装置的方法和电子装置 Active CN107038374B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102015222968.8A DE102015222968A1 (de) 2015-11-20 2015-11-20 Betriebsverfahren für eine elektronische Vorrichtung und elektronische Vorrichtung
DE102015222968.8 2015-11-20

Publications (2)

Publication Number Publication Date
CN107038374A CN107038374A (zh) 2017-08-11
CN107038374B true CN107038374B (zh) 2022-04-01

Family

ID=58693531

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611015970.4A Active CN107038374B (zh) 2015-11-20 2016-11-18 用于运行电子装置的方法和电子装置

Country Status (3)

Country Link
US (1) US20170149556A1 (zh)
CN (1) CN107038374B (zh)
DE (1) DE102015222968A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10911215B2 (en) * 2018-02-12 2021-02-02 Gideon Samid BitMap lattice: a cyber tool comprised of geometric construction

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010086160A (ja) * 2008-09-30 2010-04-15 Nec Corp 障害分析システム、障害分析方法および障害分析用プログラム
CN102473012A (zh) * 2009-07-01 2012-05-23 罗伯特·博世有限公司 用于执行对系统的诊断的诊断方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050234920A1 (en) * 2004-04-05 2005-10-20 Lee Rhodes System, computer-usable medium and method for monitoring network activity
US9705899B2 (en) * 2010-01-26 2017-07-11 Bae Systems Information And Electronic Systems Integration Inc. Digital filter correlation engine
US8650408B2 (en) * 2010-09-08 2014-02-11 Xilinx, Inc. Protecting against differential power analysis attacks on decryption keys
MX2013005074A (es) * 2010-11-03 2013-08-29 Virginia Tech Intell Prop Uso de toma de huellas digitales de potencia para monitorear la integridad y mejorar la seguridad de sistemas basados en computadoras.
US8892903B1 (en) * 2012-12-06 2014-11-18 Xilinx, Inc. Detection of power analysis attacks
US9310862B2 (en) * 2013-05-20 2016-04-12 Advanced Micro Devices, Inc. Method and apparatus for monitoring performance for secure chip operation
US9396061B1 (en) * 2013-12-30 2016-07-19 Emc Corporation Automated repair of storage system components via data analytics
US20150222421A1 (en) * 2014-02-03 2015-08-06 Qualcomm Incorporated Countermeasures against side-channel attacks on cryptographic algorithms
US9940457B2 (en) * 2015-02-13 2018-04-10 International Business Machines Corporation Detecting a cryogenic attack on a memory device with embedded error correction
EP3188401B1 (en) * 2015-12-29 2019-12-18 Secure-IC SAS Method and system for protecting a cryptographic operation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010086160A (ja) * 2008-09-30 2010-04-15 Nec Corp 障害分析システム、障害分析方法および障害分析用プログラム
CN102473012A (zh) * 2009-07-01 2012-05-23 罗伯特·博世有限公司 用于执行对系统的诊断的诊断方法

Also Published As

Publication number Publication date
CN107038374A (zh) 2017-08-11
DE102015222968A1 (de) 2017-05-24
US20170149556A1 (en) 2017-05-25

Similar Documents

Publication Publication Date Title
US8386791B2 (en) Secure data processing method based particularly on a cryptographic algorithm
US20140013425A1 (en) Method and apparatus for differential power analysis protection
US10291391B2 (en) Method for enhanced security of computational device with multiple cores
US11074370B2 (en) Information processing system, information processing device, and method for controlling information processing device
Dunlap et al. Using timing-based side channels for anomaly detection in industrial control systems
Reed et al. Enhancing smart grid cyber security using power fingerprinting: Integrity assessment and intrusion detection
KR102332467B1 (ko) 로그 데이터의 무결성 보호
WO2014153760A1 (en) Detecting exploits against software applications
CN114528602B (zh) 基于攻击检测行为的安全芯片运行方法及装置
CN107038374B (zh) 用于运行电子装置的方法和电子装置
US9727722B2 (en) Non-intrusive monitoring
US11956259B2 (en) Systems and methods for side-channel monitoring of a local network
EP3742315A1 (en) Apparatuses and methods involving a circuit for detecting a hardware-trojan
US10210352B2 (en) Dynamic change of security configurations
Feix et al. Defeating iso9797-1 mac algo 3 by combining side-channel and brute force techniques
US11632313B2 (en) Systems and methods for side-channel monitoring of a local network
EP3642820B1 (en) Computing device processing expanded data
WO2021074595A1 (en) Obfuscation of operations in computing devices
US10402170B2 (en) Processing device and operating method therefor
Gonzalez et al. Cyber physical intrusion detection
Jungk Automotive security state of the art and future challenges
CN112204528A (zh) 检查装置、检查方法以及检查程序
US10228945B2 (en) Circuitry and method for instruction stream protection
EP3817273A1 (en) Performance improvement of a cryptographic module of an integrated circuit
CN114282213A (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
GR01 Patent grant