首页 > 专利 > 上海新储集成电路有限公司 > 一种智能卡多核处理器系统及其防御差分功耗分析的方法专利详情

一种智能卡多核处理器系统及其防御差分功耗分析的方法   0    0

有效专利 查看PDF
专利申请流程有哪些步骤?
专利申请流程图
申请
申请号:指国家知识产权局受理一件专利申请时给予该专利申请的一个标示号码。唯一性原则。
申请日:提出专利申请之日。
2014-01-15
申请公布
申请公布指发明专利申请经初步审查合格后,自申请日(或优先权日)起18个月期满时的公布或根据申请人的请求提前进行的公布。
申请公布号:专利申请过程中,在尚未取得专利授权之前,国家专利局《专利公报》公开专利时的编号。
申请公布日:申请公开的日期,即在专利公报上予以公开的日期。
2014-09-10
授权
授权指对发明专利申请经实质审查没有发现驳回理由,授予发明专利权;或对实用新型或外观设计专利申请经初步审查没有发现驳回理由,授予实用新型专利权或外观设计专利权。
2018-04-20
预估到期
发明专利权的期限为二十年,实用新型专利权期限为十年,外观设计专利权期限为十五年,均自申请日起计算。专利届满后法律终止保护。
2034-01-15
基本信息
有效性 有效专利 专利类型 发明专利
申请号 CN201410018636.9 申请日 2014-01-15
公开/公告号 CN103986571B 公开/公告日 2018-04-20
授权日 2018-04-20 预估到期日 2034-01-15
申请年 2014年 公开/公告年 2018年
缴费截止日
分类号 H04L9/06 主分类号 H04L9/06
是否联合申请 独立申请 文献类型号 B
独权数量 1 从权数量 8
权利要求数量 9 非专利引证数量 0
引用专利数量 4 被引证专利数量 0
非专利引证
引用专利 CN102724035A、CN102724035A、CN101350038A、CN202975731U 被引证专利
专利权维持 4 专利申请国编码 CN
专利事件 事务标签 公开、实质审查、授权
申请人信息
申请人 第一申请人
专利权人 上海新储集成电路有限公司 当前专利权人 上海新储集成电路有限公司
发明人 景蔚亮、陈邦明 第一发明人 景蔚亮
地址 上海市金山区亭卫公路6505号2幢8号 邮编 201500
申请人数量 1 发明人数量 2
申请人所在省 上海市 申请人所在市 上海市金山区
代理人信息
代理机构
专利代理机构是经省专利管理局审核,国家知识产权局批准设立,可以接受委托人的委托,在委托权限范围内以委托人的名义办理专利申请或其他专利事务的服务机构。
上海申新律师事务所 代理人
专利代理师是代理他人进行专利申请和办理其他专利事务,取得一定资格的人。
吴俊
摘要
本发明提出了一种智能卡多核处理器系统及其防御差分功耗分析的方法,本系统运用多核微处理器来处理并行加解密算法和数据,各个微处理器在完全互为异步的时钟信号下工作,各个微处理器工作功耗互为干扰功耗,在处理其他非加解密算法任务时,多核处理器也可以被同时打开运行,即可以用更小的功耗达到相同或者超过单核智能卡的性能,并且起到了防御差分功耗分析攻击的作用。
  • 摘要附图
    一种智能卡多核处理器系统及其防御差分功耗分析的方法
  • 说明书附图:图1
    一种智能卡多核处理器系统及其防御差分功耗分析的方法
  • 说明书附图:图2
    一种智能卡多核处理器系统及其防御差分功耗分析的方法
  • 说明书附图:图3
    一种智能卡多核处理器系统及其防御差分功耗分析的方法
  • 说明书附图:图4
    一种智能卡多核处理器系统及其防御差分功耗分析的方法
  • 说明书附图:图5
    一种智能卡多核处理器系统及其防御差分功耗分析的方法
  • 说明书附图:图6
    一种智能卡多核处理器系统及其防御差分功耗分析的方法
  • 说明书附图:图7
    一种智能卡多核处理器系统及其防御差分功耗分析的方法
  • 说明书附图:图8
    一种智能卡多核处理器系统及其防御差分功耗分析的方法
  • 说明书附图:图9
    一种智能卡多核处理器系统及其防御差分功耗分析的方法
  • 说明书附图:图10
    一种智能卡多核处理器系统及其防御差分功耗分析的方法
  • 说明书附图:图11
    一种智能卡多核处理器系统及其防御差分功耗分析的方法
  • 说明书附图:图12
    一种智能卡多核处理器系统及其防御差分功耗分析的方法
  • 说明书附图:图13
    一种智能卡多核处理器系统及其防御差分功耗分析的方法
  • 说明书附图:图14
    一种智能卡多核处理器系统及其防御差分功耗分析的方法
  • 说明书附图:图15
    一种智能卡多核处理器系统及其防御差分功耗分析的方法
  • 说明书附图:图16
    一种智能卡多核处理器系统及其防御差分功耗分析的方法
  • 说明书附图:图17
    一种智能卡多核处理器系统及其防御差分功耗分析的方法
  • 说明书附图:图18
    一种智能卡多核处理器系统及其防御差分功耗分析的方法
  • 说明书附图:图19
    一种智能卡多核处理器系统及其防御差分功耗分析的方法
  • 说明书附图:图20
    一种智能卡多核处理器系统及其防御差分功耗分析的方法
  • 说明书附图:图21
    一种智能卡多核处理器系统及其防御差分功耗分析的方法
  • 说明书附图:图22
    一种智能卡多核处理器系统及其防御差分功耗分析的方法
  • 说明书附图:图23
    一种智能卡多核处理器系统及其防御差分功耗分析的方法
  • 说明书附图:图24
    一种智能卡多核处理器系统及其防御差分功耗分析的方法
  • 说明书附图:图25
    一种智能卡多核处理器系统及其防御差分功耗分析的方法
  • 说明书附图:图26
    一种智能卡多核处理器系统及其防御差分功耗分析的方法
  • 说明书附图:图27
    一种智能卡多核处理器系统及其防御差分功耗分析的方法
  • 说明书附图:图28
    一种智能卡多核处理器系统及其防御差分功耗分析的方法
  • 说明书附图:图29
    一种智能卡多核处理器系统及其防御差分功耗分析的方法
  • 说明书附图:图30
    一种智能卡多核处理器系统及其防御差分功耗分析的方法
  • 说明书附图:图31
    一种智能卡多核处理器系统及其防御差分功耗分析的方法
  • 说明书附图:图32
    一种智能卡多核处理器系统及其防御差分功耗分析的方法
  • 说明书附图:图33
    一种智能卡多核处理器系统及其防御差分功耗分析的方法
  • 说明书附图:图34
    一种智能卡多核处理器系统及其防御差分功耗分析的方法
法律状态
序号 法律状态公告日 法律状态 法律状态信息
1 2018-04-20 授权
2 2014-09-10 实质审查的生效 IPC(主分类): H04L 9/06 专利申请号: 201410018636.9 申请日: 2014.01.15
3 2014-08-13 公开
权利要求
权利要求书是申请文件最核心的部分,是申请人向国家申请保护他的发明创造及划定保护范围的文件。
1.一种智能卡多核处理器系统,其特征在于,包括:
若干个并行的微处理器,且每个所述微处理器均与一加解密算法功能子模块双向通讯连接;
所述若干个并行的微处理器中包含有一主微处理器;
一时钟产生模块,该时钟产生模块与所述主微处理器通讯连接;
一随机数产生模块,该随机数产生模块与所述时钟产生模块通讯连接;
所述随机数产生模块输出随机数序列至所述时钟产生模块,该时钟产生模块根据其接收到的随机数序列对源时钟进行分频、相位偏移,以产生所述若干个异步的时钟信号;所述若干个异步的时钟信号与所述微处理器一一对应,且任意两个所述异步的时钟信号之间的相位和频率均不相同;
所述时钟产生模块发送所述若干个异步的时钟信号至每个所述微处理器,每个所述微处理器根据其接收的时钟信号处理运行与其连接的加解密算法功能子模块。

2.如权利要求1中任意一项所述智能卡多核处理器系统,其特征在于,所述智能卡多核处理器系统还设置有智能卡存储器;
所述智能卡存储器分别与所述时钟产生模块和所述微处理器连接,且在其连接处还设置有对外通讯接口。

3.如权利要求2所述智能卡多核处理器系统,其特征在于,所述多核处理器系统还包括一公共存储器,该公共存储器分别与每个所述微处理器通讯连接,且每个所述微处理器还均双向通讯连接有一本地存储器。

4.如权利要求3所述智能卡多核处理器系统,其特征在于所述加解密算法功能子模块并行排列,并且均设置于所述本地存储器或所述智能卡存储器中。

5.如权利要求1所述智能卡多核处理器系统,其特征在于,通过硬件实现方式、软件实现方式或软硬件协同实现方式实现所述加解密算法功能子模块。

6.一种运用多核处理器防御差分功耗分析的方法,其特征在于,应用于上述权利要求1~5中任意一项所述的智能卡多核处理器系统上,且该智能卡多核处理器系统设置有若干个微处理器,且该若干个微处理器中包含有一主处理器,所述方法包括:
所述主处理器发出使能信号至时钟产生模块;
所述时钟产生模块中至少包含时钟源、分频器模块以及相位偏移模块;
所述时钟源产生一时钟源依次通过所述分频器模块和所述相位偏移模块或依次通过所述相位偏移模块和所述分频器模块;
所述分频器模块和所述相位偏移模块根据其接收的随机数序列对所述时钟源进行分频和相位偏移后,输出若干个互为异步的时钟信号;所述若干个异步的时钟信号给所述若干个微处理器使用;每个所述微处理器根据其接收的时钟信号处理运行与其连接的加解密算法功能子模块;
其中,当所述若干个微处理器在处理与其连接的加解密算法功能子模块解密算法功能子模块时,任意两个微处理器之间的功耗曲线均不相同。

7.如权利要求6所述运用多核处理器防御差分功耗分析的方法,其特征在于,所述若干个微处理器中包含一主处理器和若干个从处理器,所述方法还包括:
所述主处理器发出使能信号至随机数产生模块和时钟产生模块,使其开始运作;
所述随机数产生模块产生随机数序列至所述时钟产生模块;
所述时钟产生模块根据其接收到的随机数序列对源时钟进行分频、相位偏移,以产生若干个异步的时钟信号。

8.如权利要求6所述运用多核处理器防御差分功耗分析的方法,其特征在于,所述分频器模块对源时钟进行重新分频,并改变其占空比。

9.如权利要求6所述运用多核处理器防御差分功耗分析的方法,其特征在于,通过硬件实现方式、软件实现方式或软硬件协同实现方式实现所述加解密算法功能子模块。
说明书

技术领域

[0001] 本发明涉及半导体和计算机技术,尤其涉及一种智能卡多核处理器系统及其防御差分功耗分析的方法。

背景技术

[0002] 随着超大规模集成电路和计算机技术的发展,信息安全已经从传统的政治,经济,军事等领域推广到日常生活中。由于信息安全技术确保信息的安全保存和传输,因此,高性能的智能卡在世界上已经非常普及,如身份证,银行卡,手机卡等。
[0003] 现代电子设备由集成电路构成,信息安全技术也依赖于相应的集成电路(如密码芯片)作为硬件载体。目前普遍采用将保密信息通过在加密器件上执行密码算法的策略,达到保护信息安全的目的,然而,在执行密码算法过程中物理器件总是要泄漏各种与密码系统本身相关的信息,比如运行时间、能量消耗、电磁辐射等等。攻击者利用这些边际信息攻击加密器件就可获得密钥,这一过程称为旁路攻击(Side Channel Attack,SCA)。旁路攻击方法分为时间分析、功耗分析和电磁辐射分析3类。在旁路信息中,由于功耗的可测试性最强、测试功耗的工具最简单、功耗曲线也最适合分析,使得功耗分析攻击在实际攻击中应用最多。功耗分析攻击有简单功耗分析(Simple Power Analysis,SPA)攻击,差分功耗分析(Differential Power Analysis,DPA)攻击。 在诸多功耗分析旁道攻击方案中,差分功耗分析攻击技术被证明是最有效率并且是最容易实现的一种,由于其易于操作且非常有效,对密码模块的安全构成重大威胁。抵抗差分功耗分析攻击的主要途径大致可分为两类:①是尽量降低功耗曲线的波动,减小功耗曲线中的信息含量,即采用降低信噪比的方法达到防御差分功耗分析攻击的目的;②是尽量扰乱功耗曲线与数据的相关性,我们有两种方式来实现扰乱功耗曲线和数据的相关性,第一种是我们在执行加解密算法时增加额外的数据,使功耗曲线和数据相关性破坏,第二种是采用增加随机噪声和冗余功耗。这两种途径都可以提高密码芯片的安全性,使攻击者难以实施差分功耗分析攻击或者需要采集更多的功耗曲线样本。
[0004] 随着智能卡的发展,非接触智能卡越来越多。非接触智能卡是通过场强来为智能卡供电,通过无线电波的传递来完成数据的读写操作,这样对智能卡的工作功耗要求就更高,如果我们采取增加冗余功耗来防御差分功耗分析攻击这种方法,我们需要增加额外的冗余功耗,这样就会使整个智能卡的功耗增加,从而造成功耗的浪费。一般的智能卡都采用单核微处理器结构,用片上硬件或软件来处理数据的加解密算法,为了防御差分功耗分析攻击,无论采用哪种方式都会引入额外的电路或者功能模块,其作用是扰乱原有的数据加解密功耗曲线图。本质上来说,对于加入的电路或者功能模块,从占用芯片的面积和工作产生的功耗来说,只有在防御差分功耗分析时才有意义,其他时间都是浪费,即增加了芯片的面积也增大了智能卡的功耗。
[0005] 中国专利(公开号:CN102983964A)公开了一种抗差分功耗分 析的数字加密标准改进方法及装置,对64位明文进行数字加密标准的16轮运算的S盒函数处理步骤中使以下由SM-Box表示的新S盒函数。本发明结合不同的随机数改造的S盒函数,破坏了真实密钥信息和功耗曲线之间的相关性,给功耗分析获取信息带来很大难度达到抵御功耗分析的目的。本发明同时结合掩盖技术,在加密运算之前对明文进行预掩盖,并在每轮运算中进行随机数掩盖,有效的防止了信息泄露而被攻击,提高了其抗差分功耗分析攻击的能力。
[0006] 中国专利(公开号:CN102970131A)公开了一种可以有效抵御通过功耗分析(简单功耗分析SPA和差分功耗分析DPA)或电磁辐射分析(DEMA)技术对采用分组加解密算法的模块、芯片和智能卡卡片等进行攻击以获取加解密运算密钥的技术及其电路实现结构。在高安全性智能卡应用中,例如但不限于,电子身份证、金融卡、社保卡等应用领域中,本发明能够有效地保护分组算法模块、芯片和智能卡卡片等,防止加解密运算密钥被功耗分析或电磁辐射分析技术所破译获取。本发明还能够在连续的加密运算中,提高加密运算的效率,在提高对分组算法模块、芯片和智能卡卡片等的安全防护强度的同时保证了加密运算的执行效率。本发明具有很好的创新性、实用性和有效性。
[0007] 上述现有发明都无法解决因为增加了冗余功耗来防御差分功耗分析攻击而引起整个智能卡的功耗增加,导致加入的电路和功能模块在防御差分功耗分析之外的时间都是一种功能浪费,并且增加了芯片的面积,增大了智能卡的功耗。

发明内容

[0008] 本发明提出了一种智能卡多核处理器系统及其防御差分功耗分析的方法,本系统运用多核微处理器来处理并行加解密算法和数据,各个微处理器在完全互为异步的时钟信号下工作,各个微处理器工作功耗互为干扰功耗,在处理其他非加解密算法任务时,多核处理器也可以被同时打开运行,即可以用更小的功耗达到相同或者超过单核智能卡的性能,并且起到了防御差分功耗分析攻击的作用。
[0009] 本发明提供了一种智能卡多核处理器系统,其中,包括:
[0010] 若干个并行的微处理器,且每个所述微处理器均与一加解密算法功能子模块双向通讯连接;
[0011] 一时钟产生模块,该时钟产生模块与所述主微处理器通讯连接;
[0012] 其中,所述时钟产生模块发送若干个异步的时钟信号至每个所述微处理器,每个所述微处理器根据其接收的时钟信号处理运行与其连接的加解密算法功能子模块。
[0013] 上述智能卡多核处理器系统,其中,一随机数产生模块与所述时钟产生模块通讯连接;
[0014] 所述随机数产生模块输出随机数序列至所述时钟产生模块,该时钟产生模块根据其接收到的随机数序列对源时钟进行分频、相位偏移,以产生所述若干个异步的时钟信号。
[0015] 上述智能卡多核处理器系统,其中,所述若干个异步的时钟信号与所述微处理器一一对应,且任意两个所述异步的时钟信号之间的相 位和频率均不相同。
[0016] 上述智能卡多核处理器系统,其中,所述智能卡多核处理器系统还设置有智能卡存储器;
[0017] 所述智能卡存储器分别与所述时钟产生模块和所述微处理器连接,且在其连接处还设置有对外通讯接口。
[0018] 上述智能卡多核处理器系统,其中,所述多核处理器系统还包括一公共存储器,该公共存储器分别与每个所述微处理器通讯连接,且每个所述微处理器还均双向通讯连接有一本地存储器。
[0019] 上述智能卡多核处理器系统,其中,所述加解密算法功能子模块并行排列,并且均设置于所述本地存储器或所述智能卡存储器中。
[0020] 上述智能卡多核处理器系统,其中,通过硬件实现方式、软件实现方式或软硬件协同实现方式实现所述加解密算法功能子模块。
[0021] 本发明还提供了一种运用多核处理器防御差分功耗分析的方法,其中,应用于上述任意一项所述的智能卡多核处理器系统上,且该智能卡多核处理器系统设置有若干个微处理器,且该若干个微处理器中包含有一主处理器,所述方法包括:
[0022] 所述主处理器发出使能信号至时钟产生模块;
[0023] 所述时钟产生模块产生若干个异步的时钟信号给所述若干个微处理器使用;
[0024] 每个所述微处理器根据其接收的时钟信号处理运行与其连接的加解密算法功能子模块;
[0025] 其中,当所述若干个微处理器在处理与其连接的加解密算法功能 子模块解密算法功能子模块时,任意两个微处理器之间的功耗曲线均不相同。
[0026] 上述运用多核处理器防御差分功耗分析的方法,其中,所述若干个微处理器中包含一主处理器和若干个从处理器,所述方法还包括:
[0027] 所述主处理器发出使能信号至随机数产生模块和时钟产生模块,使其开始运作;
[0028] 所述随机数产生模块产生随机数序列至所述时钟产生模块;
[0029] 所述时钟产生模块根据其接收到的随机数序列对源时钟进行分频、相位偏移,以产生若干个异步的时钟信号。
[0030] 上述运用多核处理器防御差分功耗分析的方法,其中,所述时钟产生模块中至少包含时钟源,分频器模块以及相位偏移模块;
[0031] 所述时钟源产生一时钟源依次通过所述分频器模块和所述相位偏移模块或依次通过所述相位偏移模块和所述分频器模块;
[0032] 所述分频器模块和所述相位偏移模块根据其接收的随机数序列对所述时钟源进行分频和相位偏移后,输出若干个互为异步的时钟信号。
[0033] 上述运用多核处理器防御差分功耗分析的方法,其中,所述分频器模块对源时钟进行重新分频,并改变其占空比。
[0034] 上述运用多核处理器防御差分功耗分析的方法,其中,通过硬件实现方式、软件实现方式或软硬件协同实现方式实现所述加解密算法功能子模块。
[0035] 本发明具有如下技术优势:
[0036] 1、本发明通过多核微处理器来处理并行加解密算法和数据,可以用更小的功耗达到相同或者超过单核智能卡的性能。
[0037] 2、本发明的多核微处理器在完全互为异步的时钟信号信号下工作,各个微处理器的工作功耗互为干扰功耗来有效防御差分功耗分析攻击。
[0038] 3、本发明可在深亚微米工艺上实现,硬件面积大大的减少,而且智能卡系统工作的频率也大大增加。

实施方案

[0074] 结合以下具体实施例和附图,对本发明作进一步的详细说明。实施本发明的过程、条件、实验方法等,除以下专门提及的内容之外,均为本领域的普遍知识和公知常识,本发明没有特别限制内容。
[0075] 实施例一
[0076] 本发明提出了一种多核微处理器系统,其多核微处理器结构图,如图1所示。其中(1)是并行加解密算法功能模块,其由N个(若干个)加解密算法功能子模块组成,分别为加解密算法功能子模块1(2-1),加解密算法功能子模块2(2-2)到加解密算法功能子模块N(2-N),(3)是多核微处理器,由N个(若干个)微处理器组成,分别为微处理器1(4-1),微处理器2(4-2)到微处理器N(4-N),各个微处理器分别双向通讯连接加解密算法功能子模块,而且并行处理各个加解密算法功能子模块,即微处理器1(4-1)负责处理加解密算法功能子模块1(2-1),微处理器2(4-2)负责处理加解密算法功能子模块2(2-2),……,微处理器N(4-N)负责处理加解密算法功能子模块N(2-N),(5)是随机数产生模块,随机数产生模块(5) 和多核处理器系统通讯连接,多核处理器系统在每次运行并行加解密算法功能模块(1)前发出使能信号到随机数产生模块(5),使其产生随机数序列,根据随机数产生模块(5)产生的随机数序列,时钟产生模块(6)产生完全异步的N个(若干个)输出时钟信号,分别为时钟信号1,时钟信号2到时钟信号N。在多核处理器系统中(3)多核微处理器处理运行并行加解密算法功能模块(1)时,N个异步时钟信号分别作为N个微处理器的工作时钟,这N个输出工作时钟在相位和频率上完全异步(其中N>=1且为整数)。
[0077] 本发明中多核微处理器在完全异步的时钟信号下工作,异步工作时间由随机数产生模块(5),时钟产生模块(6)产生。其中时钟产生模块(6)由时钟源(6-1),相位偏移模块(6-2)和分频器模块(6-3)组成,如图2所示,其中相位偏移模块(6-2)能将输入的时钟信号进行相位偏移,偏移量由随机数产生模块(5)产生的随机数序列决定,分频器模块(6-3)能将输入的时钟信号进行重新的分频,且可改变时钟信号的占空比,其中分频数和占空比由随机数序列产生模块(5)产生的随机数决定,相位偏移模块(6-2)和分频器模块(6-3)连接顺序也可互换,如图3所示。由于随机数产生模块(5)产生的随机数序列的随机性,保证了N(若干)个时钟信号互为异步,在多核微处理器(3)运行并行加解密算法功能模块(1)时,N(若干)个微处理器产生的功耗互为干扰,且每次运行的干扰情况都不同,完全随机,从而达到防御差分功耗分析攻击的目的。
[0078] 实施例二
[0079] 图4为第一种相位偏移模块结构图;如图4所示,时钟信号产生模块共输出N个相位相互异步的时钟信号,每个时钟信号是通过由M(若干)个场效应管和M(若干)个阻值均不同的电阻并联组成的电路产生的,若场效应管导通,则并联的电阻不起作用,相反地,当场效应管处于关闭的状态,则处于此时钟信号相位偏移路径上的时钟信号相位会偏移,偏移量为和此关闭场效应管并联的电阻阻值。其中每个时钟信号相位偏移路径上的各个场效应管栅极控制端分别来自随机数产生模块(5)的M(若干)位随机数输出,只是每条时钟信号相位偏移路径上的场效应管与M(若干)位随机数序列连接顺序可以相同,也可以不同。当连接顺序相同时,每条时钟信号相位偏移路径上各个相应电阻的阻值须不同,例如:电阻1_1与电阻1_2与电阻1_3到电阻1_N各不相同,以此类推,电阻M_1与电阻M_2与电阻M_3到电阻M_N各不相同;这样才能保证各个时钟信号的相位异步,当连接顺序不同时,各个时钟信号相位偏移路径上的各个相应的电阻阻值可以相同,例如:在工作信号1相位偏移路径上RNS1_1,RNS2_1到RNSM_1对应的M位随机数序列为RN1,RN2到RNM,而在时钟信号2相位偏移路径上RNS1_2,RNS2_2到RNSM_2对应的M位随机数序列为RN4,RN6,……到RN1。所以随机数产生模块(5)输出一次M位随机数时,各个时钟信号相位偏移路径上打开和关闭的场效应管各不相同,因此各个输出时钟信号经过的电阻的阻值也不同,即相位偏移不同。系统在执行并行加解密算法功能模块(1)前会使能随机数产生模块(5),随机数产生模块(5)产生一M位随机 数序列作用于相位偏移模块(6-2),根据随机数序列产生的随机数,相位偏移模块(6-2)中相应的场效应管导通或断开,从而使源时钟经过不同的电阻,产生不同的相位,输出的时钟信号相位不同。(M为正整数)
[0080] 具体地,本实施例为三核微处理器结构(假设此时M=3,即随机数产生模块(5)输出3位随机数序列)为例,三个微处理器在三个相互异步的时钟信号下工作,分别设为时钟信号1,时钟信号2,时钟信号3。我们假设时钟信号1偏移路径上连接的电阻1_1,电阻2_1,电阻
3_1产生的相位偏移分别为5°,10°和15°;时钟信号2偏移路径上连接的电阻1_2,电阻2_2,电阻3_2产生的相位偏移分别为10°,15°和5°;时钟信号3偏移路径上连接的电阻1_3,电阻
2_3,电阻3_3产生的相位偏移分别为15°,20°和10°。
[0081] 第一次执行并行加解密算法功能模块(1)时,假设随机数产生模块(5)产生的随机数序列为010。输出时钟信号1的网络中场效应管1_1和场效应管3_1断开,场效应管2_1导通,此时源时钟经过电阻1_1和电阻3_1,产生的相位偏移为20°,时钟信号1相对源时钟的相位偏移为20°。输出的时钟信号2的网络中场效应管1_2和场效应管3_2断开,场效应管2_2导通,此时源时钟经过电阻1_2和电阻3_2,产生的相位偏移为15°,时钟信号2相对源时钟相位偏移为15°。输出时钟信号3的网络中场效应管1_3和场效应管3_3断开,场效应管2_3导通,此时源时钟经过电阻1_3和电阻3_3,产生的相位偏移为25°,时钟信号3相对源时钟相位偏移为25°;图5 为第一次运行并行加解密算法功能模块(1)时第一种相位偏移模块产生的三个时钟信号图。第二次执行并行加解密算法功能模块(1)时,假设随机数产生模块(5)产生的随机数序列为011。输出时钟信号1的网络中场效应管1_1断开,场效应管2_1和场效应管3_1导通,此时源时钟经过电阻1_1,产生的相位偏移为5°,时钟信号1相对源时钟的相位偏移为5°。输出时钟信号2的网络中场效应管1_2断开,场效应管2_2和场效应管3_2导通,此时源时钟经过电阻1_2,产生的相位偏移为10°,时钟信号2相对源时钟的相位偏移为10°。输出时钟信号3的网络中场效应管1_3断开,场效应管2_3和场效应管3_3导通,此时源时钟经过电阻1_3,产生的相位偏移为15°,时钟信号3相对源时钟的相位偏移为15°,图6为第二次运行并行加解密算法功能模块(1)时第一种相位偏移模块产生的三个时钟信号图。
[0082] 第三次执行并行加解密算法功能模块(1)时,假设随机数产生模块(5)产生的随机数序列为100。输出时钟信号1的网络中场效应管2_1和场效应管3_1断开,场效应管1_1导通,此时源时钟经过电阻2_1和电阻3_1,产生的相位偏移为25°,时钟信号1相对源时钟的相位偏移为25°。输出时钟信号2的网络中场效应管2_2和场效应管3_2断开,场效应管1_2导通,此时源时钟经过电阻2_2和电阻3_2,产生的相位偏移为20°,时钟信号2相对源时钟的相位偏移为20°。输出时钟信号3的网络中场效应管2_3和场效应管3_3断开,场效应管1_3导通,此时源时钟经过电阻2_3和电阻3_3,产生 的相位偏移为30°,时钟信号3相对源时钟的相位偏移为30°,具体的时钟信号及产生的相位偏移,如图7所示。
[0083] 三次运行并行加解密算法功能模块(1)时相位偏移模块(6-2)产生的三个时钟信号相对源时钟相位偏移情况如表1所示:
[0084]
[0085] 表1
[0086] 从表中可以看出,由于随机数序列的随机性,每次执行并行加解密算法功能模块(1)时,三个时钟信号的相位为随机的。相邻两次执行并行加解密算法功能模块(1)时相同微处理器的工作时钟信号相位也是随机的,因此时钟信号是相互相位异步的。
[0087] 实施例三
[0088] 图8为第二种相位偏移模块结构图;如图8所示,输出N个时钟信号,所述N个时钟信号经过由M个场效应管和M个电阻并联组成的网络产生的,其中各个电阻阻值可以相同也可以不同,连接在各条时钟信号相位偏移路径上各个场效应管栅极上的控制信号来自随 机数产生模块(5)的M位随机数输出,且连接顺序在每条时钟信号相位偏移路径上可以完全相同。系统在每次执行并行加解密算法功能模块(1)前会使能N次随机数产生模块(5),随机数产生模块(5)先后产生N个M位随机数序列,分别先后作用于N个时钟信号输出网络,由于作用于每个输出时钟信号的M位随机数序列不同,场效应管的导通和断开情况也不同,经过的电阻个数不同,最后造成时钟信号的延时也不同。
[0089] 本实施例通过三核微处理器结构(假设此时M=3)为例,三个微处理器在三个相互相位异步的时钟信号控制下工作,分别为时钟信号1,时钟信号2,时钟信号3。我们假设源时钟信号经过每个电阻产生的相位偏移为10°。
[0090] 第一次运行并行加解密算法功能模块(1)时,随机数产生模块(5)先后产生的三个随机数序列为010,101,100,这三个随机数序列分别作用于时钟信号1相位偏移路径,时钟信号2相位偏移路径,时钟信号3相位偏移路径。输出时钟信号1的网络中场效应管1_1和场效应管3_1断开,场效应管2_1导通,源时钟经过两个电阻,即产生20°的相位偏移,因此输出时钟信号1相对源时钟有20°的相位偏移。输出时钟信号2的网络中场效应管2_2断开,场效应管1_2和场效应管3_2导通,源时钟经过一个电阻,即产生10°的相位偏移,此时输出时钟信号2相对源时钟有10°的相位偏移。输出时钟信号3的网络中场效应管2_3和场效应管3_3断开,场效应管1_3导通,源时钟经过两个电阻,即产生20°的相位偏移,此时输出时钟信号3 相对源时钟有20°的相位偏移,具体的时钟信号及产生的相位偏移如图9所示。
[0091] 第二次运行并行加解密算法功能模块(1)时,随机数产生模块(5)先后产生的三个随机数序列为100,101,110,这三个随机数序列分别作用于时钟信号1相位偏移路径,时钟信号2相位偏移路径,时钟信号3相位偏移路径。输出时钟信号1的网络中场效应管2_1和场效应管3_1断开,场效应管1_1导通,源时钟经过两个电阻,即产生20°的相位偏移,因此输出时钟信号1相对源时钟有20°的相位偏移。输出时钟信号2的网络中场效应管2_2断开,场效应管1_2和场效应管3_2导通,源时钟经过一个电阻,即产生10°的相位偏移,此时输出时钟信号2相对源时钟有10°的相位偏移。输出时钟信号3的网络中场效应管3_3断开,场效应管1_3和场效应管2_3导通,源时钟经过一个电阻,即产生10°的相位偏移,此时输出时钟信号3相对源时钟有10°的相位偏移,具体的时钟信号及产生的相位偏移如图10所示。
[0092] 第三次运行并行加解密算法功能模块(1)时,随机数产生模块(5)先后产生的三个随机数序列为011,100,010,这三个随机数序列分别作用于时钟信号1相位偏移路径,时钟信号2相位偏移路径,时钟信号3相位偏移路径。输出时钟信号1的网络中场效应管1_1断开,场效应管2_1和场效应管3_1导通,源时钟经过一个电阻,即产生10°的相位偏移,因此输出时钟信号1相对源时钟有10°的相位偏移。输出时钟信号2的网络中场效应管2_2和场效应管3_2断开,场 效应管1_2导通,源时钟经过两个电阻,即产生20°的相位偏移,此时输出时钟信号2相对源时钟有20°的相位偏移。输出时钟信号3的网络中场效应管1_3和场效应管3_3断开,场效应管2_3导通,源时钟经过两个电阻,即产生20°的相位偏移,此时输出时钟信号3相对源时钟有20°的相位偏移。具体的时钟信号及产生的相位偏移如图11所示。
[0093] 三次运行加解密算法功能模块(1)时相位偏移模块(6-2)产生的三个时钟信号相对源时钟信号相位偏移情况如表2所示:
[0094]
[0095] 表2
[0096] 从表2中可以看出,由于随机数序列的随机性,每次执行并行加解密算法功能模块(1)时,三个时钟信号的相位为随机的。相邻两次执行并行加解密算法功能模块(1)时相同微处理器工作时钟信号的相位也是随机的,因此时钟信号是相互相位异步的。
[0097] 实施例四
[0098] 图12为时钟信号分频模块结构图,如图12所示,分频器模块(6-3)根据随机数产生模块(5)产生的随机数序列,将输入时钟信号转为N个频率和占空比均不同的时钟信号输出。现举实例介绍分频器模块(6-3)产生时钟信号的两种方法。
[0099] 本实施例通过三核微处理器为例,分别说明时钟信号分频模块这两种产生时钟信号的工作原理。
[0100] 第一种方法是当每次执行并行加解密算法功能模块(1)时,随机数产生模块(5)产生一个随机数序列。假设随机数产生模块(5)产生的随机数序列为010时,时钟信号1,时钟信号2,时钟信号3分别为原来时钟信号频率的二分之一,三分之一,四分之一,占空比分别为20%,30%,40%;随机数产生模块(5)产生的随机数序列为011时,时钟信号1,时钟信号2,时钟信号3分别为原来时钟信号频率的三分之一,四分之一,五分之一,占空比分别为
30%,40%,50%;随机数产生模块(5)产生的随机数序列为100时,时钟信号1,时钟信号2,时钟信号3分别为原来时钟信号频率的四分之一,五分之一,六分之一,占空比分别为40%,
50%,60%。假设输入时钟信号频率为120M赫兹。
[0101] 第一次运行并行加解密算法功能模块(1)时,随机数产生模块(5)产生的随机数序列为010,时钟信号1,时钟信号2,时钟信号3的频率分别为60M赫兹,40M赫兹,30M赫兹,占空比分别为20%,30%,40%。具体的时钟信号及频率和占空比情况如附图13所 示。
[0102] 第二次运行并行加解密算法功能模块(1)时,随机数产生模块(5)产生的随机数序列为011,时钟信号1,时钟信号2,时钟信号3的频率分别为40M赫兹,30M赫兹,24M赫兹,占空比分别为30%,40%,50%。具体的时钟信号及频率和占空比情况如附图14所示。
[0103] 第三次运行并行加解密算法功能模块(1)时,随机数产生模块(5)产生的随机数序列为100,时钟信号1,时钟信号2,时钟信号3的频率分别为30M赫兹,24M赫兹,20M赫兹,占空比分别为40%,50%,60%。具体的时钟信号及频率和占空比情况如附图15所示。
[0104] 在三次执行并行加解密算法功能模块(1)时,分频器模块产生的三个时钟信号的频率和占空比如表3所示:
[0105]
[0106]
[0107] 表3
[0108] 从表3中可以看出每次运行并行加解密算法模块(1)时,时钟信号1,时钟信号2,时钟信号3的频率和占空比均不同,相邻两次运行并行加解密算法模块(1)时,相同时钟信号的频率和占空比也不相同。
[0109] 第二种方法是每次执行并行加解密算法功能模块(1)时随机数产生模块(5)先后产生N个M位随机数序列。假设随机数产生模块(5)先后产生的随机数序列为010,101,100时,时钟信号1,时钟信号2,时钟信号3的频率分别为输入时钟信号的二分之一,五分之一,四分之一,占空比分别为20%,50%,40%;随机数产生模块(5)先后产生的随机数序列为100,101,110时,时钟信号1,时钟信号2,时钟信号3的频率分别为输入时钟信号的四分之一,五分之一,六分之一,占空比分别为40%,50%,60%;随机数产生模块(5)产生的随机数序列为011,100,010时,时钟信号1,时钟信号2,时钟信号3的频率分别为输入时钟信号的三分之一,四分之一,二分之一,占空比分别为30%,40%,20%。假设输入时钟信号的频率为
120M赫 兹。
[0110] 第一次运行并行加解密算法功能模块(1)时,随机数产生模块(5)先后产生的随机数序列为010,101,100,时钟信号1,时钟信号2,时钟信号3的频率分别为60M赫兹,24M赫兹,30M赫兹,占空比分别为20%,50%,40%。具体的时钟信号及频率和占空比情况如图16所示。
[0111] 第二次运行并行加解密算法功能模块(1)时,随机数产生模块(5)先后产生的随机数序列为100,101,110,时钟信号1,时钟信号2,时钟信号3的频率分别为30M赫兹,24M赫兹,20M赫兹,占空比分别为40%,50%,60%。具体的时钟信号及频率和占空比情况如图17所示。
[0112] 第三次运行并行加解密算法功能模块(1)时,随机数产生模块(5)先后产生的随机数序列为011,100,010,时钟信号1,时钟信号2,时钟信号3的频率分别为40M赫兹,30M赫兹,60M赫兹,占空比分别为30%,40%,20%。具体的时钟信号及频率和占空比情况如图18所示。
[0113] 在三次执行并行加解密算法功能模块(1)时,分频器模块(6-3)产生的三个时钟信号的频率和占空比如表4所示:
[0114]
[0115]
[0116] 表4
[0117] 从表4中可以看出每次运行并行加解密算法模块(1)时,时钟信号1,时钟信号2,时钟信号3的频率和占空比均不同,相邻两次执行并行加解密算法模块(1)时,相同时钟信号的频率和占空比是异步的(由随机数产生模块(5)的随机数输出决定)。
[0118] 实施例五
[0119] 本实施例将相位偏移模块(6-2)和分频器模块(6-3)的结果合起来,本实施例表明时钟信号产生模块(6)产生的时钟信号为完全异步的时钟信号。
[0120] 本实施例仍以三核微处理器(假设M=3)为例。在第一种情况下,三个微处理器在三个相互异步的时钟信号下工作,分别设为时钟信号1,时钟信号2,时钟信号3。我们设时钟信号1相位偏移路径上,电阻1_1,电阻2_1,电阻3_1产生的相位偏移分别为5°,10°15°;时钟信号2相位偏移路径上,电阻1_2,电阻2_2,电阻3_2 产生的相位偏移分别为10°,15°,5°;时钟信号3相位偏移路径上,电阻1_3,电阻2_3,电阻3_3产生的相位偏移分别为15°,20°,10°。假设随机数产生模块(5)产生的随机数序列为010时,时钟信号1,时钟信号2,时钟信号3分别为原来时钟信号频率的二分之一,三分之一,四分之一,占空比分别为20%,30%,40%;随机数产生模块(5)产生的随机数序列为011时,时钟信号1,时钟信号2,时钟信号3分别为原来时钟信号频率的三分之一,四分之一,五分之一,占空比分别为30%,40%,50%;随机数产生模块(5)产生的随机数序列为100时,时钟信号1,时钟信号2,时钟信号3分别为原来时钟信号频率的四分之一,五分之一,六分之一,占空比分别为40%,50%,60%。假设输入时钟信号频率为120M赫兹。
[0121] 第一次执行并行加解密算法功能模块(1)时,假设随机数产生模块(5)产生的随机数序列为010。由相位偏移模块(6-2)可知,时钟信号1,时钟信号2,时钟信号3相对源时钟信号产生的相位偏移分别为20°,15°,25°。由分频器模块(6-3)可知,时钟信号1,时钟信号2,时钟信号3的频率分别为60M赫兹,40M赫兹,30M赫兹,占空比分别为20%,30%,40%。具体的时钟信号相位和频率占空比情况如图19所示。
[0122] 第二次执行并行加解密算法功能模块(1)时,假设随机数产生模块(5)产生的随机数序列为011。由相位偏移模块(6-2)可知,时钟信号1,时钟信号2,时钟信号3相对源时钟信号产生的相位偏移分别为5°,10°,15°。由分频器模块(6-3)可知,时钟信号1, 时钟信号2,时钟信号3的频率分别为40M赫兹,30M赫兹,24M赫兹,占空比分别为30%,40%,50%。具体的时钟信号相位和频率占空比情况如图20所示。
[0123] 第三次执行并行加解密算法功能模块(1)时,假设随机数产生模块(5)产生的随机数序列为100。由相位偏移模块(6-2)可知,时钟信号1,时钟信号2,时钟信号3相对源时钟信号产生的相位偏移分别为25°,20°,30°。由分频器模块(6-3)可知,时钟信号1,时钟信号2,时钟信号3的频率分别为30M赫兹,24M赫兹,20M赫兹,占空比分别为40%,50%,60%。具体的时钟信号相位和频率占空比情况如图21所示。
[0124] 第二种情况下,三个微处理器在三个相互异步的时钟信号控制下工作,分别为时钟信号1,时钟信号2,时钟信号3。我们假设源时钟信号经过每个电阻产生的相位偏移为10°。假设随机数产生模块(5)先后产生的随机数序列为010,101,100时,时钟信号1,时钟信号2,时钟信号3的频率分别为输入时钟信号的二分之一,五分之一,四分之一,占空比分别为20%,50%,40%;随机数产生模块(5)先后产生的随机数序列为100,101,110时,时钟信号1,时钟信号2,时钟信号3的频率分别为输入时钟信号的四分之一,五分之一,六分之一,占空比分别为40%,50%,60%;随机数产生模块(5)先后产生的随机数序列为011,100,010时,时钟信号1,时钟信号2,时钟信号3的频率分别为输入时钟信号的三分之一,四分之一,二分之一,占空比分别为30%,40%,20%。假设输入时钟信号的频率为120M 赫兹。
[0125] 第一次运行并行加解密算法功能模块(1)时,随机数产生模块(5)先后产生的三个随机数序列为010,101,100,由相位偏移模块(6-2)可知,时钟信号1,时钟信号2,时钟信号3相对源时钟信号产生的相位偏移分别为20°,10°,20°。由分频器模块(6-3)可知,时钟信号1,时钟信号2,时钟信号3的频率分别为60M赫兹,24M赫兹,30M赫兹,占空比分别为20%,
50%,40%。具体的时钟信号相位和频率占空比情况如图22所示。
[0126] 第二次运行并行加解密算法功能模块(1)时,随机数产生模块(5)先后产生的三个随机数序列为100,101,110,由相位偏移模块(6-2)可知,时钟信号1,时钟信号2,时钟信号3相对源时钟信号产生的相位偏移分别为20°,10°,10°。由分频器模块(6-3)可知,时钟信号1,时钟信号2,时钟信号3的频率分别为30M赫兹,24M赫兹,20M赫兹,占空比分别为40%,
50%,60%。具体的时钟信号相位和频率占空比情况如图23所示。
[0127] 第三次运行并行加解密算法功能模块(1)时,随机数产生模块(5)先后产生的三个随机数序列为011,100,010,由相位偏移模块(6-2)可知,时钟信号1,时钟信号2,时钟信号3相对源时钟信号产生的相位偏移分别为10°,20°,20°。由分频器模块(6-3)可知,时钟信号1,时钟信号2,时钟信号3的频率分别为40M赫兹,30M赫兹,60M赫兹,占空比分别为30%,
40%,20%。具体的时钟信号相位和频率占空比情况如图24所示。
[0128] 实施例6
[0129] 一般防御差分功耗分析攻击的系统采用单核微处理器,加解密算法功能模块采用协处理器或者纯硬件或者纯软件实现。图25为单核微处理器以软件形式实现加解密算法功能模块结构图;此时加解密算法功能模块(1)用软件实现,该单核处理器系统由微处理器(2),本地存储器(3)构成,加解密算法功能模块(1)存储在本地存储器(3)中,当微处理器(2)执行加解密算法功能模块(1)时,从本地存储器(3)中调用。图26为单核微处理器以硬件形式实现加解密算法功能模块结构图;此时加解密算法功能模块(1)采用纯硬件实现,系统由微处理器(2),本地存储器(3)和加解密算法功能模块(1)组成,与采用软件实现加解密算法不同,采用纯硬件实现时,加解密算法并没有存储在本地存储器(3)中。
[0130] 对于本实施例中的智能卡,我们采用多核微处理器处理结构,通过硬件实现方式、软件实现方式或软硬件协同实现方式实现所述加解密算法功能子模块。图27为多核微处理器以软件形式实现并行加解密算法功能模块(1)结构图;如图27所示,我们将并行加解密算法功能模块(1)分为N个相互独立的部分,每个微处理器执行其中的一部分。系统由多核微处理器(3)即微处理器1(4-1),微处理器2(4-2),到微处理器N(4-N),本地存储器(7),随机数产生模块(5),时钟信号产生模块(6)构成,此时加解密算法存储在本地存储器(7)中。
[0131] 图28为多核微处理器以硬件形式实现并行加解密算法功能模块 (1)图;多核处理器系统由多核微处理器(3)即微处理器1(4-1),微处理器2(4-2),到微处理器N(4-N),本地存储器(7),随机数产生模块(5),时钟信号产生模块(6)构成,此时加解密算法由硬件实现,且运行时钟信号分别为时钟信号1,时钟信号2到时钟信号N。图29为本发明的具体操作流程;如图29所示,下面为本发明的具体的操作步骤:
[0132] 步骤1:多核处理器系统在准备调用并行加解密算法功能模块之前,多核处理器系统发出使能信号,使随机数产生模块和时钟信号产生模块产生N个互为异步的时钟信号,分别为时钟信号1,时钟信号2,时钟信号3,到时钟信号N,作为微处理器1,微处理器2,微处理器3到微处理器N的工作时钟信号;
[0133] 步骤2:微处理器1,微处理器2.微处理器3到微处理器N分别在互为异步的时钟信号1,时钟信号2,时钟信号3到时钟信号N下工作,分别处理N个并行的加解密算法功能子模块,即加解密算法子模块1,加解密算法功能子模块2,加解密算法功能子模块3到加解密算法功能子模块N;
[0134] 步骤3:系统调用完并行加解密算法功能模块后,系统可退出异步工作模式,处理其他工作。
[0135] 具体地,本实施例中的智能卡采用三核微处理器,图30为实施例6系统结构图;图31为实施例6操作流程图;如图30所示,多核微处理器系统由三个微处理器构成,分别为(1)微处理器1,(2)微处理器2,(3)微处理器3,其中微处理器1(1)为主微处理器, 微处理器2(2)和微处理器3(3)为从微处理器。主微处理器(1)可以访问智能卡对外通讯接口(4),随机数产生模块(5),智能卡存储器(7),其中智能卡对外通讯接口(4)可为7816接口等,智能卡存储器(7)中存储着并行加解密算法功能模块,(也可以存储在本地存储器中)并行加解密算法功能模块分为三个部分,分别为加解密算法功能子模块1,加解密算法功能子模块2和加解密算法功能子模块3。本地存储器1(8),本地存储器2(9),本地存储器3(10)分别为微处理器1(1),微处理器2(2)和微处理器3(3)的本地存储器,不能被其他微处理器访问。公共存储器(11)可被每个微处理器访问,其中存放着共享的数据。微处理器1(1),微处理器2(2)和微处理器3(3)的工作时钟信号分别为时钟信号1,时钟信号2和时钟信号3,由(6)时钟信号产生模块产生,其具体的相位和频率由随机数产生模块(5)产生随机数序列决定,且随机数产生模块(5)也可由主微处理器(1)访问,具体的工作步骤如图31所示:
[0136] 步骤1:微处理器(1)将存储在智能卡存储器(7)上的并行加解密算法功能子模块1,加解密算法子模块2和加解密算法子模块3分别放入本地存储器1(8),本地存储器2(9),本地存储器3(10)中;
[0137] 步骤2:微处理器1(1)使能随机数产生模块(5)产生随机数序列,从而使时钟信号产生模块(6)产生相位和频率均不同的三个异步时钟信号,分别为时钟信号1,时钟信号2,时钟信号3;
[0138] 步骤3:微处理器1(1)产生使能信号使微处理器2(2)和微 处理器3(3)有效,微处理器1(1),微处理器2(2)和微处理器3(3)在时钟信号1,时钟信号2和时钟信号3下处理加解密算法功能子模块1,加解密算法功能子模块2和加解密算法功能子模块3;
[0139] 步骤4:并行加解密算法运行完毕,微处理器1(1)关闭微处理器2(2)和微处理器3(3);
[0140] 步骤5:微处理器1(1)控制时钟信号产生模块(6),关闭时钟信号2和时钟信号3输出;
[0141] 步骤6:多核微处理器处理其他任务。
[0142] 实施例七
[0143] 本实施例中具体采用三核微处理器系统说明本发明防御差分功耗分析攻击的有效性。并行加解密算法功能模块分为三部分,分别为加解密算法功能子模块1,加解密算法功能子模块2和加解密算法功能子模块3,微处理器1(1)运行加解密算法功能子模块1,微处理器2(2)运行加解密算法功能子模块2,微处理器3处理加解密算法子模块3,在这里我们用软件实现加解密算法。三个微处理器在三个异步时钟信号下工作,即微处理器1(1)在时钟信号1下工作,微处理器2(2)在时钟信号2下工作,微处理器3(3)在时钟信号3下工作。时钟信号产生模块(6)根据第一种方法产生三个异步时钟信号,即每次运行并行加解密算法功能模块时,随机数产生模块(5)只产生一个随机数序列。我们假设源时钟信号频率为120M赫兹,由前面关于时钟信号产生模块(6)的分析可知,在第一种方法下,随机数产生模块产生的随机数序列为010,时钟信号1,时钟信号2, 时钟信号3相对源时钟信号产生的相位偏移分别为20°,15°,25°,时钟信号1,时钟信号2,时钟信号3的频率分别为60M赫兹,40M赫兹,30M赫兹,占空比分别为20%,30%,40%;随机数产生模块产生的随机数序列为011,时钟信号1,时钟信号2,时钟信号3相对源时钟信号产生的相位偏移分别为5°,10°,15°,时钟信号
1,时钟信号2,时钟信号3的频率分别为40M赫兹,30M赫兹,24M赫兹,占空比分别为30%,
40%,50%;随机数产生模块产生的随机数序列为100,时钟信号1,时钟信号2,时钟信号3相对源时钟信号产生的相位偏移分别为25°,20°,30°,时钟信号1,时钟信号2,时钟信号3的频率分别为30M赫兹,24M赫兹,20M赫兹,占空比分别为40%,50%,60%。微处理器1(1)在时钟信号1的第二个,第四个上升沿处理加解密算法子模块1时产生较大的功耗,微处理器2(2)在时钟信号2的第一个,第三个上升沿处理加解密算法子模块2时产生较大的功耗,微处理器3(3)在时钟信号3的第一个,第二个上升沿处理加解密算法子模块3时产生较大的功耗。
[0144] 第一次运行并行加解密算法功能模块时,随机数产生模块(5)产生的随机数序列为010,所以时钟信号产生模块(6)产生的三个异步时钟信号即时钟信号1,时钟信号2,时钟信号3相对源时钟信号产生的相位偏移分别为20°,15°,25°,时钟信号1,时钟信号2,时钟信号3的频率分别为60M赫兹,40M赫兹,30M赫兹,占空比分别为20%,30%,40%,所以第一次运行并行加解密算法时的 功耗曲线图如图32所示,我们可以看出系统功耗图上有3个峰值。
[0145] 第二次运行并行加解密算法功能模块时,随机数产生模块(5)产生的随机数序列为011,所以时钟信号产生模块(6)产生的三个异步时钟信号即时钟信号1,时钟信号2,时钟信号3相对源时钟信号产生的相位偏移分别为5°,10°,15°,时钟信号1,时钟信号2,时钟信号3的频率分别为40M赫兹,30M赫兹,24M赫兹,占空比分别为30%,40%,50%,第二次并行运行加解密算法时的功耗曲线图如附图33所示,我们可以看出系统功耗图上有3个峰值。
[0146] 第三次运行并行加解密算法功能模块时,随机数产生模块(5)产生的随机数序列为100,所以时钟信号产生模块(6)产生的三个异步时钟信号即时钟信号1,时钟信号2,时钟信号3相对源时钟信号产生的相位偏移分别为25°,20°,30°,时钟信号1,时钟信号2,时钟信号3的频率分别为30M赫兹,24M赫兹,20M赫兹,占空比分别为40%,50%,60%,第三次运行并行加解密算法时的功耗曲线图如图34所示,我们可以看出系统功耗图上有4个峰值。
[0147] 以此类推,由于片上随机数产生模块(5)产生的随机数序列不同,使片上时钟信号模块(6)产生的时钟信号完全异步,从而使每个微处理器在执行加解密算法功能子模块时功耗的曲线不同,最后的总功耗曲线也不同,出现峰值的个数,幅值和位置均不同,这样即使采集功耗曲线采集的再多,也无法破解出用户的密钥信息,因此本发明具有很好的防御差分功耗分析攻击的能力。
[0148] 本发明提出了一种智能卡多核处理器系统及其防御差分功耗分 析的方法,多核处理器系统运用多核微处理器来并行处理并行加解密算法和数据,各个多核微处理器在完全互为异步的时钟信号下工作,各个微处理器工作功耗互为干扰功耗,在处理其他非加解密算法任务时,多核处理器也可以被同时打开运行,即可以用更小的功耗达到相同或者超过单核智能卡的性能。虽然相对单核微处理器结构的智能卡来说,本发明增加了面积,但这些面积并不是冗余的,在任何包括加解密算法或其他工作模式时都可参与运作,而且在数据加解密工作时所产生的功耗也不是冗余的,每个焦耳都花在了数据加解密上,且具有防御差分功耗分析攻击的能力。
[0149] 以上仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所做出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。

