CN109417466A - 机密密钥估算方法与装置 - Google Patents
机密密钥估算方法与装置 Download PDFInfo
- Publication number
- CN109417466A CN109417466A CN201780033868.3A CN201780033868A CN109417466A CN 109417466 A CN109417466 A CN 109417466A CN 201780033868 A CN201780033868 A CN 201780033868A CN 109417466 A CN109417466 A CN 109417466A
- Authority
- CN
- China
- Prior art keywords
- leakage
- function
- traces
- cryptographic
- algorithm
- 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
- 238000011156 evaluation Methods 0.000 title claims description 25
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 83
- 238000009826 distribution Methods 0.000 claims abstract description 40
- 238000012545 processing Methods 0.000 claims abstract description 19
- 238000000034 method Methods 0.000 claims description 45
- 238000004458 analytical method Methods 0.000 claims description 35
- 239000011159 matrix material Substances 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 description 85
- 238000004891 communication Methods 0.000 description 33
- 238000005259 measurement Methods 0.000 description 21
- 238000006467 substitution reaction Methods 0.000 description 21
- 239000013598 vector Substances 0.000 description 17
- 238000007476 Maximum Likelihood Methods 0.000 description 16
- 230000000875 corresponding effect Effects 0.000 description 15
- 230000000873 masking effect Effects 0.000 description 12
- 238000005457 optimization Methods 0.000 description 11
- 230000006399 behavior Effects 0.000 description 10
- 230000001010 compromised effect Effects 0.000 description 10
- 238000011084 recovery Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000003860 storage Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 5
- 238000000605 extraction Methods 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000004088 simulation Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012512 characterization method Methods 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000000523 sample Substances 0.000 description 2
- 238000012356 Product development Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000006555 catalytic reaction Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010367 cloning Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 230000005670 electromagnetic radiation Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 238000012067 mathematical method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000013179 statistical model Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
-
- 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
-
- 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
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/08—Randomization, e.g. dummy operations or using noise
-
- 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
-
- 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/26—Testing cryptographic entity, e.g. testing integrity of encryption key or encryption algorithm
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明的实施方案提供了一种确定在由至少一个加密算法使用的加密函数的多次执行期间所使用的至少一个机密密钥的估算值的机密密钥估算装置(13)。加密函数的执行次数为至少等于二。机密密钥估算装置(13)包括分析单元(14),其用于从在加密函数的执行次数期间所获取的边信道信息中确定多组泄露迹线。每组泄露迹线对应于加密函数的一次执行并且包括至少一个泄露迹线。机密密钥估算装置(13)进一步包括处理单元(15),其配置为确定所获取的多组泄露迹线的统计分布。该统计分布取决于泄露函数,该泄露函数在函数基中通过一组实值表示。机密密钥估算装置(13)配置为根据性能度量的最大化、利用估算算法从多组泄露迹线的统计分布中确定机密密钥。
Description
技术领域
本发明总体而言涉及加密***,更具体地,涉及用于估算在加密算法中使用的机密密钥的方法和装置。
背景技术
新兴的计算和通信技术从根本上改变了信息通信和交换的方式。伴随着“数字革命”带来的速度、效率以及成本节约的好处,“数字革命”对于跨越全球通信设施的通信和信息的安全性和隐私性也提出了新的挑战。
为了响应这些挑战,已设计出多种加密安全技术。密码学的使用能够保护经存储的、经处理的以及经通信的信息免受***或窃听者的攻击。已开发出各种带密钥的加密算法。这些带密钥的加密算法在数据的存储、处理或传输过程中基本上使用机密信息来保护数据,并提供机密性、完整性、可靠性、不可否认***,这些服务对于几乎任何安全相关的应用都是至关重要的。
此外,基于密钥的加密算法可以与诸如机密分割或掩蔽方案的随机化技术相结合。随机化技术可以有利地用于向加密算法添加保护层。随机化技术基于随机的未知数,从而防止无意的接收者或攻击者预测机密的加密密钥。例如在以下文献中公开了示例性的掩蔽方案:
“S.Chari、C.S.Jutla、J.R.Rao和P.Rohatgi,Towards Sound Approaches toCounteract Power-Analysis Attacks,Advances in Cryptology-CRYPTO,the SeriesLecture Notes in Computer Science第1666卷,第398-412页,1999”。
密码分析技术可以用于评估实施加密算法的任何信息***的防护等级和安全性等级。已提出了诸多密码分析方法。传统的数学方法基本上基于加密算法的输入和输出而针对加密算法的弱点。近来,人们对边信道攻击的分析越来越感兴趣。边信道分析表示一种密码分析方法,该密码分析方法不针对加密算法本身的弱点,而是利用加密算法的实施中的弱点。
边信道攻击依赖于以下事实:加密算法的任何实际的实施都不是理想的,并且会泄露一些物理可观察参数,这些物理可观察参数取决于受攻击***的机密密钥或内部状态。这些参数包括时间、功耗、电磁辐射以及主动诱导执行故障下的算法行为。在立即访问物理泄露加密实现后,攻击者可以使用边信道信息来提取与加密的机密密钥相关的最大可能的信息量,并且尽可能地恢复加密的机密密钥。边信道攻击仍然是危及个人隐私以及挑战加密***的防护和安全性的主要问题。
边信道攻击通过探索边信道可观察量(也称为“测量”或“迹线”或“泄露迹线”)与受攻击***的内部状态之间的依赖关系来实现密钥相关的信息提取。这种依赖关系利用特定的泄露模型进行描述。泄露模型(例如,汉明重量/距离模型)是在考虑到任意机密的加密密钥假设的情况下用于表征泄露迹线的统计分布的概率模型。通过泄露模型模拟的泄露迹线可以视为来源于这种泄露模型的仿真。因此,边信道攻击可以基于受攻击的加密***的泄露行为的知识分为两种类别,这两种类别称为“剖析的(profiled)攻击”和“未剖析的(unprofiled)攻击”。
第一“剖析的攻击”类别包括例如分别在以下文献中公开的模板攻击和随机攻击:
-“S.Chari、J.R.Rao和P.Rohastgi,Template Attacks,Cryptographic Hardwareand Embedded Systems(CHES),the Series Lecture Notes in Computer Science第2523卷,第13-28页,2002”;
-“W.Schindler、K.Lemke和C.Paar,A Stochastic Model for DifferentialSide Channel Cryptanalysis,Cryptographic Hardware and Embedded Systems(CHES),the Series Lecture Notes in Computer Science第3659卷,第30-46页,2005”。
剖析的攻击需要剖析阶段和在线密钥恢复阶段。在剖析阶段,配备有与受攻击装置相同的装置的攻击者试图表征受攻击装置的泄露模型。此后,在第二阶段,攻击者尝试利用所确定的泄露模型以及在受攻击***的运行时间内所获得的泄露迹线来恢复机密密钥。利用称为“区分器”的估算算法并且根据性能度量的最大化来执行密钥提取。用于剖析的攻击的最佳区分器是以“机密的加密密钥的成功恢复的概率最大化”为基础的。在存在均匀分布的加密密钥值的情况下,这种最大化问题等同于最大似然(ML)优化问题。如在“A.Heuser、O.Rioul和S.Guilley,Good Is Not Good Enough-deriving OptimalDistinguishers from Communication Theory,Cryptographic Hardware and EmbeddedSystems(CHES),the Series Lecture Notes in Computer Science第8731卷,第55-74页,2014”中公开的,ML区分器通过使成功率(即,成功估算机密的加密密钥的比率)最大来提供最佳性能。
此外,区分器可以以其他性能标准为基础,诸如在“F-X.Standaert、T.Malkin和M.Yung,A Unified Framework for the Analysis of Side-Channel Key RecoveryAttacks,EUROCRYPT,the Series Lecture Notes in Computer Science第5479卷,第443-461页,2009”中公开的“猜测熵”和“第d阶成功率”。猜测熵提供了正确密钥的排列。“第d阶成功率”指的是在由区分器返回的d个最佳机密密钥中挑选出正确密钥的概率。
剖析的攻击利用泄露模型知识或表征来恢复机密的加密密钥。随机的剖析的攻击特别地利用泄露模型的参数化表征。然而,对于一些装置和应用,泄露剖析可能是不可能的,因为攻击者没有持有受攻击装置的开放副本(第一种情况)或者因为泄露性质是不可预测的(第二种情况)。
第一种情况例如可能发生在诸如银行和电子通信的应用中,因为机密密钥不能被设置为选定值。第二种情况主要发生在存在基于例如物理不可克隆函数(PUF,PhysicalUnclonable Functions)的特殊泄露装置的情况下。由于制造过程的可变性或者当应用对策以减少由于处理的数据导致的泄露差异时,每个基于PUF的装置具有特定的泄露行为。每个装置的泄露行为的特殊性阻止了学习的泄露模型从一种设计到另一种设计的应用。实际上,示例性的特殊泄露装置包括在互补金属氧化物半导体(CMOS)或深亚微米(DSM)技术中实施的硬件电路。
在常规模型无法表征或捕获泄露行为的情况下,只能使用未剖析的攻击策略。可以考虑“未剖析的”类型的三种主要攻击方法:
-假定一个应该足够接近现实的假设模型,
-估算泄露模型直到参数化,或
-忽略泄露模型。
基于受攻击***或装置的泄露行为的假设的策略包括:
-例如在“P.Kocher、J.Jaffe和B.Jun,Differential Power Analysis。Advancesin Cryptology-CRYPTO,the Series Lecture Notes in Computer Science第1666卷,第388-397页,1999”中公开的差分功耗分析(DPA);
-例如在“E.Brier、C.Clavier和F.Olivier,Correlation Power Analysis witha Leakage Model,Cryptographic Hardware and Embedded Systems(CHES),the SeriesLecture Notes in Computer Science第3156卷,第16-29页,2004”中公开的相关性功耗分析(CPA);
-例如在“B.Gierlichs、L.Batina、P.Tuyls和B.Preneel,Mutual InformationAnalysis,Cryptographic Hardware and Embedded Systems(CHES),the Series LectureNotes in Computer Science第5154卷,第426-442页,2008”中公开的交互信息分析(MIA)。
DPA和CPA是针对众多嵌入式***(如智能卡微控制器和专用集成电路(ASIC))的最广泛的实际攻击。
基于受攻击***在其运行时间内泄露行为的参数估算的边信道攻击包括例如在“J.Doget、E.Prouff、M.Rivain和F-X.Standaert,Univariate Side-Channel Attacks andLeakage Modeling,Journal of Cryptographic Engineering,1(2):123-144,2011”中公开的线性回归分析(LRA)。LRA的目的是在剖析阶段推断出模型。使用LRA需要关于泄露模型的代数属性的一些最小假设。
基于泄露模型假设或基于参数估算的面向泄露模型的攻击都对泄露建模误差敏感。泄露建模假设的误差或缺乏关于加密实现的详细先验知识可能会加剧甚至阻止加密密钥的成功恢复。然而,成功的密钥提取有时可能是安全评估所必需的。实际上,当提取密钥时,用于收集边信道迹线的实验设置是正确的以及装置正在泄露是不明确的。因此,真正的密钥提取的成功比纯粹的安全性度量更可信。此外,在某些情况下,在产品开发过程中,明智的是测试攻击而不是所有的对策都被激活,然后在激活所有对策后检查攻击是否仍然可能存在。
此外,这些策略的效率有限,因为它们需要许多测量(超过严格要求)来表征或比较假设泄露模型的统计分布。
为了规避建模问题,已开发出替代的边信道“碰撞攻击”。无需估算或假设泄露模型,碰撞攻击不是基于任何特定的泄露模型,并且不需要任何关于加密实现的重要先验知识(这是许多边信道攻击的主要限制)。
碰撞攻击也称为“面向模式匹配”的边信道攻击,因为它们基本上基于中间处理数据的泄露相似性。当在计算不同输入时获得加密实现的相同内部状态时发生内部碰撞。碰撞攻击利用这样的事实:当发生这种碰撞时,由于噪声影响,中间值或依赖于相同密钥或密钥的相同部分的值(在下文中也称为“子密钥”)可以具有类似的泄露而不具有相同的泄露。它们例如能够消耗相同的功率,因此可以在功率/电磁测量中观察到类似的模式。内部碰撞因此通知攻击者目标密钥部分满足某些代数属性。在检测到发生内部碰撞时,攻击者利用处理数据的边信道泄露和代数属性来减少有效密钥假设的搜索空间,并且可能使用数量减少的泄露迹线来恢复目标密钥。
在不同时间内,可能在加密算法的不同执行之间发生碰撞。例如,分组密码的软件实现就是这种情况,其多次重复使用某些加密函数的相同实体,例如替换盒(S-盒)。AES算法是这种加密算法的一个示例,其中称为子字节的S-盒被重复使用16次。或者,例如在硬件实现中,不同密钥或密钥的不同部分的泄露将同时发生。在这种情况下,不同的内部敏感值将同时泄露。
边信道碰撞攻击具有三种基本特性的独特组合,这些特性在任何其他边信道分析技术中不同时存在。首先,它们都基于受攻击加密算法的代数属性。其次,它们都利用这样的事实:相同的泄露模型同等地应用于(或者以确定的方式适用于)对相同加密函数的一组调用。再次,它们都不要求加密实现的任何重要的先验知识。示例性碰撞攻击包括:
-例如在“C.Clavier、B.Feix、G.Gagnerot、M.Roussellet和V.Verneuil,ImprovedCollision-Correlation Power Analysis on First Order Protected AES,Cryptographic Hardware and Embedded Systems(CHES),第49-62页,2011”中公开的对AES的碰撞攻击;
-例如在“A.Bogdanov,Improved Side-Channel Collision Attacks on AES,Selected Areas in Cryptography,Lecture Notes in Computer Science第4876卷,第84-95页,2007”中公开的广义的碰撞攻击;以及
-在“A.Moradi、O.Mischke和T.Eisenbarth,Correlation-Enhanced PowerAnalysis Collision Attack,Cryptographic Hardware and Embedded Systems(CHES),the Series Lecture Notes in Computer Science第6225卷,第125-139页,2010”中公开的相关性增强的碰撞攻击。
这种边信道分析策略主要依赖于在内部碰撞持续存在的时间跨度内边信道迹线相似的假设。找到与内部碰撞的泄露相似性相对应的准确时间样本以检测碰撞是边信道攻击情况下的主要关注点。错误的碰撞检测可能会引起所分析的加密算法的代数属性的误用。因此,可能会错过正确的目标加密密钥。
现有的边信道碰撞攻击(包括上述的边信道碰撞攻击)具有多个限制。一些缺点主要是由于碰撞检测的复杂性和仅使用对应于内部碰撞的泄露迹线,从而需要数量增加的泄露迹线并降低边信道分析的效率。
此外,由于使用次优标准来根据泄露迹线确定机密密钥的估算值,因此上述碰撞攻击例如在没有密钥掩蔽的实现中表现出较差的性能。在掩蔽的加密实现的情况下,对AES的碰撞攻击和广义碰撞攻击仍然表现出有限的性能,而相关性增强的攻击只能应用于设置的加密函数的实现条件,这可能是任何加密***都不满足的。例如,如果掩蔽根据在以下文献中给出的定义是一阶完美的,则相关性增强的攻击失败:“JohannesJorgeGuajardo、Volker Krummel:Provably Secure Masking of AES,Selected Areas inCryptography 2004:69-83”。
因此,需要开发出解决最佳性能标准的边信道分析方法,以确定在任何掩蔽或未掩蔽的加密实现中使用的机密的加密密钥的估算值,从而将边信道碰撞分析技术的优点与在线剖析策略的效率相结合。
发明内容
为了解决这些和其他的问题,提供了一种机密的加密密钥估算装置,其通过对在加密函数执行期间所获取的泄露信息进行最优联合分析来确定在由至少一个加密算法使用的加密函数的多次执行期间所使用的至少一个机密密钥的估算值。根据本发明的一方面,机密密钥的估算值通过在加密函数的不同执行期间所获取的全部泄露迹线的统计分布而确定。该统计分布取决于泄露函数。泄露函数是空间向量在实数上的元素。每个泄露函数通过一组未知的实值(其对应于其在跨越空间向量的函数基中的坐标)来表示。
估算装置可以包括分析单元,其配置为从在加密函数的执行次数期间所获取的边信道信息中确定多组泄露迹线。每组泄露迹线包括在加密函数的执行期间所获取的至少一个泄露迹线。
估算装置可以进一步包括处理单元,其配置为确定多组泄露迹线的统计分布。该统计分布取决于泄露函数。泄露函数在函数的典范基中通过一组实值表示。估算装置配置为根据性能度量的最大化、利用估算算法(下文中也称为“区分器”)从多组泄露迹线的确定的统计分布中确定机密的加密密钥的至少一个估算值。
在某些实施方案中,分析单元可以配置为根据加密函数的执行次数来确定泄露迹线的组的数量。
在某些实施方案中,可以根据信噪比和/或目标性能度量确定每组泄露迹线中的泄露迹线的数量。
根据本发明的某些实施方案,处理单元可以进一步配置为根据已知的协方差矩阵的噪声确定多组泄露迹线的统计分布。
在某些实施方案中,性能度量可以选自机密的加密密钥计算的成功概率、猜测熵以及给定顺序的成功率。
在一些实施方案中,估算装置可以进一步配置为确定表示泄露函数的未知的实值的估算值。
在特定的实施方案中,估算装置可以使用迭代算法来确定未知的实值的估算值。
在一个实施方案中,迭代算法可以是期望最大化算法。
估算装置可以进一步配置为通过至少一个机密的加密密钥的确定估算值来传送性能度量,从而评估所分析的加密算法针对一个或更多个边信道攻击的漏洞。
在一些实施方案中,加密算法可以是分组密码算法(block cipher algorithm)。对应的加密函数可以是替换盒(substitution box),而对应的机密的加密密钥可以是对称密钥。
在特定实施方案中,分组密码算法可以是高级加密标准算法。
还提供了一种确定由在至少一个加密算法使用的加密函数的多次执行期间所使用的至少一个机密的加密密钥的估算值的方法。加密函数的执行次数为至少等于二。
估算方法可以包括从在加密函数的执行次数期间所获取的边信道信息中确定多组泄露迹线。每组泄露迹线包括至少一个泄露迹线。
估算方法可以包括确定多组泄露迹线的统计分布。该统计分布取决于泄露函数。泄露函数在函数的典范基中通过一组实值表示。估算方法可以进一步包括根据性能度量的最大化、利用估算算法从多组泄露迹线的确定的统计分布中确定至少一个机密的加密密钥。
因此,本发明的各种实施方案提供了适用于运行相同加密函数的两次以上执行的加密实现的边信道分析技术。特别是,本发明的各种实施方案有利地能够通过利用并且最佳地组合在加密函数的多次执行期间所获取的所有泄露迹线而实现边信道信息的有效的联合分析。此外,与仅使用对应于内部碰撞的特定迹线的现有方法相反,根据本发明的实施方案的加密密钥估算考虑到所有迹线。因此,对于给定数量的迹线,可以实现机密的加密密钥的更高的成功恢复率。
本发明的各种实施方案还提供了有效的边信道分析技术,该边信道分析技术不受泄露建模误差的影响,并且能够抵抗泄露行为的高度不均匀性。
本发明的另一个优点是提供最佳性能,以及在掩蔽加密实现的情况下的最高抵抗力和鲁棒性。
本发明的各种方法和装置可以用作有效的逆向工程工具,该逆向工程工具旨在恢复独特的加密实现的算法部分和泄露模型。
经审阅附图和详细说明,本发明的其他优点对于本领域技术人员将变得明显。意图将任何其他优点并入本文。
附图说明
并入说明书中并构成说明书一部分的附图连同以上给出的本发明的总体描述一起示出了本发明的各种实施方案,以下给出的实施方案的详细描述用于解释本发明的实施方案。
图1是机密密钥估算装置的实现方式的示意图;
图2是示出根据本发明示例性实施方案的机密密钥估算装置的详细结构的框图;
图3是描述根据本发明示例性实施方案的机密密钥估算方法的流程图;
图4描述了示出利用根据某些实施方案的机密密钥估算方法获得的成功率的多个示意图;
图5是示出利用根据某些实施方案的机密密钥估算方法获得的成功率的示意图;以及
图6是根据本发明的某些实施方案的机密密钥估算装置的示例性硬件架构。
具体实施方式
本发明的实施方案提供了针对一个或更多个边信道攻击的加密实现的边信道分析的方法和装置。具体地,本发明的实施方案提供了根据边信道泄露信息来确定在用于加密算法的加密函数的多次执行过程中使用的机密的加密密钥的至少一种估算值的方法和装置。来自所分析的加密***的泄露信息由多组泄露迹线的统计分布表征。该统计分布取决于泄露函数。泄露函数通过一组未知值在函数的典范基中表示。
参考图1,图中示出了根据某些实施方案的机密密钥估算装置13的示例性实现方式。机密密钥估算装置13可以实施为通过探索在加密函数的多次执行期间所获取的边信道信息12,评估在加密算法11中实现的加密函数的多次执行期间加密***10针对一个或多个边信道攻击的安全性等级和漏洞。
根据本发明各种实施方案的机密值估算方法和装置可以在设计、制造或认证过程中部署,以评估所制造的加密***10的安全性等级。加密***10可以是实施用于保障数据保护和/或安全性的加密算法11的任何信息***或装置。加密算法11可以使用机密的加密密钥,以用于以“密文”的形式隐藏数据/信息的内容。
加密***10可以用于各种存储、信息处理或通信***。例如,在本发明的存储***应用中,加密***10可以表示任何的固定的或移动的存储装置,如由加密算法监控的存储卡或具有登录访问权限的硬盘。在本发明的信息处理应用中,加密***10可以例如是计算机***、数据库、在线销售***或金融***,其实施加密算法11以用于保护要在***中交换或存储的数据,例如个人金融或医疗数据。在本发明应用于通信***时,加密***10可以是例如部署在无线通信网络中的用户终端、中继站或基站,加密***10实施加密算法11以确保数据在不安全的通信介质上传输期间的数据安全性。
在加密***10中实施的每个加密算法11可以与机密的加密密钥的成功提取的指示符以及***针对边信道攻击的安全性等级相关联。这些参数可以取决于泄露模型表征和/或用于确定所使用的机密密钥的估算值的计算算法(下文中也称为“区分器”)。
本发明的各种实施方案提供了不需要关于加密***的泄露行为的任何先验知识的机密密钥估算方法和装置。确定所使用的加密密钥的估算值可以通过探索在不同的加密函数执行过程中所获取的泄露信息而最佳地进行。
仅为了说明的目的,以下的某些实施方案的描述将参考本发明对于通信***的应用。然而,本领域技术人员将容易理解,本发明的各种实施方案可以应用于其他类型的***,例如数据处理或存储***。
参考图2,图中示出了供通信***200中包括的通信装置20使用以估算至少一个机密密钥的方法和装置的示例性实现方式。通信装置20可以是固定装置,例如在有线通信***中运行的计算机,或者是移动装置,例如无线网络中运行的用户终端。通信装置20例如可以包括:
-消息发生器或消息接收器201,其分别配置为生成输出数据或接收输入数据(例如以信号或消息的形式);
-加密单元202,其实施加密算法以用于执行一个或更多个加密运算。
如本文所使用的,加密运算指定配置为在加密实现中执行特定任务的特定加密处理或函数。示例性加密运算包括:数据加密/解密、消息认证、密码安全伪随机数生成、数字签名和加密散列函数计算。
在加密单元202配置为执行加密/解密的示例性实施方案中,加密单元202可以利用至少一个加密机密密钥来实施至少一个加密算法。加密过程或函数指的是将消息发生器/接收器201传送的消息或信息编码为称为“密文”的文本。对密文进行编码,使得如果接收器保持用于生成密文的加密密钥,则接收器只能读取密文。解密过程或函数指定能够从已加密的消息中恢复原始文本的反向操作。
在本发明的一个实施方案中,用于对数据进行加密/解密的加密算法可以是多次重新使用加密函数的相同实体的对称密钥加密算法。使用不同的输入值或消息对相同的加密函数的重复调用可以有利地用于估算加密实现的一些属性。这种实施方案的示例包括如AES算法的分组密码,其在为L次执行期间重复使用替换盒(记为“S-盒”)的相同实体,其中L至少等于二。替换盒是执行替换的基于基本组件密钥的加密函数。
在本发明的另一个实施方案中,加密算法可以同时执行不同加密函数的多个实体。分组密码的硬件加密实现是这种实施方案的示例性应用。
通信装置20可以配置为将安全数据与至少另一个通信装置20通过通信接口21进行通信。通信接口21例如可以是有线链路、无线传播介质或光学连接。
边信道22示意性地表示从通信装置20泄露的信息。泄露信息例如可以是:加密/解密过程期间通信装置20的功耗、执行给定加密运算所需的处理时间、通信装置20发出的电磁发射、声音或红外辐射等。这样的泄露信息可以由一系列值(称为“边信道迹线”)进行表示。泄露信息可以统计地揭示与在加密单元202中运行的加密算法相关的某些特征。
边信道泄露信息22可以通过测量单元23进行收集,测量单元23配置为在通信装置20的运行时间内从泄露信息中收集多个迹线测量的组。测量单元23可以包括:
-选择单元231,其配置为确定为每个泄露迹线的组收集的迹线的数量Q;
-数据获取单元232,其配置为从来自通信装置20的泄露信息中收集迹线的样本。数据获取单元232例如可以是高速装置(例如具有高速模拟-数字捕获装置的现代数字示波器)或配备有一组配置为从泄露信息22中检测通信装置20的物理特性(例如,电压、电流、功率)的传感器(无源或有源)、电磁探针、或者温度或声学传感器等的任何仪器。
在加密单元202实施分组密码(其对于L≥2次执行使用替换盒的相同实体)的某些实施方案中,测量单元23可以配置为收集小于或等于L的若干个泄露迹线的组。对于替换盒(通常是加密函数)的每次执行,测量单元23可以配置为收集一组Q个迹线。在这样的实施方案中,对于替换盒的连续调用可以间隔至少一个时钟周期。
在某些实施方案中,选择单元231可以配置为根据信噪比确定每组迹线中获取的泄露迹线的数量Q,以考虑噪声水平。
在其他实施方案中,选择单元231可以配置为根据目标性能度量来确定在每组迹线中获取的泄露迹线的数量Q。
然后,收集的迹线可以传送到机密密钥估算装置24,以用于从泄露迹线的组中确定机密密钥的至少一个估算值。
在一个实施方案中,机密密钥估算装置24可以包括:
-分析单元241,其配置为处理所获取的泄露迹线的组,从而去除校准误差、突出显示信号和/或降低噪声水平;
-处理单元242,其配置为从分析单元241处理过的数据中确定所收集的泄露迹线的组的统计分布。处理单元242可以进一步配置为利用估算算法并且根据性能度量的最大化来产生机密密钥的估算值。
-性能评估单元243,其配置为计算性能度量,从而衡量估算算法的效率以及通信装置20针对一个或更多个边信道攻击的漏洞。
在某些实施方案中,处理单元242可以配置为根据泄露函数来确定所收集的泄露迹线的组的统计分布。
在一些实施方案中,处理单元242可以配置为根据已知的协方差矩阵的噪声来确定所收集的泄露迹线的组的统计分布。
在一个实施方案中,泄露函数可以通过一组未知值的实值在函数的典范基中表示。
在一个实施方案中,处理单元242可以配置为根据密钥成功恢复的概率的最大化来生成机密密钥的估算值。在这样的实施方案中,性能评估单元243可以配置为通过确定加密单元202实施的机密密钥成功恢复的成功率或成功恢复的比率来衡量通信装置20的安全性等级。因此,在泄露函数通过一组未知的实值在函数的典范基中表示的实施方案中,处理单元可以进一步配置为与机密密钥的估算值一起联合地确定未知的实值的估算值。处理单元242可以使用诸如EM算法的迭代算法来联合确定这些估算值。
根据本发明的各种实施方案,提供了具有特定的代数属性的加密实现的有效的边信道分析的方法和装置。具体地,所分析的加密实现可以运行相同加密函数的各种执行或迭代调用L≥2次。与仅考虑对应于内部碰撞的泄露迹线的碰撞攻击相反,本发明的各种实施方案通过利用对应于加密函数的全部执行的泄露信息来提供有效和最佳的边信道分析方法和装置。
图3是示出根据本发明示例性实施方案的机密密钥估算方法的流程图,该方法基于多次重复使用加密函数的相同实例的加密算法来执行加密实现的边信道分析和安全性评估。该机密密钥估算方法基于预先加载在所分析的加密装置并且在所分析的加密装置(例如,***分析员或***管理员)上运行的加密运算而执行。
下面的描述将参考分组密码加密算法进行,该分组密码加密算法在L次执行期间重复使用替换盒的相同实例,对于数据加密L至少等于2,仅为了说明的目的。然而,本领域技术人员将容易理解,下文中描述的某些实施方案也可以应用于使用基于给定加密函数的多次调用的任何加密算法的任何加密运算。
在步骤300,在所分析的加密实现中触发加密运算,该加密实现可以运行一个或更多个分组密码加密算法。分组密码加密算法可以执行相同的替换盒L次,其中L≥2。在每次替换盒执行时,可以生成一组下文中通常称为“明文”的消息或文本数据。在每次替换盒执行时可以使用加密密钥,从而将明文加密成密文。在替换盒的多次执行期间使用的机密密钥和原始数据可以由位向量表示,每个向量包括n比特。每个机密密钥可以是确定的变量,而原始数据可以是随机的。在替换盒的第l次执行时使用的加密密钥表示为k(l)∈{0,1}n。假设***管理员了解明文,而不需要关于机密密钥的任何先验知识。
此外,机密密钥可以利用一组不可预测的随机掩码进行掩蔽。随机掩码可以由包括n比特的位向量表示。掩码可以由分组密码在内部生成。在替换盒的第l次执行时使用的掩码表示为m(l)∈{0,1}n。相同或不同的掩码可以用于替换盒的各种执行。
在步骤301,可以确定要收集的泄露迹线的组的数量。
在某些实施方案中,泄露迹线的组的数量可以通过替换盒的执行的次数而确定。具体地,泄露迹线的组的数量可以有利地等于替换盒的执行的次数L。
仅出于说明的目的,将参考要收集的泄露迹线的组的数量等于替换盒的执行次数的示例性实施方案而进行以下的描述。
在步骤303,可以确定在替换盒的每次执行时从泄露信息收集的迹线测量的数量Q。数量Q可以大于或等于一(1)。数量Q可以取决于信噪比(表示为SNR)。在某些实施方案中,迹线测量的数量Q可以进一步根据目标性能测量或度量而确定。
给定替换盒的每次执行的确定的测量数量,可以在替换盒的L次执行期间在步骤305中获取分别包括Q个迹线的L组泄露迹线。因此,在执行L次替换盒的相同实例时要收集和分析的泄露迹线的总数等于Q和L的乘积(Q×L)。数据获取可以通过一组离散样本的时间序列而执行。对于大多数加密装置而言,泄露信号可以表现为连续曲线。在某些实施方案中,可能还需要测量条件保持严格相同并且获取工具的带宽足够大,使得任何两个连续获取的迹线保持独立,并且使得改变测量环境的噪声对于所有测量数据具有相同的概率分布。
因此,对于第l次执行,生成一组Q个明文,并且利用机密的加密密钥k(l)对该明文进行处理。对应于第l次执行的第q次查询的明文表示为其中q=1,…,Q且l=1,…,L。假设***分析员或管理员知道所生成的消息L×Q。通过所获取的L×Q个泄露迹线的总数来估算L个密钥k(1),…,k(L)的组。
然后,对应于所收集的L×Q个迹线的信号可以在步骤307中进行处理,从而改善数据结果、突出显示信号和/或降低噪声水平。经处理的泄露迹线可以由实值测量矩阵x(.)∈RQxL表示。
测量矩阵可以表示为x(.)=(|x(1)|…|x(l)|…x(L))的形式,其中,指数l的列向量包括替换盒的第l次执行期间所获取的Q个迹线。类似地,k(.)=(k(1)…k(l)…k(L))表示在替换盒的不同执行期间所处理的机密密钥的组。可替选地,测量矩阵可以表示为的形式,其中,指数q的行向量包括对应于替换盒的执行总数L的指数q的L个迹线。根据两种记法,对应于替换盒的第l次执行的第q次查询的泄露迹线表示为并且可以表示为:
在等式(1)中,指定***分析员未知的确定的泄露函数(deterministicleakage function),并且假设对于替换盒的所有执行相同。和分别指定所生成的明文以及模拟执行边信道分析的环境并对应于替换盒的第l次执行的第q次查询的噪声。
泄露函数是伪布尔(pseudo-Boolean)函数,其可以视为2n维向量其中,指定具有标准标量积的有限维欧几里得(Euclidean)空间,使得对于两个向量和它们的标量积由给定。
假设噪声分布是从***分析员中得知的,并假设噪声分布为已知协方差的独立且同分布的零均值高斯分布。因此,与迹线向量相关的噪声向量根据通过以下等式给出的概率密度函数进行统计分布:
在等式(2)中,∑∈RL×L指定已知的协方差矩阵,上标(.)t表示转置运算,|∑|和∑-1分别表示矩阵∑的行列式和逆矩阵。
因此,在存在高斯噪声的情况下,给定确定的泄露函数的每个泄露迹线正常分布。迹线向量根据通过以下等式给出的概率密度函数的高斯分布进行分布:
在本发明的其他实施方案中,噪声可以通过拉普拉斯分布均匀分布或建模。
在某些实施掩蔽的加密函数的实施方案中,具体地,当相同的掩码用于替换盒的全部执行m(l)=m,l=1,…,L时,等式(1)中的泄露迹线可以表示为:
在等式(4)中,S表示替换盒,m∈{0,1}n代表掩码。这种实施方案中的迹线向量根据通过以下等式给出的概率密度函数的高斯分布进行分布:
在等式(5)中,P(M=m)表示观察掩码m的概率。通常,掩码的分布是均匀的(这种实现被称为完美掩蔽)。然而,为了效率,可能遇到非均匀的掩码分布,例如在低熵掩蔽方案中。
给定在替换盒的总执行次数期间所获取的泄露迹线的总体的统计分布,可以在步骤309确定至少一个机密的加密密钥的估算值。估算算法(也称为“区分器”)可以在步骤309实施,以根据性能度量的最优来确定机密密钥的估算值。区分器D(t(.),x(.))是一个函数,其返回给定已知文本集t(.)和测量的泄露x(.)的密钥估算值。它可以被认为是从({0,1}n)QxLxRQxL到({0,1}n)L的映射。
在某些实施方案中,最大似然区分器可以在步骤309实施。当不同的密钥值均匀地分布在{0,1}n上时,表示为Dopt的ML区分器能够用于最大化机密密钥的成功恢复概率。
ML区分器通常可以表示为:
在等式(6)中,函数指定“对数似然函数”。
对数似然函数可以根据所获取的泄露迹线的统计分布表示为:
在利用相同掩码掩蔽机密密钥的实施方案中,等式(7)中的似然函数可以进一步表示为:
在存在利用等概率的掩码值(即,)以及高斯噪声的掩蔽实现的情况下,结合等式(2)、(5)和(8),似然函数可以表示为:
在特定实施方案中,噪声可以是各向同性的,其协方差矩阵可以表示为∑=σ2IL的形式,其中IL是L×L维的单位(identity)矩阵。在这样的实施方案中,等式(9)中的似然函数可以简化为:
现在,利用单个泄露迹线的表达式,等式(10)中的似然函数可以表示为:
因此,在存在高斯各向同性噪声的掩蔽实现的情况下,ML区分器可以表示为:
通过等式(12)中的最佳ML区分器解决的优化问题涉及关于泄露函数和机密密钥k(l),l=1,…,L的双重最大化。可以在对上同时执行解决该双重优化问题。或者,可以通过首先寻找内部最大化问题的最优泄露函数解,然后以一组密钥k(.)的形式找到形成外部优化问题的解的最优密钥来执行等式(12)的解。
等式(12)中的ML区分器也可以应用于掩蔽无效或未实施的情况。在这种情况下,ML区分器的相应表达式可以进行简化并且由下式给出:
等式(12)和(13)中的两个优化问题都涉及对所有泄露函数的优化:根据本发明的一些实施方案(其中,假设泄露函数未被***分析员所知),可以通过在函数的典范基中表示未知的泄露函数来执行这些优化问题的解决。在这些方案中,泄露函数空间可以利用表示为的典范基(其为正交的)进行表示,使得:
因此,泄露函数可以在典范基上分解为的形式。
基于该分解,在利用掩蔽的加密密钥并且存在各向同性高斯噪声的实施方案中,等式(12)中的ML区分器的表达式可以表示为:
在等式(15)中,内部优化问题中的变量与函数的典范基中泄露函数的分解相关联,使得
类似地,在不应用掩码的实施方案中,等式(13)中的最优ML区分器可以表示为:
利用等式(15)和(16)的优化问题,通过求解向量的最优分量等效地执行求解最优泄露函数
根据某些实施方案,可以实现迭代算法以解决等式(15)和(16)中的优化问题,使得能够联合确定泄露函数的未知参数的估算值以及机密的加密密钥的估算值。示例性迭代算法包括期望最大化(EM)算法。当模型中涉及的随机变量包括完全或部分未知的参数时,EM算法是用于统计模型中的参数估算的统计的迭代算法。例如,在掩蔽实现的情况下,给定在替换盒的L次执行期间获取的泄露迹线掩码值的组m=0,…,2n-1和定义向量的未知系数,EM算法通过在期望步骤和最大化步骤之间迭代地交替直到估算的参数收敛到局部最大值而运行。在期望步骤期间,在向量a中缺失参数的当前估算值下,EM算法评估对数似然函数相对于给定(其中,q=1,…,Q且l=1,…,L)的m的条件分布的期望值。在最大化步骤期间,算法找到使在期望步骤中评估的期望的对数似然函数最大的向量a的参数。
响应于步骤309中的机密密钥的估算值,可以在步骤311中计算性能度量PM。在某些实施方案中,可以使用安全性度量,诸如评估机密密钥的成功恢复率的成功率。机密的加密密钥的成功恢复率与错误概率相关联,错误概率表示估算的机密密钥与正确密钥不同的概率,其表示为:
在步骤313中,可以输出估算的机密密钥和性能度量PM。
图4描述了根据本发明的某些实施方案用于基于利用4位替换盒S(n=4)的PRESENT分组密码算法的加密实现的边信道分析而评估所提出的ML区分器(在图例中称为“提出的方法(Proposed method)”)在成功率方面的性能的仿真结果。在假设由汉明重量泄露模型和替换盒的组成给出的泄露模型的情况下进行模拟,使得泄露函数由下式给出:噪声假设居中并且方差为σ2。
对于不同的噪声变量值评估成功率性能:在子图(a)中σ=0,在子图(b)中σ=1,在子图(c)中σ=2,在子图(d)中σ=3。此外,成功率考虑到不同数量的迹线进行评估,并与模板攻击(在图例中称为“最佳(Optimal)”)、经典碰撞攻击(在图例中称为“碰撞(Collision)”)以及相关性增强的攻击(在图例中称为“相关性增强的攻击(Corr.-enhanced Coll)”)的成功率性能进行比较。模板攻击在一个替换盒上进行,并且需要泄露模型的知识。
图4中描述的数值结果示出了根据本发明的某些实施方案的ML区分器相对于低噪声和少量泄露迹线的相关性增强的碰撞攻击的优异性能。此外,所提出的ML区分器实现的成功率性能接近于模板攻击具有的性能,而不需要关于泄露行为的任何先验知识。
此外,对于从AES密码算法(其具有与每个泄露迹线相关的掩码值的完整知识)的掩蔽实现中收集的真实迹线执行针对图4中所示的仿真考虑的相同假设下的边信道分析。图5示出了对于噪声方差σ=1获得的成功率性能。在图5中描述的结果关于AES情况下的性能的评估。这样的结果将所获得的结果与PRESENT算法相匹配。因此,根据某些实施方案的ML区分器相比较常规碰撞和相关性增强的碰撞技术提供了更高的成功率。
应注意的是,图4和图5中的示例是可以利用本发明而获得的用于说明成功率的简化的示例,其并非旨在限制本发明的范围。
虽然已经在针对与来自加密装置(其实施相同加密函数多次)的泄露信息相关的边信道泄露信息分析的应用中描述了本发明的某些实施方案,但应该注意,本发明不限于此。例如,本发明还同时适用于并行使用各种加密函数的加密实现的边信道分析。这是例如分组密码的硬件实现的情况,其中各种替换盒可以并行实体化。在这样的实施方案中,测量单元23可以配置为同时集中从通信装置20泄露的信息。在这样的实施方案中并且在没有应用掩码的情况下,所获取的泄露可以表示为单个迹线,其表示为:
因此,等式(13)中的最优区分器可以在硬件实施方案中表示为:
等式(18)和(19)对应于没有掩蔽方案的分组密码。然而,本领域技术人员将容易理解,可以在实施掩码的分组密码的实施方案中得出相似的结果。
此外,本文中描述的机密值估算方法和装置可以通过各种手段来实现。例如,这些技术可以在硬件、软件或其组合中实施。对于硬件实施,估算装置的处理元件可以例如根据纯硬件配置(例如,一个或更多个FPGA、ASIC或具有相应存储器的VLSI集成电路)或根据使用VLSI和DSP的配置而实现。
图6示出了根据本发明的某些实施方案的机密密钥估算装置24的示例性硬件架构。如图所示,机密密钥估算装置24可以包括可能通过数据和地址链路69彼此交互的计算、存储和通信装置,并且包括:
-输入外设61,其例如用于接收来自测量单元23的输入数据或与***分析员进行通信,从而控制根据本发明各种实施方案的各种指令的执行;
-处理外设63,其包括一个或更多个微处理器(CPU),如配置为例如执行相应的指令从而运行根据本发明各种实施方案的方法和算法的FPGA或ASIC;
-存储外设65,其可以包括随机存取存储器(RAM)或只读存储器,以例如存储迹线测量值或噪声参数。
-输出外设67,其包括例如显示器的通信装置,从而例如能够在***分析员和机密密钥估算装置24之间例如以图形用户界面的形式进行人机交互。
虽然已经关于用于加密/解密数据的机密的加密密钥的确定描述了本发明的某些实施方案,但是应该注意,本发明不限于这种应用。例如,本发明也适用于在数据签名中使用加密密钥的加密单元202,用于确保例如在文件和软件分发或金融交易中或在消息认证码中使用的数字文档或消息的可靠性。
此外,本发明不限于估算在通信***中使用的机密密钥。例如,本发明还可以应用于例如在诸如智能卡、多媒体播放器和记录器之类的数据处理***或诸如存储卡和硬盘之类的移动存储装置中使用的加密***,其中登录访问权限由密码机制监控。根据本发明的各种实施方案的机密密钥估算方法和装置更一般地适用于广泛的通信和数据处理应用,例如在汽车工业中,以确保以下应用中的防盗保护:服务供应商***以保护访问卡、RFID标签和电子钥匙、移动电话装置以验证对电池和附件的控制和访问、嵌入式器件和装置的制造以对硬件和软件算法提供保护从而防止克隆和逆向工程、银行业中以保护银行账户和金融交易等。
此外,本发明的各种实施方案适用于估算在诸如电子电路的硬件装置中的任何加密实现中使用的机密加密值、在计算机***上运行的任何软件加密算法或者部署硬件和软件密码组件的任何混合***。此外,本文中描述的方法可以通过提供给任何类型的计算机的处理器的计算机程序指令来实现,以产生具有处理器的机器,该处理器执行指令以实现本文中指定的功能/动作。这些计算机程序指令也可以存储在计算机可读介质中,计算机可读介质可以引导计算机以特定方式运行。为此,可以将计算机程序指令加载到计算机上以使得执行一系列操作步骤,从而产生计算机实现的过程,使得执行的指令提供用于实现这里指定的功能的过程。
Claims (13)
1.一种用于确定至少一个机密密钥的估算值的装置,所述至少一个机密密钥在由至少一个加密算法使用的加密函数的多次执行期间所使用,所述加密函数的所述执行次数至少等于二,其中,所述装置包括:
-分析单元(14),其配置为从在所述加密函数的所述执行次数期间所获取的边信道信息中确定多组泄露迹线,所述泄露迹线的组的数量至少等于二,每组泄露迹线对应于所述加密函数的一次执行并且包括至少一个泄露迹线;
-处理单元(15),其配置为确定所述多组泄露迹线的统计分布,所述统计分布取决于泄露函数,所述泄露函数在函数基中通过一组实值表示并且对于所述泄露迹线的组的所有组相同。
其中,所述装置配置为根据性能度量的最大化、利用估算算法从所述多组泄露迹线的所述统计分布中确定所述至少一个机密密钥。
2.根据权利要求1所述的装置,其中,所述多组泄露迹线的数量通过所述加密函数的所述执行次数而确定。
3.根据前述权利要求中任一项所述的装置,其中,每组泄露迹线中的泄露迹线的数量根据信噪比和/或目标性能度量而确定。
4.根据前述权利要求中任一项所述的装置,其中,所述处理单元(15)进一步配置为根据已知的协方差矩阵确定所述多组泄露迹线的所述统计分布。
5.根据前述权利要求中任一项所述的装置,其中,所述性能度量选自机密密钥计算的成功概率、猜测熵以及给定顺序的成功率。
6.根据前述权利要求中任一项所述的装置,其中,所述装置进一步配置为确定表示所述泄露函数的所述实值的估算值。
7.根据权利要求6所述的装置,其中,所述装置使用迭代算法来确定表示所述泄露函数的所述未知实值的所述估算值。
8.根据权利要求7所述的装置,其中,所述迭代算法是期望最大化算法。
9.根据前述权利要求中任一项所述的装置,其中,所述装置进一步配置为通过至少一个机密密钥的所述估算值来传送性能度量。
10.根据前述权利要求中任一项所述的装置,其中,所述至少一个加密算法是分组密码算法,并且其中,所述加密函数是替换盒并且所述机密密钥是对称机密密钥。
11.根据权利要求10所述的装置,其中,所述分组密码算法是高级加密标准算法。
12.根据前述权利要求中任一项所述的装置,其中,所述函数基是典范基。
13.一种确定至少一个机密密钥的估算值的方法,所述至少一个机密密钥在由至少一个加密算法使用的加密函数的多次执行期间所使用,所述加密函数的所述执行次数至少等于二,其中,所述方法包括:
-从在所述加密函数的所述执行次数期间所获取的边信道信息中确定多组泄露迹线,每组泄露迹线包括至少一个泄露迹线;
-确定所述多组泄露迹线的统计分布,所述统计分布取决于泄露函数,所述泄露函数在函数的典范基中通过一组实值表示,
其中,所述方法进一步包括根据性能度量的最大化从所述多组泄露迹线的所述统计分布中确定所述至少一个机密密钥。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP16305386.1 | 2016-04-01 | ||
EP16305386.1A EP3226460A1 (en) | 2016-04-01 | 2016-04-01 | Secret key estimation methods and devices |
PCT/EP2017/057295 WO2017167739A1 (en) | 2016-04-01 | 2017-03-28 | Secret key estimation methods and devices |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109417466A true CN109417466A (zh) | 2019-03-01 |
CN109417466B CN109417466B (zh) | 2022-11-25 |
Family
ID=56098184
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780033868.3A Active CN109417466B (zh) | 2016-04-01 | 2017-03-28 | 机密密钥估算方法与装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11588616B2 (zh) |
EP (1) | EP3226460A1 (zh) |
KR (1) | KR20180129871A (zh) |
CN (1) | CN109417466B (zh) |
CA (1) | CA3019614A1 (zh) |
WO (1) | WO2017167739A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3208789B1 (en) * | 2016-02-22 | 2020-08-05 | Eshard | Method of protecting a circuit against a side-channel analysis |
US10951415B2 (en) * | 2019-03-13 | 2021-03-16 | Digital 14 Llc | System, method, and computer program product for implementing zero round trip secure communications based on noisy secrets with a polynomial secret sharing scheme |
US10892891B2 (en) * | 2019-03-13 | 2021-01-12 | Digital 14 Llc | System, method, and computer program product for zero round trip secure communications based on two noisy secrets |
US10862688B2 (en) * | 2019-03-13 | 2020-12-08 | Digital 14 Llc | System, method, and computer program product for zero round trip secure communications based on a noisy secret with a reduced message size |
KR102356137B1 (ko) * | 2019-07-02 | 2022-01-28 | 한국전자통신연구원 | 물리적 복제방지 기능 기반 인증 방법 |
CN112968760B (zh) * | 2021-01-29 | 2022-03-15 | 北京理工大学 | 一种基于集成学习的侧信道攻击相关能量分析方法 |
KR102451130B1 (ko) * | 2021-12-03 | 2022-10-06 | 서울과학기술대학교 산학협력단 | 분산 클러스터 암호 해독 시스템 및 방법 |
CN114297642B (zh) * | 2022-01-05 | 2024-03-22 | 桂林电子科技大学 | 一种基于数据聚合的侧信道攻击方法 |
CN114614966A (zh) * | 2022-02-21 | 2022-06-10 | 南京航空航天大学 | 一种lac方案中稀疏多项式乘法的侧信道分析方法 |
CN115412360A (zh) * | 2022-09-02 | 2022-11-29 | 南京航空航天大学 | 应用于环多项式乘法器的侧信道相关能量分析方法及*** |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1589424A (zh) * | 2001-11-14 | 2005-03-02 | 国际商业机器公司 | 更少信息泄露的设备与方法 |
CN102388563A (zh) * | 2009-01-20 | 2012-03-21 | 电信教育集团-巴黎电信学校 | 特别防御由其加密造成的信息泄露观测攻击的加密电路 |
US20150074159A1 (en) * | 2012-05-16 | 2015-03-12 | Axel York POSCHMANN | Methods for determining a result of applying a function to an input and evaluation devices |
CN104717054A (zh) * | 2015-02-12 | 2015-06-17 | 中国科学院信息工程研究所 | 一种密码实现侧信道安全性快速检测方法 |
CN105281889A (zh) * | 2015-11-16 | 2016-01-27 | 中国电子科技集团公司第三十研究所 | 一种基于侧信道泄漏的算法还原方法和*** |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7142670B2 (en) * | 2001-08-14 | 2006-11-28 | International Business Machines Corporation | Space-efficient, side-channel attack resistant table lookups |
US7237115B1 (en) * | 2001-09-26 | 2007-06-26 | Sandia Corporation | Authenticating concealed private data while maintaining concealment |
US7925253B2 (en) * | 2006-09-08 | 2011-04-12 | Qualcomm Incorporated | Radiated performance of a wireless device |
DE102007007699A1 (de) * | 2007-02-09 | 2008-08-14 | IHP GmbH - Innovations for High Performance Microelectronics/Institut für innovative Mikroelektronik | Reduktion von Seiten-Kanal-Informationen durch interagierende Krypto-Blocks |
US8200797B2 (en) * | 2007-11-16 | 2012-06-12 | Nec Laboratories America, Inc. | Systems and methods for automatic profiling of network event sequences |
US8369517B2 (en) * | 2008-08-12 | 2013-02-05 | Inside Secure | Fast scalar multiplication for elliptic curve cryptosystems over prime fields |
EP2634953A1 (en) * | 2012-03-02 | 2013-09-04 | Gemalto SA | Countermeasure method against side channel analysis for cryptographic algorithms using boolean operations and arithmetic operations |
US9390065B2 (en) * | 2012-07-23 | 2016-07-12 | University Of Southern California | Iterative estimation of system parameters using noise-like perturbations |
WO2015125293A1 (ja) * | 2014-02-24 | 2015-08-27 | 三菱電機株式会社 | 暗号システム及び暗号プログラム |
US9806881B2 (en) * | 2014-06-27 | 2017-10-31 | Infineon Technologies Ag | Cryptographic processor, method for implementing a cryptographic processor and key generation circuit |
US9584320B1 (en) * | 2014-12-23 | 2017-02-28 | EMC IP Holding Company LLC | Blinding function in elliptic curve cryptography |
FR3033965B1 (fr) * | 2015-03-18 | 2018-12-07 | Maxim Integrated Products, Inc. | Systèmes et procédés de commande de dispositifs de cryptage sur courbe elliptique sécurisés |
EP3089398B1 (en) * | 2015-04-30 | 2017-10-11 | Nxp B.V. | Securing a cryptographic device |
US9843494B2 (en) * | 2015-09-01 | 2017-12-12 | Microsoft Technology Licensing, Llc | Channel availability checks with device monitoring |
US9496935B1 (en) * | 2015-09-18 | 2016-11-15 | Samsung Electronics Co., Ltd | Apparatus and method of blind detection of precoding matrix index of interference in wireless communication system |
US10146656B2 (en) * | 2016-02-16 | 2018-12-04 | Tata Consultancy Services Limited | Service demand based performance prediction using a single workload |
-
2016
- 2016-04-01 EP EP16305386.1A patent/EP3226460A1/en active Pending
-
2017
- 2017-03-28 CN CN201780033868.3A patent/CN109417466B/zh active Active
- 2017-03-28 US US16/089,304 patent/US11588616B2/en active Active
- 2017-03-28 CA CA3019614A patent/CA3019614A1/en not_active Abandoned
- 2017-03-28 KR KR1020187031134A patent/KR20180129871A/ko not_active Application Discontinuation
- 2017-03-28 WO PCT/EP2017/057295 patent/WO2017167739A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1589424A (zh) * | 2001-11-14 | 2005-03-02 | 国际商业机器公司 | 更少信息泄露的设备与方法 |
CN102388563A (zh) * | 2009-01-20 | 2012-03-21 | 电信教育集团-巴黎电信学校 | 特别防御由其加密造成的信息泄露观测攻击的加密电路 |
US20150074159A1 (en) * | 2012-05-16 | 2015-03-12 | Axel York POSCHMANN | Methods for determining a result of applying a function to an input and evaluation devices |
CN104717054A (zh) * | 2015-02-12 | 2015-06-17 | 中国科学院信息工程研究所 | 一种密码实现侧信道安全性快速检测方法 |
CN105281889A (zh) * | 2015-11-16 | 2016-01-27 | 中国电子科技集团公司第三十研究所 | 一种基于侧信道泄漏的算法还原方法和*** |
Non-Patent Citations (1)
Title |
---|
SUVADEEP HAJRA 等: "Pushing the Limit of Non-Profiling DPA using Multivariate Leakage Model", 《COMPUTER SCIENCE, MATERIALS SCIENCE》 * |
Also Published As
Publication number | Publication date |
---|---|
KR20180129871A (ko) | 2018-12-05 |
EP3226460A1 (en) | 2017-10-04 |
CA3019614A1 (en) | 2017-10-05 |
WO2017167739A1 (en) | 2017-10-05 |
CN109417466B (zh) | 2022-11-25 |
US20200313845A1 (en) | 2020-10-01 |
US11588616B2 (en) | 2023-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109417466B (zh) | 机密密钥估算方法与装置 | |
CN108604981B (zh) | 用于估计秘密值的方法和设备 | |
Lerman et al. | A machine learning approach against a masked AES: Reaching the limit of side-channel attacks with a learning model | |
Batina et al. | Mutual information analysis: a comprehensive study | |
Bogdanov et al. | Beyond the limits of DPA: combined side-channel collision attacks | |
JP5857726B2 (ja) | 温度センサ、暗号化装置、暗号化方法、及び個体別情報生成装置 | |
Dabosville et al. | A new second-order side channel attack based on linear regression | |
US20160277178A1 (en) | Systems and methods for operating secure elliptic curve cryptosystems | |
US11171780B2 (en) | Systems and methods for operating secure elliptic curve cryptosystems | |
US9847879B2 (en) | Protection against passive sniffing | |
Bruneau et al. | Stochastic collision attack | |
Sengupta et al. | Logic locking with provable security against power analysis attacks | |
Standaert et al. | A formal practice-oriented model for the analysis of side-channel attacks | |
Šišejković et al. | A unifying logic encryption security metric | |
Taouil et al. | Power side channel attacks: Where are we standing? | |
US20240095410A1 (en) | Neural network cryptography coprocessor providing countermeasture against side-channel analysis | |
CN112511291A (zh) | 一种检测ocb认证加密算法抵御差分故障攻击的方法 | |
Aljuffri et al. | Balanced Dual-Mask Protection Scheme for GIFT Cipher Against Power Attacks | |
Varabei et al. | Intelligent Clustering as a Means to Improve K-means Based Horizontal Attacks | |
Park et al. | Cloning Hardware Wallet without Valid Credentials Through Side-Channel Analysis of Hash Function | |
Althoff | Statistical Metrics of Hardware Security | |
Mozipo | Systematic Characterization of Power Side Channel Attacks for Residual and Added Vulnerabilities | |
Fujino et al. | Malicious Attacks on Electronic Systems and VLSIs for Security | |
Wang et al. | RFA: R‐Squared Fitting Analysis Model for Power Attack | |
CN118174845A (zh) | 模型训练方法及数据处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |