当前位置: 首页 > 专利查询>ARM有限公司专利>正文

功率签名扰乱制造技术

技术编号:7843771 阅读:175 留言:0更新日期:2012-10-13 02:10
本发明专利技术涉及功率签名扰乱。一种数据处理装置被配置为响应于数据处理指令来对至少一个数据值执行数据处理操作。该数据处理装置包括:延迟单元,延迟单元位于该数据处理装置内的一路径上,其中,延迟单元被配置为对该路径上的信号的传送施加延迟,并且所述信号的传送形成数据处理操作的部分。该数据处理装置被配置为在预定时间点确定数据处理操作的结果,其中,所述预定时间点比所述数据处理操作的开始落后预定时间间隔。延迟单元被配置为使得所述数据处理操作被执行的时间加上所述延迟小于所述预定时间间隔。此外,延迟单元被配置为使得所述延迟针对响应于所述数据处理指令对所述至少一个数据值的所述数据处理操作的后续执行而被改变。

【技术实现步骤摘要】

本专利技术涉及数据处理装置,设法使该数据处理装置的内部操作相对外部观察者而言被隐藏。具体地,本专利技术涉及将这样的数据处理装置布置为使得外部观察者通过观察数据处理装置的功耗难以推断出正执行的数据处理操作。
技术介绍
已经知道,其中采取措施来使被执行的数据处理操作相对外部观察者而言被隐藏的数据处理装置已被提供。例如,诸如智能卡中的数据处理装置通常按照使得功率分析攻击(SPA或DPA)较少可能成功的方式来配置。这样的功率分析攻击的目的是通过观察数据处理装置的功耗来推断有关数据处理装置正执行的指令和/或数据处理装置正处理的数据值的信息。已经知道,这样的当前的功率分析攻击可能是精明的,这涉及响应于给定激励而重复对数据处理装置的观察并且对结果执行复杂的统计分析来试图推断出有关正被执行的数据处理操作的信息。正被数据处理装置处理的数据值通常是最受关注的信息,因为·这些可能涉及以其他方式被加密的敏感信息,例如,存储在智能卡上的个人或金融信息。防御功率分析攻击的ー种方法是不管正被执行的具体数据处理操作如何都设法确保数据处理装置具有统ー的功耗。然而,在实践中,实现此是非常困难的,因为功耗将依赖于正被执行的指令的类型和正被处理的数据值。防御这样的攻击的一种替代方法是将数据处理装置布置为使得其功耗在每次同样的数据处理操作(即,对于同样的指令和同样的数据值)被执行时都不同。在这样的数据处理装置的实现中已知多种按照此种方式改变功耗的技术,然而,(从构造方面来看)这些技术通常被強迫处于相对较高的水平,例如,被编程作为数据处理装置正执行的算法的部分。这意味着设置这样的设备的技术人员必须意识到实现此数据处理装置所涉及的易受功率分析攻击的每方面。因此,希望提供ー种数据处理装置,其中对功率分析攻击的抵抗是其构造的固有特征,从而使得其对这样的攻击的抵抗更可靠。
技术实现思路
从第一方面来看,本专利技术提供了ー种数据处理装置,该数据处理装置被配置为响应于数据处理指令来对至少ー个数据值执行数据处理操作,该数据处理装置包括延迟单元,所述延迟単元位于所述数据处理装置内的一路径上,所述延迟単元被配置为对所述路径上的信号的传送施加延迟,其中,所述路径上的所述信号的传送形成所述数据处理操作的部分,其中,所述数据处理装置被配置为在预定时间点确定所述数据处理操作的结果,所述预定时间点比所述数据处理操作的开始落后预定时间间隔,并且其中,所述延迟単元被配置为使得用于所述数据处理操作被执行的时间加上所述延迟小于所述预定时间间隔,并且其中,所述延迟単元被配置为使得所述延迟针对响应于所述数据处理指令对所述至少ー个数据值的所述数据处理操作的后续执行而被改变。根据本专利技术的技木,数据处理装置内的一路径被设有延迟单元,延迟单元被配置用来延迟沿着该路径传送的信号,此信号沿着该路径的传送形成响应于数据处理指令对数据值的数据处理操作的部分。应当理解,这里的数据处理指令可被理解为形成(例如,以汇编语言所写的)程序指令序列的一部分的指令,但是也可等同地,例如表示(例如,硬连线加密引擎中的)状态机提供的控制值集合。该数据处理装置被配置为在预定时间点 (例如,在下降时钟沿处)确定数据处理操作的结果,所述预定时间点落后于数据处理操作的开始达预定时间间隔(例如,数据处理操作通过上升时钟沿开始并且时间间隔是上升时钟沿和接着的下降时钟沿之间的时间段)。延迟单元被配置为对所述路径施加延迟以使得用于数据处理操作被执行的时间加上所述延迟小于此预定时间间隔。例如,在数据处理操作是两个数据值的相加并且数据处理装置内的加法器被配置为在上升时钟沿后开始加法操作的情况中,数据处理装置被配置为将结果值确定为在随后的下降时钟沿时在加法器输出处呈现的值。在此示例的情形中,延迟单元被配置为对所述路径施加延迟,使得执行加法操作所需的时间和强迫的延迟的组合不超过时钟沿之间的间隔,并且因此,加法器的输出不受延迟的引入的影响。延迟单元还被配置为使得当同样的数据处理操作再次被执行(即通过同样的数据处理指令发起并且对同样的数据值进行操作)时,延迟被改变。在当数据处理装置执行数据处理操作时的预定时间间隔期间,数据处理装置的功耗通常将会受到被执行的具体数据处理操作和被执行该操作的(ー个或多个)数据值二者的影响。功率分析攻击依赖于此事实并且可以通过收集基于重复观察的统计数据来推断出有关操作和/或数据值的信息。然而,根据本专利技术的技术,对数据处理操作中使用的路径之一施加延迟将使得与数据处理操作相关联的功耗发生改变。这是因为数据处理操作是通过数据处理装置内用于指定要被执行的操作和要经受该数据处理操作的(ー个或多个)数据值的特定信号集来配置的。如果承载这些信号之一的路径被施加延迟,则当延迟过去并且被延迟的信号到达其目的地时,数据处理装置的内部状态将发生改变。数据处理装置的内部状态的改变将通过其功耗的改变来反映,并且因此,延迟的引入将影响功耗的时间变化特性(time profile)。此外,根据本专利技术的数据处理装置被配置为使得延迟单元针对随后的同样数据处理操作的执行施加不同延迟,因此数据处理操作的初次执行的功耗特性将不同于该数据处理操作的后续执行的功耗。因此,即使对系统的输入激励保持相同,数据处理装置的内部配置使得数据处理操作的每一次执行的功耗将不同,从而使得功率分析攻击更加困难。因此,根据本专利技术的技木,针对给定数据处理操作的各次执行而不同的延迟被施加到数据处理装置的特定路径上,对此延迟的长度的约束为数据处理操作花费的时间和此延迟的和应小于预定时间间隔,从而使得当数据处理操作的结果被确定时,该结果不受施加到路径上的延迟的影响。预定时间点和预定时间间隔的特性可依赖于数据处理装置的类型而不同。在一个实施例中,所述数据处理装置被配置为同步地操作并且所述预定时间间隔为时钟间隔。因此,在这样的同步设备中,在时钟沿形成了每个时钟周期的同步点的情况下,数据处理装置例如可被配置为跟着一个时钟沿来开始数据处理操作并且在接着的时钟沿发生时确定数据处理操作的結果。一般地,一种类型的时钟沿(例如,上升沿)被选择使用。在此情形中,施加到路径上的延迟(其中,信号在该路径上的传送形成数据处理操作的部分)被约束为使得用于数据处理操作被执行的时间加上此延迟小于所选时钟沿之间的间隔,从而尽管在此时钟间隔期间引入了延迟,在下降时钟沿确定的结果值仍不会受到延迟引入的影响。替代地,在另ー实施例中,数据处理装置被配置为异步地操作并且所述预定时间间隔为握手事件之间的间隔。在本示例中应用了同样的一般原理,即,路径上延迟的引入引起数据处理装置内的另外的状态改变(或者至少状态改变发生时间的变化),从而改变与数据处理操作的执行相关联的功耗时间变化特性。尽管异步地操作,这样的数据处理装置仍必需很好地定义握手事件,在握手事件处,装置的异步部件重新调整自身并且结果值可被可靠确定。根据本专利技术的技术,強制的延迟被约束为使得尽管在握手事件之间的间隔期间引入了额外延迟,但是在随后的握手事件处确定的结果值不受影响。除了上面描述的对延迟的长度的约束以外,可以多种方式来确定施加到任何给定迭代的具体延迟。在一个实施例中,所述延迟的长度參考随机控制源来确定。因此,延迟的长度可被随机化,这有助于进ー步扰乱与特定数据处理操作相关本文档来自技高网
...

