CN114205104A - 针对功率和电磁侧信道攻击的对认证标签计算的保护 - Google Patents
针对功率和电磁侧信道攻击的对认证标签计算的保护 Download PDFInfo
- Publication number
- CN114205104A CN114205104A CN202110941379.6A CN202110941379A CN114205104A CN 114205104 A CN114205104 A CN 114205104A CN 202110941379 A CN202110941379 A CN 202110941379A CN 114205104 A CN114205104 A CN 114205104A
- Authority
- CN
- China
- Prior art keywords
- data
- authentication tag
- value
- calculation
- random
- 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
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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
-
- 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
-
- 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]
-
- 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/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- 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/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- 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/06—Cryptographic 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/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
Abstract
描述了针对功率和电磁侧信道攻击的对认证标签计算的保护。一个或多个存储介质的示例包括指令,所述指令用于执行计算用于数据加密操作的认证标签的过程,包括:生成一个或多个随机值;接收用于计算的多个数据块,并且利用所接收的数据块和所述一个或多个随机值来执行计算以生成中间值;执行数据累积操作以在所述数据块的计算中累积随机值;以及至少部分地基于所生成的中间值和所累积的随机值来计算所述认证标签。
Description
技术领域
本文描述的实施例整体涉及电子设备领域,并且更具体地讲,涉及针对功率和电磁侧信道攻击的对认证标签计算的保护。
背景技术
在计算系统的密码操作中,为了安全性而计算认证标签,包括例如为AES-GCM(高级加密标准-伽罗瓦计数器模式)加密操作生成的认证标签。AES-GCM可用于传输敏感数据,其中需要所生成的认证标签以对加密数据进行解密。
侧信道攻击(SCA)是计算系统中的基于泄漏信息的攻击。侧信道攻击可以观察功率消耗、电磁发射或来自电路的其他信号泄漏的形式。在现有技术中,为加密操作而实现的AES引擎可能被DPA(差分功率分析)保护,以保护引擎从而免受此类侧信道攻击。
然而,对AES引擎的保护并不为认证标签的计算提供保护。如果攻击者能够通过侧信道攻击确定秘密认证密钥的值,则攻击者可能能够将所获得的认证密钥应用于修改数据或认证标签,从而挫败密码操作。
附图说明
这里所描述的实施例在附图的图中以示例的方式而不是以限制的方式示出,在附图中,相同的参考数字表示相似的元件。
图1A和图1B分别示出了一次基于散列签名方案和多次基于散列签名方案;
图2A和图2B分别示出了一次性签名方案和多次签名方案;
图3是根据一些实施例的包括用于防止侧信道攻击的一个或多个对策的处理元件的图示;
图4是根据一些实施例的微架构DPA保护的GCM认证标签计算的图示;
图5是根据一些实施例的示出用于解决对认证标签计算的侧信道攻击的乘法对策的流程图;
图6是根据一些实施例的示出用于解决对认证标签计算的侧信道攻击的数据和寄存器对策的流程图;
图7A是根据一些实施例的示出用于解决对认证标签计算的侧信道攻击的实现对策的流程图;
图7B是根据一些实施例的示出用于在电路优化中维持实现对策的过程的流程图;以及
图8示出了根据一些实施例的用于实现对策以针对功率和电磁侧信道攻击保护认证标签计算抵的示例性计算架构的实施例。
具体实施方式
本文描述的实施例涉及针对功率和电磁侧信道攻击的对认证标签计算的保护。
伽罗瓦计数器模式(GCM)中的高级加密标准(AES)算法(称为AES-GCM)是由国家标准与技术研究所(NIST)开发的认证加密算法。AES-GCM是经认证的加密模式,其基于伽罗瓦域乘法通过多项式MAC以计数器模式使用AES分组密码。在AES-GCM中的计算的输出是密文C和认证标签AT,认证标签与其他值(初始化向量IV和附加的认证数据A)一起对于成功的认证解密是必需的。AES-GCM认证技术可用于许多操作,包括例如在计算封装设备(computingpackage device)中的不同管芯之间的传输。
认证标签的生成利用秘密的认证密钥H。然而,如果攻击者可确定认证密钥H,则数据的加密可能会受到损害。具体地,系统中的非线性乘法操作可能受到侧信道攻击,其中攻击者利用与认证标签计算有关的电磁或功率信号的泄漏来试图确定H值。
AES-GCM中的认证标签计算如下:
认证标签(AT)=(…((A×H)^D1)×H)…^L)×H)^Ek(C0)
在利用AES-GCM的系统的操作中,可通过在乘法期间利用功率和电磁(EM)侧信道泄漏来进行DPA(差分功率分析)和DEMA(差分电磁分析)攻击以生成认证标签。如果攻击者可通过侧信道攻击来确定认证密钥H值,则攻击者可然后更改数据和认证标签。
后量子密码学
后量子密码学(也称为“量子证明”、“量子安全”、“量子抵抗”,或简称“PQC”)对于密码学采取了未来和现实的方法。它使负责密码学的人以及最终用户知道密码学已经过时;相反,它需要进化以能够成功地解决进入量子计算和后量子计算的进化中计算设备。
众所周知,密码学允许保护使用各种网络在个人和实体之间在线传送并存储的数据。这种数据传送的范围包括发送和接收电子邮件、在线购买商品或服务、使用网站来访问银行或其他个人信息等。
在处理量子计算时,传统密码学及其对困难数学场景的典型的因式分解和计算可能并不重要。这些数学问题(诸如离散对数、整数因式分解和椭圆曲线离散对数等)都不能抵抗来自强大量子计算机的攻击。Shor,P.W的“Algorithms for quantum computation:discrete logarithms and factoring”第35届计算机科学基础年会论文集。IEEEComput.Soc.Press.doi:10.1109/sfcs.1994.365700.ISBN 0818665807。尽管任何后量子密码学都可以建立在当前密码学的基础上,但新方法需要足够智能、快速和精确以抵御和击败量子计算机的任何攻击。
今天的PQC主要集中在以下方法:1)基于1979年的Merkle的散列树公钥签名系统的基于散列的密码学,其是建立在Lamport和Diffie的一个消息签名思想上;2)基于代码的密码学,诸如McEliece的Hidden-Goppa-Code公钥加密系统;3)基于1998年的Hoffstein-Pipher-Silverman公钥加密体制的格密码学;4)基于1996年的Patarin的隐场方程(HFE)公钥签名体制的多元二次方程密码学,其是进一步基于Matumoto-Imai方案;5)依赖于超奇异椭圆曲线和超奇异等基因图的超奇异椭圆曲线等基因密码学;以及6)对称密钥量子电阻,诸如HBS。
图1A和图1B分别示出了一次基于散列(hash)签名方案和多次基于散列签名方案。如上所述,基于散列的密码学是基于密码系统,如Lamport签名、Merkle签名、扩展Merkle签名方案(XMSS)、SPHINCS方案、SPHINCS+方案等。随着量子计算的出现和对其增长的预期,人们一直关注量子计算可能带来的各种挑战,以及如何利用密码学领域来应对此类挑战。
为了应对量子计算挑战,正在探索的一个领域是基于散列签名(HBS),因为这些方案已经存在了很长时间并且具有必要的基本成分,诸如依赖于对称密码学构建块(如散列函数)以应对量子计数和后量子计算挑战。HBS方案被认为是具有快速平台安全引导的快速签名算法,其被认为是最抗量子攻击的。
例如,如相对于图1A所示,示出了使用Merkle树以及一次签名(OTS)方案100的HBS方案,诸如使用私钥来对消息签名以及使用对应公钥来验证OTS消息,其中私钥仅对单个消息签名。
类似地,如相对于图1B所示,示出了另一个HBS方案,其中该方案涉及多次签名(MTS)方案150,其中私钥可对多个消息签名。
图2A和图2B分别示出了一次性签名方案和多次签名方案。继续图1A的基于HBS的OTS方案100和图1B的MTS方案150,分别地,图2A示出了由斯坦福数学系的RobertWinternitz提供的Winternitz OTS(WOTS)方案200,而图2B示出XMSS MTS方案250。
例如,图2A的WOTS方案200提供将消息散列化和解析成M,具有[0,1,2,...,15]之间的67个整数,诸如私钥sk,205,签名s,210和公钥pk,215,其中各自具有67个各自32字节的分量。
现在,例如,图2B示出了XMSS MTS方案250,其允许图2A的WOTS方案200和具有XMSSMerkle树270的XMSS方案255的组合。如先前相对于图2A所讨论的,WOTS方案200基于一次公钥pk,215,该公钥具有67个各自32字节的分量,然后将其通过L-树压缩算法260以提供WOTS压缩pk 267以便在XMSS方案255的XMSS Merkle树270中占据位置。预期XMSS签名验证可包括计算WOTS验证和检查以确定重构的根节点是否匹配XMSS公钥,诸如根节点=XMSS公钥。
针对侧信道攻击对认证标签计算的对策
在一些实施例中,装置、系统或过程在以认证加密算法中并且具体地以AES-GCM计算认证标签时提供抵抗DPA/DEMA攻击的保护。
功率(power)和EM泄漏由于多种不同因素引起,这些因素至少包括算法泄漏(乘法)、数据相关泄漏(A、Di’s、中间结果)和实现方面。如本文所使用的,A指附加认证数据(AAD)值以提供对加密数据的附加完整性和真实性检查,并且Di指加密数据值。这些泄漏的源分别是用于生成认证密钥的乘法器、用于存储值的寄存器和设备实现中的线。
在一些实施例中,装置、系统或过程包括以下对策中的一者或多者以防止与认证标签计算有关的侧信道攻击:
(1)可以通过输入数据(A、Di’s)随机化来减小或防止乘法泄漏。在一些实施例中,每个数据通过本地生成的新随机值来随机化以避免延迟开销。
(2)通过在寄存器中存储随机化中间结果,可减小或防止由于寄存器更新引起的泄漏。
(3)(a)通过提供用于驱动敏感中间节点的多个源之间的多路复用,可减小或防止实现特定的泄漏,并因此避免在计算中暴露实际中间结果。实施例可包括但不限于在设备生成中包括多路复用器(MUX)。在一些实施例中,与输入数据(A、Di's)相加的每个随机数乘以H,并在另一个寄存器中累积,即,仅在标签计算结束时通过应在硬件优化中保持的多路复用器的操作与随机化的中间结果异或(XORed)。。
(b)用于计算认证标签的装置或系统的实现可包括电路的优化,包括可能消除中间结果的多路复用。在一些实施例中,提供一个或多个保护操作以防止在电路优化期间消除这种多路复用。
图3是根据一些实施例的包括用于防止侧信道攻击的一个或多个对策的处理元件的图示。如图所示,处理元件300(诸如图8所示的一个或多个处理器802中的处理器)包括一个或多个处理核心305。处理核心305包括利用AES-GCM技术310的加密操作,其包括认证标签(AT)计算315。在一些实施例中,处理元件300可包括在具有多个管芯的封装中,其中由于管芯间的链路可能暴露给攻击者,管芯之间的链路可能需要密钥来认证传输。
然而,处理元件300的操作可允许访问功率和EM侧信道泄漏350,这可因此允许攻击者确定在认证标签计算315中利用的认证密钥H,并因此潜在地修改数据和认证标签值。
更具体地说,功率和EM侧信道泄漏350可包括在认证标签计算中的算法/乘法泄漏352;与计算中寄存器中的存储值有关的数据/寄存器泄漏354;以及实现/线(implementation/wire)泄漏,其中计算的实现允许在计算中检测值。
在一些实施例中,装置、系统或过程包括一个或多个侧信道攻击对策技术330以击退对处理元件300的操作的功率和EM侧信道攻击,其中对策可包括:
(1)其中引入数据随机化的乘法对策(multiplication countermeasures)332。在图4和图5中进一步示出了乘法对策。
(2)其中随机化中间结果存储在寄存器中的数据和寄存器对策334。在图4和图6中进一步示出了数据和寄存器对策。
(3)其中提供驱动敏感中间节点的源的多路复用以避免在计算中暴露实际中间结果的实现对策336。实施例可包括在装置或系统中实现多路复用器元件以提供源的多路复用。在一些实施例中,对策还包括在电路优化期间维持中间节点的多路复用的一个或多个操作。例如,可指示综合工具在设备生成中维持多路复用(例如,不优化电路内的多路复用器的指示)以避免消除由多路复用提供的保护,因为这可导致在计算中暴露实际的中间结果。在图4、图7A和图7B中进一步示出了实现对策。
图4是根据一些实施例的微架构DPA保护的GCM认证标签计算的图示。如图4所示,在用于生成认证标签400的第一实施例中引入数据随机化以减小或防止计算过程中的算法泄漏。具体地,计算包括用于将数据的随机化引入认证标签的计算的初始处理410,以及用于移除数据的随机化并生成最终认证标签的最终处理430。
如图4所示,寄存器包括寄存器m(402)、寄存器t1(404)和寄存器t2(406)。在这样的实现中,操作不是具有单个结果寄存器,而是因此包括两个结果寄存器,其中寄存器t1用于存储随机化结果并且寄存器t2用于累积随机数,其中结果的随机化部分可在处理结束时移除。在一些实施例中,过程包括通过随机值初始化寄存器m,例如对手不可访问的128位随机数(rand)。此外,为了正确的功能,寄存器t1和t2被初始化为零。用于计算的认证密钥420被指示为H。利用伽罗瓦域gf(2128)乘法器422来提供乘法。
在一些实施例中,为输入块Di(来自输入块414)提供以下操作序列:
1:时钟i:t1,i+1=((Di^mi)^t1,i)x H
2:时钟i+1:lfsr(mi)x H
3:时钟i+2:t2,i+1=(mi^t2,i)x H.
在操作1中,Di表示当前128位输入数据块(附加认证数据(A)或密文数据(D));mi表示当前128位随机数;t1,i表示t1寄存器的当前状态,在开始新AES-GCM操作之前,该状态通过零初始化;并且H代表128位认证密钥。在这个时钟周期中,寄存器m中的值保持不变。
在操作2中,可提供一个或多个虚拟操作,其中虚拟操作可以是对于认证标签的AES-GCM计算不需要的利用乘法器422的任何操作。例如,虚拟操作可包括将当前lfsr(线性反馈移位寄存器)输出与乘以H的mi的输入一起应用。该计算提供了在操作1处的处理随机化数据与在操作3处的累积随机数之间的虚拟操作。寄存器m的值在这个周期中不变。
然而,在所有实施例中不需要包括虚拟操作。其他实施例可提供允许利用其他随机化来保护计算值的一个或多个操作。例如,AES-GCM硬件可使用多组寄存器t1、t2来同时支持多个认证标签计算。在一个实施例中,不同的计算可随机地交织,从而消除对虚拟操作的需要。
在操作3中,重复使用寄存器m的当前值(mi),其中该值与随机累积器寄存器t2(t2,i)的当前值异或,其中将异或的结果与H相乘,并且从而更新t2。然而,注意到在操作1和操作3之间存在对应于秘密认证密钥H的值的汉明权重。在一些实施例中,提供操作2以移除操作1和3之间的任何可观察到的相关性(例如,汉明距离),否则这些相关性可通过测量这些操作的功率/EM泄漏来获得。
在一些实施例中,上述三个操作(操作1、2和3)在Di的可用性之后在3个连续周期中计算。在完成操作3之后,该过程包括在每个后续周期中更新伪随机发生器状态/寄存器m,直到下一个数据块到达。在基于循环的AES引擎中,可预期下一个数据块将在操作3之后的7个周期(对于AES128)或11个周期(对于AES256)之后可用。用于更新寄存器m的这些中间周期确保将用于下一个数据Di+1的随机数(mi+1)与以前使用的mi’s不同。
在一些实施例中,提供以下操作以用于在时钟j处理下一个数据值Di+1:
4:时钟j:t1,i+2=((Di+1^mi+1)^t1,i+1)x H
5:时钟j+1:lfsr(mi+1)x H
6:时钟j+1:t2,i+2=(mi+1^t2,i+1)x H.
在一些实施例中,对于所有数据块(接着是长度信息的单个块),继续上述过程。为了生成最终GCM认证标签,将来自AES引擎的第一计数器值Ek(c0)436的加密值用ti进行异或,然后与t2进行异或,如下所示:
7:标签=Ek(c0)^t1^t2.
在一些实施例中,仅在处理所有数据块和长度块之后才执行操作7。换句话说,该操作仅在用于生成最终认证标签值的时刻执行,此时Ek(c0)值可用于图4中提供的DPA保护的GCM标签计算单元。为了实现这一点,提供了驱动敏感中间节点的源的多路复用以避免在计算中暴露实际中间结果。在一个示例中,可提供两个多路复用器(图4中的MUX 432和MUX434)以将零作为默认输出传递到最终XOR门(无掩蔽),并且仅在最终标签生成时传递Ek(c0)^t1的正确结果和t2寄存器406的值。
对于如图4所示的认证标签计算的硬件实现,可应用操作来优化电路设计,这可潜在地移除为保护中间结果免受检测而提供的多路复用。例如,可应用现代综合工具来优化逻辑,并且从而在用于生成优化的网表的过程中潜在地移除MUX 432和434。在一些实施例中,提供一个或多个操作以防止优化在电路优化期间移除对中间节点结果的多路复用。在一个示例中,为电路MUX提供综合指令(例如,“不优化”),使得这些MUX被维持在综合硬件中。以这种方式,提供多路复用以帮助防止由认证标签的计算产生的实现特定的泄漏(例如图3所示的实现/线泄漏356)。
在一些实施例中,利用线性反馈移位寄存器(LFSR)412(如图4所示)作为伪随机数生成器(PRNG)以用于生成从随机128位种子开始的伪随机数,如图4所示。然而,这在所有实施例中不是必需的,并且其他实施例可包括用于生成mi值的任何其他PRNG技术。
图4所示的用于生成认证标签的第一实施例400基于两个随机值。在一些实施例中,用于生成认证标签的第二替代实施例(未包括在图4中提供的图示中)基于多于2个份额来实现,从而使得能够针对高阶DPA进行附加保护。在其中利用3个份额的操作中,替代实施例的值可包括:
R1=随机
R2=随机
R3=R1^R2
T1=T2=T3=0
对于替代实施例的每个128位数据块D,在认证标签的计算中提供以下操作:
a:T1=(T1^D^R1)x H
b:T2=(T2^R2)x H
c:T3=(T3^R3)x H
d:R1=lfsr1(R1)
e:R2=lfsr2(R2)
f:R3=R1^R2
在一些实施例中,在连续周期中执行操作a、b和c,随后在单个周期中执行操作d、e和f。
在一些实施例中,对于每个数据块D的处理,可随机化操作a、b和c的执行顺序,由此在计算认证标签值时提供了免受功率和EM侧信道泄漏的进一步保护。
图5是根据一些实施例的示出用于解决对认证标签计算的侧信道攻击的乘法对策的流程图。过程500包括获得用于认证标签的计算的算法505。在一些实施例中,将一个或多个随机值引入计算过程510,其中一个或多个随机值可包括外部攻击者不可用的本地生成的伪随机值。随机值的生成可包括线性反馈移位寄存器(LFSR),诸如图4中的LFSR 412,或其他伪随机数生成器。在一些实施例中,过程500还可包括在计算中将一个或多个值初始化为零515,诸如为图4所示的用于生成认证标签的实施例中的值t1和t2提供的。
在一些实施例中,接收第一数据块D 520,并且利用一个或多个随机值来掩蔽该数据,并将其与认证密钥H相乘525。然后通过一个或多个随机值执行一个或多个虚拟计算530(由此移除实际计算操作之间的可观察的相关性),接着执行所生成的随机值的累积535。
如果存在用于计算的附加数据块540,则可在剩余时钟周期期间通过随机值执行一个或多个中间计算545,随后接收下一个数据块D 550。过程然后接着利用一个或多个随机值来掩蔽所接收的数据块,并将其乘以认证密钥H 525。
如果不存在用于计算的附加数据块540,则该过程继续对值解除掩蔽并计算最终认证标签560。
图6是根据一些实施例的示出用于解决对认证标签计算的侧信道攻击的数据和寄存器对策的流程图。在一些实施例中,过程600包括通过引入随机值来实现标签计算算法605,如图4所示。过程继续接收输入数据并执行用于生成认证标签的计算610。在这种算法中,除了与认证标签的生成有关的计算之外,还存在包括生成至少部分地基于一个或多个随机值的中间值的计算615。中间值可包括至少部分基于伪随机数生成器(诸如LFSR412)的输出的值。
在一些实施例中,过程600包括将中间值存储在寄存器620中,诸如图4中的寄存器m 402、寄存器t1 404和寄存器t2 406。将此类中间值存储在寄存器中,从而有助于减小或防止攻击者由于在寄存器中保存基于随机值的中间值的操作而利用功率和EM侧信道攻击来确定实际数据值。
如果在认证标签的生成中存在要执行的用于计算的附加数据625,则过程继续接收附加数据和执行计算610、至少部分地基于一个或多个随机值生成中间值615,以及将中间值存储在寄存器620中。如果不存在用于计算的附加数据625,则过程包括完成认证标签的计算630,诸如在图4中提供的。
图7A是根据一些实施例的示出用于解决对认证标签计算的侧信道攻击的实现对策的流程图。在一些实施例中,过程700包括当计算包括接收输入数据块D和应用认证密钥H时,获得用于认证标签的计算的算法705。在一些实施例中,将随机化引入认证标签的计算中710,诸如在图4所示的用于生成认证标签的第一实施例中,或者在如上所述的用于生成认证标签的第二替代实施例中。过程包括在认证标签的生成中实现计算,该计算包括用于生成中间结果的中间节点715。
在一些实施例中,为了基于电路实现来对抗侧信道攻击,过程包括实现驱动中间节点的源的多路复用以避免暴露实际的中间结果720。在特定示例中,如图4所示,一个或多个多路复用器可被实现为传递零作为默认值并且传递认证标签的最终计算的结果,诸如包括但不限于图4中的MUX 432和434。然后可执行认证标签的计算,包括利用为中间结果实现的多路复用725。
图7B是根据一些实施例的示出用于在电路优化中维持实现对策的过程的流程图。在如图7A所提供的建立中间结果的多路复用时,所得的电路可经受电路优化,诸如利用电路综合工具。虽然电路优化用于改进电路结构和效率,但存在这样的风险,即优化将导致移除期望的多路复用,诸如消除电路内的一个或多个多路复用器,并且从而潜在地允许攻击者通过侧信道攻击确定操作中的实际中间结果。
在一些实施例中,过程750包括开始用于优化电路的过程以计算认证标签755。作为示例,这可包括优化图4所示的用于计算的电路设计。在一些实施例中,过程可包括识别中间节点的源的多路复用,该中间节点被提供以保护实际中间结果免受检测760,以及在电路优化期间执行一个或多个保护操作以维持中间节点的所需多路复用765。
例如,过程750可包括在逻辑综合中维持多路复用器的综合指令770。这种指令可以是关于一个或多个多路复用器的“不优化”命令的形式。
然后,过程750提供执行包括一个或多个保护操作的电路优化过程775。例如,优化过程可包括综合用于认证标签计算的硬件,该综合包括优化电路的网表,同时保持一个或多个多路复用器以提供实现对策以便防止对所得电路的侧信道攻击。
在一些实施例中,然后可基于综合结果来生成优化的电路硬件780,并且最终利用所生成的硬件来执行认证标签计算。
图8示出了根据一些实施例的用于实现对策以保护认证标签计算抵抗功率和电磁侧信道攻击的示例性计算架构的实施例。在如上所述的各种实施例中,计算架构800可包括电子设备或被实现为电子设备的一部分。在一些实施例中,计算架构800可表示例如实现上述操作环境中的一个或多个部件的计算机系统。在一些实施例中,计算架构800可表示实现本文描述的一个或多个技术的深度神经网络(DNN)训练系统的一个或多个部分或部件。实施例在此上下文中不受限制。
如在本申请中所使用的,术语“系统”和“部件”以及“模块”旨在指代计算机相关实体,或者硬件、硬件和软件的组合、软件,或者是执行中的软件,其示例由示例性计算架构800提供。例如,部件可以是但不限于在处理器上运行的过程、处理器、硬盘驱动器或固态驱动器(SSD)、(光和/或磁存储介质的)多个存储驱动器、对象、可执行文件、执行线程、程序和/或计算机。通过举例说明,在服务器上运行的应用程序和服务器都可以是部件。一个或多个部件可驻留在执行的过程和/或线程内,并且部件可在一台计算机上本地化和/或分布在两台或更多台计算机之间。另外,部件可通过各种类型的通信介质彼此通信地耦接以协调操作。协调可涉及单向或双向的信息交换。例如,部件可以通过通信介质传送的信号的形式传送信息。信息可被实现为分配给各种信号线的信号。在此类分配中,每个消息为信号。然而,另外的实施例可替代地采用数据消息。此类数据消息可跨各种连接发送。示例性连接包括并行接口、串行接口和总线接口。
计算架构800包括各种公共计算元件,诸如一个或多个处理器、多核处理器、协处理器、存储器单元、芯片组、控制器、外围设备、接口、振荡器、定时设备、视频卡、音频卡、多媒体输入/输出(I/O)部件、电源等等。然而,实施例不限于由计算架构800实现。在一些实施例中,计算元件用于在认证加密算法中的认证标签的计算中提供抵抗DPA/DEMA侧信道攻击的对策。
如图8所示,计算架构800包括一个或多个处理器802和一个或多个图形处理器808,并且可以是单处理器桌面系统、多处理器工作站系统、或具有大量处理器802或处理器核心807的服务器系统。在一个实施例中,系统800是并入片上系统(SoC或SOC)集成电路内以用于移动、手持或嵌入式设备的处理平台。
系统800的实施例可包括基于服务器的游戏平台、游戏控制台(包括游戏和媒体控制台、移动游戏控制台、手持游戏控制台或在线游戏控制台),或并入其内。在一些实施例中,系统800是移动电话、智能电话、平板计算设备或移动互联网设备。数据处理系统800还可包括可穿戴设备(诸如智能手表可穿戴设备、智能眼镜设备、增强现实设备或虚拟现实设备),与其耦接或集成在其内。在一些实施例中,数据处理系统800是具有一个或多个处理器802和由一个或多个图形处理器808生成的图形界面的电视机或机顶盒设备。
在一些实施例中,一个或多个处理器802各自包括一个或多个处理器核心807以处理指令,该指令在被执行时执行系统和用户软件的操作。在一些实施例中,一个或多个处理器核心807中的每一者被配置为处理特定指令集809。在一些实施例中,指令集809可促进复杂指令集计算(CISC)、精简指令集计算(RISC)或经由超长指令字(VLIW)的计算。多个处理器核心807可各自处理不同指令集809,该指令集可包括促进模拟其他指令集的指令。处理器核心807还可包括其他处理设备,诸如数字信号处理器(DSP)。
在一些实施例中,处理器802包括高速缓存存储器804。取决于架构,处理器802可具有单个内部高速缓存或多级内部高速缓存。在一些实施例中,高速缓存存储器804在处理器802的各种部件之间共享。在一些实施例中,处理器802还使用外部高速缓存(例如,3级(L3)高速缓存或最后一级高速缓存(LLC))(未示出),其可使用已知高速缓存一致性技术在处理器核心807之间共享。寄存器文件806还包括在处理器802中,其可包括用于存储不同类型的数据的不同类型的寄存器(例如,整数寄存器、浮点寄存器、状态寄存器和指令指针寄存器)。一些寄存器可以是通用寄存器,而其他寄存器可特定于处理器802的设计。
在一些实施例中,一个或多个处理器802与一个或多个接口总线810耦接以在处理器802和系统中的其他部件之间传输通信信号诸如地址、数据或控制信号。在一个实施例中,接口总线810可以是处理器总线,诸如直接媒体接口(DMI)总线的型式。然而,处理器总线不限于DMI总线,并且可包括一个或多个外围部件互连总线(例如,PCI、PCI Express)、存储器总线或其他类型的接口总线。在一个实施例中,处理器802包括集成存储器控制器816和平台控制器集线器830。存储器控制器816促进存储器设备和系统800的其他部件之间的通信,而平台控制器集线器(PCH)830经由本地I/O总线提供到I/O设备的连接。
存储器设备820可以是动态随机存取存储器(DRAM)设备、静态随机存取存储器(SRAM)设备、闪存存储器设备、相变存储器设备、或具有合适性能以用作过程存储器的某种其他存储器设备。在一个实施例中,存储器设备820可作为系统800的系统存储器来操作以存储数据822和指令821,以用于在一个或多个处理器802执行应用程序或过程时使用。存储器控制器集线器816还与任选的外部图形处理器812耦接,该外部图形处理器可与处理器802中的一个或多个图形处理器808通信以执行图形和媒体操作。在一些实施例中,显示器设备811可以连接到处理器802。显示器设备811可以是内部显示器设备(如在移动电子设备或膝上型计算机设备中),或者是经由显示接口(例如,显示端口等)附接的外部显示器设备中的一者或多者。在一个实施例中,显示器设备811可以是头戴式显示器(HMD),诸如用于虚拟现实(VR)应用或增强现实(AR)应用中的立体显示器设备。
在一些实施例中,平台控制器集线器830使得外围设备能够经由高速I/O总线连接到存储器设备820和处理器802。I/O外围设备包括但不限于音频控制器846、网络控制器834、固件接口828、无线收发器826、触摸传感器825、数据存储设备824(例如,硬盘驱动器、闪存存储器等)。数据存储设备824可经由存储接口(例如,SATA)或经由诸如外围部件互连总线(例如、PCI,PCI Express)的外围总线来连接。触摸传感器825可包括触摸屏传感器、压力传感器或指纹传感器。无线收发器826可以是Wi-Fi收发器、蓝牙收发器、或移动网络收发器(诸如3G、4G、长期演进(LTE)或5G收发器)。固件接口828实现与系统固件的通信,并且可以是例如统一可扩展固件接口(UEFI)。网络控制器834可启用到有线网络的网络连接。在一些实施例中,高性能网络控制器(未示出)与接口总线810耦接。在一个实施例中,音频控制器846是多声道高清晰度音频控制器。在一个实施例中,系统800包括用于将传统(例如,个人系统2(PS/2))设备耦接到系统的任选传统I/O控制器840。平台控制器集线器830还可连接到一个或多个通用串行总线(USB)控制器842,连接输入设备,诸如键盘和鼠标843组合、相机844或其他USB输入设备。
在一些实施例中,一种或多种非暂时性计算机可读存储介质,其上存储有可执行的计算机程序指令,当由一个或多个处理器执行时,所述可执行的计算机程序指令使得所述一个或多个处理器执行包括以下的操作:执行用于计算用于数据加密操作的认证标签的过程,包括:利用伪随机数生成器来生成一个或多个随机值;接收用于计算的多个数据块,并且利用所接收的多个数据块和所述一个或多个随机值来执行计算以生成中间值;执行数据累积操作以在所述数据块的计算中累积随机值;以及至少部分地基于所生成的中间值和所累积的随机值来计算所述认证标签。
在一些实施例中,计算所述认证标签还基于所接收的计数器值。
在一些实施例中,在处理全部的所述多个数据块之后执行所述认证标签的计算。
在一些实施例中,所述指令还包括在处理所述多个数据块中的数据块与对随机值执行所述数据累积操作之间执行一个或多个虚拟操作的指令。
在一些实施例中,所述指令还包括用于将所述中间值存储在第一寄存器中并且将所累积的随机值存储在第二寄存器中的指令。
在一些实施例中,所述指令还包括用于在提供用于计算所述认证标签的所述中间值时,在多个源之间进行多路复用的指令。
在一些实施例中,所述指令还包括用于执行所述认证标签的所述计算的优化的指令,所述优化包括执行一个或多个保护操作以在提供所述中间值时维持多个源之间的所述多路复用。
在一些实施例中,所述多路复用包括实现用于计算所述认证标签的最终值的一个或多个多路复用器。
在一些实施例中,所述数据加密操作是AES-GCM(高级加密标准-伽罗瓦计数器模式)加密操作。
在一些实施例中,一种系统包括:一个或多个处理器,所述一个或多个处理器包括一个或多个处理核心,所述一个或多个处理器用于计算用于数据加密操作的认证标签;以及存储器,所述存储器用于存储数据,所述数据包括用于一个或多个安全操作的数据,其中所述一个或多个处理器用于:利用伪随机数生成器来生成一个或多个随机值;接收用于计算的多个数据块,并且利用所接收的多个数据块和所述一个或多个随机值来执行计算以生成中间值;执行数据累积操作以在所述数据块的计算中累积随机值;以及至少部分地基于所生成的中间值和所累积的随机值来计算所述认证标签。
在一些实施例中,计算所述认证标签还基于所接收的计数器值;并且在处理全部的所述多个数据块之后执行所述认证标签的计算。
在一些实施例中,所述一个或多个处理器还用于:在处理数据块时,在接收下一数据块之前的一个或多个时钟周期期间更新所述伪随机数生成器的状态或值。
在一些实施例中,所述系统还包括多个寄存器,所述多个寄存器包括至少第一寄存器和第二寄存器,其中所述一个或多个处理器还用于将所述中间值存储在所述第一寄存器中并且将所累积的随机值存储在所述第二寄存器中。
在一些实施例中,所述系统还包括一个或多个多路复用器,所述一个或多个多路复用器用于:在提供用于计算所述认证标签的中间值时,在多个源之间进行多路复用。
在一些实施例中,所述一个或多个多路复用器用于计算所述认证标签的最终值。
在一些实施例中,所述数据加密操作是AES-GCM(高级加密标准-伽罗瓦计数器模式)加密操作。
在一些实施例中,一种用于计算AES-GCM(高级加密标准-伽罗瓦计数器模式)数据加密操作的认证标签的方法,包括:利用伪随机数生成器来生成一个或多个随机值;接收用于计算的多个数据块,并且利用所接收的多个数据块和所述一个或多个随机值来执行计算以生成中间值;执行数据累积操作以在所述数据块的计算中累积随机值;以及至少部分地基于所生成的中间值、所累积的随机值和所接收的计数器值来计算所述认证标签。
在一些实施例中,在处理全部的所述多个数据块之后执行所述认证标签的计算。
在一些实施例中,所述方法还包括将所述中间值存储在第一寄存器中,将所累积的随机值存储在第二寄存器中。
在一些实施例中,所述方法还包括在提供用于计算所述认证标签的所述中间值时,在多个源之间进行多路复用。
在一些实施例中,一种装置包括用于执行用于计算用于数据加密操作的认证标签的过程的装置,所述过程包括利用伪随机数生成器来生成一个或多个随机值;用于接收用于计算的多个数据块,并且利用所接收的多个数据块和所述一个或多个随机值来执行计算以生成中间值的装置;用于执行数据累积操作以在所述数据块的计算中累积随机值的装置;以及用于至少部分地基于所生成的中间值和所累积的随机值来计算所述认证标签的装置。
在一些实施例中,用于计算所述认证标签的装置还基于所接收的计数器值。
在一些实施例中,在处理全部的所述多个数据块之后执行所述认证标签的计算。
在一些实施例中,所述装置还包括在处理所述多个数据块中的数据块与对随机值执行所述数据累积操作之间执行一个或多个虚拟操作的装置。
在一些实施例中,所述装置还包括用于将所述中间值存储在第一寄存器中并且将所累积的随机值存储在第二寄存器中的装置。
在一些实施例中,所述装置还包括用于在提供用于计算所述认证标签的所述中间值时,在多个源之间进行多路复用的装置。
在一些实施例中,所述装置还包括执行所述认证标签的所述计算的优化的装置,所述优化包括执行一个或多个保护操作以在提供所述中间值时维持多个源之间的所述多路复用。
在一些实施例中,所述多路复用包括实现用于计算所述认证标签的最终值的一个或多个多路复用器。
在一些实施例中,所述数据加密操作是AES-GCM(高级加密标准-伽罗瓦计数器模式)加密操作。
在上面的描述中,出于解释的目的,阐述了许多具体细节以便提供对所描述的实施例的透彻理解。然而,对本领域技术人员来说显而易见的是,可以在没有这些特定细节中的一些细节的情况下实践实施例。在其他实例中,以框图形式示出了众所周知的结构和设备。在所示的部件之间可能存在中间结构。本文描述或示出的部件可具有未示出或描述的附加输入或输出。
各种实施例可包括各种过程。这些过程可由硬件部件执行,或者可体现在计算机程序或机器可执行指令中,该计算机程序或机器可执行指令可用于致使通用或专用处理器或用指令编程的逻辑电路执行这些过程。另选地,这些过程可通过硬件和软件的组合来执行。
各种实施例的部分可作为计算机程序产品提供,其可包括其上存储有计算机程序指令的计算机可读介质,该计算机程序指令可用于编程计算机(或其他电子设备)以用于由一个或多个处理器执行以便执行根据某些实施例的过程。计算机可读介质可包括但不限于磁盘、光盘、只读存储器(ROM)、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁卡或光卡、闪存存储器、或适于存储电子指令的其他类型的计算机可读介质。此外,实施例还可作为计算机程序产品下载,其中程序可从远程计算机转移到请求计算机。
许多方法以其最基本的形式描述,但过程可被添加到任何方法或从任何方法删除,并且信息可从任何所描述的消息添加或从任何消息减去,而不偏离本实施例的基本范围。对于本领域的技术人员来说显而易见的是,可进行许多进一步的修改和调整。提供特定实施例不是为了限制概念而是为了说明概念。实施例的范围不由上面提供的具体示例来确定,而是仅由下面的权利要求来确定。
如果说元件“A”耦接到元件“B”或与元件“B”耦接,则元件A可直接耦接到元件B或通过例如元件C间接耦接。当说明书或权利要求声明部件、特征、结构、过程或特性A“导致”部件、特征、结构、过程或特性B时,这意味着“A”至少是“B”的部分原因,但也可能存在有助于导致“B”的至少一个其他部件、特征、结构、过程或特性。如果说明书指示部件、特征、结构、过程或特性“可能”、“可”或“可以”包括在内,则不需要包括该特定部件、特征、结构、过程或特性。如果说明书或权利要求引用“一”或“一个”元件,这并不意味着只有一个所描述的元件。
实施例是实现或示例。在说明书中对“实施例”、“一个实施例”、“一些实施例”或“其他实施例”的引用意味着结合实施例描述的特定特征、结构或特性包括在至少一些实施例中,但不必所有实施例。“实施例”、“一个实施例”或“一些实施例”的各种出现不一定都是指相同的实施例。应当理解,在前面对示例性实施例的描述中,为了简化本公开并帮助理解各种新颖方面中的一者或多者的目的,有时在单个实施例、图或其描述中将各种特征分组在一起。然而,本公开方法不应被解释为反映所要求保护的实施例需要比在每个权利要求中明确叙述的特征更多的特征的意图。相反,如下面的权利要求所反映的,新颖方面不在于单个前述公开的实施例的所有特征。因此,在此明确地将权利要求合并到本说明书中,其中每个权利要求自身作为单独的实施例。
Claims (20)
1.一种设备,包括:
用于执行计算用于数据加密操作的认证标签的过程的装置,包括:
用于利用伪随机数生成器来生成一个或多个随机值的装置;
用于接收用于计算的多个数据块并且利用所接收的多个数据块和所述一个或多个随机值来执行计算以生成中间值的装置;
用于执行数据累积操作以在所述数据块的计算中累积随机值的装置;以及
用于至少部分地基于所生成的中间值和所累积的随机值来计算所述认证标签的装置。
2.根据权利要求1所述的设备,其中计算所述认证标签还基于所接收的计数器值。
3.根据权利要求2所述的设备,其中在处理全部的所述多个数据块之后,执行所述认证标签的计算。
4.根据权利要求1所述的设备,还包括:用于在处理所述多个数据块中的数据块与对随机值执行所述数据累积操作之间执行一个或多个虚拟操作的装置。
5.根据权利要求1所述的设备,还包括:
用于将所述中间值存储在第一寄存器中并且将所累积的随机值存储在第二寄存器中的装置。
6.根据权利要求1所述的设备,还包括:
用于在提供用于计算所述认证标签的所述中间值时在多个源之间进行多路复用的装置。
7.根据权利要求6所述的设备,还包括:
用于执行所述认证标签的计算的优化的装置,包括执行一个或多个保护操作以在提供所述中间值时维持多个源之间的所述多路复用的装置。
8.根据权利要求6所述的设备,其中所述多路复用包括用于计算所述认证标签的最终值的一个或多个多路复用器的实现。
9.根据权利要求1所述的设备,其中所述数据加密操作是AES-GCM(高级加密标准-伽罗瓦计数器模式)加密操作。
10.一种系统,包括:
一个或多个处理器,所述一个或多个处理器包括一个或多个处理核心,所述一个或多个处理器用于计算用于数据加密操作的认证标签;以及
用于存储数据的存储器,所述数据包括用于一个或多个安全操作的数据;
其中所述一个或多个处理器用于:
利用伪随机数生成器来生成一个或多个随机值;
接收用于计算的多个数据块,并且利用所接收的多个数据块和所述一个或多个随机值来执行计算以生成中间值;
执行数据累积操作以在所述数据块的计算中累积随机值;以及
至少部分地基于所生成的中间值和所累积的随机值来计算所述认证标签。
11.根据权利要求10所述的系统,其中:
计算所述认证标签还基于所接收的计数器值;并且
在处理全部的所述多个数据块之后,执行所述认证标签的计算。
12.根据权利要求10所述的系统,其中所述一个或多个处理器还用于:在处理数据块时,在接收下一数据块之前的一个或多个时钟周期期间更新所述伪随机数生成器的状态或值。
13.根据权利要求10所述的系统,还包括多个寄存器,所述多个寄存器包括至少第一寄存器和第二寄存器,其中所述一个或多个处理器还用于:
将所述中间值存储在所述第一寄存器中并且将所累积的随机值存储在所述第二寄存器中。
14.根据权利要求10所述的系统,还包括一个或多个多路复用器,所述一个或多个多路复用器用于:在提供用于计算所述认证标签的中间值时,在多个源之间进行多路复用。
15.根据权利要求14所述的系统,其中所述一个或多个多路复用器用于计算所述认证标签的最终值。
16.根据权利要求10所述的系统,其中所述数据加密操作是AES-GCM(高级加密标准-伽罗瓦计数器模式)加密操作。
17.一种用于计算AES-GCM(高级加密标准-伽罗瓦计数器模式)数据加密操作的认证标签的方法,包括:
利用伪随机数生成器来生成一个或多个随机值;
接收用于计算的多个数据块,并且利用所接收的多个数据块和所述一个或多个随机值来执行计算以生成中间值;
执行数据累积操作以在所述数据块的计算中累积随机值;以及
至少部分地基于所生成的中间值、所累积的随机值和所接收的计数器值来计算所述认证标签。
18.根据权利要求17所述的方法,其中在处理全部的所述多个数据块之后执行所述认证标签的计算。
19.根据权利要求17所述的方法,还包括:
将所述中间值存储在第一寄存器中,将所累积的随机值存储在第二寄存器中。
20.根据权利要求17所述的方法,还包括:
在提供用于计算所述认证标签的所述中间值时,在多个源之间进行多路复用。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/024,107 US20220083651A1 (en) | 2020-09-17 | 2020-09-17 | Protection of authentication tag computation against power and electromagnetic side-channel attacks |
US17/024,107 | 2020-09-17 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114205104A true CN114205104A (zh) | 2022-03-18 |
Family
ID=77126594
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110941379.6A Pending CN114205104A (zh) | 2020-09-17 | 2021-08-17 | 针对功率和电磁侧信道攻击的对认证标签计算的保护 |
Country Status (3)
Country | Link |
---|---|
US (2) | US20220083651A1 (zh) |
EP (1) | EP3972187A1 (zh) |
CN (1) | CN114205104A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10909039B2 (en) | 2019-03-15 | 2021-02-02 | Intel Corporation | Data prefetching for graphics data processing |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2494731B (en) * | 2011-09-06 | 2013-11-20 | Nds Ltd | Preventing data extraction by sidechannel attack |
JP5481455B2 (ja) * | 2011-09-27 | 2014-04-23 | 株式会社東芝 | 暗号処理装置 |
FR3056322B1 (fr) * | 2016-09-21 | 2018-09-21 | Safran Identity & Security | Procede de chiffrement ou de dechiffrement protege contre des attaques par canaux caches |
US10915667B2 (en) * | 2016-12-21 | 2021-02-09 | Cryptography Research, Inc. | Protecting parallel multiplication operations from external monitoring attacks |
US10507795B1 (en) * | 2018-08-06 | 2019-12-17 | Ford Global Technologies, Llc | Vehicle-based password |
US11593298B2 (en) * | 2019-11-20 | 2023-02-28 | University Of Florida Research Foundation, Inc. | Reconfigurable network-on-chip security architecture |
-
2020
- 2020-09-17 US US17/024,107 patent/US20220083651A1/en not_active Abandoned
-
2021
- 2021-07-29 EP EP21188372.3A patent/EP3972187A1/en active Pending
- 2021-08-17 CN CN202110941379.6A patent/CN114205104A/zh active Pending
-
2022
- 2022-12-15 US US18/066,913 patent/US20230185905A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220083651A1 (en) | 2022-03-17 |
US20230185905A1 (en) | 2023-06-15 |
EP3972187A1 (en) | 2022-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11917053B2 (en) | Combined SHA2 and SHA3 based XMSS hardware accelerator | |
US11405213B2 (en) | Low latency post-quantum signature verification for fast secure-boot | |
CN112152788A (zh) | 用于后量子密码安全xmss和lms基于散列的签名和验证的加速器 | |
US11516008B2 (en) | Efficient post-quantum secure software updates tailored to resource-constrained devices | |
CN112152786A (zh) | 无签名扩展的快速xmss签名验证和临时数采样过程 | |
US11424907B2 (en) | Countermeasures for side-channel attacks on protected sign and key exchange operations | |
US11575515B2 (en) | Post-quantum secure remote attestation for autonomous systems | |
US20210152331A1 (en) | Protecting polynomial hash functions from external monitoring attacks | |
CN117882334A (zh) | 经典和后量子签名的高效杂交 | |
CN112152784A (zh) | 用于基于散列的签名算法的并行处理技术 | |
US20230185905A1 (en) | Protection of authentication tag computation against power and electromagnetic side-channel attacks | |
EP4152681A1 (en) | Low overhead side channel protection for number theoretic transform | |
US20220100873A1 (en) | Computation of xmss signature with limited runtime storage | |
CN117581504A (zh) | 用于解决随机化散列和联邦信息处理标准的xmss管理 | |
US11522678B2 (en) | Block cipher encryption for processor-accelerator memory mapped input/output communication | |
US20220123949A1 (en) | Side channel protection for xmss signature function | |
US11924320B2 (en) | Devices and methods for protecting cryptographic programs | |
US20240031127A1 (en) | Lightweight side-channel protection for polynomial multiplication in post-quantum signatures | |
US20240220640A1 (en) | Combined protection of symmetric-key primitives against side-channel and fault attacks | |
US20240007266A1 (en) | Reconfigurable side-channel resistant double-throughput aes accelerator | |
US20220416998A1 (en) | Side channel protection for sha3 cryptographic functions | |
US20240031140A1 (en) | Efficient low-overhead side-channel protection for polynomial multiplication in post-quantum encryption |
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 |