基于伪操作的电路旁路攻击抵御方法.pdf

上传人:111****112 文档编号:1590416 上传时间:2018-06-27 格式:PDF 页数:9 大小:485.39KB
返回 下载 相关 举报
摘要
申请专利号:

CN201510112314.5

申请日:

2015.03.13

公开号:

CN104734842A

公开日:

2015.06.24

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):H04L 9/06申请日:20150313|||公开

IPC分类号:

H04L9/06

主分类号:

H04L9/06

申请人:

上海交通大学; 上海华虹集成电路有限责任公司; 国家密码管理局商用密码检测中心

发明人:

刘军荣; 王伟嘉; 季欣华; 李大为; 罗鹏; 莫凡

地址:

200240上海市闵行区东川路800号

优先权:

专利代理机构:

上海交达专利事务所31201

代理人:

王毓理; 王锡麟

PDF下载: PDF下载
内容摘要

一种计算机安全技术领域的基于伪操作的电路旁路攻击抵御方法,以m个伪轮密钥和1个真实轮密钥组成轮密钥序列进行第一轮SMS4加密计算,并将真实轮密钥参与的第一轮SMS4加密计算结果进行第二轮SMS4加密计算,得到所需密文。本发明生成的第一轮真实运算的位置随机,使攻击者无法对齐功耗曲线,从而无法实现攻击。此外本发明相对于无防护的电路,其能耗不会超过原能耗的两倍。

权利要求书

权利要求书1.  一种基于伪操作的电路旁路攻击抵御方法,其特征在于,以m个伪轮密钥和1个真实 轮密钥组成轮密钥序列进行第一轮SMS4加密计算,并将真实轮密钥参与的第一轮SMS4加密 计算结果进行第二轮SMS4加密计算,得到所需密文。 2.  根据权利要求1所述的方法,其特征是,所述的密钥轮序列通过轮密钥随机选取电路 或通过轮密钥存储器随机打乱电路从轮密钥存储器中选择得到。 3.  根据权利要求1或2所述的方法,其特征是,所述的密钥轮序列具体通过以下任意一 种方式得到: ①生成m个伪轮密钥和一个真实轮密钥,然后利用轮密钥存储器随机打乱电路进行随机打 乱,并记录下真实轮密钥的位置,或 ②确定真实轮密钥执行的序号K,而轮密钥序列中其它m个伪轮密钥通过轮密钥随机选取 电路从轮密钥存储器中选择得到。 4.  根据权利要求1所述的方法,其特征是,所述的第一轮SMS4加密计算是指:将待加密 的明文与轮密钥序列中的密钥依次进行轮函数迭代计算。 5.  根据权利要求1所述的方法,其特征是,所述的第二轮SMS4加密计算是指:将第一轮 SMS4加密计算中真实密钥参与的加密计算结果作为输入,循环进行32次迭代的轮函数计算, 取最后一轮,即第32轮的轮函数计算结果作为密文输出。 6.  一种实现上述任一权利要求所述方法的系统,其特征在于,包括:第一轮周期轮函数 电路模块、第一轮轮密钥选择电路模块、(m+1)个轮密钥寄存器、SMS4的轮函数电路模块、SMS4 的轮密钥生成电路模块,其中:第一轮周期轮函数电路模块与SMS4的轮函数电路模块相连并 传输真实轮运算结果,(m+1)个轮密钥存贮器与轮密钥选择电路相连并传输真假轮密钥,SMS4 的轮密钥生成电路与SMS4的轮函数电路模块和(m+1)个轮密钥存贮器相连并传输真轮密钥。

说明书

