加解密装置及其功率分析防御方法与流程

文档序号:12838847阅读:401来源:国知局
加解密装置及其功率分析防御方法与流程

本发明涉及一种加解密技术,尤其涉及一种可防御功率分析攻击(poweranalysisattack)的加解密装置及其功率分析防御方法。



背景技术:

加解密技术常用来确认信息传输的安全性(security)。在一般的加密技术中,首先在一传送端会对一个信息(即明文(plaintext))加密(encrypted),并且在一接收端会对一个信息(即密文(ciphertext))解密(decrypted)或解码(decoded)。像这样的信息加密或解密即为众所周知的加解密技术。

加解密算法被广泛地应用在无线通信系统如无线局域网络、近场通信以及数据储存系统与银行系统里,但也存在恶意对其进行破解的手段。旁信道攻击(side-channelattack)指的是藉由对系统的物理学分析和实现方式分析,来尝试破解加解密系统的行为。举例来说,加解密系统中的电力消耗、电磁波、时间差等信息都有可能提供对破解系统有帮助的信息。

其中差动功率分析攻击法就是利用硬件在加密、解密时,信道上所泄露的功率信息来推导出密钥(secretkey)。差动功率分析攻击可藉由例如测量密码编译程序件的电力消耗(功率信号),或是例如从外部汲取电力的智能卡,其中智能卡的电流消耗可取决于正在执行的运算决定的栅极切换。黑客可监视智能卡的电力消耗,并且在操控其时可利用统计信息推断关于敏感数据的信息。因此,如何能有效地防御功率分析攻击,实为此技术领域的技术人员所关注的重点之一。



技术实现要素:

本发明提供一种加解密装置及其功率分析防御方法,可有效防御功率分析攻击,并且不会影响加解密运算的速度与效能。

本发明的加解密装置适用于对数字数据进行加解密运算,包括数据加解 密单元、随机数生成器以及功率分析防御电路。数据加解密单元接收数字数据,且对数字数据进行加解密运算。随机数生成器用以产生随机数数据,随机数数据具备n位,n为正整数。功率分析防御电路在接收到随机数数据时依据随机数数据中的各位数据而产生m种不同大小的功率信号,m为2的n次方。

在本发明的一实施例中,当上述的数据加解密单元未进行加解密运算时加解密装置控制随机数生成器禁能,以使功率分析防御电路停止运作。

本发明的功率分析防御方法,适用于加解密装置。方法包括:产生随机数数据,随机数数据具备n位,n为正整数;以及根据随机数数据启动功率分析防御电路,使功率分析防御电路在接收到随机数数据时依据随机数数据中的各位数据而产生m种不同大小的功率信号,m为2的n次方。

基于上述,本发明的加解密装置,可利用随机数数据的变动而针对每个频率周期动态改变在加解密运算过程中所产生的电力消耗(功率信号),藉此使攻击者难以依据电力消耗来推导出敏感数据的信息(例如密钥等)。再者,将功率分析防御电路独立于数据加解密单元进行配置可避免影响加解密运算的速度与效能,并且可依加解密运算的执行与否而适当地停止功率分析防御电路的运作,降低不必要的电力消耗。

为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。

附图说明

图1显示本发明一实施例的加解密装置的示意图;

图2显示本发明一实施例的数据加解密单元的示意图;

图3显示本发明一实施例的功率分析防御电路的示意图;

图4显示本发明一实施例的分析防御电路中机率相对于功率准位的关系图;

图5显示本发明一实施例的功率信号产生器的示意图;

图6显示本发明一实施例的功率分析防御方法的流程图。

附图标记:

100:加解密装置

110:数据加解密单元

120:随机数生成器

130:功率分析防御电路

200:逻辑运算单元

210:储存单元

300_1~300_n:功率信号产生器

500:环形振荡器

510:与非门

520:第一反相器

530:第二反相器

d1:数字数据

d2:随机数数据

d2_1~d2_n:位数据

