CN112152776A - 抵抗针对加密操作的硬件侧信道攻击的对策 - Google Patents
抵抗针对加密操作的硬件侧信道攻击的对策 Download PDFInfo
- Publication number
- CN112152776A CN112152776A CN202010211928.XA CN202010211928A CN112152776A CN 112152776 A CN112152776 A CN 112152776A CN 202010211928 A CN202010211928 A CN 202010211928A CN 112152776 A CN112152776 A CN 112152776A
- Authority
- CN
- China
- Prior art keywords
- current source
- cryptographic
- encryption
- core
- cores
- 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.)
- Pending
Links
- 230000009467 reduction Effects 0.000 claims description 51
- 230000015654 memory Effects 0.000 claims description 20
- 239000003990 capacitor Substances 0.000 claims description 14
- 229910044991 metal oxide Inorganic materials 0.000 claims description 10
- 150000004706 metal oxides Chemical class 0.000 claims description 10
- 239000004065 semiconductor Substances 0.000 claims description 10
- 238000005516 engineering process Methods 0.000 claims description 7
- 230000000977 initiatory effect Effects 0.000 claims description 6
- 238000000034 method Methods 0.000 description 37
- 230000008569 process Effects 0.000 description 21
- 238000004891 communication Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 6
- 230000002093 peripheral effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 230000005670 electromagnetic radiation Effects 0.000 description 4
- 229910052710 silicon Inorganic materials 0.000 description 4
- 239000010703 silicon Substances 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 239000002184 metal Substances 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000001105 regulatory effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 229910045601 alloy Inorganic materials 0.000 description 2
- 239000000956 alloy Substances 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 101100203322 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) SKS1 gene Proteins 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000003042 antagnostic effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000002238 attenuated effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000012937 correction 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
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 229920006395 saturated elastomer Polymers 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- 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/72—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 cryptographic circuits
-
- 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/003—Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
-
- 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/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
- G06F21/123—Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
-
- 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/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- 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/75—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 by inhibiting the analysis of circuitry or operation
- G06F21/755—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 by inhibiting the analysis of circuitry or operation with measures against power attack
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0852—Quantum cryptography
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3242—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Bioethics (AREA)
- Power Engineering (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Electromagnetism (AREA)
- Power Sources (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
本发明的实施例涉及抵抗针对加密操作的硬件侧信道攻击的对策。装置的实施例包括:多个加密核心;以及包括多个电流源块的电流源,所述电流源块包括与所述加密核心中的每一个相关联的相应电流源块,并且其中所述电流源块是可切换的,以便接通与所述多个加密核心中的每个活动核心相关联的电流源块并且关断与所述多个加密核心中的每个非活动核心相关联的电流源块。
Description
技术领域
本文描述的实施例整体涉及电子设备的领域,并且更具体地,涉及抵抗针对加密操作的硬件侧信道攻击的对策。
背景技术
加密在计算系统中实现以提供安全的数据存储和通信,包括抵抗侧信道攻击(SCA)的安全性。侧信道攻击是基于计算系统中的泄露信息的攻击,诸如以功耗、电磁辐射、或来自电路的其他信号观察结果的形式。
然而,利用加密的任何安全系统取决于加密中固有的安全性。随着量子计算越来越接近现实,这已成为更加紧迫的问题。量子计算可能能够突破以前被认为是高度安全的系统,因此面对量子计算机带来的新挑战,需要后量子加密(Post-Quantum Cryptography)解决方案来防止数据丢失。
同时,新安全解决方案不能对计算系统施加太大的负担以至于阻止有效运行。因此,用于防止侧信道攻击的技术需要是低负担的并且能够有效减少数据泄露。
发明内容
为解决上述问题,提出了一种装置,包括:多个加密核心;以及包括多个电流源块的电流源,所述多个电流源块包括与所述多个加密核心中的每一个相关联的相应电流源块;并且其中所述多个电流源块是可切换的,以便接通与所述多个加密核心中的每个活动核心相关联的电流源块并且关断与所述多个加密核心中的每个非活动核心相关联的电流源块。
还提出了一种系统,包括:一个或多个处理器;用于存储数据的存储器;包括多个加密核心的加密块;以及与所述加密块耦接的主动SNR(信噪比)减小电路,所述主动SNR减小电路包括:包括多个电流源块的电流源,所述多个电流源块包括与所述多个加密核心中的每一个相关联的相应电流源块;并且其中所述多个电流源块是可切换的,以便接通与所述多个加密核心中的每个活动核心相关联的电流源块并且关断与所述多个加密核心中的每个非活动核心相关联的电流源块。
还提出了一个或多个非暂时性计算机可读存储介质,其上存储有可执行计算机程序指令,所述可执行计算机程序指令在由一个或多个处理器执行时使得所述一个或多个处理器执行包括以下的操作:开始系统的操作,所述系统包括:包括多个加密核心的加密块;以及与所述加密块耦接的主动SNR(信噪比)减小电路;以及在确定要打开或关闭所述多个加密核心中的第一加密核心时,切换所述主动SNR减小电路的多个电流源块中的第一电流源块;如果要打开所述第一加密核心,则将接通所述第一电流源块;并且如果要关闭所述第一加密核心,则将关断所述第一电流源块。
附图说明
在附图的图示中以示例而非限制的方式示出了在此描述的实施例,在附图中相似的附图标记指代类似的元件。
图1A和图1B分别示出了基于一次哈希的签名方案和基于多次哈希的签名方案。
图2A和图2B分别示出了一次签名方案和多次签名方案。
图3示出了根据一些实施例的通过主动减小信噪比来提供抵抗侧信道攻击的保护的装置或系统;
图4示出了根据一些实施例的为加密核心提供侧信道攻击保护的电路;
图5是示出根据一些实施例的在具有多个加密核心的主动SNR减小装置或系统中的执行流程的流程图;
图6A示出了实施例中的将加密核心电流与电源电流进行比较的加密核心的时域波形;
图6B示出了实施例中的加密核心的测试矢量泄露评估(TVLA);以及
图7示出了根据一些示例的计算架构的示意图,该计算架构可以适于使用关于激活路径差异的信息来实现神经网络的对抗训练。
具体实施方式
本文描述的实施例涉及抵抗针对加密操作的硬件侧信道攻击的对策。
利用量子计算的硬件侧信道攻击(如DPA(差分功率分析))有可能在一分钟内破坏数学上安全的加密操作,诸如AES-256(针对256位的高级加密标准)。对于使用加密硬件作为构建块的产品,这构成了严重的威胁,这些产品包括AES-NI(高级加密标准指令)、SHA-NI(安全哈希算法)、OCS/CSE、SDM(安全设备管理器)、DFX、MEE(存储器加密引擎)和MKTME(多密钥总存储器加密)。这些加密实施方式负责在关键平台特征(如安全启动、SGX(软件保护扩展)、TDX(受信任的域扩展)、安全调试等)中提供机密性、完整性和真实性。
传统的DPA保护技术是特定于算法的(即,不是通用的),并且至少需要2倍的硅面积和功率开销才能实现。另外,此类技术遭受性能下降(吞吐量减小),并且对于计算机产品中存在的不同加密模块不可扩展。
因此,所需要的是抵抗利用功率、电磁辐射和其他相关观察结果方法的差分侧信道攻击(SCA)的低开销、通用(即,不是特定于特定算法的)和可扩展的对策。
在一些实施例中,装置、系统或过程提供通用、可扩展的差分SCA对策,其可以与现有加密学核心(加密核心)集成在一起而无需RTL(电阻传输级别)的任何改变。在一些实施例中,与不包括SCA保护的加密核心相比,该技术需要可忽略的硅面积(<5%)开销。另外,与常规SCA保护技术相比,该技术所需的功率开销降低了50%。
在一些实施例中,一种装置、系统或过程提供了抵抗针对加密操作的硬件侧信道攻击的低开销对策,该对策提供了适用于不同算法的通用解决方案。在一些实施例中,对策包括主动SNR(信噪比)减小硬件以保护免受侧信道攻击,所述侧信道攻击利用对功耗、电磁辐射、或来自电路的其他信号观察结果的检测。在一些实施例中,该装置、系统或过程包括用于多个加密核心中的每一个的可切换电流源。在一些实施例中,该装置、系统或过程还包括使用电容性元件来支持电流水平,以及使用旁路路径以排出过量电流并维持加密核心上的参考电压。
后量子加密
后量子加密(也称为“防量子”、“量子安全”、“抗量子”或简称为“PQC”)采用了未来和现实的加密方法。它使负责加密的人员以及最终用户知道加密已过时;相反,它需要发展以能够成功地将不断发展的计算设备应用于量子计算和后量子计算。
众所周知的是,加密允许保护在个人和实体之间在线传送并使用各种网络存储的数据。这种数据传送的范围可以包括发送和接收电子邮件、在线购买商品或服务、使用网站来访问银行业务或其他个人信息等。
当处理量子计算时,常规加密及其对于困难数学场景的典型因子分解和计算可能无关紧要。这些数学问题(诸如离散对数、整数因子分解和椭圆曲线离散对数等)不能够承受来自强大量子计算机的攻击。Shor,P.W.“Algorithms for quantum computation:discrete logarithms and factoring”.Proceedings 35th Annual Symposium onFoundations of Computer Science.IEEE Comput.Soc.Press.doi:10.1109/sfcs.1994.365700.ISBN 0818665807。尽管任何后量子加密都可以建立在当前加密上,但这种新颖方法将需要是足够智能、快速和精确的以抵抗和击败由量子计算机进行的任何攻击。
当今的PQC主要集中在以下方法上:1)基于1979年的Merkle的哈希树公钥签名系统的基于哈希的加密,其建立在Lamport和Diffie的单消息签名思想上;2)基于代码的加密,诸如McEliece的隐藏Goppa代码公钥加密系统;3)基于1998年的Hoffstein-Pipher-Silverman公钥加密系统的基于网格的加密;4)基于1996年的Patarin的隐藏字段方程(HFE)公钥签名系统的多变量二次方程式加密,其进一步基于Matumoto-Imai提议;5)依靠超奇异椭圆曲线和超奇异等值图的超奇异椭圆曲线等值加密;以及6)对称密钥量子电阻,诸如HBS。
图1A和图1B分别示出了基于一次哈希的签名方案和基于多次哈希的签名方案。如上所述,基于哈希的加密是基于诸如Lamport签名、Merkle签名、扩展Merkle签名方案(XMSS)、SPHINCS方案、SPHINCS+方案等的加密系统的。随着量子计算的出现以及对其发展的期望,人们开始担心量子计算可能带来的各种挑战,以及如何使用加密领域来应对这些挑战。
正在探索以应对量子计算挑战的一个领域是基于哈希的签名(HBS),因为这些方案已经存在了很长一段时间并且具有必要的基本要素,诸如依靠对称加密构建块(例如,哈希函数)来应对量子计数和后量子计算的挑战。HBS方案被认为是与快速平台安全启动(其被认为是对量子攻击的最大抵抗)一起使用的快速签名算法。
例如,如图1A所示,示出了HBS的方案,该方案使用Merkle树以及一次签名(OTS)方案100,诸如使用私钥对消息进行签名以及使用对应公钥来验证OTS消息,其中私钥仅对单个消息进行签名。
类似地,如图1B所示,示出了另一种HBS方案,其中该方案涉及多次签名(MTS)方案150,其中私钥可以对多个消息进行签名。
图2A和图2B分别示出了一次签名方案和多次签名方案。继续图1A的基于HBS的OTS方案100和图1B的MTS方案150,图2A示出了由斯坦福大学数学系的Robert Winternitz提供的Winternitz OTS(WOTS)方案200,而图2B示出了XMSS MTS方案250。
例如,图2A的WOTS方案200提供了将消息哈希化和解析成M,其中[0,1,2,…,15]之间有67个整数,诸如私钥sk,205,签名s,210和公钥pk,215,其中每者具有各自为32个字节的67个分量。
现在,例如,图2B示出了XMSS MTS方案250,其允许图2A的WOTS方案200与具有XMSSMerkle树270的XMSS方案255的组合。如先前相对于图2A所讨论的,WOTS方案200基于一次公钥pk,215,该公钥具有各自为32个字节的67个分量,然后使其经历L-Tree压缩算法260以提供WOTS压缩的pk 267,以便放在XMSS方案255的XMSS Merkle树270中。可以预期,XMSS签名验证可以包括计算WOTS验证以及检查以确定重构根节点是否与XMSS公钥匹配,诸如根节点=XMSS公钥。
抵抗硬件侧信道攻击的对策
图3示出了根据一些实施例的通过主动减小信噪比来提供抵抗侧信道攻击的保护的装置或系统。图3描绘了包括可配置的主动SNR(信噪比)减小电路320以提供低开销的SCA对策的装置或系统300的高级视图,该对策提供了适用于各种算法的通用解决方案。在一些实施例中,装置或系统提供对来自多个加密核心的可检测信号的主动减小,其中电路响应于每个这样的加密核心的活动。
如图3所示,装置或系统300包括多个加密核心310,加密核心310被示为加密核心1(Crypto Core-1)、加密核心2并一直延续到加密核心n。在一些实施例中,主动SNR减小电路包括集成在加密核心310的电源引脚(VCC)和接地引脚(GND)之间的硬件部件,这些部件包括电流源330、电容器(或多个电容器)340和旁路路径350。电流源330可以包括与每个加密核心310相关联的相应电流源块,诸如与加密核心1相关联的电流源块1(Current SourceBlock-1)(电流SB-1)、与加密核心2相关联的电流源块2并持续到与加密核心n相关联的电流源块n。
在一些实施例中,电流源330将以饱和模式操作,并其确保从VCC引脚观察到的电流的变化在很大程度上与加密核心310的加密执行无关。在集成到集成电路(IC)中的系统或装置300中,攻击者可能仅限于从与加密核心310隔离的IC外围访问电源引脚(VCC)。在一些实施例中,旁路路径350用于排出过量电流并且将加密核心310上的电压维持到期望参考电压,使得抑制了在VCC处可见的电流的任何变化。当电流源330提供固定电流时,电容器340将基于加密核心中的执行通过充电和放电操作来吸收(充电)和提供(放电)额外电流。
在一些实施例中,完整的装置或系统300可以例如以英特尔公司的10nm P1274.7技术来实现,以提供来自SHA-3加密引擎的350x的峰到峰电流信号抑制。在此示例中,这意味着硬件可以提供(350)2x保护以免于差分功率、电磁辐射和相关的侧信道攻击,因为用于破解密钥的迹线数量与(SNR)2成比例增加。
图4示出了根据一些实施例的为加密核心提供侧信道攻击保护的电路。图4描绘了主动SNR减小硬件的实施方式和电路图,该主动SNR减小硬件为多个不同的加密核心提供SCA保护。在一些实施例中,电路400在加密块410中包括多个加密核心,其中加密核心可包括但不限于ECC(纠错码)核心412、SHA-3核心414、SHA-2核心416和AES-128核心418。如图所示,电路400包括电源引脚(VCC)和接地(GND)。例如,电路可以隔离在IC中,从而减小对功率测量值或其他侧信道攻击目标的外部访问。
在一些实施例中,电路包括电流源430,诸如共源共栅电流镜电路。在一些实施例中,电流源包括与加密块410中的每个加密核心相关联的单独电流源块,其被示为与ECC核心412相关联的电流源块432、与SHA-3核心414相关联的电流源块434、与SHA-2核心416相关联的电流源块436、以及与AES-128核心418相关联的电流源块438。
在一些实施例中,通过针对每个电流源块实现包含特定数量的PMOS(P型金属氧化物半导体)切片(本文也称为电流源子电路或简称为子电路)的块,针对每个加密核心的电流要求调谐电流水平,所述电流源块被示为包括n1个PMOS切片的块的电流源块432、包括n2个PMOS切片的块的电流源块434、包括n3个PMOS切片的块的电流源块436、以及包括n4个PMOS切片的块的电流源块438。如以上针对图3中的电流源330所述,电流源430将在饱和下运行。为了使电流源430在饱和下运行,将偏压电压(VBIAS)提供给电流源块432-438中的每一个。另外,电路400包括跨加密核心410的电容器(CLOAD)440,其中当加密核心需要的电流大于由电流源430提供的平均电流时,电容器440将向加密块410提供额外电流。
还应当注意,电路400可以具有使得电压Vreg逐渐增加的量化效果。为了对此效果进行处理,电路400还包括旁路路径(例如,该旁路路径可以包括PMOS晶体管450,该PMOS晶体管被偏压为基准电压(Vref)减去晶体管设备的阈值电压(VTH)),从而提供负偏压并且有助于将电流源430保持在饱和状态。
电路400可基于加密核心的数量以及每个加密核心的负载电流量来扩展。处于Vreg的电源电流可以通过使用来自数字控制器或处理器460的数字控制信号来打开或关闭子电路的一个或多个块(n1,n2,n3,n4)而进行调节,无论何时打开或关闭加密核心412-418中的任何一个。在一些实施例中,可以通过以下方式来执行切换:切换Vreg与每个加密核心之间的相应开关(诸如与ECC核心412耦接的开关S1、与SHA-3核心414耦接的开关S2、与SHA-2核心416耦接的开关S3和与AES-128核心418耦接的开关S4),以及使用VBIAS与电流源之间的相应开关(诸如与电流源块432耦接的开关S1、与电流源块434耦接的开关S2、与电流源块436耦接的开关S3、以及与电流源块438耦接的开关S4)将VBIAS电压切断为相关电流。为了简化说明,未显示开关与数字控制器之间的控件。另外,应当注意,在VBIAS电压与每个电流源开关之间存在电连接(其在图4中未具体示出)。下面结合图5进一步描述数字控制的操作。
在一些实施例中,每当新加密指令到来时,数字控制器或处理器460接通相应开关以调节跨适当加密核心的节点电压。类似地,在执行结束后关断相应开关。下面描述的图5示出了基于加密核心的总电流消耗来处理不同负载电流的执行流程。取决于在给定时间操作的加密核心的数量,接通对应数量的电流源。例如,当AES-128块操作时,开关S4闭合,并且具有n4个PMOS切片的对应电流源块被选通(接通)。类似地,当AES-128和SHA-3引擎在相同或重叠的时间运行时,开关S4和S2闭合,由此调节电源电流并且从而使跨加密核心的电压保持在Vreg。每个加密核心的电流源的数量(n1,n2,n3,n4)取决于其针对相应核心的平均电流消耗,这是在设计时估算的。
电路400中的电流源提供几乎恒定的电流,使得高度抑制了加密操作期间的任何波动。电流源使用共源共栅电流镜来实现并且被适当偏压以提供高输出阻抗(约1-10KΩ)。在特定实施方式中,来自SoC外围的攻击者只能访问电源引脚,该电源引脚现在与加密核心的电源(Vreg)隔离。
在系统的稳态操作中,旁路路径被偏压为饱和状态(偏压电压=Vref-Vth的近阈值操作),这确保了加密核上的电压被调节。这也有助于使电流源在饱和状态下操作,从而提供高签名抑制和显著的SNR减小。旁路路径可以以多种不同的方式实现,包括基于PMOS晶体管450(如图4所示)、NMOS(N型金属氧化物半导体)晶体管、或Op-amp(运算放大器)的技术。
图5是示出根据一些实施例的在具有多个加密核心的主动SNR减小装置或系统中的执行流程的流程图。在一些实施例中,诸如图3和图4所示,将包含多个加密核心的整个加密核心块嵌入主动SNR减小电路505内或与其一起嵌入。在一些实施例中,电路被设计成为加密核心块的每个加密核心提供适当的平均电流。
在开始装置或系统的操作510时,每当新加密指令到达时,通过接通与加密引擎相关联的相应开关来激活多个加密引擎中的特定加密引擎(即,加密核心)。在一些实施例中,可以通过从控制器或处理器接收数字控制信号来激活开关。类似地,在执行结束之后关断与加密引擎相关联的相应开关。如图5所示,在打开或关闭任何加密引擎515时,接通或关断对应数量的电流源520,然后继续电路的稳态操作525。
图5示出了基于加密核心的总电流消耗来处理不同负载电流的执行流程。取决于在给定时间操作的加密核心的数量,接通对应数量的电流源。例如,当AES-128块418操作时,开关S4闭合(参考图4),并且具有n4个PMOS切片的对应电流源块438被选通(接通)。类似地,当AES-128引擎和SHA-3引擎一起操作时,开关S4和S2闭合,由此调节电源电流并且从而使跨加密核心的电压保持在Vreg。每个加密核心的电流源的数量(n1,n2,n3,n4)取决于其平均电流消耗,这是在电路的设计时估算的。
图6A示出了实施例中的将加密核心电流与电源电流进行比较的加密核心的时域波形;图6A具体示出了SHA-3硬件引擎(作为示例性加密核心)的波形,该SHA-3硬件引擎是主动SNR减小硬件(如图3和图4所示)的电流负载。
如图6A所示,在此示例中,电源电流处反映的变化高度衰减(从Δi=2.8mA减小到Δi=2.8μA或350x减小)。图6A提供了实施例的时域波形的快照,该实施例包括以Intel的10nm(p1274)技术设计的SHA-3引擎上的主动SNR减小硬件(诸如图3和图4所示)。
图6B示出了实施例中的加密核心的测试矢量泄露评估(TVLA)。图6B提供了实施例中的基线SHA3硬件和主动SNR减小硬件的TVLA的比较。从图6B中可以看出,基线SHA-3实施方式示出了大量信息泄露(对于200K迹线,t值为约2000),而在主动SNR减小电路的实施例中,在200K迹线处t值保持低于4.5的常用阈值(其为统计意义上的显著泄露)。
因此,如图6A和6B所示,与基线SHA-3实施方式相比,保护被显著增强(在此示例中为350x的因子),其中测量的功率开销为1.6x。另外,其余的SNR减小电路硬件的面积开销可以小于SHA-3硅面积的5%。在一些实施例中,可以使用MOM/MIM(金属-绝缘体-金属/金属-氧化物-金属)电容器在金属堆叠中实现100pF的负载电容以避免附加硅面积。
因此,包括主动SNR减小电路的SCA对策电路的实施例可以以非常低的功率和面积开销来实现,并且还具有通用性和灵活性以用于保护任何加密引擎免受功率和EM侧信道攻击。另外,SCA对策可以应用于现有的加密硬件实施方式而无需任何RTL(电阻传输级别)改变,并且也不会影响电路的加密操作性能。
图7示出了示例性计算架构的实施例,该示例性计算架构可以适合于实现如前所述的各种实施例。在各种实施例中,计算架构700可以包括电子设备或被实现为电子设备的一部分。在一些实施例中,计算架构700可以代表例如实现上述操作环境的一个或多个部件的计算机系统。在一些实施例中,计算架构700可以代表实现本文描述的一种或多种技术的深度神经网络(DNN)训练系统的一个或多个部分或部件。实施例不限于此上下文。
如本申请中使用的,术语“系统”和“部件”以及“模块”旨在表示计算机相关实体,其可以是硬件、硬件和软件的组合、软件、或正在执行的软件,它们的示例由示例性计算架构700提供。例如,部件可以是但不限于在处理器上运行的进程、处理器、硬盘驱动器或固态驱动器(SSD)、(光和/或磁存储介质的)多个存储驱动器、对象、可执行文件、执行线程、程序和/或计算机。作为说明,在服务器上运行的应用程序和服务器都可以是部件。一个或多个部件可以驻留在进程和/或执行线程中,并且部件可以位于一个计算机上和/或分布在两个或更多个计算机之间。另外,部件可以通过各种类型的通信介质彼此可通信地耦接以协调操作。协调可以涉及信息的单向或双向交换。例如,部件可以以在通信介质上传送的信号的形式传送信息。信息可以被实现为分配给各种信号线的信号。在此类分配中,每个消息是信号。然而,其他实施例可以替代地采用数据消息。此类数据消息可以跨各种连接发送。示例性连接包括并行接口、串行接口和总线接口。
计算架构700包括各种常见计算元件,诸如一个或多个处理器、多核处理器、协处理器、存储器单元、芯片组、控制器、外围设备、接口、振荡器、定时设备、视频卡、声卡、多媒体输入/输出(I/O)部件、电源等。然而,实施例不限于由计算架构700实现。
如图7所示,计算架构700包括一个或多个处理器702和一个或多个图形处理器708,并且可以是单处理器台式机系统、多处理器工作站系统、或具有大量处理器702或处理器核心707的服务器系统。在一个实施例中,系统700是集成在片上系统(SoC或SOC)集成电路内以用于移动、手持或嵌入式设备的处理平台。
系统700的实施例可以包括基于服务器的游戏平台、游戏控制台(包括游戏和媒体控制台、移动游戏控制台、手持游戏控制台、或在线游戏控制台)或集成在其内。在一些实施例中,系统700是移动电话、智能电话、平板计算设备、或移动互联网设备。数据处理系统700还可以包括以可穿戴设备(诸如智能手表可穿戴设备、智能眼镜设备、增强现实设备、或虚拟现实设备),与可穿戴设备耦接,或集成在可穿戴设备中。在一些实施例中,数据处理系统700是电视或机顶盒设备,其具有一个或多个处理器702以及由一个或多个图形处理器708生成的图形接口。
在一些实施例中,一个或多个处理器702各自包括一个或多个处理器核心707以处理指令,这些指令在被执行时执行针对系统和用户软件的操作。在一些实施例中,一个或多个处理器核心707中的每一个被配置为处理特定指令集709。在一些实施例中,指令集709可以促进复杂指令集计算(CISC)、精简指令集计算(RISC)、或经由超长指令字(VLIW)的计算。多个处理器核心707可以各自处理不同的指令集709,该指令集可以包括用于促进对其他指令集的仿真的指令。处理器核心707还可以包括其他处理设备,诸如数字信号处理器(DSP)。
在一些实施例中,处理器702包括高速缓存存储器704。取决于架构,处理器702可以具有单个内部高速缓存或多级别的内部高速缓存。在一些实施例中,高速缓存存储器在处理器702的各个部件之间共享。在一些实施例中,处理器702还使用外部高速缓存(例如,3级(L3)高速缓存或终极高速缓存(LLC))(未示出),其可以使用已知的高速缓存一致性技术在处理器核心707之间共享。寄存器文件706另外包括在处理器702中,该处理器可以包括用于存储不同类型的数据的不同类型的寄存器(例如,整数寄存器、浮点寄存器、状态寄存器和指令指针寄存器)。一些寄存器可以是通用寄存器,而其他寄存器可以特定于处理器702的设计。
在一些实施例中,一个或多个处理器702与一个或多个接口总线710耦接以便在处理器702与系统中的其他部件之间传输通信信号(诸如地址、数据或控制信号)。在一个实施例中,接口总线710可以是处理器总线,诸如直接媒体接口(DMI)总线的版本。然而,处理器总线不限于DMI总线,并且可以包括一个或多个外围部件互连总线(例如,PCI、PCIExpress)、存储器总线、或其他类型的接口总线。在一个实施例中,一个或多个处理器702包括集成存储器控制器716和平台控制器集线器730。存储器控制器716促进存储器设备与系统700的其他部件之间的通信,而平台控制器集线器(PCH)730经由本地I/O总线提供与I/O设备的连接。
存储器设备720可以是动态随机存取存储器(DRAM)设备、静态随机存取存储器(SRAM)设备、闪存存储器设备、相变存储器设备、或具有合适性能以用作过程存储器的某种其他存储器设备。在一个实施例中,存储器设备720可以作为系统700的系统存储器操作以存储数据722和指令721,从而用于在一个或多个处理器702执行应用程序或过程时使用。存储器控制器集线器716还与可选的外部图形处理器712耦接,该外部图形处理器可以与处理器702中的一个或多个图形处理器708通信以执行图形和媒体操作。在一些实施例中,显示设备711可以连接到一个或多个处理器702。显示设备711可以是内部显示设备(如在移动电子设备或膝上型计算机中)或经由显示接口(例如,DisplayPort等)附接的外部显示设备中的一个或多个。在一个实施例中,显示设备711可以是头戴式显示器(HMD),诸如用于虚拟现实(VR)应用或增强现实(AR)应用的立体显示设备。
在一些实施例中,平台控制器集线器730使得外围设备能够经由高速I/O总线连接到存储器设备720和处理器702。I/O外围设备包括但不限于音频控制器746、网络控制器734、固件接口728、无线收发器726、触摸传感器725、数据存储设备724(例如,硬盘驱动器、闪存存储器等)。数据存储设备724可以经由存储接口(例如,SATA)或经由外围总线(诸如外围部件互连总线(例如,PCI、PCI Express))来连接。触摸传感器725可以包括触摸屏传感器、压力传感器、或指纹传感器。无线收发器726可以是Wi-Fi收发器、蓝牙收发器、或移动网络收发器(诸如3G、4G、长期演进(LTE)或5G收发器)。固件接口728支持与系统固件的通信,并且可以是例如统一可扩展固件接口(UEFI)。网络控制器734可以支持与有线网络的网络连接。在一些实施例中,高性能网络控制器(未示出)与接口总线710耦接。在一个实施例中,音频控制器746是多信道高清晰度音频控制器。在一个实施例中,系统700包括可选的传统I/O控制器740,其用于将传统(例如,个人系统2(PS/2))设备耦接到系统。平台控制器集线器730还可以连接到一个或多个通用串行总线(USB)控制器742,这些控制器连接输入设备(诸如键盘和鼠标743的组合、相机744或其他USB输入设备)。
在一些实施例中,一种装置包括:多个加密核心;以及包括多个电流源块的电流源,所述多个电流源块包括与所述多个加密核心中的每一个相关联的相应电流源块;其中所述多个电流源块是可切换的,以便接通与所述多个加密核心中的每个活动核心相关联的电流源块并且关断与所述多个加密核心中的每个非活动核心相关联的电流源块。
在一些实施例中,所述装置还包括多个开关,其中所述多个开关包括与所述多个加密核心中的每一个相关联的相应开关以及与所述多个电流源块中的每一个相关联的相应开关。
在一些实施例中,所述多个开关由数字控制信号控制。
在一些实施例中,所述装置还包括电容器,所述电容器跨所述多个加密核心连接。
在一些实施例中,所述装置还包括旁路路径,所述旁路路径跨所述多个加密核心连接。
在一些实施例中,所述旁路路径包括基于PMOS(P型金属氧化物半导体)晶体管、NMOS(N型金属氧化物半导体)晶体管、或Op-amp(运算放大器)的技术中的一种。
在一些实施例中,所述电流源的每个电流源块包括一个或多个电流源切片。
在一些实施例中,基于与所述电流源块相关联的加密核心的平均电流消耗来确定每个电流源块的电流源切片的数量。
在一些实施例中,所述装置是IC,所述IC包括与所述电流源耦接的电源引脚。
在一些实施例中,到所述加密核心的电源连接在所述IC内部隔离。
在一些实施例中,一种系统包括:一个或多个处理器;用于存储数据的存储器;包括多个加密核心的加密块;以及与所述加密块耦接的主动SNR(信噪比)减小电路,所述主动SNR减小电路包括:包括多个电流源块的电流源,所述多个电流源块包括与所述多个加密核心中的每一个相关联的相应电流源块;并且其中所述多个电流源块是可切换的,以便接通与所述多个加密核心中的每个活动核心相关联的电流源块并且关断与所述多个加密核心中的每个非活动核心相关联的电流源块。
在一些实施例中,所述主动SNR减小电路还包括多个开关,其中所述多个开关包括与所述多个加密核心中的每一个相关联的相应开关以及与所述多个电流源块中的每一个相关联的相应开关。
在一些实施例中,所述多个开关由数字控制信号控制。
在一些实施例中,所述主动SNR减小电路还包括电容器,所述电容器跨所述多个加密核心连接。
在一些实施例中,所述主动SNR减小电路还包括旁路路径,所述旁路路径跨所述多个加密核心连接。
在一些实施例中,所述旁路路径包括基于PMOS(P型金属氧化物半导体)晶体管、NMOS(N型金属氧化物半导体)晶体管、或Op-amp(运算放大器)的技术中的一种。
在一些实施例中,所述电流源的每个电流源块包括一个或多个电流源切片。
在一些实施例中,基于与所述电流源块相关联的加密核心的平均电流消耗来确定每个电流源块的电流源切片的数量。
在一些实施例中,所述系统还包括集成电路(IC),所述集成电路包括所述主动SNR减小电路和所述加密块。
在一些实施例中,所述IC包括与所述电流源耦接的电源引脚,并且其中到所述加密块的电源连接在所述IC内隔离。
在一些实施例中,一个或多个其上存储有可执行计算机程序指令的非暂时性计算机可读存储介质,所述指令在由一个或多个处理器执行时使得所述一个或多个处理器执行包括以下的操作:开始系统的操作,所述系统包括:包括多个加密核心的加密块;以及与所述加密块耦接的主动SNR(信噪比)减小电路;以及在确定要打开或关闭所述多个加密核心中的第一加密核心时,切换所述主动SNR减小电路的多个电流源块中的第一电流源块,如果要打开所述第一加密核心,则将接通所述第一电流源块,并且如果要关闭所述第一加密核心,则将关断所述第一电流源块。
在一些实施例中,所述主动SNR减小电路还包括多个开关,并且其中接通或关断所述第一电流源块包括切换与所述第一加密核心相关联的所述多个开关中的相应开关,以及切换与所述第一电流源块相关联的所述多个开关中的相应开关。
在一些实施例中,所述主动SNR减小电路还包括电容器,所述电容器跨所述多个加密核心连接。
在一些实施例中,所述主动SNR减小电路还包括旁路路径,所述旁路路径跨所述多个加密核心连接。
在一些实施例中,一种方法包括:开始系统的操作,所述系统包括:包括多个加密核心的加密块;以及与所述加密块耦接的主动SNR(信噪比)减小电路;以及在确定要打开或关闭所述多个加密核心中的第一加密核心时,切换所述主动SNR减小电路的多个电流源块中的第一电流源块,如果要关闭所述第一加密核心,则将接通所述第一电流源块;并且如果要关闭所述第一加密核心,则将关断所述第一电流源块。
在一些实施例中,所述主动SNR减小电路还包括多个开关,并且其中接通或关断所述第一电流源块包括切换与所述第一加密核心相关联的所述多个开关中的相应开关,以及切换与所述第一电流源块相关联的所述多个开关中的相应开关。
在一些实施例中,所述主动SNR减小电路还包括电容器,所述电容器跨所述多个加密核心连接。
在一些实施例中,所述主动SNR减小电路还包括旁路路径,所述旁路路径跨所述多个加密核心连接。
在一些实施例中,一种装置包括:用于开始系统的操作的单元,所述系统包括:包括多个加密核心的加密块;以及与所述加密块耦接的主动SNR(信噪比)减小电路;以及用于在确定要打开或关闭所述多个加密核心中的第一加密核心时,切换所述主动SNR减小电路的多个电流源块中的第一电流源块的单元,如果要关闭所述第一加密核心,则将接通所述第一电流源块;并且如果要关闭所述第一加密核心,则将关断所述第一电流源块。
在一些实施例中,所述主动SNR减小电路还包括多个开关,并且其中接通或关断所述第一电流源块包括切换与所述第一加密核心相关联的所述多个开关中的相应开关,以及切换与所述第一电流源块相关联的所述多个开关中的相应开关。
在一些实施例中,所述主动SNR减小电路还包括电容器,所述电容器跨所述多个加密核心连接。
在一些实施例中,所述主动SNR减小电路还包括旁路路径,所述旁路路径跨所述多个加密核心连接。
在以上描述中,出于解释的目的,阐述了许多具体细节以便提供对所描述的实施例的透彻理解。然而,对于本领域技术人员将显而易见的是,可以在没有这些特定细节中的一些的情况下实践实施例。在其他情况下,以框图形式示出了众所周知的结构和设备。所示的部件之间可以存在中间结构。本文所述或示出的部件可以具有未示出或描述的附加输入或输出。
各种实施例可以包括各种过程。这些过程可以由硬件部件执行或者可以体现在计算机程序或机器可执行指令中,这些计算机程序或机器可执行指令可以用于使得用指令编程的通用或专用处理器或逻辑电路执行所述过程。可替代地,可以通过硬件和软件的组合来执行过程。
各种实施例的部分可以被设置为计算机程序产品,其可以包括其上存储有计算机程序指令的计算机可读介质,这些计算机程序指令可以用于对计算机(或其他电子设备)进行编程以由一个或多个处理器执行以便根据某些实施例执行过程。计算机可读介质可以包括但不限于磁盘、光盘、只读存储器(ROM)、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程读取器只读存储器(EEPROM)、磁卡或光卡、闪存存储器、或适合于存储电子指令的其他类型的计算机可读介质。此外,实施例也可以被下载为计算机程序产品,其中程序可以从远程计算机转移到请求计算机。
许多方法以其最基本的形式描述,但可以将过程添加到任何方法或从任何方法删除过程,并且可以将信息添加到任何描述的消息或者从其减去,而不背离本实施例的基本范围。对于本领域技术人员显而易见的是,可以进行许多进一步的修改和适配。提供特定实施例不是为了限制概念而是为了举例说明。实施例的范围不由上面提供的具体示例确定,而仅由下面的权利要求确定。
如果说元件“A”耦接到元件“B”或与元件“B”耦接,则元件A可以直接耦接到元件B或通过例如元件C间接耦接。当说明书或权利要求书指出部件、特征、结构、过程、或特性A“导致”部件、特征、结构、过程、或特性B时,这意味着“A”至少是“B”的部分原因,但也可以存在有助于导致“B”的至少一个其他部件、特征、结构、过程、或特性。如果说明书指示部件、特征、结构、过程、或特性“可以”、“可能”或“可”被包括,则不要求包括特定部件、特征、结构、过程或特性。如果说明书或权利要求书引用“一”或“一个”元件,则这并不意味着仅存在一个所描述的元件
实施例是实施方式或示例。说明书中对“实施例”、“一个实施例”、“一些实施例”、或“其他实施例”的引用意味着结合实施例描述的特定特征、结构、或特性包括在至少一些实施例中,但不一定是所有实施例。“实施例”、“一个实施例”或“一些实施例”的各种出现不一定都指相同的实施例。应当理解,在示例性实施例的前述描述中,有时将各种特征组合在单个实施例、附图或其描述中以简化本公开并帮助理解各种新颖方面中的一个或多个。然而,本公开的该方法不应被解释为反映了以下意图:所要求保护的实施例需要比每个权利要求中明确叙述的特征更多的特征。相反,如所附权利要求反映的,新颖方面在于少于单个前述公开实施例的所有特征。因此,权利要求特此明确地并入本说明书中,其中每个权利要求独立地作为单独实施例。
Claims (24)
1.一种装置,包括:
多个加密核心;以及
包括多个电流源块的电流源,所述多个电流源块包括与所述多个加密核心中的每一个相关联的相应电流源块;并且
其中所述多个电流源块是可切换的,以便接通与所述多个加密核心中的每个活动核心相关联的电流源块并且关断与所述多个加密核心中的每个非活动核心相关联的电流源块。
2.根据权利要求1所述的装置,还包括多个开关,其中所述多个开关包括与所述多个加密核心中的每一个相关联的相应开关以及与所述多个电流源块中的每一个相关联的相应开关。
3.根据权利要求2所述的装置,其中所述多个开关由数字控制信号控制。
4.根据权利要求1所述的装置,还包括电容器,所述电容器跨所述多个加密核心连接。
5.根据权利要求4所述的装置,还包括旁路路径,所述旁路路径跨所述多个加密核心连接。
6.根据权利要求5所述的装置,其中所述旁路路径包括基于PMOS(P型金属氧化物半导体)晶体管、NMOS(N型金属氧化物半导体)晶体管、或Op-amp(运算放大器)的技术中的一种。
7.根据权利要求1所述的装置,其中所述电流源的每个电流源块包括一个或多个电流源切片。
8.根据权利要求7所述的装置,其中基于与所述电流源块相关联的加密核心的平均电流消耗来确定每个电流源块的电流源切片的数量。
9.根据权利要求1所述的装置,其中所述装置是集成电路(IC),所述IC包括与所述电流源耦接的电源引脚。
10.根据权利要求9所述的装置,其中到所述加密核心的电源连接在所述IC内部隔离。
11.一种系统,包括:
一个或多个处理器;
用于存储数据的存储器;
包括多个加密核心的加密块;以及
与所述加密块耦接的主动SNR(信噪比)减小电路,所述主动SNR减小电路包括:
包括多个电流源块的电流源,所述多个电流源块包括与所述多个加密核心中的每一个相关联的相应电流源块;并且
其中所述多个电流源块是可切换的,以便接通与所述多个加密核心中的每个活动核心相关联的电流源块并且关断与所述多个加密核心中的每个非活动核心相关联的电流源块。
12.根据权利要求11所述的系统,其中所述主动SNR减小电路还包括多个开关,其中所述多个开关包括与所述多个加密核心中的每一个相关联的相应开关以及与所述多个电流源块中的每一个相关联的相应开关。
13.根据权利要求12所述的系统,其中所述多个开关由数字控制信号控制。
14.根据权利要求11所述的系统,其中所述主动SNR减小电路还包括电容器,所述电容器跨所述多个加密核心连接。
15.根据权利要求14所述的系统,其中所述主动SNR减小电路还包括旁路路径,所述旁路路径跨所述多个加密核心连接。
16.根据权利要求15所述的系统,其中所述旁路路径包括基于PMOS(P型金属氧化物半导体)晶体管、NMOS(N型金属氧化物半导体)晶体管、或Op-amp(运算放大器)的技术中的一种。
17.根据权利要求11所述的系统,其中所述电流源的每个电流源块包括一个或多个电流源切片。
18.根据权利要求17所述的系统,其中基于与所述电流源块相关联的加密核心的平均电流消耗来确定每个电流源块的电流源切片的数量。
19.根据权利要求11所述的系统,还包括集成电路(IC),所述集成电路包括所述主动SNR减小电路和所述加密块。
20.根据权利要求19所述的系统,其中所述IC包括与所述电流源耦接的电源引脚,并且其中到所述加密块的电源连接在所述IC内隔离。
21.一种装置,包括:
用于开始系统的操作的单元,所述系统包括:包括多个加密核心的加密块;以及与所述加密块耦接的主动SNR(信噪比)减小电路;以及
用于在确定要打开或关闭所述多个加密核心中的第一加密核心时,切换所述主动SNR减小电路的多个电流源块中的第一电流源块的单元;如果要打开所述第一加密核心,则将接通所述第一电流源块;并且如果要关闭所述第一加密核心,则将关断所述第一电流源块。
22.根据权利要求21所述的装置,其中所述主动SNR减小电路还包括多个开关,并且其中用于接通或关断所述第一电流源块的单元包括用于切换与所述第一加密核心相关联的所述多个开关中的相应开关的单元,以及用于切换与所述第一电流源块相关联的所述多个开关中的相应开关的单元。
23.根据权利要求21所述的装置,其中所述主动SNR减小电路还包括电容器,所述电容器跨所述多个加密核心连接。
24.根据权利要求21所述的装置,其中所述主动SNR减小电路还包括旁路路径,所述旁路路径跨所述多个加密核心连接。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/456,308 | 2019-06-28 | ||
US16/456,308 US11216594B2 (en) | 2019-06-28 | 2019-06-28 | Countermeasures against hardware side-channel attacks on cryptographic operations |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112152776A true CN112152776A (zh) | 2020-12-29 |
Family
ID=68160428
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010211928.XA Pending CN112152776A (zh) | 2019-06-28 | 2020-03-24 | 抵抗针对加密操作的硬件侧信道攻击的对策 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11216594B2 (zh) |
EP (1) | EP3758274B1 (zh) |
CN (1) | CN112152776A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113158179A (zh) * | 2021-03-17 | 2021-07-23 | 成都信息工程大学 | 自动发现泄露模型的有学习的侧信道攻击方法及加密设备 |
US11216594B2 (en) | 2019-06-28 | 2022-01-04 | Intel Corporation | Countermeasures against hardware side-channel attacks on cryptographic operations |
CN114048472A (zh) * | 2022-01-17 | 2022-02-15 | 浙江大学 | 基于线性码掩码和位切片技术的抗旁路攻击的防御方法 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11087030B2 (en) * | 2019-11-19 | 2021-08-10 | Silicon Laboratories Inc. | Side-channel attack mitigation for secure devices with embedded sensors |
US11334667B1 (en) | 2020-01-17 | 2022-05-17 | Wells Fargo Bank, N.A. | Systems and methods for disparate quantum computing threat detection |
US11366897B1 (en) | 2020-01-17 | 2022-06-21 | Wells Fargo Bank, N.A. | Systems and methods for layered quantum computing detection |
US11741227B2 (en) | 2021-06-22 | 2023-08-29 | Intel Corporation | Platform security mechanism |
TWI766538B (zh) * | 2021-01-12 | 2022-06-01 | 華碩電腦股份有限公司 | 加密式硬碟裝置 |
US20210312045A1 (en) * | 2021-06-22 | 2021-10-07 | Intel Corporation | Integrated circuit side-channel mitigation mechanism |
US20220150046A1 (en) * | 2021-09-16 | 2022-05-12 | Intel Corporation | Deterring side channel analysis attacks for data processors having parallel cryptographic circuits |
GB2615137B (en) * | 2022-02-01 | 2024-06-05 | Trustonic Ltd | Trusted execution environment side-channel protection method |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6766455B1 (en) * | 1999-12-09 | 2004-07-20 | Pitney Bowes Inc. | System and method for preventing differential power analysis attacks (DPA) on a cryptographic device |
GB0221240D0 (en) | 2002-09-13 | 2002-10-23 | Koninkl Philips Electronics Nv | Current source for cryptographic processor |
US7716502B2 (en) * | 2005-08-24 | 2010-05-11 | Radu Muresan | Current flattening and current sensing methods and devices |
US8769355B2 (en) * | 2011-06-27 | 2014-07-01 | Freescale Semiconductor, Inc. | Using built-in self test for preventing side channel security attacks on multi-processor systems |
FR3007857B1 (fr) * | 2013-06-26 | 2018-11-16 | Stmicroelectronics (Rousset) Sas | Regulateur pour circuit integre |
WO2015094374A1 (en) | 2013-12-20 | 2015-06-25 | Intel Corporation | Apparatus for charge recovery during low power mode |
US9354943B2 (en) * | 2014-03-19 | 2016-05-31 | International Business Machines Corporation | Power management for multi-core processing systems |
WO2018002934A1 (en) * | 2016-06-29 | 2018-01-04 | Bar-Ilan University | Pseudo- asynchronous digital circuit design |
US10521530B2 (en) * | 2016-07-28 | 2019-12-31 | Bar-Ilan University | Data-dependent delay circuits |
US11233628B2 (en) * | 2016-12-27 | 2022-01-25 | Helder Silvestre Paiva Figueira | Equivocation augmentation dynamic secrecy system |
US11308239B2 (en) * | 2018-03-30 | 2022-04-19 | Seagate Technology Llc | Jitter attack protection circuit |
US11216594B2 (en) | 2019-06-28 | 2022-01-04 | Intel Corporation | Countermeasures against hardware side-channel attacks on cryptographic operations |
-
2019
- 2019-06-28 US US16/456,308 patent/US11216594B2/en active Active
-
2020
- 2020-03-23 EP EP20164851.6A patent/EP3758274B1/en active Active
- 2020-03-24 CN CN202010211928.XA patent/CN112152776A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11216594B2 (en) | 2019-06-28 | 2022-01-04 | Intel Corporation | Countermeasures against hardware side-channel attacks on cryptographic operations |
CN113158179A (zh) * | 2021-03-17 | 2021-07-23 | 成都信息工程大学 | 自动发现泄露模型的有学习的侧信道攻击方法及加密设备 |
CN113158179B (zh) * | 2021-03-17 | 2022-07-22 | 成都信息工程大学 | 自动发现泄露模型的有学习的侧信道攻击方法及加密设备 |
CN114048472A (zh) * | 2022-01-17 | 2022-02-15 | 浙江大学 | 基于线性码掩码和位切片技术的抗旁路攻击的防御方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3758274B1 (en) | 2022-07-27 |
EP3758274A1 (en) | 2020-12-30 |
US20190318130A1 (en) | 2019-10-17 |
US11216594B2 (en) | 2022-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11216594B2 (en) | Countermeasures against hardware side-channel attacks on cryptographic operations | |
US20190229924A1 (en) | Key rotating trees with split counters for efficient hardware replay protection | |
EP3690661B1 (en) | Flexible counter system for memory protection | |
US11303429B2 (en) | Combined SHA2 and SHA3 based XMSS hardware accelerator | |
US11239994B2 (en) | Techniques for key provisioning in a trusted execution environment | |
US11405213B2 (en) | Low latency post-quantum signature verification for fast secure-boot | |
US11082231B2 (en) | Indirection directories for cryptographic memory protection | |
US20200104528A1 (en) | Data processing method, device and system | |
US11575521B2 (en) | Fast XMSS signature verification and nonce sampling process without signature expansion | |
US20190042474A1 (en) | Enhanced storage encryption with total memory encryption (tme) and multi-key total memory encryption (mktme) | |
US20230066955A1 (en) | Efficient post-quantum secure software updates tailored to resource-constrained devices | |
US10185633B2 (en) | Processor state integrity protection using hash verification | |
EP3271828B1 (en) | Cache and data organization for memory protection | |
US11886350B2 (en) | System memory context determination for integrity monitoring and related techniques | |
US20220131708A1 (en) | Efficient hybridization of classical and post-quantum signatures | |
EP4311158A1 (en) | Efficient low-overhead side-channel protection for polynomial multiplication in post-quantum encryption | |
US20240113888A1 (en) | Post-quantum lattice-based signature latency reduction | |
US20220109558A1 (en) | Xmss management to address randomized hashing and federal information processing standards | |
WO2023107775A1 (en) | Computation of xmss signature with limited runtime storage | |
US20240007266A1 (en) | Reconfigurable side-channel resistant double-throughput aes accelerator | |
KR20230145166A (ko) | 읽기 전용 메모리(rom) 보안 | |
Bobade et al. | Developing Configurable Security Algorithms for Embedded System Storage |
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 |