说明书基于伪操作的电路旁路攻击抵御方法
技术领域
本发明涉及的是一种计算机安全领域的技术,具体是一种基于伪操作的电路旁路攻击抵 御方法,可适用于SMS4等算法。
背景技术
在现实中,密码系统通常是以硬件或以硬件为表现形式的软件来实现的,譬如:智能卡、 RFID、密码协处理器、SoC密码芯片、密码机等。在这些密码系统的实现环境中,攻击者可以观察 和测量密码变换的能量消耗、电磁辐射等信息,利用这些额外的信息有可能实现比传统的数学分析 更有效地密码破译。人们通常把这种环境下的攻击称为“旁路攻击(Side Channel Attack)”。在旁路攻 击的方法中,通常包括简单功耗分析(SPA)和差分功耗分析(DPA)。SPA攻击是通过少量的功耗曲线 (对应少量的明文),利用密码算法的特征及其反映在功耗曲线上的特点,直接揭示出密钥或者与之 相关的敏感信息。DPA攻击是通过记录密码设备对大量不同数据加密或解密操作时的功耗曲线,利 用统计方法从功耗曲线中恢复出密码设备中的密钥。
旁路攻击方法的出现对很多现在的芯片构成了具大的威胁,因此,相应的出现了很多种旁路 攻击的防护方法。比较常用的防护技术有隐藏技术和掩码技术。隐藏策略的目标是消除密码设备的 功耗与设备所执行的操作和所处理的中间值之间的相关性。而掩码技术是通过随机化消息和密钥, 使得无法建立密钥与功耗的关系。在隐藏技术中,其中有时间维度上的隐藏,这包括随机插入伪操 作和乱序操作两种隐藏方法。随机插入伪操作是在密码算法执行前后以及执行中随机插入一些假的 操作。这种方法可以破坏真实操作的对齐,使得在受到旁路攻击中攻击效果大大降低。乱序操作是 在某些密码算法中,特定操作的执行顺序可以任意改变,因而可以通过改变这些操作的执行顺序来 引入随机性。
掩码防护方法的缺点在于针对非线性操作(例如S盒)的掩码会使得电路面积变得很大,代价 会很高,而且也并不能完全防护住泄露。而隐藏技术只是降低了泄露信号的信噪比,没有从根本上 防护旁路攻击。而我们设计的伪操作及乱序操作的组合,一方面将真实密钥真真做到了隐藏,另外 一方面也降低了信噪比,另外,也可以与掩码技术相结合来使用,不会产生什么冲突。
SM4为基于国家标准GM/T 0002‐2012《SM4分组密码算法》(原SMS4分组密码算法)的加 密算法,该算法为对称算法,密钥长度和分组长度均为128位,加密算法与密钥扩展算法都采用 32轮非线性迭代结构。解密算法与加密算法的结构相同,只是轮密钥的使用顺序相反,解密轮密钥 是加密轮密钥的逆序。
经过对现有技术的检索发现,中国专利文献号CN103546277A公开(公告)日2014.01.29, 公开了一种智能卡SM4算法的DPA攻击与密钥还原方法及系统,其方法包括以下步骤:步骤一, 对SM4算法加密过程的前4轮进行DPA攻击,获取前4轮的子密钥;步骤二,利用得到的4轮子 密钥恢复SM4密钥。采用该技术所述的方法和系统可以实现智能卡上SM4算法的DPA攻击,还原 SM4加密密钥,验证智能卡上SM4算法的抗攻击能力。
中国专利文献号CN103227717A公开(公告)日2013.07.31,公开了一种选择轮密钥异或输 入进行SM4密码算法侧信道能量分析的应用,其核心在于进行SM4密码算法侧信道能量分析过程 中,选择S盒或轮函数作为攻击点建立汉明距离模型,以轮密钥异或输入作为汉明距离模型的前续 状态v1,对S盒进行攻击时,汉明距离(HD(v1,v2))模型的后继状态v2是S盒输出;对轮函数进 行攻击时,汉明距离(HD(v1,v2))模型的后继状态v2是轮函数输出/输入。
中国专利文献号CN102546157A公开(公告)日2012.07.04,公开了一种抵抗能量分析的随 机混合加密系统及其实现方法,该技术系统由伪随机序列PN128生成模块、S盒更新模块、掩码修 正值生成模块、明文输入寄存器、伪随机序列PN64生成模块、选通电路A、选通电路B、SMS4加 密模块、AES加密模块、多路器、密文输出寄存器十一个部分组成。该技术首次提出了一种抵抗能 量分析的随机混合加密系统及其实现方法,通过伪随机序列PN64,对明文随机采用基于掩码技术 的AES或者SMS4算法进行加密,算法硬件实现中所有的基本电路单元均通过对称电路实现,从根 本上杜绝了简单和差分能量分析,加密系统具有多种工作模式,适用于不同场景。但该技术在某些 明确要求使用单一算法如SMS4算法的情况下无法处理,另外,如果只是从算法的混合防护(不考 虑掩码)角度来考虑,此防护并不能完全消除DPA攻击,因为我们可以把猜测算法出错作为一种噪 声,因此,这种防护方案只是减少了信噪比,增加了DPA攻击的难度而已。
中国专利文献号CN102412963A以及CN102360414A分别公开了一种基于随机序列的具有 误导功能的加密方法以及一种可修正伪随机序列的可误导的加密方法,该技术可以得到伪密钥,从 而可以误导密码分析者,这种误导是决定于内层密钥的,为了可以进行任意的误导,采用长随机序 列来产生子密钥,长随机序列可以由量子密钥分配产生。对于文档中的标记采用特别的处理方式, 使得即使规定的标记可能出现在文本中,依然不会混淆。加密的时候需要有一个关键词数据库,其 内层加密利用数据库进行关键词的扩充,外层加密采用了传统的加密方法。该技术解密时无需数据 库的支持,避免了数据库同步的问题。该技术在各种场合加密应用中均具有一定的使用价值,特别 是军事上。但该技术针对的是“软磨硬泡”攻击方法,通过误导解密后的明文的可读性来防护。这 种方法对于旁路攻击没有效果。
发明内容
本发明针对现有技术存在的上述不足,提出一种基于伪操作的电路旁路攻击抵御方法。
本发明是通过以下技术方案实现的:
本发明涉及一种基于伪操作的电路旁路攻击抵御方法,以m个伪轮密钥和1个真实轮 密钥组成轮密钥序列进行第一轮SMS4加密计算,并将真实轮密钥参与的第一轮SMS4加密计 算结果进行第二轮SMS4加密计算,得到所需密文。
所述的密钥轮序列通过轮密钥随机选取电路或通过轮密钥存储器随机打乱电路从轮密 钥存储器中选择得到,具体为:
①生成m个伪轮密钥和一个真实轮密钥,然后利用轮密钥存储器随机打乱电路进行随 机打乱,并记录下真实轮密钥的位置,或
②确定真实轮密钥执行的序号K,而轮密钥序列中其它m个伪轮密钥通过轮密钥随机选 取电路从轮密钥存储器中选择得到。
所述的第一轮SMS4加密计算是指:将待加密的明文与轮密钥序列中的密钥依次进行轮 函数迭代计算。
所述的第二轮SMS4加密计算是指:将第一轮SMS4加密计算中真实密钥参与的加密计 算结果作为输入,循环进行32次迭代的轮函数计算,取最后一轮,即第32轮的轮函数计算结 果作为密文输出。
本发明涉及一种实现上述方法的系统,包括:第一轮周期轮函数电路模块、第一轮轮密 钥选择电路模块、(m+1)个轮密钥寄存器、SMS4的轮函数电路模块、SMS4的轮密钥生成电路 模块,其中:第一轮周期轮函数电路模块与SMS4的轮函数电路模块相连并传输真实轮运算结 果,(m+1)个轮密钥存贮器与轮密钥选择电路相连并传输真假轮密钥,SMS4的轮密钥生成电路 与SMS4的轮函数电路模块和(m+1)个轮密钥存贮器相连并传输真轮密钥。
技术效果
与现有技术相比,本发明生成的第一轮真实运算的位置随机,使攻击者无法对齐功耗曲 线,从而无法实现攻击。此外本发明相对于无防护的电路,其能耗不会超过原能耗的两倍。
附图说明
图1为实施例1流程示意图;
图中:R1,R2为寄存器,Count为循环执行第一轮操作的计数器变量名。
图2为实施例1排列真假轮密钥采用的对数洗牌示意图。
图3为实施例2流程示意图;
图中:R1,R2为寄存器,Count为循环执行第一轮操作的计数器变量名。
具体实施方式
下面对本发明的实施例作详细说明,本实施例在以本发明技术方案为前提下进行实施, 给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
实施例1
如图1所示,本实施例中N=m+1。N及m分别表示第一轮的执行次数及伪轮密钥数 量。
本实施例实现装置包括:基于SMS4的轮函数生成模块、(m+1)个轮密钥存贮器、周期 轮密钥电路、轮密钥存储器随机打乱电路,其中:第一轮轮函数与轮密钥储存器相连并传输、 轮函数之间相连并传输、轮密钥储存器与轮密钥随机打乱电路相连并传输。
所述的基于SMS4的轮函数生成模块为:即正常的SMS4轮函数
所述的轮密钥存贮器为:32位的寄存器,以用来存储32位的轮密钥
所述的轮密钥存储器随机打乱电路为:把m个伪轮密钥和一个真实的轮密钥放在一起 然后利用轮密钥存储器随机打乱电路进行随机打乱,记录下真实轮密钥的位置。
依上所述,本实施例是指多次执行(N次)第一轮操作,其他的31轮只执行一次,本实 施例涉及上述装置的工作过程如下:
1.首先需要保存m个伪轮密钥,这些伪轮密钥需要具有以下特点:伪轮密钥对应的每个 字节是不同的,这个用来保证针对某个S盒的伪轮密钥是不一样的。
2.每次加密开始,把m个伪轮密钥和一个真实的轮密钥放在一起然后利用轮密钥存储器 随机打乱电路进行随机打乱,记录下真实轮密钥的位置(即真实轮密钥执行的时刻)。
3.然后依次根据随机打乱的轮密钥开始执行N次轮函数,每次轮函数的结果都要进行保 存。
4.然后取真实的轮函数结果进入第二轮继续执行之后的运算。
实施例2
如图3所示,本实施例中N>m。N及m分别表示第一轮的执行次数及伪轮密钥数量。
本实施例实现装置包括:基于SMS4的轮函数生成模块、(m+1)个轮密钥存贮器、周期 轮密钥电路、轮密钥随机选取电路,其中:第一轮轮函数与轮密钥储存器相连并传输、轮函数 之间相连并传输、轮密钥储存器与轮密钥随机选取电路相连并传输。
所述的轮密钥随机选取电路为:先定位真实密钥执行的时刻,而其它的伪轮密钥的选择 是从可选伪轮密钥中随机可重复选取。
本实施例与实施例1的判别在于对第一轮操作时轮密钥的选择方法上不同。本实施例选 择轮密钥的方式是先定位真实轮密钥执行的时刻,而其它的伪轮密钥的选择是从可选伪轮密钥 中随机可重复选取。
效果分析
SMS4伪操作防护方案抵抗DPA攻击的说明:
对于硬件实现的SMS4来说,由于密钥混淆的存在,每一轮的寄存器中的中间值和32 位轮密钥都有关系。若要进行普通的DPA攻击,必须同时猜测32位轮密钥,在目前的攻击条 件下尚不能达到,故目前针对此种硬件实现的SMS4的旁路攻击,已知的DPA方法都是采用选 择明文的方式的。
采用选择明文方式的DPA攻击方法只能够从第一轮开始攻击SMS4的实现。上述实施例 采用了伪操作的方法,使得当攻击者在攻击第一轮的时候,对于实施例1,从理论上来说,得 到真实密钥与伪密钥的概率是一样的。因此,无法区别真实的操作和伪操作,做到了真实密钥 与伪密钥充分混淆。另外,当伪操作的个数(即安全参数)等于255(最大)的时候,此时攻击者完 全无法从DPA攻击中获得任何密钥信息,从而从理论和实际上抵御了针对SMS4硬件实现的 DPA。对于实施例2,也可以让m=N–1,此时,从概率上来讲与实施例1相同,只是在实现 方式上有所差异。但也可以调节m,使得m<N–1,此时得到伪轮密钥的概率反而要大于真实 密钥的概率,给攻击造成假象。
方案中隐含的另外一个防护方案是随机插入伪操作。由于真实轮密钥的使用位置是随机 的,因此,相当于使用了随机插入伪操作防护措施。随机插入伪操作将导致真实的操作无法实 现对齐。在本实施例中,只要真实操作执行的位置是符合随机均匀分布的,那么,真实操作在 那个时刻的可能只有1/N。这将大大降低旁路攻击的信噪比。

基于伪操作的电路旁路攻击抵御方法.pdf_第1页
第1页 / 共9页
基于伪操作的电路旁路攻击抵御方法.pdf_第2页
第2页 / 共9页
基于伪操作的电路旁路攻击抵御方法.pdf_第3页
第3页 / 共9页
点击查看更多>>
资源描述

《基于伪操作的电路旁路攻击抵御方法.pdf》由会员分享,可在线阅读,更多相关《基于伪操作的电路旁路攻击抵御方法.pdf(9页珍藏版)》请在专利查询网上搜索。

一种计算机安全技术领域的基于伪操作的电路旁路攻击抵御方法,以m个伪轮密钥和1个真实轮密钥组成轮密钥序列进行第一轮SMS4加密计算,并将真实轮密钥参与的第一轮SMS4加密计算结果进行第二轮SMS4加密计算,得到所需密文。本发明生成的第一轮真实运算的位置随机,使攻击者无法对齐功耗曲线,从而无法实现攻击。此外本发明相对于无防护的电路,其能耗不会超过原能耗的两倍。。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1