k1:密钥

sp1、sp2、sp3:功率信号

s610、s620:步骤

具体实施方式

首先请参照图1,图1显示本发明一实施例的加解密装置的示意图。在本实施例中,加解密装置100可例如为密码芯片,包括数据加解密单元110、随机数生成器120以及功率分析防御电路130。当将数字数据d1输入至加解密装置100时,数据加解密单元110可接收数字数据d1,且对数字数据d1进行加解密运算。此处的加解密运算例如是符合数据加密标准(dataencryptionstandard,des)、3-des或先进加密标准(advancedencryptionstandard,aes)等加密标准的运算。数据加解密单元110在加解密运算的过程中产生了功率信号sp1。

举例来说,图2显示本发明一实施例的数据加解密单元的示意图。在图2中,数据加解密单元110包括逻辑运算单元200以及储存单元210。逻辑运算单元200可接收密钥k1以及数字数据d1,并依据密钥k1来对数字数据d1进行逻辑运算,并且可利用储存于储存单元210的数字数据置换表来对数 字数据d1进行置换,以执行加解密运算。需说明的是,上述数据加解密单元的结构与动作仅为示范性的实施例,本发明并不以此为限。

回到图1,随机数生成器120可用以在每个频率周期产生不同的随机数数据d2。随机数数据d2例如为真实随机数数据,且每笔随机数数据d2皆具备n位(n为正整数)。功率分析防御电路130耦接随机数生成器120,并可从随机数生成器120接收到随机数数据d2。功率分析防御电路130在接收到随机数数据d2时可依据随机数数据d2中的各个位数据而产生m种不同大小的功率信号sp2(m等于2n)。其中,n的大小视实际需求而论/决定,n越大针对功率分析攻击的防御可靠度就越高,但成本也越高。

当攻击者对本实施例的加解密装置100进行电力消耗的测量时,所测量得到的功率信号sp3为功率信号sp1与功率信号sp2相加的总合,因此在每个频率周期中功率信号sp3亦有参杂2n种不同的大小变化,藉此使攻击者难以利用电力消耗来推导出敏感数据的信息(例如密钥等)。

举例来说,图3显示本发明一实施例的功率分析防御电路的示意图。在图3中,功率分析防御电路130可包括n个功率信号产生器300_1~300_n,各功率信号产生器300_1~300_n分别接收随机数数据d2的各个位数据d2_1~d2_n,并且可据以产生不同功率准位的功率信号。以功率信号产生器300_1为范例,当所接收到的位数据d2_1为逻辑0时,功率信号产生器300_1可停止运作,而不产生任何功率信号。当所接收到的位数据d2_1为逻辑1时,功率信号产生器300_1则可产生特定大小(即单位功率upx1)的功率信号。

功率信号产生器300_1~300_n所产生的功率信号间分别具有一定的比例关系。详细来说,功率信号产生器300_1~300_n所产生的功率信号可以设定为将单位功率up乘上2的幂次方。也就是说,功率信号产生器300_2所产生的功率信号(单位功率upx2)可以是功率信号产生器300_1所产生的功率信号(单位功率upx1)的两倍大,而作为第n个功率信号产生器300_n所产生的功率信号可以为单位功率up的2n-1倍(n为正整数,且1≤n≤n)。换言之,功率分析防御电路130中的每个功率信号产生器300_1~300_n皆可分别依据所接收到的位数据d2_1~d2_n是逻辑0或逻辑1决定是否被启动,并在被启动时产生各自特定功率准位的功率信号。此外,当数据加解密单元110 未进行加解密运算时,加解密装置100可例如通过禁能信号来控制随机数生成器120禁能,从而让每个功率信号产生器300_1~300_n皆不被启动而使功率分析防御电路130停止运作,以降低不必要的电力消耗。

为了进一步说明本实施例,以下表(1)描述了当n等于3时功率分析防御电路130中功率信号产生器300_1~300_3的启动情形以及所产生的功率信号sp2。

