CN113597747A - 用于故障注入攻击的检测和定位的设备和方法 - Google Patents
用于故障注入攻击的检测和定位的设备和方法 Download PDFInfo
- Publication number
- CN113597747A CN113597747A CN201980084201.5A CN201980084201A CN113597747A CN 113597747 A CN113597747 A CN 113597747A CN 201980084201 A CN201980084201 A CN 201980084201A CN 113597747 A CN113597747 A CN 113597747A
- Authority
- CN
- China
- Prior art keywords
- random signal
- signal transmission
- receiver
- manager
- system clock
- 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
Links
- 238000000034 method Methods 0.000 title claims description 43
- 238000002347 injection Methods 0.000 title claims description 36
- 239000007924 injection Substances 0.000 title claims description 36
- 230000004807 localization Effects 0.000 title claims description 12
- 238000001514 detection method Methods 0.000 title description 15
- 230000008054 signal transmission Effects 0.000 claims abstract description 103
- 230000005540 biological transmission Effects 0.000 claims abstract description 60
- 239000002184 metal Substances 0.000 claims abstract description 57
- 239000000872 buffer Substances 0.000 claims abstract description 50
- 230000000630 rising effect Effects 0.000 claims description 39
- 238000013478 data encryption standard Methods 0.000 claims description 6
- 238000012937 correction Methods 0.000 claims description 4
- 230000001419 dependent effect Effects 0.000 claims 1
- 230000008569 process Effects 0.000 description 21
- 238000013461 design Methods 0.000 description 13
- 230000009471 action Effects 0.000 description 12
- 238000012545 processing Methods 0.000 description 10
- 238000003860 storage Methods 0.000 description 10
- 230000006854 communication Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 9
- 230000004048 modification Effects 0.000 description 9
- 238000012986 modification Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 238000005259 measurement Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 238000011897 real-time detection Methods 0.000 description 6
- 238000004088 simulation Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 5
- 230000003111 delayed effect Effects 0.000 description 4
- 235000012431 wafers Nutrition 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000005672 electromagnetic field Effects 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 230000002265 prevention Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 230000035945 sensitivity Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 2
- 230000000747 cardiac effect Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 239000004020 conductor Substances 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000005670 electromagnetic radiation Effects 0.000 description 2
- 230000007860 molecular communication Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000005855 radiation Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000008021 deposition Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000012377 drug delivery Methods 0.000 description 1
- 206010015037 epilepsy Diseases 0.000 description 1
- 238000005530 etching Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 238000002513 implantation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000005468 ion implantation Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000013021 overheating Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000035515 penetration Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003094 perturbing effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000004936 stimulating effect Effects 0.000 description 1
- 230000000638 stimulation Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
- H04L9/004—Countermeasures against attacks on cryptographic mechanisms for fault attacks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1466—Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Computational Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
一种用于检测对数字电路(1)执行的扰动攻击的设备。该设备包括:‑被布置在数字电路(1)上的第一金属层(11)和第二金属层(13),第一金属层(11)包括水平布线的多条信号传输线,第二金属层(13)包括垂直布线的多条信号传输线,设备包括一个或多个发射机缓冲器和一个或多个接收机缓冲器,发射机缓冲器和接收机缓冲器通过每条信号传输线连接;‑随机数生成器(15),其被配置为生成随机信号值;设备进一步包括连接到一个或多个发射机缓冲器的发射机管理器(17)以及连接到一个或多个接收机缓冲器的接收机管理器(19),其中:‑发射机管理器(17)被配置为通过第一金属层(11)和第二金属层(13)的信号传输线发送由随机数生成器(15)生成的随机信号值,‑接收机管理器(19)被配置为进行以下操作:通过连接到接收机管理器(19)的一个或多个接收机缓冲器从发射机管理器(17)接收随机信号值;测量与所接收到的随机信号值的传输时间相对应的传输时间;以及将传输时间与预定义的时序间隔进行比较以检测扰动攻击。
Description
技术领域
本发明总体上涉及数字电子设备,并且尤其涉及对数字电路执行的故障注入攻击的检测和定位。
背景技术
数字电子设备用于设计诸如工业系统、通信系统、计算系统或者安全系统之类的各种系统中的数字设备。数字设备的示例包括计算机、智能电话、平板计算机、嵌入式系统、智能设备(例如,智能卡、标签、物联网传感器和设备)、存储设备(例如,USB棒和硬盘驱动器)以及安全设备。基于数字电路的数字设备在诸如航空、汽车、能源、卫生保健和交通领域之类的若干种应用中正在变为必要的项目。
数字存储装置、通信设备或者计算设备处理模拟级别的以分离频带形式的数字信息,并且由使用布尔逻辑的控制单元控制。数字设备的硬件部分通常包括对数字信号进行操作的数字电路、集成电路和逻辑门。
在数字设备中存储、传输或计算的信息可能包括敏感或秘密数据,这些数据要求高安全性和保护水平,以防止攻击者或窃听者在秘密数据的存储、传输或计算期间恢复秘密数据。例如,现代数字设备实现旨在保护被处理的数据并且使被处理的数据安全的加密机制。这样的加密设备使用诸如加密密钥密钥之类的秘密值来根据原始数据生成加密数据,以防止攻击者恢复原始数据。攻击者可以寻求学习诸如加密密钥之类的秘密值,或者寻求在不学习用于破坏设备/系统的正常可服务性的秘密值情况下利用从被攻击设备泄露的信息。对加密设备的攻击可以对数据安全(包括例如损失私密性和损失保护)具有灾难性影响。
存在若干种攻击,包括计算机网络攻击和硬件/物理攻击。计算机网络攻击的目标是被攻击设备在执行软件代码或者程序时的行为。硬件攻击的目标是加密机制和算法的物理实现。
物理攻击可以被分类为侧信道攻击(也被称为“观察攻击”)和故障注入攻击(也被称为“扰动攻击”)。
侧信道攻击使用从被攻击设备泄露的任何物理泄露的信息(例如,功耗、处理时间、电磁辐射、声音和红外辐射)作为加密机制和算法的物理实现的附加的知识源。泄露的信息可以揭露关于被攻击设备的内部结构以及关于正在运行的加密机制的特性。例如,测量加密设备随着时间推移的功耗并且测量运行加密功能要求的时间可以公开关于由加密功能使用的加密密钥的信息。
故障注入攻击的目的是通过迫使被攻击设备执行错误操作而从外侧改变系统/设备的正确的运行,其目的在于利用在被攻击设备的错误行为期间泄露的信息,以确定在运行错误操作期间涉及的秘密参数/值。
故障注入攻击可以包括数据修改(例如,寄存器中的值的修改、存储器层级中的值的修改、数据或者代码的修改)和/或控制信号(例如,状态标志、分支方向)的修改和/或流程修改(例如,跳过或修改指令)和/或内部控制信号的延迟或提前的传播。
故障模型包括单个/多个位翻转(即,目标变量由单个或者多个位翻转改变)、随机字节错误(即,导致字节中的一些位被翻转的非精确多位翻转)、指令跳过(即,一个或若干个指令没有被执行)和固定型故障(stuck at fault,即,目标变量被固定在位0或位1)。
存在用于引入故障注入攻击的若干种技术,包括:
-通过在电源电压中执行扰动的功率毛刺(power glitch);
-通过扰动时钟的时钟篡改;
-通过对芯片过加热或者欠加热的温度变化;
-通过将芯片暴露于强光或者波束的光/激光注入;
-通过使用高能电磁场引入故障的辐射或者电磁(EM)注入。
EM注入用于通过将设备放置在高能电磁场中以在芯片(晶体管和存储器单元)中生成位翻转来引入故障,如在例如以下文献中公开的:
-“Poucheret F.Tobich K.Lisart M.Robisson B.Maurine P.Injectiondirecte de puissance par medium em.LORMM,ST and CEA,2010”;
-“Poucheret F.Injection electromagnetiques:developpement d outils etmethodes pour la realisation d attaques materielles.Universite Montpellier 2,2012”;以及
-“Moro N.Securisation de programmes assembleur face aux attaquesvisant les processeurs embarques.CEA,2014”。
根据这些方法,EM注入攻击使用EM波和半局部效应来实现高渗入。EM注入攻击难以检测并且要求低成本设备和较少的板来实现。
在“Jean-Jacques Quisquater and David Samyde.Eddy current for magneticanalysis with active sensor,In Proceedings of Esmart,volume 2002”中介绍的EM注入基于在集成电路的表面上注入的外部电磁场以产生单个位故障。注入在功率/接地网络中产生了突然且密集的电流流动,这导致随着电压降低和接地弹跳而在高密度的超大规模集成上的未授权现象。EM注入形成非常有力的攻击,如在“-Marc Schmidt andMichael Hutter.Optical and em fault-attacks on crt-based rsa:Concreteresults.na,2007”中指示的,这是因为故障通过封装被注入而无需类似于集成芯片解封装的高成本操作。
此外,如在“Sébastien Ordas,Ludovic Guillaume-Sage,and PhilippeMaurine.Electromagnetic Fault Injection:the curse of flip-flops.Journal ofCryptographic Engineering,pages 1-15,2016”中公开的,EM注入遵循采样故障模型而非时序故障模型,EM注入不影响路径延迟(时序模型),这是因为EM的效果与时钟信号无关。
故障检测方法或者故障防止方法可以用于保护设备免受故障注入攻击。
故障检测技术包括检测注入尝试、检测数字数据修改以及对物理参数执行合理性检查。故障检测技术可以例如使用:
-能够感测任何物理扰动的传感器/检测器,或者
-用于检查能够在超出范围操作的情况下触发恢复的电压范围和时钟频率的模拟脉冲检测器,或者
-用于检测激光波束的集成激光检测器。
故障防止技术使得能够校正或者感染故障。用于防止攻击的对策可以嵌入附加的保护块并且将原始电路修改为安全电路。故障防止技术可以例如进行以下操作:
-使用电气屏蔽;
-使用一致的计算持续时间和功耗操作;
-使用检测/校正码;
-提供随机行为;
-添加噪声(例如,使用掩蔽、无用指令/计算);或者
-执行电路重新配置(例如,重新配置算法或者值的表示)。
用于防止和检测故障注入攻击的现有方法在某种意义上是次优的,因为这些方法不提供对数字电路针对扰动攻击的充分保护并且不提供对针对设备执行的扰动的高效的实时检测和定位。
因此,需要用于检测和定位故障注入攻击的高效的、实时的且易于实现的设备和方法。
发明内容
为了解决这些和其他问题,提供了一种用于检测对数字电路执行的扰动攻击的设备。该设备包括:
-被布置在数字电路上的第一金属层和第二金属层,第一金属层包括水平布线的多条信号传输线,第二金属层包括垂直布线的多条信号传输线,设备包括一个或多个发射机缓冲器和一个或多个接收机缓冲器,发射机缓冲器和接收机缓冲器通过每条信号传输线连接;
-随机数生成器,其被配置为生成随机信号值;
该设备进一步包括连接到一个或多个发射机缓冲器的发射机管理器以及连接到一个或多个接收机缓冲器的接收机管理器。发射机管理器可以被配置为通过第一金属层和第二金属层的信号传输线发送由随机数生成器生成的随机信号值,该随机信号值从连接到发射机管理器的一个或多个发射机缓冲器被发送到连接到接收机管理器的一个或多个接收机缓冲器。接收机管理器可以被配置为进行以下操作:通过连接到接收机管理器的一个或多个接收机缓冲器从发射机管理器接收随机信号值;测量与所接收到的随机信号值的传输时间相对应的传输时间;以及将传输时间与预定义的时序间隔进行比较以检测扰动攻击。
根据一些实施例,设备可以被进一步配置为根据传输时间与预定义的时序间隔之间的比较来定位检测到的扰动攻击。
根据一些实施例,预定义的时序间隔可以与通过每条信号传输线发送随机信号值所需要的系统时钟周期的数量相关。
根据一些实施例,预定义的时序间隔可以由与最小时序值相对应的第一阈值以及与最大时序值相对应的第二阈值表示,第一阈值和第二阈值是取决于在由以下各项构成的组中的一个或多个参数被确定的:温度、电压、第一金属层和第二金属层中包括的信号传输线的长度以及对数字电路充电的电源的负载。
根据一些实施例,接收机管理器可以被配置为将传输时间与第一阈值和第二阈值进行比较,如果测量出的传输时间低于第一阈值或者如果测量出的传输时间高于第二阈值,则接收机管理器检测到扰动攻击。
根据一些实施例,随机数生成器可以被配置为在系统时钟的每个上升沿处更新随机信号值,发射机管理器被配置为在系统时钟的每个上升沿处发送更新后的随机信号值。
根据一些实施例,接收机管理器可以使用频率比系统时钟的频率更高的内部时钟,由第一阈值和第二阈值表示的时序间隔是由通过信号传输线发送随机信号值所需要的内部时钟周期的数量定义的。
根据一些实施例,接收机管理器可以被配置为进行以下操作:
-在系统时钟的每个上升沿期间接收并存储更新后的随机信号值,并且在系统时钟的每个上升沿处初始化计数器;
-在内部时钟的每个上升沿处递增计数器;
-在内部时钟的每个时钟周期处将计数器与第一阈值和第二阈值进行比较;
-在所述内部时钟的每个上升沿处读取通过信号传输线发送的随机信号值;
-在内部时钟的每个上升沿处将通过信号传输线发送的随机信号值与存储的更新后的随机信号值进行比较;以及
-在内部时钟的每个上升沿处将在当前系统时钟周期期间通过信号传输线发送的随机信号值与在前一系统时钟周期期间通过信号传输线发送的随机信号值进行比较。
根据一些实施例,接收机管理器可以被配置为在以下情况下发出警报:
-计数器等于第二阈值,并且通过信号传输线发送的随机信号值不同于在系统时钟的上升沿期间存储的更新后的随机信号值;或者
-计数器低于第一阈值,并且在当前系统时钟周期期间通过信号传输线发送的随机信号值不同于在前一系统时钟周期期间通过信号传输线发送的随机信号值;或者
-计数器高于第二阈值,并且在当前系统时钟周期期间通过信号传输线发送的随机信号值不同于在前一系统时钟周期期间通过信号传输线发送的随机信号值;或者
-通过信号传输线发送的随机信号值在一个系统时钟周期期间改变多于两次。
根据一些实施例,接收机管理器可以被配置为使用水平布线的至少一条信号传输线和垂直布线的至少一条信号传输线来确定一个或多个检测到的扰动攻击的定位。
根据一些实施例,扰动攻击可以是功率毛刺、系统时钟篡改、激光或光注入攻击或者电磁注入攻击中的一个。
根据一些实施例,数字电路可以是至少包括被配置为执行一个或多个加密操作的子电路的加密数字电路,一个或多个加密操作是在包括数据和/或信号加密和/或解密、消息认证和数字签名的组中被选择的。
根据一些实施例,数据和/或信号加密和/或解密可以实现纠错码、哈希函数和基于秘密密钥的加密算法中的一个或多个。
根据一些实施例,基于秘密密钥的加密算法可以是在包括DES(数据加密标准)、3DES、AES(高级加密标准)和RC4(Rivest Cipher 4)的组中被选择的对称加密算法。
根据一些实施例,基于秘密密钥的加密算法可以是在包括RSA(Rivest-Shamir-Adleman)和ECDSA(Elliptic Curve Digital Signature Algorithm)的组中被选择的非对称加密算法。
还提供了一种用于检测对数字电路执行的扰动攻击的方法,该方法包括:
-在数字电路上布置第一金属层和第二金属层,第一金属层包括水平布线的多条信号传输线,第二金属层包括垂直布线的多条信号传输线,每条信号传输线将发射机缓冲器连接到接收机缓冲器;
-生成随机信号值;
-由发射机管理器通过第一金属层和第二金属层的信号传输线发送随机信号值,该随机信号值从连接到发射机管理器的一个或多个发射机缓冲器被发送到连接到接收机管理器的一个或多个接收机缓冲器;
-由接收机管理器接收随机信号值;
-测量与所接收到的随机信号值的传输时间相对应的传输时间;以及
-将传输时间与预定义的时序间隔进行比较以检测扰动攻击。
有利地,本发明的实施例提供了对数字电路免受扰动攻击的保护,其使用基于被攻击的数字电路的分区对扰动攻击的实时检测和准确定位。
本发明的实施例还利用数字电路的导线对扰动攻击的敏感性(例如,对电磁辐射的敏感性)来检测和定位扰动攻击。
本发明的实施例的另一个优点是提供了一种基于时序的扰动攻击检测方法,该方法利用在数字电路上发送信号所要求的传输时间与若干参数(例如,温度、工艺角(processcorner)和电路的导线的长度)之间的依赖性以进行时序测量,该时序测量用于检测和定位对数字电路执行的扰动攻击。
附图说明
并入并且构成本说明书一部分的附图,连同上面给出的对本发明的一般描述和下面给出的对实施例的详细描述,示出了本发明的各种实施例。
图1是根据本发明一些实施例的用于检测和定位对数字电路执行的扰动攻击的数字电路和设备的图形视图;
图2示出了根据本发明一些实施例的表示对扰动攻击的检测的时间图;并且
图3是示出根据本发明一些实施例的用于检测和定位对数字电路执行的扰动攻击的方法的流程图。
具体实施方式
本发明的实施例提供了用于使数字电路安全以免受试图在数字电路的可操作性期间引入/注入故障的扰动攻击的设备和方法。
根据本发明各种实施例的设备和方法基于使用时序测量来提供对针对数字电路执行的扰动攻击的实时且准确的检测和定位,该时序测量包括对通过数字电路的导线(也被称为“信号传输线”)发送随机信号值所要求的时间的测量。
数字电路可以包括在工业、信息和/或消费者设备或系统中实现的各种类型的电路,这些设备或系统是在诸如城市或者军事通信应用或数据处理应用之类的宽范围的应用中使用的。数字电路可以例如在以下各项中实现:
-通信系统(例如,数字有线、无线、蜂窝/无线电、光学、卫星、声学和分子通信和传输系统),其用于确保数据在不安全的传输通道上的安全传送;
-计算网络/系统,其用于确保数据中心互连的安全;
-数字数据存储装置(例如,云计算应用和云服务器);
-记录(例如,磁记录和光学记录);
-数据处理系统(例如,数据库、在线销售系统、金融系统);
-定位系统;
-数字电视和视频广播;
-身份设备(例如,电子护照、加密身份文档);
-运输和汽车设备(例如,自动驾驶汽车、互联汽车、惯导系统、GPS接收机、电机控制器、电子车辆和混合车辆,以确保防盗保护);
-服务提供商系统,其用于提供受限和授权访问;
-移动电话设备,其用于认证对电池和附件的控制和访问;
-银行工业设备,其用于确保银行账户和金融交易的安全;
-医疗设备,其用于确保医疗数据和诸如可植入医疗设备之类的医疗设备的安全,该可植入医疗设备可以被植入身体内以治疗医疗状况或者监视某些身体部位的运行状态(例如,心脏起搏器、用于监视和治疗心脏状况的除颤器、大脑监视或刺激设备(例如,用于在诸如癫痫或帕金森等之类的情况下进行深层大脑刺激的神经刺激器)、药物输送系统、生物传感器);
-在现场可编程门阵列(FPGA)中的携带敏感应用或数据的硬件安全模块或电子组件,其可以例如被嵌入在智能卡或者电子车辆中。
参考图1,示出了系统100中的数字电路1(也被称为“安全的数字电路”或者“受保护的电路”)的示例性实现方式。
系统100可以例如是通信系统(例如,数字、有线、无线、蜂窝、光学、卫星、声学和分子通信系统)、数据处理系统(例如,在线销售系统、金融系统、电子护照系统、银行)、数据存储系统(例如,数据库)、记录系统(例如,磁记录和光学记录)或者定位系统等。
数字电路1可以包括印刷在作为集成电路(IC)设备的一部分的集成电路上的逻辑门。
集成电路设备可以是任何设备、计算机、计算机器或者嵌入式系统、编程的和/或可编程的(例如,现场可编程门阵列电路、专用集成电路、片上系统、超大规模集成电路)。示例性集成电路设备包括但不限于:
-用于存储密钥的智能卡、令牌,例如,钱包、智能卡读取器(例如,在金融交易中使用的自动柜员机(ATM))、受限访问、电信、军事应用、安全通信设备或者TV机顶盒;
-电子和数字电子设备,例如,RFID标签和电子密钥;
-嵌入式安全元件;
-计算机(例如,台式计算机和膝上型计算机)或平板计算机;
-路由器、交换机或打印机;
-移动电话(例如,智能电话)、基站、中继站或卫星;
-物联网(IoT)设备、机器人、无人机;或者
-记录仪、多媒体播放器、移动存储设备(例如,存储器卡和硬盘),其登录访问由加密机制监视。
在本发明的通信系统的应用中,集成电路设备可以是固定的或移动的、被配置为在有线、无线或基于光纤的通信网络中操作。
此外,集成电路设备可以是独立设备或者可以连接到外部设备、机器或系统。集成电路设备可以被例如实现在计算机联网系统中(例如,使用一个或多个小面积或大面积的有线或无线接入网络)。
根据一些实施例,数字电路1可以是片上系统,其将包括中央处理单元、存储器装置和输入/输出外围设备/端口的计算机器或计算机的所有组件集成在单个集成电路上。
中央处理单元被配置为使用一个或多个处理单元(被称为“处理器”)来执行存储在存储器装置中的一个或多个程序的指令,该一个或多个处理单元执行由指令指定的算术、逻辑、控制和/或输入/输出操作。片上系统可以是至少包括两个处理器的多处理器或包括一个处理器的单处理器。
处理器可以是多核心的,其包括被配置为在给定时间执行任务的多个核心(如在例如嵌入式系统、数字信号处理或图形处理单元中使用的),由此增加服从并行计算的程序执行的整体速度。不同的核心可以被集成在单个集成电路管芯上或者被集成在单个芯片封装中的多个管芯上。
在一些实施例中,处理器可以包括一个或多个微处理器、微控制器、数字信号处理器、微计算机、状态机、逻辑电路、模拟电路或根据存储在存储器装置中的程序指令处理模拟或数字信号的任何其他设备。
在一些实施例中,存储器装置可以包括主存储器、处理器高速缓冲存储器、大容量存储存储器和能够存储数据/信息的任何其他设备/组件。存储器装置可以是易失性存储器单元、非易失性存储器单元或易失性和非易失性存储器单元两者的组合。
易失性存储器可以使用RAM、DRAM(例如,DDR、SDRAM)、SRAM、T-RAM和Z-RAM中一个或多个。易失性存储器通常在改进读取/写入性能方面是有利的,与非易失性可写入存储器相比较具有较低的成本/覆盖区。
非易失性存储器可以使用掩蔽ROM、PROM、EPROM、EEPROM、NVRAM、闪速存储器固态存储装置、nvSRAM、FeRAM(铁电RAM)、MRAM(磁RAM)、PRAM中的一个或多个。非易失性存储器通常在提供对先前存储的关于重启和/或功率周期的信息的访问方面是有利的。
大容量存储存储器可以例如是硬盘驱动器、光盘驱动器或者磁带驱动器。
根据一些实施例,数字电路1可以是被配置为执行加密机制或者算法的加密数字电路设备的一部分,该加密机制或者算法涉及一个或多个加密密钥的使用、生成和/或存储。可以实现加密机制以确保在数字电路设备上存储的或通过系统100传送的数据和/或信号的安全、认证、保护和/或私密性。
在这样的实施例中,数字电路1可以包括被配置为操纵(例如,生成、存储、管理和/或使用)加密数据和加密密钥的加密处理或存储单元。加密处理单元可以是专用于执行加密操作以保护存储器中的敏感数据免受硬件和/或软件攻击的安全加密处理器。加密处理器可以被配置为执行用于加密、完整性和重放保护的加密机制。有利地,存储器加密使得能够保护驻留在存储器中的数据的机密性,完整性保护使得能够防止攻击者对存储在存储器中的加密数据进行隐藏的修改,并且重放保护使得能够消除加密数据的未被检测到的时间替换(temporal substitution)。示例性加密处理器包括例如在金融交易中使用的智能卡、受限访问、电信、军事应用、安全通信设备、自动柜员机、TV机顶盒等。
数字电路1可以由位于数字电路设备中的系统时钟提供,并且该系统时钟被配置为定期地向数字电路1和数字电路设备的其他组件发出时钟信号。该系统时钟具有系统时钟周期和频率。
数字电路1可以使用半导体材料(例如,半导体晶圆)制造。在集成电路装置的制造工艺期间,晶圆可以用作电子组件的衬底。晶圆可以经历若干制造工艺步骤,例如,掺杂(doping)、离子植入、蚀刻和材料的沉积。
当集成电路被制造时,晶体管的属性(长度、宽度、氧化物厚度)的变化可能自然发生。这种变化被称为"工艺变化"。
在将集成电路设计应用于半导体晶圆时考虑的制造参数的变化被称为“工艺角”。工艺角表示制造参数的极限(极限值),在该极限范围内,集成电路可以正确地操作。在这些工艺角处制造的集成电路可以比规定的速度更慢或更快地操作,和/或在较低或较高的温度和/或电压下操作。然而,如果集成电路不能在这些工艺角中的任一个处运行,则集成电路设计被认为具有不充分的设计余量。
从硬件的角度而言,数字电路1可以包括由几条导线(也称为“互连导线”或“信号传输线”)组成的金属布线,其用于在有源元件之间创建电气连接,以便跨数字电路1发送和分配信号和功率。数字电路1的性能和速度可以取决于互连结构、与信号穿过整条导线所需要的时间相对应的互连延迟以及噪声和功耗。
由于导线之间的互连而产生的延迟也被称为“净延迟”和“导线延迟”,其对导线电阻(也被称为“净电阻”)和电容(也被称为“净电容”)敏感。
净电阻可以从导线电阻率、长度、宽度和厚度推导。更具体地,导线的电阻与它的长度成正比,并且与它的横截面成反比。
净电容由两个电容组成:对地电容和对邻接电容,即,由于与同一金属层上布线的其他导线或与顶部或底部金属层上布线的导线的耦合而发生的邻接导线之间的电容。
此外,净延迟取决于温度、制造工艺角以及施加到数字电路1的电压。
净延迟是不固定的。因此,净延迟的变化可以揭露或指示已经对数字电路1执行了外部扰动,试图通过温度/电压的变化引入故障来改变数字电路1的功能。例如,在电磁注入攻击的情况下,通过数字电路1的导线发送的信号的净延迟的加速或减速可以指示数字电路1受到电磁故障注入的攻击。
本发明的实施例利用净延迟对温度/电压/导线长度的任何变化的敏感性/依赖性来实时检测和定位对数字电路1执行的扰动攻击。对扰动攻击的实时检测和定位有利地基于实时时序测量,以测量通过数字电路1的导线发送和接收随机信号所需要的时间/延迟。
参考图1,示出了一种用于检测和定位对数字电路1执行的扰动攻击的设备,该设备包括被布置在数字电路1上的第一金属层11和第二金属层13,使得第一金属层11包括水平布线的多条信号传输线,并且第二金属层13包括垂直布线的多条信号传输线,该设备包括一个或多个发射机缓冲器和一个或多个接收机缓冲器,发射机缓冲器和接收机缓冲器通过每条信号传输线连接。换言之,第一金属层11和第二金属层13的每条信号传输线将发射机缓冲器连接到接收机缓冲器。第一层11和第二层13中的每一层都包括n≥2个(至少两个)发射机缓冲器及其对应的至少两个接收机缓冲器。
对针对数字电路1执行的扰动攻击的检测是基于测量通过第一金属层11和第二金属层13的信号传输线发送和接收信号所要求的时间。因此,该设备可以进一步包括随机数生成器15(例如,真随机数生成器),该随机数生成器15被配置为生成随机信号值,并且将随机信号值发送到该设备中包括的发射机管理器17和接收机管理器19。发射机管理器17可以被配置为通过第一金属层11和第二金属层13的信号传输线发送从随机数生成器15生成和接收到的随机信号值,使得该随机信号值由连接到发射机管理器17的发射机缓冲器发送,并且由连接到接收机管理器19的接收机缓冲器接收。
接收机管理器19可以被配置为进行以下操作:接收通过第一金属层11和第二金属层13的各种信号传输线发送的随机信号值;测量与随机信号值的传输时间相对应的传输时间;以及通过将测量出的传输时间与由I表示的预定义的时序间隔进行比较来检测和定位一个或多个扰动攻击。
为了计算信号通过水平布线和垂直布线的信号传输线的确切传输时间,可以通过执行一组仿真来先前确定预定义的时序间隔,这些仿真是在数字电路1的设计阶段期间进行的。用于测量/确定时序间隔的仿真可以针对不同的工艺角(包括最佳、最差和典型工艺角)进行/执行。有了考虑了这些工艺角的时序间隔,就能正确计算/测量在数字电路1的运行期间,在正常条件下通过不同的信号传输线承载信号所需要的传输时间。
预定义的时序间隔I是由通过每条信号传输线发送随机信号值所需要的系统时钟周期的数量来定义的。预定义的时序间隔I=[t0,t1]可以由对应于最小时序值的第一阈值(由t0表示)和对应于最大时序值的第二阈值t1表示。使用在设计阶段期间执行的仿真来确定时序间隔,第一阈值和第二阈值可以是针对所有的工艺角被先前确定的,并且取决于一个或多个参数,包括温度、电压、第一金属层11和第二金属层13中包括的信号传输线的长度以及对数字电路1充电的电源的负载。针对每个工艺角确定的第一阈值和第二阈值分别对应于通过数字电路1的导线发送信号所需要的系统时钟周期的最小数量和最大数量。
接收机管理器19可以被配置为存储针对每个工艺角先前确定的时序间隔。
在正常条件下并且在数字电路1的运行期间,时序间隔可以用于检测任何扰动攻击。更具体地,接收机管理器19可以被配置为通过将测量出的并且与生成的随机信号值通过第一金属层11和第二金属层13的不同的信号传输线的传输相对应的传输时间与预定义的时序间隔I的第一阈值t0和第二阈值t1进行比较来检测扰动攻击,如果测量出的传输时间低于第一阈值t0或如果测量出的传输时间高于第二阈值t1,则接收机管理器19检测到扰动攻击。通过不同的导线传输的信号的扰动导致接收机管理器19对随机信号值的延迟或加速的到达/接收,这指示数字电路1经历了扰动攻击。
根据一些实施例,通过第一金属层11和第二金属层13的信号传输线传输随机信号值可以在系统时钟的每个上升沿处执行。在这样的实施例中,随机数生成器15可以被配置为在系统时钟的每个上升沿处更新要被发送到发射机管理器17和接收机管理器19的随机信号值。在接收到更新后的随机信号值后,发射机管理器17可以被配置为在系统时钟的上升沿处通过第一金属层11和第二金属层13的信号传输线发送更新后的随机信号值。接收机管理器19可以被配置为进行以下操作:在系统时钟的上升沿期间从随机数生成器15接收更新后的随机信号值;存储更新后的随机信号值;以及在系统时钟的每个上升沿处初始化计数器。
根据一些实施例,其中发送随机信号值所要求的传输时间小于或等于一个系统时钟周期,接收机管理器19可以使用频率比系统时钟的频率更高的内部时钟来定义由第一阈值t0和第二阈值t1表示的时序间隔I=[t0,t1],并且在这种实施例中,该时序间隔I=[t0,t1]由通过信号传输线发送随机信号值所需要的内部时钟周期的数量定义。
当使用内部时钟周期来测量信号传输时间时,接收机管理器19可以被配置为在内部时钟的每个上升沿处进行以下操作:
-递增计数器;
-将计数器(先前在系统时钟的上升沿处被初始化)与第一阈值t0和第二阈值t1进行比较;
-读取通过信号传输线发送的随机信号值;
-在系统时钟的上升沿处将通过信号传输线发送的随机信号值与从随机数生成器接收到的存储的更新后的随机信号值进行比较;以及
-将在当前系统时钟周期期间通过信号传输线发送的随机信号值与在前一系统时钟周期期间通过信号传输线发送的随机信号值进行比较。
由接收机管理器19执行的比较将使得能够实时检测对数字电路1执行的任何扰动攻击。更具体地,接收机管理器19可以被配置为检测扰动攻击并且在以下情况下发出安全警报:
-接收机管理器19确定计数器等于第二阈值t1,并且通过信号传输线发送的随机信号值不同于在系统时钟的上升沿期间存储的更新后的随机信号值,这意味着信号在传输期间被破坏,或者
-接收机管理器19确定计数器低于第一阈值t0,并且在当前系统时钟周期期间通过信号传输线发送的随机信号值不同于在前一系统时钟周期期间通过信号传输线发送的随机信号值,这意味着信号值在设计阶段期间计算出的传输的最小延迟之前改变,并且因此信号由于外部操纵而被加速,或者
-接收机管理器19确定计数器高于第二阈值t1,并且在当前系统时钟周期期间通过信号传输线发送的随机信号值不同于在前一系统时钟周期期间通过信号传输线发送的随机信号值,这意味着信号值在设计阶段期间计算出的传输的最大延迟之后改变,因此指示信号值在正确传输之后被减慢或扰动,或者
-接收机管理器19确定通过信号传输线发送的随机信号值在一个系统时钟周期期间改变多于两次,这意味着发送的信号值在传输期间多次改变,并且数字电路1受到了外部操纵。
根据一些实施例,接收机管理器19可以发出安全警报,以便触发一个或多个安全动作的执行,这些安全动作能够保护数字电路免受检测到的(多个)扰动攻击。安全动作可以包括被动动作(例如,什么也不做)或主动动作(校正动作),例如,(永久或临时地)停止数字电路1的运行、重启或重新启动数字电路1所属的集成电路设备的一个或多个部分、删除或重新生成秘密值(例如,加密密钥)。安全动作可以取决于检测到的扰动攻击的定位和/或针对数字电路1的特定部分/定位采用的安全策略/政策。
根据一些实施例,在检测到一个或多个扰动攻击时发出的安全警报可以显示在作为数字电路1或集成电路设备的一部分的面板上、输出到与数字电路1连接的外部设备或系统、或被存储用于将来由诊断工具或系统监视者/管理者/监督者取回。
图2示出了说明根据一些实施例的检测EM注入攻击的时间图,其中接收机管理器19使用的内部时钟周期的频率是系统时钟的频率的6倍。标有“系统时钟”的第一图表示系统时钟的上升沿,其考虑了四个系统时钟周期。标有“内部时钟”的第二图表示内部时钟的上升沿。标有“存储的值”的图指定由随机数生成器在系统时钟的每个上升沿处生成的信号值,并且该信号值被发送到发射机管理器17和接收机管理器19,并由接收机管理器19在系统时钟的上升沿期间存储。然后,标有“延迟间隔”的图指代用于由随机数生成器在系统时钟的每个上升沿处生成的信号值的传输所要求的时序间隔I=[t0,t1]。标有“计数器”的图指示由接收机管理器在系统时钟的每个上升沿处初始化的计数器的值,并且该值在内部时钟的每个上升沿处递增。标有“发送的值”的图指定由发射机管理器17通过信号传输线发送的信号值,并且标有“警报”的图指示取决于在接收机管理器19处执行的比较而由接收机管理器19发出警报的条件。
如图2中示出的,在该配置中,在值的传输期间发出了四个警报:
-在由接收机管理器19在时序间隔I=[t0=2,t1=4]期间接收到的发送的值(等于“F”)不同于存储的值(等于“A”)时,发出第一警报;
-在计数器的值(等于“1”)低于第一阈值(等于t0=2)并且在当前系统时钟周期处发送的信号值(等于“B”)不同于在前一系统时钟周期处发送的信号值(等于“F”)时,发出第二警报。这意味着发送的信号值是正确的,但是由于外部扰动而被加速;
-当发送的信号值改变(等于“C”)时,在计数器的值(等于“5”)高于第二阈值(等于t1=4)时,发出第三警报。这指示发送的信号值是正确的,但是由于外部扰动而被延迟。
-在当前对应的系统时钟周期(从t=19开始到t=25)处,在发送的值在系统时钟周期期间改变多于两次(先取等于“C”的值,然后取等于“D”的值,并且然后取等于“B”的值)时,发出第四警报。
在一个实施例中,接收机管理器19可以被配置为使用水平布线的至少一条信号传输线和垂直布线的至少一条信号传输线来确定一个或多个检测到的扰动攻击的定位。由于故障注入将干扰水平布线的信号传输线中的至少一条以及垂直布线的信号传输线中的至少一条,因此信号传输线的水平和垂直布线有利地实现对任何扰动攻击的准确定位。
本发明的实施例有利地实现对EM故障注入攻击的实时检测,并且可以适用于对任何扰动攻击(例如,功率毛刺、系统时钟篡改、激光或光注入攻击)的检测和定位。
在与本发明应用于安全加密系统相关的一些实施例中,数字电路1可以是至少包括子电路的加密数字电路,该子电路被配置为执行在包括数据和/或信号加密和/或解密、消息认证和数字签名的组中被选择的硬件和/或软件加密机制,以确保数据和/或信号安全、认证和/或隐私。
数据和/或信号加密和/或解密可以实现纠错码(例如,汉明码、BCH码)、哈希函数和基于秘密密钥的加密算法(其使用对称或者非对称加密密钥)中的一个或多个。
基于秘密密钥的加密算法可以是在包括DES(数据加密标准)、3DES、AES(高级加密标准)和RC4(Rivest Cipher 4)的组中被选择的对称加密算法。
可替代地,基于秘密密钥的加密算法可以是在包括RSA(Rivest-Shamir-Adleman)和ECDSA(Elliptic Curve Digital Signature Algorithm)的组中被选择的非对称加密算法。
在一些实施例中,可以基于性能、存储器和由应用和/或用户所要求的安全级别之间的权衡来选择加密和解密算法。
加密密钥可以取决于一个或多个秘密参数(例如,密码或外部秘密值),其例如在集成电路设备与连接到系统100的一个或多个外部设备或机器或用户之间共享,其目的是共享加密密钥。
在一个实施例中,加密密钥可以存储在集成电路设备内、在集成电路设备内共享、和/或与外部设备共享、和/或与其他系统(例如,用户系统)共享。
(多个)加密密钥可以在集成电路设备的重启和/或关闭时被销毁,并且在集成电路设备的初始化时被初始化(以确定性或随机方式)。
参考图3,还示出了用于检测和定位对数字电路1执行的扰动攻击的方法。
在步骤31中,数字电路1可以被划分为第一金属层和第二金属层,使得第一金属层包括水平布线的多条信号传输线,并且第二金属层包括垂直布线的多条信号传输线。每条传输线将发射机缓冲器连接到接收机缓冲器。信号传输线的水平和垂直布线实现对针对数字电路1执行的扰动攻击的定位。
根据该方法对扰动攻击的检测利用了对通过第一金属层和第二金属层的信号传输线发送和接收随机信号值所要求的传输时间的实时测量。
在步骤33中,可以使用随机数生成器生成随机信号值。更具体地,可以在系统时钟的每个上升沿处生成/更新随机信号值。
在步骤35中,生成的随机信号值可以通过第一金属层和第二金属层的信号传输线被发送,随机信号值由连接到发射机管理器的发射机缓冲器发送。
在步骤37中,发送的随机信号值可以由接收机缓冲器接收,并且可以测量与随机信号值的传输时间相对应的传输时间。传输时间测量由发射机缓冲器发送并且由接收机缓冲器接收发送的随机信号值所要求的时间。传输时间可以使用系统时钟周期进行评估。
在步骤39中,可以通过将测量出的传输时间与预定义的时序间隔I进行比较来检测和定位一个或多个扰动攻击。
根据一些实施例,可以通过在数字电路1的设计阶段期间执行的针对一个或多个扰动攻击的一组仿真来先前确定预定义的时序间隔I。该组仿真可以被执行以针对一个或多个工艺角中的每一个来确定与通过数字电路1的信号传输线承载信号所要求的时钟周期的数量相对应的时序间隔。
根据一些实施例,时序间隔可以取决于包括温度、电压、信号传输线的长度以及为数字电路1充电的电源的负载的一个或多个参数。
预定义的时序间隔I=[t0,t1]可以由对应于最小时序值的第一阈值(由t0表示)和对应于最大时序值的第二阈值t1表示。使用在设计阶段期间执行的仿真来确定时序间隔,第一阈值和第二阈值可以是针对一个或多个工艺角被先前确定的。
在数字电路1的设计阶段期间执行的测量可以存储在数字电路1的存储装置中,以供在正常条件下在数字设备1运行期间使用,以便检测是否对数字电路1执行了扰动攻击。更具体地,在步骤39处检测扰动攻击可以包括将测量出的并且与生成的随机信号值通过第一金属层和第二金属层的不同的信号传输线的传输相对应的传输时间与预定义的时序间隔I的第一阈值t0和第二阈值t1进行比较。如果测量出的传输时间低于第一阈值t0或如果测量出的传输时间高于第二阈值t1,则检测到扰动攻击。
根据一些实施例,在每个系统时钟周期处生成/更新的随机信号值可以存储在连接到接收机缓冲器的接收机管理器中包括的存储装置处。计数器可以由接收机管理器在系统时钟的每个上升沿处初始化。
存储的随机信号值可以用于与发送的随机信号值进行比较,以确定接收到的信号是否与生成的信号相对应,并检测随机信号的任何延迟或提前的到达/接收。这种比较可以有利地揭露数字电路1经历了外部操纵/攻击。
根据一些实施例,其中发送随机信号值所要求的传输时间小于或等于一个系统时钟周期,可以在步骤39处使用频率比系统时钟的频率更高的内部时钟,以便定义由第一阈值t0和第二阈值t1表示的时序间隔I=[t0,t1],并且在这种实施例中,该时序间隔对应于通过信号传输线发送随机信号值所需要的内部时钟周期的数量。
在这样的实施例中,步骤37还可以包括在内部时钟的每个上升沿处执行以下步骤中的一个或多个:
-递增计数器;
-将计数器与第一阈值t0和第二阈值t1进行比较;
-读取通过信号传输线发送的并且在步骤37处接收到的随机信号值;
-将接收到的随机信号值与在当前系统时钟周期的上升沿处更新的存储的随机信号值进行比较;以及
-将在当前系统时钟周期期间已经通过信号传输线发送的接收到的随机信号值与在前一系统时钟周期期间通过信号传输线发送的随机信号值进行比较。
取决于比较结果,在步骤39中,可以在以下情况下检测到一个或多个扰动攻击:
-在步骤37中确定计数器等于第二阈值t1,并且通过信号传输线发送的随机信号值不同于在系统时钟的上升沿期间存储的更新后的随机信号值,这意味着信号在传输期间被破坏,或者
-在步骤37中确定计数器低于第一阈值t0,并且在当前系统时钟周期期间通过信号传输线发送的随机信号值不同于在前一系统时钟周期期间通过信号传输线发送的随机信号值,这意味着信号值在设计阶段期间计算出的传输的最小延迟之前改变,并且因此信号由于外部操纵而被加速,或者
-在步骤37中确定计数器高于第二阈值t1,并且在当前系统时钟周期期间通过信号传输线发送的随机信号值不同于在前一系统时钟周期期间通过信号传输线发送的随机信号值,这意味着信号值在设计阶段期间计算出的传输的最大延迟之后改变,因此指示信号值在正确传输之后被减慢或扰动,或者
-在步骤37中确定通过信号传输线发送的随机信号值在一个系统时钟周期期间改变多于两次,这意味着发送的信号值在传输期间多次改变,并且数字电路1受到了外部操纵。
步骤39还可以包括当检测到一个或多个扰动攻击时发出安全警报。可以发出安全警报以便执行一个或多个安全动作,这些安全动作能够保护数字电路免受检测到的(多个)扰动攻击。例如,安全动作可以包括被动动作(例如,什么也不做)或主动动作(校正动作),例如,(永久或临时地)停止数字电路1的运行、重启或重新启动数字电路1所属的集成电路设备的一个或多个部分、删除或重新生成秘密值(例如,加密密钥)。安全动作可以取决于检测到的扰动攻击的定位和/或针对数字电路1的特定部分/定位采用的安全策略/政策。
此外,对检测到的一个或多个扰动攻击的定位可以在步骤39中使用在第一金属层内水平布线的至少一条信号传输线和在第二金属层内垂直布线的至少一条信号传输线执行。
用于检测和定位扰动攻击的方法有利地实现对故障注入攻击(例如,功率毛刺、系统时钟篡改攻击、激光/光注入攻击和EM注入攻击)的实时检测和精确定位。
本文所描述的方法可以通过供应给任何类型的计算机的处理器的计算机程序指令来实现,以产生具有执行指令以实现本文指定的功能/行为的处理器的机器。这些计算机程序指令也可以存储在计算机可读介质中,该计算机可读介质可以指导计算机以特定方式运行。为此,计算机程序指令可被加载到计算机上,以引起一系列操作步骤的执行,由此产生一个计算机实现的过程,从而使执行的指令提供用于实现本文指定的功能的过程。
虽然已经通过对各种实施例的描述说明了本发明的实施例,并且虽然已经相当详细地描述了这些实施例,但申请人的意图并不是限制或以任何方式将所附权利要求书的范围局限在这些实施例中。这些实施例中的一些可以在适当的时候进行有利的组合。本领域的技术人员将很容易看到附加的优点和修改。因此,本发明在其更宽泛的方面并不限于所示和所描述的具体细节、代表性方法和说明性示例。
Claims (15)
1.一种用于检测对数字电路(1)执行的扰动攻击的设备,其中,所述设备包括:
-被布置在所述数字电路(1)上的第一金属层(11)和第二金属层(13),所述第一金属层(11)包括水平布线的多条信号传输线,所述第二金属层(13)包括垂直布线的多条信号传输线,所述设备包括一个或多个发射机缓冲器和一个或多个接收机缓冲器,发射机缓冲器和接收机缓冲器通过每条信号传输线连接;
-随机数生成器(15),其被配置为生成随机信号值;
所述设备进一步包括连接到一个或多个发射机缓冲器的发射机管理器(17)以及连接到一个或多个接收机缓冲器的接收机管理器(19),其中:
-所述发射机管理器(17)被配置为通过所述第一金属层(11)和所述第二金属层(13)的所述信号传输线发送由所述随机数生成器(15)生成的随机信号值,所述随机信号值从连接到所述发射机管理器(17)的所述一个或多个发射机缓冲器被发送到连接到所述接收机管理器(19)的所述一个或多个接收机缓冲器;并且
-所述接收机管理器(19)被配置为进行以下操作:通过连接到所述接收机管理器(19)的所述一个或多个接收机缓冲器从所述发射机管理器(17)接收随机信号值;测量与所接收到的随机信号值的传输时间相对应的传输时间;以及将所述传输时间与预定义的时序间隔进行比较以检测扰动攻击。
2.根据权利要求1所述的设备,其中,所述设备被进一步配置为根据所述传输时间与所述预定义的时序间隔之间的所述比较来定位检测到的扰动攻击。
3.根据前述权利要求中任一项所述的设备,其中,所述预定义的时序间隔与通过每条信号传输线发送所述随机信号值所需要的系统时钟周期的数量相关。
4.根据权利要求3所述的设备,所述预定义的时序间隔由与最小时序值相对应的第一阈值以及与最大时序值相对应的第二阈值表示,所述第一阈值和所述第二阈值是取决于在由以下各项构成的组中的一个或多个参数被确定的:温度、电压、所述第一金属层(1)和所述第二金属层(13)中包括的所述信号传输线的长度以及对所述数字电路(1)充电的电源的负载。
5.根据权利要求4所述的设备,其中,所述接收机管理器(9)被配置为将所述传输时间与所述第一阈值和所述第二阈值进行比较,如果测量出的传输时间低于所述第一阈值或者如果测量出的传输时间高于所述第二阈值,则所述接收机管理器(19)检测到扰动攻击。
6.根据前述权利要求中任一项所述的设备,其中,所述随机数生成器(15)被配置为在系统时钟的每个上升沿处更新所述随机信号值,所述发射机管理器(17)被配置为在所述系统时钟的每个上升沿处发送更新后的随机信号值。
7.根据权利要求5和6所述的设备,其中,所述接收机管理器(19)使用频率比所述系统时钟的频率更高的内部时钟,由第一阈值和第二阈值表示的时序间隔是由通过所述信号传输线发送所述随机信号值所需要的内部时钟周期的数量定义的。
8.根据权利要求6和7所述的设备,其中,所述接收机管理器(19)被配置为进行以下操作:
-在所述系统时钟的每个上升沿期间接收并存储所述更新后的随机信号值,并且在所述系统时钟的每个上升沿处初始化计数器;
-在所述内部时钟的每个上升沿处递增所述计数器;
-在所述内部时钟的每个时钟周期处将所述计数器与所述第一阈值和所述第二阈值进行比较;
-在所述内部时钟的每个上升沿处读取通过所述信号传输线被发送的随机信号值;
-在所述内部时钟的每个上升沿处将通过信号传输线被发送的随机信号值与存储的更新后的随机信号值进行比较;以及
-在所述内部时钟的每个上升沿处将在当前系统时钟周期期间通过所述信号传输线被发送的随机信号值与在前一系统时钟周期期间通过所述信号传输线被发送的随机信号值进行比较。
9.根据权利要求7和8所述的设备,其中,所述接收机管理器(19)被配置为在以下情况下发出警报:
-所述计数器等于所述第二阈值,并且通过所述信号传输线被发送的随机信号值不同于在所述系统时钟的上升沿期间存储的所述更新后的随机信号值;或者
-所述计数器低于所述第一阈值,并且在当前系统时钟周期期间通过所述信号传输线被发送的随机信号值不同于在前一系统时钟周期期间通过所述信号传输线被发送的随机信号值;或者
-所述计数器高于所述第二阈值,并且在当前系统时钟周期期间通过所述信号传输线被发送的随机信号值不同于在前一系统时钟周期期间通过所述信号传输线被发送的随机信号值;或者
-通过所述信号传输线被发送的所述随机信号值在一个系统时钟周期期间改变多于两次。
10.根据前述权利要求中任一项所述的设备,其中,所述接收机管理器(19)被配置为使用水平布线的至少一条信号传输线和垂直布线的至少一条信号传输线来确定一个或多个检测到的扰动攻击的定位。
11.根据权利要求1所述的设备,其中,所述扰动攻击是功率毛刺、系统时钟篡改、激光或光注入攻击或者电磁注入攻击中的一个。
12.根据前述权利要求中任一项所述的设备,其中,所述数字电路(1)是至少包括被配置为执行一个或多个加密操作的子电路的加密数字电路,所述一个或多个加密操作是在包括数据和/或信号加密和/或解密、消息认证和数字签名的组中被选择的。
13.根据权利要求12所述的设备,其中,数据和/或信号加密和/或解密实现纠错码、哈希函数和基于秘密密钥的加密算法中的一个或多个。
14.根据权利要求13所述的设备,其中,基于秘密密钥的加密算法是在包括DES(数据加密标准)、3DES、AES(高级加密标准)和RC4(Rivest Cipher 4)的组中被选择的对称加密算法,并且基于秘密密钥的加密算法是在包括RSA(Rivest-Shamir-Adleman)和ECDSA(Elliptic Curve Digital Signature Algorithm)的组中被选择的非对称加密算法。
15.一种用于检测对数字电路执行的扰动攻击的方法,其中,所述方法包括:
-在所述数字电路上布置第一金属层和第二金属层,所述第一金属层包括水平布线的多条信号传输线,所述第二金属层包括垂直布线的多条信号传输线,每条信号传输线将发射机缓冲器连接到接收机缓冲器;
-生成随机信号值;
-由发射机管理器通过所述第一金属层和所述第二金属层的所述信号传输线发送所述随机信号值,所述随机信号值从连接到所述发射机管理器的一个或多个发射机缓冲器被发送到连接到接收机管理器的一个或多个接收机缓冲器;
-由所述接收机管理器接收所述随机信号值;
-测量与所接收到的随机信号值的传输时间相对应的传输时间;以及
-将所述传输时间与预定义的时序间隔进行比较以检测扰动攻击。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP18306753.7A EP3672140B1 (en) | 2018-12-20 | 2018-12-20 | Devices and methods for the detection and localization of fault injection attacks |
EP18306753.7 | 2018-12-20 | ||
PCT/EP2019/086519 WO2020127869A1 (en) | 2018-12-20 | 2019-12-20 | Devices and methods for the detection and localization of fault injection attacks |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113597747A true CN113597747A (zh) | 2021-11-02 |
CN113597747B CN113597747B (zh) | 2024-05-14 |
Family
ID=65861181
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980084201.5A Active CN113597747B (zh) | 2018-12-20 | 2019-12-20 | 用于故障注入攻击的检测和定位的设备和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11930098B2 (zh) |
EP (1) | EP3672140B1 (zh) |
CN (1) | CN113597747B (zh) |
WO (1) | WO2020127869A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116975896A (zh) * | 2023-09-21 | 2023-10-31 | 深圳市英洛迪科技有限公司 | 一种用于硬盘数据加密的安全存储系统 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3995977A1 (en) * | 2020-11-10 | 2022-05-11 | Thales DIS France SA | Method for detecting an attack on a sensitive unit of an electronic system |
CN112118572B (zh) * | 2020-11-23 | 2021-02-05 | 北京中超伟业信息安全技术股份有限公司 | 工业网络场景下基于5g通信的数据安全传输系统及方法 |
US11892870B2 (en) * | 2022-07-11 | 2024-02-06 | Dell Products L.P. | Detection and mitigation of electromagnetic signal attacks |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101998400A (zh) * | 2009-08-12 | 2011-03-30 | 中国移动通信集团天津有限公司 | 一种鉴权随机数检测方法及sim卡 |
US8392709B1 (en) * | 2009-04-28 | 2013-03-05 | Adobe Systems Incorporated | System and method for a single request—single response protocol with mutual replay attack protection |
CN103645421A (zh) * | 2013-12-13 | 2014-03-19 | 桂林电子科技大学 | 高速互连通路串扰故障测试方法 |
CN107577963A (zh) * | 2017-08-11 | 2018-01-12 | 天津大学 | 用于芯片顶层金属屏蔽层的检测装置 |
CN107991572A (zh) * | 2017-10-24 | 2018-05-04 | 大唐微电子技术有限公司 | 一种芯片顶层覆盖完整性保护方法及装置 |
CN108521325A (zh) * | 2018-03-27 | 2018-09-11 | 林喆昊 | 一种适用于系统数据全生命周期的防侧信道攻击算法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7502815B1 (en) * | 2004-02-20 | 2009-03-10 | Xilinx, Inc. | True random number generator and method of generating true random numbers |
US8473888B2 (en) * | 2011-03-14 | 2013-06-25 | Taiwan Semiconductor Manufacturing Company, Ltd. | Systems and methods of designing integrated circuits |
EP3385735B1 (en) * | 2017-04-04 | 2019-12-04 | Secure-IC SAS | Device and method for detecting points of failures |
EP3685555A4 (en) * | 2017-09-18 | 2021-06-23 | INTEL Corporation | TIME-CODED DATA COMMUNICATION PROTOCOL, APPARATUS AND METHOD FOR GENERATING AND RECEIVING A DATA SIGNAL |
US11082202B2 (en) * | 2018-06-01 | 2021-08-03 | Arm Limited | Fault injection attack detection in integrated circuits |
US10733291B1 (en) * | 2018-06-11 | 2020-08-04 | Square, Inc. | Bi-directional communication protocol based device security |
US11468314B1 (en) * | 2018-09-12 | 2022-10-11 | Adobe Inc. | Systems and methods of training neural networks against adversarial attacks |
-
2018
- 2018-12-20 EP EP18306753.7A patent/EP3672140B1/en active Active
-
2019
- 2019-12-20 US US17/311,670 patent/US11930098B2/en active Active
- 2019-12-20 CN CN201980084201.5A patent/CN113597747B/zh active Active
- 2019-12-20 WO PCT/EP2019/086519 patent/WO2020127869A1/en active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8392709B1 (en) * | 2009-04-28 | 2013-03-05 | Adobe Systems Incorporated | System and method for a single request—single response protocol with mutual replay attack protection |
CN101998400A (zh) * | 2009-08-12 | 2011-03-30 | 中国移动通信集团天津有限公司 | 一种鉴权随机数检测方法及sim卡 |
CN103645421A (zh) * | 2013-12-13 | 2014-03-19 | 桂林电子科技大学 | 高速互连通路串扰故障测试方法 |
CN107577963A (zh) * | 2017-08-11 | 2018-01-12 | 天津大学 | 用于芯片顶层金属屏蔽层的检测装置 |
CN107991572A (zh) * | 2017-10-24 | 2018-05-04 | 大唐微电子技术有限公司 | 一种芯片顶层覆盖完整性保护方法及装置 |
CN108521325A (zh) * | 2018-03-27 | 2018-09-11 | 林喆昊 | 一种适用于系统数据全生命周期的防侧信道攻击算法 |
Non-Patent Citations (2)
Title |
---|
C.A. RYAN: "Bridging fault simulation using Iddq, logic, and delay testing", 《CONFERENCE RECORD AUTOTESTCON \'95. \'SYSTEMS READINESS: TEST TECHNOLOGY FOR THE 21ST CENTURY\'》, pages 176 - 180 * |
黄美根;郁滨;孔志印;: "ZigBee网络Sybil攻击检测方案设计", 系统仿真学报, no. 06 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116975896A (zh) * | 2023-09-21 | 2023-10-31 | 深圳市英洛迪科技有限公司 | 一种用于硬盘数据加密的安全存储系统 |
CN116975896B (zh) * | 2023-09-21 | 2023-11-24 | 深圳市英洛迪科技有限公司 | 一种用于硬盘数据加密的安全存储系统 |
Also Published As
Publication number | Publication date |
---|---|
EP3672140A1 (en) | 2020-06-24 |
EP3672140B1 (en) | 2021-08-18 |
US11930098B2 (en) | 2024-03-12 |
CN113597747B (zh) | 2024-05-14 |
WO2020127869A1 (en) | 2020-06-25 |
US20220029780A1 (en) | 2022-01-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113597747B (zh) | 用于故障注入攻击的检测和定位的设备和方法 | |
US10733291B1 (en) | Bi-directional communication protocol based device security | |
US11962701B2 (en) | Verifying identity of a vehicle entering a trust zone | |
Rostami et al. | A primer on hardware security: Models, methods, and metrics | |
Bar-El et al. | The sorcerer's apprentice guide to fault attacks | |
Breier et al. | SNIFF: reverse engineering of neural networks with fault attacks | |
KR20210132216A (ko) | 동작 동안 긴급 차량의 아이덴티티 검증 | |
EP3949257A1 (en) | Generating an identity for a computing device using a physical unclonable function | |
CN111869158A (zh) | 定量数字传感器 | |
EP3503466B1 (en) | Countermeasures to frequency alteration attacks on ring oscillator based physical unclonable functions | |
KR20210131438A (ko) | 비밀 키를 이용한 아이덴티티 검증 | |
Regazzoni et al. | Security: The dark side of approximate computing? | |
US11580231B2 (en) | Methods and devices for secure secret key generation | |
US10642947B2 (en) | System, method and computer-accessible medium providing secure integrated circuit camouflaging for minterm protection | |
US10025954B2 (en) | Method for operating a control unit | |
US8955160B2 (en) | Method for detecting abnormalities in a cryptographic circuit protected by differential logic, and circuit for implementing said method | |
US9832027B2 (en) | Tamper detection systems and methods for industrial and metering devices not requiring a battery | |
Guilley et al. | SoC security: a war against side-channels | |
Higgins et al. | Enhanced cyber‐physical security using attack‐resistant cyber nodes and event‐triggered moving target defence | |
Moein et al. | Hardware attack mitigation techniques analysis | |
Kaur et al. | Stratification of hardware attacks: Side channel attacks and fault injection techniques | |
Kaur et al. | Analytical Classifications of Side Channel Attacks, Glitch Attacks and Fault Injection Techniques: Their Countermeasures | |
Buttyán | Tamper resistant devices | |
Yu et al. | Towards Securing Approximate Computing Systems: Security Threats and Attack Mitigation | |
Moein et al. | International Journal on Cryptography and Information Security (IJCIS) |
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 |