附图说明

[0039] 构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0040] 图1为本发明多核处理器系统的结构图;
[0041] 图2为时钟产生模块结构图一;
[0042] 图3为时钟产生模块结构图二;
[0043] 图4为第一种相位偏移模块结构图;
[0044] 图5为第一次运行并行加解密算法功能模块(1)时第一种相位偏移模块产生的三个时钟信号图;
[0045] 图6为第二次运行并行加解密算法功能模块(1)时第一种相位偏移模块产生的三个时钟信号图;
[0046] 图7为第三次运行并行加解密算法功能模块(1)时第一种相位偏移模块产生的三个时钟信号图;
[0047] 图8为第二种相位偏移模块结构图;
[0048] 图9为第一次运行并行加解密算法功能模块(1)时第二种相位偏移模块产生的三个时钟信号图;
[0049] 图10为第二次运行并行加解密算法功能模块(1)时第二种相位偏移模块产生的三个时钟信号图;
[0050] 图11为第三次运行并行加解密算法功能模块(1)时第二种相位偏移模块产生的三个时钟信号图;
[0051] 图12为时钟信号分频模块结构图;
[0052] 图13为第一次运行并行加解密算法功能模块(1)时第一种方法下分频器模块产生的三个时钟信号图;
[0053] 图14为第二次运行并行加解密算法功能模块(1)时第一种方法下分频器模块产生的三个时钟信号图;
[0054] 图15为第三次运行并行加解密算法功能模块(1)时第一种方法下分频器模块产生的三个时钟信号图;
[0055] 图16为第一次运行并行加解密算法功能模块(1)时第二种方法下分频器模块产生的三个时钟信号图;
[0056] 图17为第二次运行并行加解密算法功能模块(1)时第二种方法下分频器模块产生的三个时钟信号图;
[0057] 图18为第三次运行并行加解密算法功能模块(1)时第二种方法下分频器模块产生的三个时钟信号图;
[0058] 图19为第一次运行并行加解密算法功能模块(1)时在第一种方法下时钟信号产生模块产生的三个时钟信号图;
[0059] 图20为第二次运行并行加解密算法功能模块(1)时在第一种方法下时钟信号产生模块产生的三个时钟信号图;
[0060] 图21为第三次运行并行加解密算法功能模块(1)时在第一种方法下时钟信号产生模块产生的三个时钟信号图;
[0061] 图22为第一次运行并行加解密算法功能模块(1)时在第二种方法下时钟信号产生模块产生的三个时钟信号图;
[0062] 图23为第二次运行并行加解密算法功能模块(1)时在第二种方法下时钟信号产生模块产生的三个时钟信号图;
[0063] 图24为第三次运行并行加解密算法功能模块(1)时在第二种方法下时钟信号产生模块产生的三个时钟信号图;
[0064] 图25为单核微处理器以软件形式实现加解密算法功能模块结构图;
[0065] 图26为单核微处理器以硬件形式实现加解密算法功能模块结构图;
[0066] 图27为多核微处理器以软件形式实现并行加解密算法功能模块(1)结构图;
[0067] 图28为多核微处理器以硬件形式实现并行加解密算法功能模块(1)图;
[0068] 图29为本发明的具体操作流程;
[0069] 图30为实施例6系统结构图;
[0070] 图31为实施例6操作流程图;
[0071] 图32为系统第一次运行并行加解密算法功能模块(1)时的功耗 曲线图;
[0072] 图33为系统第二次运行并行加解密算法功能模块(1)时的功耗曲线图;
[0073] 图34为系统第三次运行并行加解密算法功能模块(1)时的功耗曲线图。
版权所有:盲专网 ©2023 zlpt.xyz  蜀ICP备2023003576号