【技术保护点】

【技术特征摘要】
2011.02.03 GB 1101834.81.一种数据处理装置,该数据处理装置被配置为响应于数据处理指令来对至少一个数据值执行数据处理操作,所述数据处理装置包括 延迟单元,所述延迟单元位于所述数据处理装置内的路径上,所述延迟单元被配置为对所述路径上的信号的传送施加延迟,其中,所述路径上的所述信号的传送形成所述数据处理操作的部分,其中,所述数据处理装置被配置为在预定时间点确定所述数据处理操作的结果,所述预定时间点比所述数据处理操作的开始落后预定时间间隔,并且其中,所述延迟单元被配置为使得用于所述数据处理操作被执行的时间加上所述延迟小于所述预定时间间隔,并且其中,所述延迟单元被配置为使得针对响应于所述数据处理指令对所述至少一个数据值的所述数据处理操作的后续执行而改变所述延迟。2.根据权利要求I所述的数据处理装置,其中,所述数据处理装置被配置为同步地操作并且所述预定时间间隔为时钟间隔。3.根据权利要求I所述的数据处理装置,其中,所述数据处理装置被配置为异步地操作并且所述预定时间间隔为握手事件之间的间隔。4.根据权利要求I所述的数据处理装置,其中,所述延迟的长度参考随机控制源来确定。5.根据权利要求I所述的数据处理装置,其中,所述延迟的长度通过确定性算法来确定。6.根据权利要求I所述的数据处理装置,其中,所述数据处理装置包括至少一个另外的延迟单元,这些至少一个另外的延迟单元位于所述数据处理装置内的至少一个另外的路径上,所述至少一个另外的延迟单元被配置为向所述至少一个另外的路径上的另外的信号的传送施加另外的延迟,其中,所述至少一个另外的路径上的所述另外的信号的传送形成所述数据处理操作的部分, 并且其中,所述至少一个另外的延迟单元被配置为使得所述数据处理操作被执行的所述时间加上所述另外的延迟小于所述预定时间间隔,并且 其中,所述至少一个另外的延迟单元被配置为使得所述另外的延迟针对所述数据处理操作的后续执行而被改变。7.根据权利要求6所述的数据处理装置,其中,所述延迟单元和所述至少一个另外的延迟单元被配置为使得所述延迟和所述另外的延迟彼此不同。8.根据权利要求I所述的数据处理装置,其中,所述路径是数据路径,并且所述信号表示所述至少一个数据值的至少一个数据比特。9.根据权利要求8所述的数据处理装置,其中,所述至少一个数据值包括多个数据比特并且所述信号表示所述多个数据比特。10.根据权利要求8所述...

【专利技术属性】
技术研发人员:柯德克·丹尼斯·罗伯特·艾罗吉恩博迪斯特·布雷罗特斯蒂芬·宗札
申请(专利权)人:ARM有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1