表(1)

由表(1)可知,功率分析防御电路130可依据3位的随机数数据d2而产生8(23)种不同大小组合的功率信号sp2。以此类推,在每个频率周期中功率分析防御电路130可依据n位的随机数数据d2中而产生2n种不同大小组合的功率信号sp2。

需说明的是,在本实施例中,加解密装置100内的随机数生成器120与功率分析防御电路130,和数据加解密单元110完全独立的,因此可避免影响数据加解密单元110的速度与效能。由另一观点来看,本实施例的随机数生成器120与功率分析防御电路130可适用于整合在任何种类的加解密装置中,具有高可移植性。

图4显示本发明一实施例的分析防御电路中机率相对于功率准位的关系图。其中图4的横轴为分析防御电路130所产生的功率信号sp2的功率准位,纵轴为功率准位产生的机率。当分析防御电路130被随机数数据d2触发启 动的情况下,如图4所示,分析防御电路130可产生2n种不同大小组合的功率准位(即0、up~2n-1up),并且每个功率准位的产生机率皆为

请参考图5,图5显示本发明一实施例的功率信号产生器的一实施方式的示意图。功率信号产生器300_1~300_n可例如采用环形振荡器的结构。如图5所示,以功率信号产生器300_1为范例,可包括一个环形振荡器500。环形振荡器500可包括与非门510、第一反相器520以及第二反相器530。与非门510的第一输入端接收随机数数据d2中对应的其中一个位数据d2_1。第一反相器520的输入端耦接与非门510的输出端。第二反相器530的输入端耦接第一反相器520的输出端,第二反相器530的输出端耦接与非门的第二输入端。环形振荡器500可通过位数据d2_1的触发而产生一个单位功率up的功率信号。

另一方面,功率信号产生器300_2所产生的功率信号是功率信号产生器300_1所产生的功率信号的两倍大,因此功率信号产生器300_2可包括两个环形振荡器500。两个环形振荡器500皆连接位数据d2_1而互相并联,以通过位数据d2_1的触发而产生共两个单位功率up的功率信号。以此类推,第n个功率信号产生器300_n(n为正整数,且1≦n≦n)可包括2n-1个互相并联的环形振荡器500,以产生2n-1个单位功率up的功率信号。

此外,随机数生成器120亦可例如为环型震荡器式随机数生成器(ringoscillatorbasedrandomnumbergenerator)。若随机数生成器120与功率分析防御电路130主要皆由环型震荡器组成,可有利于制程上的设计,以降低成本。

图6显示本发明一实施例的功率分析防御方法的流程图。本发明实施例的功率分析防御方法适用于图1的加解密装置100。请同时参照图1及图6,当加解密装置100在进行加解密运算时,在步骤s610中,随机数生成器120产生随机数数据d2。随机数数据d2具备n位,且n为正整数。在步骤s620中,加解密装置100根据随机数数据d2启动功率分析防御电路130,使功率分析防御电路130在接收到随机数数据d2时依据随机数数据d2中的各位数据d2_1~d2_n而产生m种不同大小的功率信号,m为2的n次方。

此外,关于上述图6中,功率分析防御方法的执行步骤的实施细节,在前述的多个实施例及多个实施方式中都有详细的说明,以下恕不多赘述。

综上所述,本发明的加解密装置及其功率分析防御方法,可利用随机数数据的变动而在每个频率周期参杂不同功率准位的电力消耗,藉此使攻击者 难以依据电力消耗来推导出敏感数据的信息(例如密钥等)。在结构上将功率分析防御电路独立于数据加解密单元进行配置可避免影响加解密运算的速度与效能,而且本发明亦具有在不使用时适当地停止功率分析防御电路的运作以降低不必要的电力消耗的功能。

虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属技术领域中普通技术人员,在不脱离本发明的精神和范围内,当可作些许的改动与润饰,故本发明的保护范围当视所附权利要求界定范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1