用于以抵抗外部监视攻击的方式来执行密码编译数据处理操作的系统及方法。一种示例性方法可包括:通过处理装置来执行第一数据操纵指令,该第一数据操纵指令影响该处理装置的内部状态;执行第二数据操纵指令,该第二数据操纵指令与所述内部状态互动;以及通过利用不可预测数据项来执行第三数据操纵指令而中断该第一数据操纵指令与该第二数据操纵指令的可侦测互动。
【技术实现步骤摘要】
【国外来华专利技术】
本专利技术总体上是关于计算机系统,并且更特别地是关于密码编译数据处理系统及方法。
技术介绍
随着用于获得至受保护数据的未授权存取的系统及方法不断进化,用于保护密码编译密钥和/或其他敏感数据的系统及方法不断进化。这些系统及方法的范围是从蛮力密码破解到复杂外部监视攻击。附图说明本专利技术通过示例的方式图示说明,并不通过限制的方式,并且可在连同附图考虑时参考下列详细描述而被更充分理解。图1示意性地图示说明通过通用或专用数据处理装置的一种示例性进阶加密标准(AES)实施方案的数据流程图。图2示意性地图示说明通过特定微处理器支持的AES-NI增强型指令集。图3示意性地图示说明一种示例性差分功率分析(DPA)测试。图4示意性地图示说明对目标密码编译数据处理系统的基于示例性DPA测试的攻击。图5示意性地图示说明涉及增强型加密指令集的循序密码编译数据操纵指令的数据泄漏。图6示意性地图示说明根据本专利技术的一个或多个方面通过由数据处理系统执行数据操纵指令而中断循序密码编译数据操纵指令的互动。图7描绘根据本专利技术的一个或多个方面的以抵抗外部监视攻击的方式执行密码编译数据处理操作的一种示例性方法的流程图。图8示意性地图示说明涉及通过目标数据处理系统执行的循序数据加载指令的数据泄漏。图9示意性地图示说明根据本专利技术的一个或多个方面通过由数据处理系统执行额外数据加载指令而中断循序数据加载指令的互动。图10描绘根据本专利技术的一个或多个方面的以抵抗外部监视攻击的方式执行密码编译数据处理操作的另一种示例性方法的流程图;图11图示说明一种示例性计算系统的图示表示,在示例性计算系统内可执行用于导致计算装置执行本文中描述的方法的一组指令。具体实施方式本文中描述以抵抗外部监视攻击的方式执行密码编译数据处理操作的系统及方法。本文中的“密码编译数据处理操作”应是指涉及秘密参数(例如,使用秘密密钥的加密/解密操作)的数据处理操作。本文中的“密码编译数据处理系统”应是指经配置或采用以用于执行密码编译数据处理操作的数据处理系统(例如,通用或专用处理器、片上系统或类似物)。本文中的“外部监视攻击”是指通过从目标密码编译数据处理系统的物理实施方案的特定方面导出一个或多个受保护信息项而获得至受保护信息的未授权存取的方法。侧信道攻击是基于与目标密码编译数据处理系统相关联的一个或多个物理参数的测量值(诸如特定数据处理操作的消逝时间、通过特定电路的功率消耗、流动通过特定电路的电流、通过目标密码编译数据处理系统的特定电路发射的热或电磁辐射等等)的外部监视攻击。各种侧信道攻击可经设计以获得至储存于目标加密系统内和/或通过目标加密系统处理的特定受保护信息(例如,用于将输入纯文本(plaintext)变换为加密文字(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加密或解密回合的A本文档来自技高网...
【技术保护点】
一种执行密码编译操作的方法,包括:由处理装置执行第一数据操纵指令,所述第一数据操纵指令影响所述处理装置的内部状态;执行第二数据操纵指令,所述第二数据操纵指令与所述内部状态互动;以及通过利用不可预测数据项来执行第三数据操纵指令而中断所述第一数据操纵指令与所述第二数据操纵指令的可侦测互动。
【技术特征摘要】
【国外来华专利技术】2014.06.12 US 62/011,2451.一种执行密码编译操作的方法,包括:由处理装置执行第一数据操纵指令,所述第一数据操纵指令影响所述处理装置的内部状态;执行第二数据操纵指令,所述第二数据操纵指令与所述内部状态互动;以及通过利用不可预测数据项来执行第三数据操纵指令而中断所述第一数据操纵指令与所述第二数据操纵指令的可侦测互动。2.根据权利要求1的方法,其中相对于以下各项中的至少一项来依序执行所述第三数据操纵指令:所述第一数据操纵指令或所述第二数据操纵指令。3.根据权利要求1的方法,其中相对于以下各项中的至少一项来同时执行所述第三数据操纵指令:所述第一数据操纵指令或所述第二数据操纵指令。4.根据权利要求1的方法,其中所述第一数据操纵指令或所述第二数据操纵指令中的至少一者属于用于执行密码编译数据处理操作的增强型指令集。5.根据权利要求4的方法,其中所述增强型指令集是由以下各项中的一项来提供:IntelAES-NI指令集、ARM进阶加密标准(AES)指令集、或SPARCAES指令集。6.根据权利要求1的方法,其中所述处理装置是由以下各项中的一项来提供:Intel微处理器、ARM微处理器、或SPARC微处理器。7.根据权利要求1的方法,其中包括所述第一数据操纵指令或所述第二数据操纵指令中的至少一者的应用程序被配置为实施以下各项中的至少一项:基于进阶加密标准(AES)的加密方法、或基于进阶加密标准(AES)的解密方法。8.根据权利要求1的方法,其中所述第二数据操纵指令利用由所述第一数据操纵指令的输出提供的输入数据项。9.根据权利要求1的方法,其中所述第三数据操纵指令修改所述内部状态。10.根据权利要求1的方法,其中所述第一数据操纵指令和所述第二数据操纵指令中的至少一者利用包括密码编译密钥的输入数据项。11.根据权利要求1的方法,其中所述第一数据操纵指令和所述第二数据操纵指令中的至少一者执行以下各项中的一项:AES加密回合、或AES解密回合。12.根据权利要求1的方法,其中所述内部状态包括所述处理装置的一个或多个内部寄存器。13.根据权利要求1的方法,其中所述内部状态包括促成所述处理装置内的电流流动的一个或多个因素。14.一种方法,包括:由处理装置执行修改所述处理装置的内部状态的数据加载指令的序列,其中所述序列的特定数据加载指令会加载秘密数据;以及通过在所述序列内执行第一数据加载指令以加载...
【专利技术属性】
技术研发人员:S·J·萨布,P·罗哈吉,C·E·哈姆佩尔,
申请(专利权)人:密码研究公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。