CN106462701A - 以抵抗外部监视攻击的方式执行密码编译数据处理操作 - Google Patents
以抵抗外部监视攻击的方式执行密码编译数据处理操作 Download PDFInfo
- Publication number
- CN106462701A CN106462701A CN201580024635.8A CN201580024635A CN106462701A CN 106462701 A CN106462701 A CN 106462701A CN 201580024635 A CN201580024635 A CN 201580024635A CN 106462701 A CN106462701 A CN 106462701A
- Authority
- CN
- China
- Prior art keywords
- data
- instruction
- manipulation instruction
- data manipulation
- load
- 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
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
- G06F21/556—Detecting local intrusion or implementing counter-measures involving covert channels, i.e. data leakage between processes
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
-
- 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/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/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0822—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
-
- 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Storage Device Security (AREA)
Abstract
用于以抵抗外部监视攻击的方式来执行密码编译数据处理操作的系统及方法。一种示例性方法可包括:通过处理装置来执行第一数据操纵指令,该第一数据操纵指令影响该处理装置的内部状态;执行第二数据操纵指令,该第二数据操纵指令与所述内部状态互动;以及通过利用不可预测数据项来执行第三数据操纵指令而中断该第一数据操纵指令与该第二数据操纵指令的可侦测互动。
Description
技术领域
本发明总体上是关于计算机系统,并且更特别地是关于密码编译数据处理系统及方法。
背景技术
随着用于获得至受保护数据的未授权存取的系统及方法不断进化,用于保护密码编译密钥和/或其他敏感数据的系统及方法不断进化。这些系统及方法的范围是从蛮力密码破解到复杂外部监视攻击。
附图说明
本发明通过示例的方式图示说明,并不通过限制的方式,并且可在连同附图考虑时参考下列详细描述而被更充分理解。
图1示意性地图示说明通过通用或专用数据处理装置的一种示例性进阶加密标准(AES)实施方案的数据流程图。
图2示意性地图示说明通过特定微处理器支持的AES-NI增强型指令集。
图3示意性地图示说明一种示例性差分功率分析(DPA)测试。
图4示意性地图示说明对目标密码编译数据处理系统的基于示例性DPA测试的攻击。
图5示意性地图示说明涉及增强型加密指令集的循序密码编译数据操纵指令的数据泄漏。
图6示意性地图示说明根据本发明的一个或多个方面通过由数据处理系统执行数据操纵指令而中断循序密码编译数据操纵指令的互动。
图7描绘根据本发明的一个或多个方面的以抵抗外部监视攻击的方式执行密码编译数据处理操作的一种示例性方法的流程图。
图8示意性地图示说明涉及通过目标数据处理系统执行的循序数据加载指令的数据泄漏。
图9示意性地图示说明根据本发明的一个或多个方面通过由数据处理系统执行额外数据加载指令而中断循序数据加载指令的互动。
图10描绘根据本发明的一个或多个方面的以抵抗外部监视攻击的方式执行密码编译数据处理操作的另一种示例性方法的流程图;
图11图示说明一种示例性计算系统的图示表示,在示例性计算系统内可执行用于导致计算装置执行本文中描述的方法的一组指令。
具体实施方式
本文中描述以抵抗外部监视攻击的方式执行密码编译数据处理操作的系统及方法。
本文中的“密码编译数据处理操作”应是指涉及秘密参数(例如,使用秘密密钥的加密/解密操作)的数据处理操作。本文中的“密码编译数据处理系统”应是指经配置或采用以用于执行密码编译数据处理操作的数据处理系统(例如,通用或专用处理器、片上系统或类似物)。
本文中的“外部监视攻击”是指通过从目标密码编译数据处理系统的物理实施方案的特定方面导出一个或多个受保护信息项而获得至受保护信息的未授权存取的方法。侧信道攻击是基于与目标密码编译数据处理系统相关联的一个或多个物理参数的测量值(诸如特定数据处理操作的消逝时间、通过特定电路的功率消耗、流动通过特定电路的电流、通过目标密码编译数据处理系统的特定电路发射的热或电磁辐射等等)的外部监视攻击。
各种侧信道攻击可经设计以获得至储存于目标加密系统内和/或通过目标加密系统处理的特定受保护信息(例如,用于将输入纯文本(plain text)变换为加密文字(ciphertext)的加密密钥)的未授权存取。在阐释性示例中,攻击者可利用基于目标数据处理系统的特定内部状态的循序数据操纵操作的互动。攻击者可应用差分功率分析(DPA)方法以响应于变化循序数据操纵操作的一个或多个数据输入而测量通过目标密码编译数据处理系统的功率消耗,并且因此确定充当数据操纵操作的操作数的一个或多个受保护数据项(例如,加密密钥)。
本公开提供以抵抗外部监视攻击(例如侧信道攻击)的方式执行密码编译数据处理操作的方法。该方法涉及中断循序数据操纵操作的特定互动,如在下文中更详细描述。本文中描述的系统及方法可通过硬件(例如,通用和/或专用处理装置,和/或其他装置及相关联电路)、软件(例如,可通过处理装置执行的指令)、或它们的的组合来实施。本文中通过示例的方式而非图示说明的方式来描述方法及系统的各种方面。
在下文描述的各种阐释性实例中,密码编译数据处理系统可经配置或采用以用于基于进阶加密标准(AES)实施加密和/或解密方法。然而,本文中描述的以抵抗外部监视攻击的方式执行密码编译数据处理操作的系统及方法可应用至各种其他密码编译数据处理系统及方法。
图1示意性地图示说明通过通用或专用数据处理装置的一种示例性AES实施方案的数据流程图。AES算法执行若干次迭代(亦称为“回合”)110A至110Z以使用固定大小(128位(bit)、192位或256位)的加密密钥及固定大小(例如,128位)的纯文本120变换为经加密文字130。各回合包括使用回合密钥(其是导出自加密密钥的子密钥)在输入状态上执行的特定算法、逻辑或重新排序操作的序列。接着,除最后回合以外的各回合的所得状态140用作随后回合的输入状态150。
一种示例性AES实施方案可通过使用128位的纯文本来初始化状态而开始。数据处理装置可接着通过使用互斥或(XOR)操作将第一回合密钥新增至该状态而执行初始AES回合,以便确定回合1输入状态,其可在随后通过第一AES回合110A来操作。
在加密操作中,随后AES回合110N中的每个回合包括四个主要操作以更新该状态:替换字节(对状态的16个字节中的每个字节独立操作)、移位行(重新排序状态的16个字节)、混合列(对状态的四个32位字中的每个位字独立操作)及新增回合密钥(使用XOR操作将回合密钥新增至状态)。最后AES回合110Z通过省略混合列操作而包括上述操作的三者。在解密操作(未在图1中展示)中,每个AES回合包括对应于上述操作的反操作,其按反序而被执行。
各种AES实施方案的密钥大小不同:128个位、192个位或256个位。可通过密钥大小来界定AES回合的数目:对于128个位的密钥大小,可执行十个AES回合;对于192个位的密钥大小,可执行十二个AES回合;并且对于256个位的密钥大小,可执行十四个AES回合。
在特定实施方案中,数据处理装置可支持用于AES密码编译操作的增强型指令集。这样的增强型指令集的指令可基于AES算法的一些计算密集型操作的硬件和/或微码实施方案,因此相较于纯软件AES实施方案来说会显著改善整体效能。
图2示意性地图示说明通过特定微处理器支持的AES-NI增强型指令集200。
AESDEC指令通过执行四个反操作而执行单一解密回合:反移位行、反替换字节、反混合列、以及新增回合密钥。
AESDECLAST指令通过执行反移位行、反替换字节、和新增回合密钥操作而执行最后解密回合。
AESENC指令通过执行AES算法的四个基本操作而执行单一加密回合:移位行、替换字节、混合列、和新增回合密钥。
AESENCLAST指令通过执行移位行、替换字节和新增回合密钥操作而执行最后加密回合。
AESIMC指令将加密回合密钥转换为可用于解密的形式。
AESKEYGENASSIST指令产生用于加密的回合密钥。
PCLMULQDQ指令执行两个值的无进位乘法。
虽然图2中,贯穿本发明的相对应描述段落和各种阐释性实例可以基于处理器架构和指令集的特定示例(包含AES-NI增强型指令集),但本文中描述的系统和方法可使用基于各种处理器架构和指令集的各种其他处理装置(包含(例如)特定微处理器和特定微处理器)来操作。在阐释性示例中,特定微处理器支持的增强型指令集包括下列指令:分别用于执行AES加密或解密的单一回合的AESE和AESD指令;分别用于执行AES混合列和反混合列操作的AESMC及AESIMC指令。在另一阐释性示例中,特定微处理器支持的增强型指令集包括下列指令:用于执行AES加密或解密回合的AES_EROUND01、AES_EROUND23、AES_EROUND01_L、AES_EROUND_23_L、AES_DROUND01、AES_DROUND23、AES_DROUND01_L和AES_DROUND_23_L。
实施用于执行密码编译数据处理操作(例如,由图2示意性地图示说明的AES-NI增强型指令集)的增强型指令集可显著改善相对于密码编译数据处理操作的处理系统效能,且可进一步改善相对于特定类型的外部监视攻击(例如基于时序的侧信道攻击)的安全性,这是由于在预定数目的处理循环内执行增强型指令集的各指令并不依赖于输入状态或中间状态。然而,特定处理系统(包含实施增强型加密指令集的处理系统)可易遭受基于差分功率分析(DPA)的侧信道攻击。
在各种阐释性实例中,流动通过目标数据处理系统的特定组件的电流可响应于由数据处理系统执行的特定指令的变化输入而变化。在过度简化示例中,在数据处理系统的内部状态中执行需要一位从0转变至1或从1转变至0的指令可能需要多于对不同操作数和/或内部状态执行相同指令的功率,使得内部状态的电流值不需被修改(即,不需位转变)。在各种实施方案中,数据处理系统的内部状态可包括一个或多个内部寄存器或其他形式架构上不可见的存储器,并且可进一步包括促成电流在处理装置内流动的其他因素,例如,内部总线上的电荷和个别晶体管的布线或状态。
目标数据处理系统可在执行特定指令时采用用于储存一些中间结果的各种内部状态。因此,攻击者可采用DPA方法以观察对至特定指令的已知变化输入的系统响应(例如,通过特定组件或电路的功率消耗),以导出这些指令的受保护操作数。
本文中的DPA是指涉及通过目标数据处理系统来测量数据相依功率消耗的外部监视方法。DPA测试可包括响应于变化数据输入而通过目标数据处理系统的特定电路来测量功率消耗,以便利用基于目标数据处理系统的特定内部状态的循序数据操纵操作的互动。
图3示意性地图示说明一种示例性DPA过程。参考图3,一种示例性DPA过程可包括对不同输入数据310执行多个数据处理操作,同时通过由目标数据处理系统的特定电路来测量功率消耗而记录功率迹线320。所得功率迹线组可基于数据相依性质330(例如,初始、最终或中间内部状态的数据位)划分为若干子组。可计算子组的平均数差以产生差异迹线340,其包括在与其中数据相依性质影响所测量功率消耗的操作相对应偏移的时间处的尖波。
图4示意性地图示说明对目标密码编译数据处理系统的基于示例性DPA过程的攻击。参考图4,攻击者可使用相同加密密钥并且变化纯文本输入410来记录多个密码编译数据处理操作的功率迹线。接着,攻击者可猜测加密密钥的一部分(例如,K3密钥部分420),预测相对应的中间状态(例如,I3状态430)并且执行平均数差统计测试,以确认所测量功率值是否受到所预测中间状态的影响。可针对加密密钥的其余部分重复上述操作直至成功预测整个密钥。对于正确的子密钥,平均数差统计测试将展示尖波(405A),而对于任何不正确的子密钥猜测,平均数差统计测试将不展示尖波(405B)。
上述和其他DPA测试可用于侦测执行密码编译数据处理操作的各种序列的各种处理系统中的缺陷或“数据泄漏”。
在下文中描述根据本发明的一个或多个方面的示例性缺陷和以抵抗利用这些和其他缺陷的外部监视攻击的方式执行密码编译数据处理操作的相对应方法。除下文描述的特定示例性缺陷以外,可采用本文中描述的系统及方法以用于以抵抗利用目标数据处理系统的各种缺陷的各种其他外部监视攻击的方式来执行密码编译数据处理操作。
在特定实施方案中,数据处理系统可呈现涉及增强型加密指令集的循序密码编译数据操纵指令的数据泄漏,如通过图5示意性图示说明。在阐释性实例中,数据处理系统可执行用于执行AES加密回合的两个相继AESENC指令510A至510B。各指令可利用特定输入(例如,回合状态和回合密钥)。执行各指令510A和510B可导致相对应内部状态520A和520B(其可储存于数据处理系统的内部寄存器中)。数据处理系统可呈现涉及状态520A和520B的DPA可侦测数据泄漏:当执行数据操纵指令510A至510B导致复写状态位时通过数据处理系统的特定电路消耗的所观察功率可超过当执行相同数据操纵指令导致保存状态位的现有值时通过数据处理系统消耗的所观察功率。
根据本发明的一个或多个方面,可通过中断循序密码编译数据处理指令(其可呈现上述数据泄漏)的互动而以抵抗利用数据处理系统的上述缺陷的外部监视攻击的方式来执行密码编译数据处理操作。在特定实施方案中,数据处理系统可通过相对于循序数据操纵指令依序或同时执行另一数据操纵指令而中断循序密码编译数据处理指令的互动,如通过图6示意性地图示说明。
参考图6,原始执行流程610可包括增强型加密指令集(例如,AES-NI指令)的两个密码编译数据操纵指令610A和610B。指令610A和610B的每个指令可需特定输入(例如,回合状态和回合密钥)。执行指令610A和610B可导致相对应内部状态620A至620B。如上文中提及,数据处理系统可呈现涉及状态620A至620B的DPA可侦测数据泄漏:当执行数据操纵指令610A和610B导致复写状态位时通过数据处理系统的特定电路消耗的所观察功率可超过当执行相同数据操纵指令导致保存状态位的现有值时通过数据处理系统消耗的所观察功率。
为以抵抗外部监视攻击的方式执行密码编译数据处理指令,数据处理系统可通过相对于循序数据操纵指令610A至610B依序或同时执行数据操纵指令630而中断循序密码编译数据处理指令610A至610B的互动。在各种阐释性示例中,数据操纵指令630可利用一个或多个输入数据项并且可导致内部状态620X。为中断循序密码编译数据指令610与620的互动,可运用通过不可预测(例如,随机)数据表示的输入执行数据操纵指令630,使得潜在攻击者将无法预测所得内部状态620X。因此,可有效地防止潜在攻击者利用与内部状态转变相关联的任何数据泄漏:由于利用与内部系统状态相关联的缺陷的外部监视攻击涉及响应于变化输入数据而测量系统,因此无法在输入数据不可预测时实施此攻击。
因此,相对于循序数据操纵指令610A和610B依序或同时执行数据操纵指令630可有效地中断循序密码编译数据处理指令610A与610B的非所要互动,并且因此以抵抗外部监视攻击的方式执行指令。
图7描绘根据本发明的一个或多个方面的以抵抗外部监视攻击的方式执行密码编译数据处理操作的一种示例性方法700的流程图。可通过一个或多个通用和/或专用处理装置来执行方法700和/或其个别功能、例程、副例程或操作的各者。可平行或按可不同于上述顺序的顺序来执行方法700的两个或更多个功能、例程、副例程或操作。在特定实施方案中,可通过单一处理线程来执行方法700。替代性地,可通过两个或更多个处理线程来执行方法700,各线程执行方法的一个或多个个别功能、例程、副例程或操作。在阐释性示例中,处理线程实施方法700可经同步(例如,使用旗号、关键区段、和/或其他线程同步机制)。替代性地,处理线程实施方法700可相对于彼此异步执行。在阐释性实例中,方法700可通过在下文中参考图11描述的计算系统1000来执行。
参考图7,在方块710处,实施方法的处理装置可执行增强型加密指令集的第一数据操纵指令(例如,AES-NI指令)。在阐释性实例中,第一数据操纵指令可利用一个或多个输入数据项,例如,AES回合状态和AES回合密钥。如在上文中提及,第一数据操纵指令可利用和影响可与随后数据操纵指令互动或通过随后数据操纵指令利用的内部状态(例如,处理装置的内部寄存器)。
在方块720处,处理装置可执行增强型加密指令集的第二数据操纵指令。第二数据操纵指令可利用一个或多个输入数据项,例如,通过第一数据操纵指令修改的AES回合状态和AES回合密钥。第二数据操纵指令可进一步与通过前述数据操纵指令修改的内部状态互动或利用该内部状态,因此潜在地产生DPA可侦测数据泄漏,如在上文中更详细描述。
为中断第一数据操纵指令与第二数据操纵指令的DPA可侦测互动,处理装置可在方块730处利用不可预测输入数据项来执行第三数据操纵指令。如在上文中提及,可相对于第一数据操纵指令和第二数据操纵指令来依序或同时执行第三数据操纵指令。中断循序密码编译数据处理指令的非所要互动会允许处理装置以抵抗外部监视攻击的方式来执行指令,如在上文中更详细描述。
在特定实施方案中,数据处理系统可呈现涉及从存储器(例如,从处理器高速缓存)加载的循序数据的数据泄漏,如通过图8示意性图示说明。在阐释性实例中,数据处理系统可执行数据加载指令810A至810E的序列800。该序列可包括数据加载指令810C以从存储器加载一个或多个秘密数据项(例如,AES回合密钥)。在阐释性示例中,数据加载指令的序列800可包括在加载秘密数据的数据加载指令810C之前的数据加载指令810A至810B。数据加载指令的序列800可进一步包括在加载秘密数据的数据加载指令810C之后的数据加载指令810D至810E。在图8中展示的操作810A至810E的顺序是指通过由示例性数据处理系统实施的管线取得相对应指令的顺序;其中通过示例性数据处理系统的各种单元执行的指令的顺序不必匹配其中已取得指令的顺序。
在特定实施方案中,执行数据加载指令810A、810C和810E中的每个数据加载指令可导致相对应的内部状态850A、850C和850E。数据处理系统可呈现涉及与加载秘密数据的数据加载指令810C相对应的状态850C的DPA可侦测数据泄漏、以及与可经采用以加载已知变化数据的数据加载指令810A至810B相对应的状态850A和850B中的每个状态:当执行数据加载指令导致复写状态位时,所观察到的由数据处理系统的特定电路消耗的功率可超过当执行相同数据操纵指令导致保存状态位的现有值时所观察到的由数据处理系统消耗的功率。因此,数据处理系统可呈现数据加载指令810C与数据加载指令810A、810E(其在数据加载指令810C之前或随后执行)之间的DPA可侦测互动。若数据加载指令810A和/或810E加载对潜在攻击者已知的变化数据,则攻击者可利用由数据加载指令810C加载的秘密数据与由数据加载指令810A和/或810E加载的可变输入数据的互动。
根据本发明的一个或多个方面,可通过中断循序数据加载指令(其可呈现上述数据泄漏)的互动而以抵抗利用数据处理系统的上述缺陷的外部监视攻击的方式来执行数据加载指令的序列。在阐释性实例中,数据处理系统可通过在加载秘密数据的数据加载指令之前和之后执行两个数据加载指令而中断循序密码编译数据处理指令的互动,如由图9示意性地图示说明。
为以抵抗外部监视攻击的方式执行密码编译数据处理指令,数据处理系统可通过将两个数据加载指令910A至910B新增至指令序列800而中断循序密码编译数据处理指令的互动。可在加载秘密数据的数据加载指令810C之前一个数据加载指令,执行数据加载指令910A。可在加载秘密数据的数据加载指令810C之后一个数据加载指令,执行数据加载指令910B,如通过图9示意性地图示说明。在图9中展示的指令的顺序是指通过由示例性数据处理系统实施的管线取得相对应指令的顺序;其中通过示例性数据处理系统的各种单元执行的指令的顺序不必匹配其中已取得指令的顺序。
为中断循序密码编译数据处理指令的互动,可使用由恒定和/或秘密数据表示的输入来执行数据加载指令910A至910B,以便防止潜在攻击者利用与内部状态转变相关联的任何数据泄漏:由于利用与内部系统状态相关联的缺陷的外部监视攻击涉及响应于变化输入数据来测量系统,因此无法在输入数据是恒定和/或秘密时实施这样的攻击。
因此,在加载秘密数据的数据加载指令810C之前和之后执行数据加载指令910A至910B可有效地中断循序密码编译数据处理指令的非所要互动,并且因此以抵抗外部监视攻击的方式来执行指令。在特定实施方案中,通过重新配置、移动或替换现有指令序列中的指令而非引入额外指令来获取数据加载指令910A至910B可达成进一步效率。
图10描绘根据本发明的一个或多个方面的以抵抗外部监视攻击的方式执行密码编译数据处理操作的一种示例性方法1000的流程图。可通过一个或多个通用和/或专用处理装置来执行方法1000和/或其个别功能、例程、副例程或操作的各者。可平行或按可不同于上述顺序的顺序来执行方法1000的两个或更多个功能、例程、副例程或操作。在特定实施方案中,可通过单一处理线程来执行方法1000。替代性地,可通过两个或更多个处理线程来执行方法1000,各线程执行方法的一个或多个个别功能、例程、副例程或操作。在阐释性实例中,处理线程实施方法1000可经同步(例如,使用旗号、关键区段和/或其他线程同步机制)。替代性地,处理线程实施方法1000可相对于彼此异步执行。在阐释性实例中,方法1000可通过在下文中参考图11描述的计算系统1000来执行。
参考图10,在方块1010处,实施方法的处理装置可执行数据加载指令的序列。在阐释性实例中,序列的至少一个数据加载指令可加载秘密数据(例如,加密密钥)。如在上文中提及,数据加载指令可利用和修改处理装置的内部状态,因此产生特定数据加载指令之间的DPA可侦测互动。在阐释性实例中,数据处理系统可呈现给定数据加载指令与在给定数据加载指令之前和/或之后一个数据加载指令执行的数据加载指令之间的非所要互动,如在上文中更详细描述。
在方块1020处,处理装置可在数据加载指令的序列内执行第一额外数据加载指令以加载第一秘密或恒定数据项。本文中的“额外指令”可是指通过重新配置指令的应用流程或通过将新指令插入至数据加载指令的序列中而插入至数据加载指令中的序列。在阐释性实例中,可在加载秘密数据的数据加载指令之前一个数据加载指令,执行第一额外数据加载指令,如上文更详细描述的。
在方块1030处,处理装置可在数据加载指令的序列内执行第二额外数据加载指令以加载第二秘密或恒定数据项。在阐释性实例中,可在加载秘密数据的数据加载指令之后一个数据加载指令,执行第二额外数据加载指令。
通过执行“纳入”(bracket)加载秘密数据的数据加载指令的两个数据加载指令,数据处理系统可有效地中断循序数据加载指令的非所要互动,并且因此以抵抗外部监视攻击的方式执行指令。
图11图示说明计算系统1000的图示表示,计算系统1000可并入本文中描述的处理装置,并且在计算系统1000内可执行用于导致计算装置执行本文中描述的方法的一组指令。计算系统1000可连接至LAN、内部网络、外部网络和/或因特网中的其它计算装置。计算装置可在客户端-服务器网络环境中作为服务器机器操作。计算装置可通过以下各项来提供:个人计算机(PC)、机顶盒(STB)、服务器、网络路由器、交换器或网桥、或能够执行规定通过机器采取的行动的一组指令(循序或其他方式)的任何机器。此外,虽然仅图示说明单一计算装置,但术语“计算装置”也应包含个别或联合执行一组(或多组)指令以执行本文中描述的方法的计算装置的任何集合。
示例性计算系统1000可包含处理装置1002,其在各种阐释性实例中可为包括一个或多个处理核心的通用或专用处理器。示例性计算系统1000可进一步包括主存储器1004(例如,同步动态随机存取存储器(DRAM)、只读存储器(ROM))、静态存储器1006(例如,闪存和数据储存装置1018),其可经由总线1030而彼此通信。
处理装置1002可被配置为根据本发明的用于执行本文中描述的操作和步骤的一个或多个方面来执行方法700和/或1000,以用于以抵抗外部监视攻击的方式来执行密码编译数据处理操作。
示例性计算系统1000可进一步包含网络接口装置1008,其可与网络1020进行通信。示例性计算系统1000也可包含视频显示单元1010(例如,液晶显示器(LCD)或阴极射线管(CRT))、字母数字输入设备1012(例如,键盘)、光标控制装置1014(例如,鼠标)和听觉信号产生装置1016(例如,扬声器)。在一个实施例中,视频显示单元1010、字母数字输入设备1012和光标控制装置1014可组合为单一组件或装置(例如,LCD触控屏幕)。
数据储存装置1018可包含计算机可读储存媒体1028,其上可储存一组或多组指令(例如,用于根据本发明的一个或多个方面以抵抗外部监视攻击的方式执行密码编译数据处理操作的方法700和/或1000的指令)以实施本文中描述的方法或功能的任何一者或多者。实施方法700和/或1000的指令也可在其执行期间,例如通过计算系统1000完全地或至少部分地驻留于主存储器1004内和/或处理装置1002内,因此主存储器1004和处理装置1002也可构建或包括计算机可读媒体。该指令可进一步经由网络接口装置1008在网络1020上传输或接收。
虽然计算机可读储存媒体1028在阐释性实例中展示为单一媒体,但术语“计算机可读储存媒体”应包含储存一组或多组指令的单一媒体或多个媒体(例如,集中或分布式数据库和/或相关联的高速缓存和服务器)。术语“计算机可读储存媒体”也应包含能够储存、编码或携载用于通过机器执行的一组指令并且导致机器执行本文中描述的方法的任何媒体。因此,术语“计算机可读储存媒体”应包含(但不限于)固态存储器、光学媒体和磁性媒体。
除非另外明确规定,诸如“更新”、“识别”、“确定”、“发送”、“指定”或类似物的术语是指通过计算装置执行或实施的动作和过程,其将表示为计算装置的寄存器和存储器内的物理(电子)量的数据操纵和转换为表示为计算装置存储器或寄存器或其它这些信息储存、传输或显示设备内的物理量的其它数据。而且,如本文中使用的术语“第一”、“第二”、“第三”、“第四”等等意谓区分不同元件的标记并且可不必具有根据其数字标号的顺序意义。
本文中描述的示例也是关于用于执行本文中描述的方法的装置。此装置可针对所需目的而专门构建,或其可包括通过储存于计算装置中的计算机程序选择性地程序化的通用计算装置。此计算机程序可储存于计算机可读非暂态储存媒体中。
本文中描述的方法和阐释性实例并不本质上关于任何特定计算机或其他设备。根据本文中描述的教导可使用各种通用系统,或可证明方便构建更专用设备以执行所需方法步骤。如在上文描述中提出,将出现针对多种这些系统所需的结构。
上文描述旨在为阐释性且不为限制性。尽管已参考特定阐释性示例描述本发明,但应认识到,本发明不限于所描述的示例。应参考随权利要求连同涵盖权利要求的等效物的全部范畴来确定本发明的范围。
Claims (23)
1.一种执行密码编译操作的方法,包括:
由处理装置执行第一数据操纵指令,所述第一数据操纵指令影响所述处理装置的内部状态;
执行第二数据操纵指令,所述第二数据操纵指令与所述内部状态互动;以及
通过利用不可预测数据项来执行第三数据操纵指令而中断所述第一数据操纵指令与所述第二数据操纵指令的可侦测互动。
2.根据权利要求1的方法,其中相对于以下各项中的至少一项来依序执行所述第三数据操纵指令:所述第一数据操纵指令或所述第二数据操纵指令。
3.根据权利要求1的方法,其中相对于以下各项中的至少一项来同时执行所述第三数据操纵指令:所述第一数据操纵指令或所述第二数据操纵指令。
4.根据权利要求1的方法,其中所述第一数据操纵指令或所述第二数据操纵指令中的至少一者属于用于执行密码编译数据处理操作的增强型指令集。
5.根据权利要求4的方法,其中所述增强型指令集是由以下各项中的一项来提供:Intel AES-NI指令集、ARM进阶加密标准(AES)指令集、或SPARC AES指令集。
6.根据权利要求1的方法,其中所述处理装置是由以下各项中的一项来提供:Intel微处理器、ARM微处理器、或SPARC微处理器。
7.根据权利要求1的方法,其中包括所述第一数据操纵指令或所述第二数据操纵指令中的至少一者的应用程序被配置为实施以下各项中的至少一项:基于进阶加密标准(AES)的加密方法、或基于进阶加密标准(AES)的解密方法。
8.根据权利要求1的方法,其中所述第二数据操纵指令利用由所述第一数据操纵指令的输出提供的输入数据项。
9.根据权利要求1的方法,其中所述第三数据操纵指令修改所述内部状态。
10.根据权利要求1的方法,其中所述第一数据操纵指令和所述第二数据操纵指令中的至少一者利用包括密码编译密钥的输入数据项。
11.根据权利要求1的方法,其中所述第一数据操纵指令和所述第二数据操纵指令中的至少一者执行以下各项中的一项:AES加密回合、或AES解密回合。
12.根据权利要求1的方法,其中所述内部状态包括所述处理装置的一个或多个内部寄存器。
13.根据权利要求1的方法,其中所述内部状态包括促成所述处理装置内的电流流动的一个或多个因素。
14.一种方法,包括:
由处理装置执行修改所述处理装置的内部状态的数据加载指令的序列,其中所述序列的特定数据加载指令会加载秘密数据;以及
通过在所述序列内执行第一数据加载指令以加载第一数据项并且执行第二数据加载指令以加载第二数据项而中断所述序列的两个或更多个数据加载指令的可侦测互动,其中所述第一数据项是由以下各项中的一项来提供:第一秘密数据项或第一恒定数据项,并且其中所述第二数据项是由以下各项中的一项来提供:第二秘密数据项或第二恒定数据项。
15.根据权利要求14的方法,其中所述存储器是由所述处理装置的高速缓存来提供。
16.根据权利要求14的方法,其中在加载所述秘密数据的所述特定数据加载指令之前一个数据加载指令,执行所述第一数据加载指令。
17.根据权利要求16的方法,其中在加载所述秘密数据的所述特定数据加载指令之后一个数据加载指令,执行所述第二数据加载指令。
18.一种计算机可读非暂态储存媒体,包括当由计算装置执行时导致所述计算装置执行操作的可执行指令,所述操作包括:
由处理装置执行第一数据操纵指令,所述第一数据操纵指令影响所述处理装置的内部状态;
执行第二数据操纵指令,所述第二数据操纵指令与所述内部状态互动;以及
通过利用不可预测数据项来执行第三数据操纵指令而中断所述第一数据操纵指令与所述第二数据操纵指令的可侦测互动。
19.根据权利要求18的计算机可读非暂态储存媒体,其中相对于以下各项中的至少一项来依序执行所述第三数据操纵指令:所述第一数据操纵指令或所述第二数据操纵指令。
20.根据权利要求18的计算机可读非暂态储存媒体,其中相对于以下各项中的至少一项来同时执行所述第三数据操纵指令:所述第一数据操纵指令或所述第二数据操纵指令。
21.一种计算机可读非暂态储存媒体,包括当由计算装置执行时导致所述计算装置执行操作的可执行指令,所述操作包括:
由处理装置执行修改所述处理装置的内部状态的数据加载指令的序列,其中所述序列的特定数据加载指令会加载秘密数据;以及
通过在所述序列内执行第一数据加载指令以加载第一数据项并且执行第二数据加载指令以加载第二数据项而中断所述序列的两个或更多个数据加载指令的可侦测互动,其中所述第一数据项是由以下各项中的一项来提供:第一秘密数据项或第一恒定数据项,并且其中所述第二数据项是由以下各项中的一项来提供:第二秘密数据项或第二恒定数据项。
22.根据权利要求21的计算机可读非暂态储存媒体,其中在加载所述秘密数据的所述特定数据加载指令之前一个数据加载指令,执行所述第一数据加载指令。
23.根据权利要求22的计算机可读非暂态储存媒体,其中在加载所述秘密数据的所述特定数据加载指令之后一个数据加载指令,执行所述第二数据加载指令。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462011245P | 2014-06-12 | 2014-06-12 | |
US62/011,245 | 2014-06-12 | ||
PCT/US2015/031203 WO2015191239A1 (en) | 2014-06-12 | 2015-05-15 | Performing cryptographic data processing operations in a manner resistant to external monitoring attacks |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106462701A true CN106462701A (zh) | 2017-02-22 |
CN106462701B CN106462701B (zh) | 2020-09-18 |
Family
ID=53276303
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580024635.8A Active CN106462701B (zh) | 2014-06-12 | 2015-05-15 | 以抵抗外部监视攻击的方式执行密码编译数据处理操作 |
Country Status (4)
Country | Link |
---|---|
US (3) | US10382193B2 (zh) |
CN (1) | CN106462701B (zh) |
TW (1) | TWI712915B (zh) |
WO (1) | WO2015191239A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109150494A (zh) * | 2017-06-27 | 2019-01-04 | 武汉斗鱼网络科技有限公司 | 移动端中构造加解密算法的方法、存储介质、设备及系统 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10615959B2 (en) * | 2015-07-22 | 2020-04-07 | Megachips Corporation | Memory device, host device, and memory system |
CA2940152C (en) * | 2016-05-18 | 2017-08-29 | Sidense Corp. | Method and system for power signature suppression in memory devices |
CN109818733B (zh) * | 2019-03-27 | 2022-04-26 | 苏州中晟宏芯信息科技有限公司 | 一种高级加密标准运算电路及其加解密方法 |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1115094A2 (de) * | 2000-01-08 | 2001-07-11 | Philips Corporate Intellectual Property GmbH | Datenverarbeitungseinrichtung und Verfahren zu dessen Betrieb |
CN1819515A (zh) * | 2006-03-20 | 2006-08-16 | 胡祥义 | 一种保密型对称密码算法的实现方法 |
EP1772811A2 (en) * | 2005-10-04 | 2007-04-11 | STMicroelectronics, Inc. | System and method for using dummy cycles to mask operations in a secure microcontroller |
US20070230694A1 (en) * | 2005-08-24 | 2007-10-04 | Rose Gregory G | Cryptographically secure pseudo-random number generator |
EP1873671A1 (en) * | 2006-06-29 | 2008-01-02 | Incard SA | A method for protecting IC Cards against power analysis attacks |
CN101197660A (zh) * | 2006-12-07 | 2008-06-11 | 上海安创信息科技有限公司 | 防攻击标准加密标准的加密方法及其加密芯片 |
CN101213513A (zh) * | 2005-06-29 | 2008-07-02 | 皇家飞利浦电子股份有限公司 | 保护数据处理装置免受密码攻击或分析的设备和方法 |
CN101243450A (zh) * | 2005-08-19 | 2008-08-13 | Nxp股份有限公司 | 具有非易失性存储模块的电路布置和用于在所述非易失性存储模块上登记攻击的方法 |
CN101739889A (zh) * | 2008-11-20 | 2010-06-16 | 索尼株式会社 | 密码处理装置 |
CN101866401A (zh) * | 2010-05-17 | 2010-10-20 | 武汉大学 | 演化s盒对抗旁路式攻击的方法 |
US20120159194A1 (en) * | 2010-12-20 | 2012-06-21 | General Instrument Corporation | Relating to cryptography |
CN103067164A (zh) * | 2013-01-17 | 2013-04-24 | 北京昆腾微电子有限公司 | 使用rsa公开密钥加密算法的电子部件中的防攻击方法 |
DE102011088502B3 (de) * | 2011-12-14 | 2013-05-08 | Siemens Aktiengesellschaft | Verfahren und Vorrichtung zur Absicherung von Blockchiffren gegen Template-Attacken |
CN103166752A (zh) * | 2013-01-25 | 2013-06-19 | 国家密码管理局商用密码检测中心 | 选择轮函数为攻击对象进行sm4密码算法侧信道能量分析的应用 |
CN103324467A (zh) * | 2013-05-28 | 2013-09-25 | 戴葵 | 一种基于随机指令延迟的抗旁路攻击处理器架构 |
CN103812642A (zh) * | 2014-01-24 | 2014-05-21 | 天津大学 | 一种密码算法硬件设计的安全检测方法 |
Family Cites Families (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4558176A (en) * | 1982-09-20 | 1985-12-10 | Arnold Mark G | Computer systems to inhibit unauthorized copying, unauthorized usage, and automated cracking of protected software |
US5991708A (en) * | 1997-07-07 | 1999-11-23 | International Business Machines Corporation | Performance monitor and method for performance monitoring within a data processing system |
US6157955A (en) * | 1998-06-15 | 2000-12-05 | Intel Corporation | Packet processing system including a policy engine having a classification unit |
FR2790844B1 (fr) * | 1999-03-09 | 2001-05-25 | Gemplus Card Int | Procede et dispositif de surveillance du deroulement d'un programme, dispositif programme permettant la surveillance de son programme |
US6419159B1 (en) * | 1999-06-14 | 2002-07-16 | Microsoft Corporation | Integrated circuit device with power analysis protection circuitry |
US7124170B1 (en) * | 1999-08-20 | 2006-10-17 | Intertrust Technologies Corp. | Secure processing unit systems and methods |
US7270193B2 (en) * | 2000-02-14 | 2007-09-18 | Kabushiki Kaisha Toshiba | Method and system for distributing programs using tamper resistant processor |
CA2298990A1 (en) * | 2000-02-18 | 2001-08-18 | Cloakware Corporation | Method and system for resistance to power analysis |
US7502943B2 (en) * | 2003-04-18 | 2009-03-10 | Via Technologies, Inc. | Microprocessor apparatus and method for providing configurable cryptographic block cipher round results |
JP2005004048A (ja) * | 2003-06-13 | 2005-01-06 | Oki Electric Ind Co Ltd | 鍵拡張装置、鍵拡張方法および鍵拡張プログラム |
US7899190B2 (en) * | 2004-04-16 | 2011-03-01 | Research In Motion Limited | Security countermeasures for power analysis attacks |
US8065532B2 (en) * | 2004-06-08 | 2011-11-22 | Hrl Laboratories, Llc | Cryptographic architecture with random instruction masking to thwart differential power analysis |
US7890735B2 (en) * | 2004-08-30 | 2011-02-15 | Texas Instruments Incorporated | Multi-threading processors, integrated circuit devices, systems, and processes of operation and manufacture |
US7934076B2 (en) * | 2004-09-30 | 2011-04-26 | Intel Corporation | System and method for limiting exposure of hardware failure information for a secured execution environment |
EP1646174A1 (en) * | 2004-10-07 | 2006-04-12 | Axalto SA | Method and apparatus for generating cryptographic sets of instructions automatically and code generation |
JP2006301887A (ja) * | 2005-04-19 | 2006-11-02 | Toshiba Corp | 情報記憶再生システムとその情報端末及び情報バックアップ装置 |
EP1950680A4 (en) * | 2005-11-09 | 2011-11-09 | Nec Corp | COMMUNICATION TERMINAL, SERVER TERMINAL AND COMMUNICATION SYSTEM USING THE SAME |
WO2007088796A1 (en) * | 2006-01-31 | 2007-08-09 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device |
US8090934B2 (en) * | 2006-07-11 | 2012-01-03 | Cetin Kaya Koc | Systems and methods for providing security for computer systems |
US20080126766A1 (en) * | 2006-11-03 | 2008-05-29 | Saurabh Chheda | Securing microprocessors against information leakage and physical tampering |
US8879725B2 (en) * | 2008-02-29 | 2014-11-04 | Intel Corporation | Combining instructions including an instruction that performs a sequence of transformations to isolate one transformation |
US20090327572A1 (en) * | 2008-06-30 | 2009-12-31 | In Sung Cho | Exchanging information between components coupled with an a i2c bus via separate banks |
CN102124695B (zh) * | 2008-08-19 | 2014-05-28 | Nxp股份有限公司 | 用于生成基于密码的消息认证码的方法 |
US8352708B2 (en) * | 2009-01-16 | 2013-01-08 | Teleputers, Llc | Parallel read functional unit for microprocessors |
FR2941342B1 (fr) * | 2009-01-20 | 2011-05-20 | Groupe Des Ecoles De Telecommunications Get Ecole Nat Superieure Des Telecommunications Enst | Circuit de cryptographie protege contre les attaques en observation, notamment d'ordre eleve. |
US8280056B2 (en) * | 2009-01-29 | 2012-10-02 | Fortress Applications Ltd. | System and methods for encryption with authentication integrity |
CA2754094C (en) * | 2009-03-10 | 2017-08-15 | Irdeto Corporate B.V. | White-box cryptographic system with input dependent encodings |
KR101026439B1 (ko) * | 2009-07-20 | 2011-04-07 | 한국전자통신연구원 | Seed 암호화에서 차분 전력 분석 공격을 방어하기 위한 마스킹 방법 |
WO2011101994A1 (ja) * | 2010-02-22 | 2011-08-25 | 株式会社東芝 | 暗号化装置 |
WO2011148558A1 (ja) * | 2010-05-28 | 2011-12-01 | 日本電気株式会社 | 署名生成装置、署名方法、及び署名生成プログラムが格納された非一時的なコンピュータ可読媒体 |
CN103430185B (zh) * | 2011-03-22 | 2016-10-26 | 瑞典爱立信有限公司 | 用于在虚拟化系统操作与非虚拟化系统操作之间切换的方法 |
US9331848B1 (en) * | 2011-04-29 | 2016-05-03 | Altera Corporation | Differential power analysis resistant encryption and decryption functions |
DE102011078642A1 (de) * | 2011-07-05 | 2013-01-10 | Robert Bosch Gmbh | Verfahren zum Prüfen eines m aus n Codes |
GB2494731B (en) * | 2011-09-06 | 2013-11-20 | Nds Ltd | Preventing data extraction by sidechannel attack |
US9559844B2 (en) * | 2011-11-09 | 2017-01-31 | Kddi Corporation | Non-linear processor, stream-cipher encrypting device, stream-cipher decrypting device, mask processing method, stream-cipher encrypting method, stream-cipher decrypting method, and program |
JP6362277B2 (ja) * | 2012-06-01 | 2018-07-25 | ブラックベリー リミテッドBlackBerry Limited | マルチフォーマットオーディオシステムにおけるロック保証のための確率的方法に基づく汎用同期エンジン |
US9342712B2 (en) * | 2012-06-08 | 2016-05-17 | Advanced Micro Devices, Inc. | Method and system for accelerating cryptographic processing |
US9425959B1 (en) * | 2012-10-03 | 2016-08-23 | Altera Corporation | Security variable scrambling |
EP2918037A1 (en) * | 2012-11-12 | 2015-09-16 | Cryptography Research Inc. | Methods and systems for glitch-resistant cryptographic discrete-log based signing |
US9143317B2 (en) * | 2013-05-24 | 2015-09-22 | Apple Inc. | Protecting against white box attacks using column rotation |
-
2015
- 2015-04-16 TW TW104112261A patent/TWI712915B/zh active
- 2015-05-15 US US15/311,741 patent/US10382193B2/en active Active
- 2015-05-15 WO PCT/US2015/031203 patent/WO2015191239A1/en active Application Filing
- 2015-05-15 CN CN201580024635.8A patent/CN106462701B/zh active Active
-
2019
- 2019-07-23 US US16/519,330 patent/US10897344B2/en active Active
-
2020
- 2020-12-15 US US17/122,310 patent/US11757617B2/en active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1115094A2 (de) * | 2000-01-08 | 2001-07-11 | Philips Corporate Intellectual Property GmbH | Datenverarbeitungseinrichtung und Verfahren zu dessen Betrieb |
CN101213513A (zh) * | 2005-06-29 | 2008-07-02 | 皇家飞利浦电子股份有限公司 | 保护数据处理装置免受密码攻击或分析的设备和方法 |
CN101243450A (zh) * | 2005-08-19 | 2008-08-13 | Nxp股份有限公司 | 具有非易失性存储模块的电路布置和用于在所述非易失性存储模块上登记攻击的方法 |
US20070230694A1 (en) * | 2005-08-24 | 2007-10-04 | Rose Gregory G | Cryptographically secure pseudo-random number generator |
EP1772811A2 (en) * | 2005-10-04 | 2007-04-11 | STMicroelectronics, Inc. | System and method for using dummy cycles to mask operations in a secure microcontroller |
CN1819515A (zh) * | 2006-03-20 | 2006-08-16 | 胡祥义 | 一种保密型对称密码算法的实现方法 |
EP1873671A1 (en) * | 2006-06-29 | 2008-01-02 | Incard SA | A method for protecting IC Cards against power analysis attacks |
CN101197660A (zh) * | 2006-12-07 | 2008-06-11 | 上海安创信息科技有限公司 | 防攻击标准加密标准的加密方法及其加密芯片 |
CN101739889A (zh) * | 2008-11-20 | 2010-06-16 | 索尼株式会社 | 密码处理装置 |
CN101866401A (zh) * | 2010-05-17 | 2010-10-20 | 武汉大学 | 演化s盒对抗旁路式攻击的方法 |
US20120159194A1 (en) * | 2010-12-20 | 2012-06-21 | General Instrument Corporation | Relating to cryptography |
DE102011088502B3 (de) * | 2011-12-14 | 2013-05-08 | Siemens Aktiengesellschaft | Verfahren und Vorrichtung zur Absicherung von Blockchiffren gegen Template-Attacken |
CN103067164A (zh) * | 2013-01-17 | 2013-04-24 | 北京昆腾微电子有限公司 | 使用rsa公开密钥加密算法的电子部件中的防攻击方法 |
CN103166752A (zh) * | 2013-01-25 | 2013-06-19 | 国家密码管理局商用密码检测中心 | 选择轮函数为攻击对象进行sm4密码算法侧信道能量分析的应用 |
CN103324467A (zh) * | 2013-05-28 | 2013-09-25 | 戴葵 | 一种基于随机指令延迟的抗旁路攻击处理器架构 |
CN103812642A (zh) * | 2014-01-24 | 2014-05-21 | 天津大学 | 一种密码算法硬件设计的安全检测方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109150494A (zh) * | 2017-06-27 | 2019-01-04 | 武汉斗鱼网络科技有限公司 | 移动端中构造加解密算法的方法、存储介质、设备及系统 |
CN109150494B (zh) * | 2017-06-27 | 2021-07-23 | 武汉斗鱼网络科技有限公司 | 移动端中构造加解密算法的方法、存储介质、设备及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2015191239A1 (en) | 2015-12-17 |
US20200021426A1 (en) | 2020-01-16 |
US11757617B2 (en) | 2023-09-12 |
TW201606563A (zh) | 2016-02-16 |
TWI712915B (zh) | 2020-12-11 |
US10382193B2 (en) | 2019-08-13 |
US20170085368A1 (en) | 2017-03-23 |
US20210218546A1 (en) | 2021-07-15 |
CN106462701B (zh) | 2020-09-18 |
US10897344B2 (en) | 2021-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hu et al. | An overview of hardware security and trust: Threats, countermeasures, and design tools | |
US11507705B2 (en) | Determining cryptographic operation masks for improving resistance to external monitoring attacks | |
US20120079282A1 (en) | Seamless end-to-end data obfuscation and encryption | |
US11757617B2 (en) | Performing cryptographic data processing operations in a manner resistant to external monitoring attacks | |
CN108199832B (zh) | 一种cloc认证加密算法抵御差分故障攻击的检测方法 | |
Wang et al. | Toward scalable fully homomorphic encryption through light trusted computing assistance | |
Breier et al. | Automated Methods in Cryptographic Fault Analysis | |
Sengupta et al. | Guest editorial securing IoT hardware: threat models and reliable, low-power design solutions | |
US20190197216A1 (en) | Method, apparatus, and computer-readable medium for executing a logic on a computing device and protecting the logic against reverse engineering | |
Köylü et al. | RNN-based detection of fault attacks on RSA | |
Xiao et al. | Exploiting the microarchitectural leakage of prefetching activities for side-channel attacks | |
CN108123790B (zh) | 一种侧信道攻击方法及装置 | |
EP3475825B1 (en) | Cryptographic operations employing non-linear share encoding for protecting from external monitoring attacks | |
Thuillet et al. | A smart card power analysis simulator | |
Hossain et al. | Hexon: Protecting firmware using hardware-assisted execution-level obfuscation | |
Breier | On analyzing program behavior under fault injection attacks | |
US20170134379A1 (en) | Method for securing an application and data | |
US10545759B2 (en) | Random execution of multiple different and independent branches of a sensitive computation against various attacks | |
Abdel-Rehim et al. | Testing randomness: the original poker approach acceleration using parallel MATLAB with OpenMP | |
Harris | Avoiding, Preventing, and Mitigating CPU-Based Side Channel Attacks: A Best Practice Guide | |
VENKATARAMANI et al. | WORKSHOP REPORT NSF WORKSHOP ON SIDE AND COVERT CHANNELS IN COMPUTING SYSTEMS | |
Aljuffri | Securing Power Side Channels by Design | |
Mukherjee | A Power Modeling Approach to Protect GPUs from Side-Channel Attacks | |
Fujieda et al. | Enhanced instruction register files for embedded software obfuscation | |
Oswald et al. | Side-channel analysis and its relevance to fault attacks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |