首页> 中国专利> 针对SMS4抗高阶旁路分析的掩码实现方法及系统

针对SMS4抗高阶旁路分析的掩码实现方法及系统

摘要

一种基于改进掩码的SMS4高阶旁路攻击防御方法,首先直接根据主密钥与计算出各个轮密钥;重新编码各个轮密钥k,轮密钥编码为k1,k2,则轮密钥满足然后重新编码各个和密钥相关的中间值x,轮密钥编码为x1,x2,则中间值满足再设计带掩码的SMS4操作,包括:线性操作和非线性操作,最后把以上的各个操作按照SMS4的顺序进行组合,从而实现SMS4高阶旁路攻击的防御。本发明通过随机化各个中间值,可以抵抗现有的二阶DPA分析,实现效率高于三阶布尔全掩码。

著录项

  • 公开/公告号CN106936822A

    专利类型发明专利

  • 公开/公告日2017-07-07

    原文格式PDF

  • 申请/专利权人 上海观源信息科技有限公司;

    申请/专利号CN201710135184.6

  • 申请日2017-03-08

  • 分类号H04L29/06(20060101);H04L9/00(20060101);H04L9/06(20060101);

  • 代理机构31201 上海交达专利事务所;

  • 代理人王毓理;王锡麟

  • 地址 200241 上海市闵行区东川路555号4号楼303B

  • 入库时间 2023-06-19 02:45:36

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-05-19

    专利权的转移 IPC(主分类):H04L29/06 登记生效日:20200429 变更前: 变更后: 申请日:20170308

    专利申请权、专利权的转移

  • 2020-03-17

    授权

    授权

  • 2017-08-01

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20170308

    实质审查的生效

  • 2017-07-07

    公开

    公开

说明书

技术领域

本发明涉及的是一种计算机安全领域的技术,具体是一种基于改进掩码的SMS4高阶旁路攻击防御方法。

背景技术

在现实中,密码系统通常是以硬件或以硬件为表现形式的软件来实现的,譬如:智能卡、RFID、密码协处理器、SoC密码芯片、密码机等。在这些密码系统的实现环境中,攻击者可以观察和测量密码变换的能量消耗、电磁辐射等信息,利用这些额外的信息有可能实现比传统的数学分析更有效地密码破译。人们通常把这种环境下的攻击称为“旁路攻击(SideChannel Attack)”。旁路攻击通常包括简单功耗分析(SPA)和差分功耗分析(DPA)。其中DPA攻击是通过记录密码设备对大量不同数据加密或解密操作时的功耗曲线,利用统计方法从功耗曲线中恢复出密码设备中的密钥,其分析功能也相对更加有效。

高阶旁路分析是指同时利用多个旁路泄漏信息来进行旁路分析的一种方法。其主要特点是可以分析很多带有防护的密码实现。典型的方法是二阶差分功耗分析。高阶旁路分析主要的限制是当前计算机设备有限的计算和存贮资源,因为理论上高阶旁路分析的复杂对是和其阶数的增加呈指数倍儿增加。当前常用的阶数为2阶分析。

旁路攻击方法的出现对很多现在的芯片构成了具大的威胁,因此,相应的出现了很多种旁路攻击的防护方法。比较常用的防护技术有隐藏技术和掩码技术。隐藏策略的目标是消除密码设备的功耗与设备所执行的操作和所处理的中间值之间的相关性。而掩码技术是通过随机化消息和密钥,使得无法建立密钥与功耗的关系。在隐藏技术中,其中有时间维度上的隐藏,这包括随机插入伪操作和乱序操作两种隐藏方法。随机插入伪操作是在密码算法执行前后以及执行中随机插入一些假的操作。这种方法可以破坏真实操作的对齐,使得在受到旁路攻击中攻击效果大大降低。乱序操作是在某些密码算法中,特定操作的执行顺序可以任意改变,因而可以通过改变这些操作的执行顺序来引入随机性。

掩码技术由于其理论安全可证明和实际防护效果好,是目前最常用的防护方案,掩码方案的阶数是指其随机化过程的阶数,其算法和复杂度和阶数成倍数增长。然而随着高阶旁路旁路攻击技术的日益发展,二阶掩码方案目前在一些情况下在已经无法满足高安全性的要求,业界也亟需更高安全俺妈方案。一个典型的提高掩码实现的安全性方法是增加它的阶数。然而,增加阶数会明显的降低掩码实现的效率,在很多情况下是不可取的。

SM4为基于国家标准GM/T 0002-2012《SM4分组密码算法》(原SMS4分组密码算法)的加密算法,该算法为对称算法,密钥长度和分组长度均为128位,加密算法与密钥扩展算法都采用32轮非线性迭代结构。解密算法与加密算法的结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。

发明内容

本发明针对现有技术存在的上述不足,提出一种基于改进掩码的SMS4高阶旁路攻击防御方法,通过随机化各个中间值,可以抵抗现有的二阶DPA分析,实现效率高于三阶布尔全掩码。

本发明是通过以下技术方案实现的:

本发明涉及一种基于改进掩码的SMS4高阶旁路攻击防御方法,包括以下步骤:

0)直接根据主密钥与计算出各个轮密钥;

1)重新编码各个轮密钥k,轮密钥编码为k1,k2,则轮密钥满足其中:k1和k2是对应均匀分布的随机数,a为预定义的一个2到255的数,·代表有限域乘法,代表逐比特异或;

2)重新编码各个和密钥相关的中间值x,轮密钥编码为x1,x2,则中间值满足其中:x1和x2是对应均匀分布的随机数,a为预定义的一个2到255的数;

3)设计带掩码的SMS4操作,包括:线性操作和非线性操作,其中:线性操作由密钥间异或、密钥与明文异或以及纺射操作组成,非线性操作为S盒操作。

4)把以上的各个操作按照SMS4的顺序进行组合,从而实现SMS4高阶旁路攻击的防御。

所述的密钥间异或是指:两个中间值,即密钥分别为计算z1和z2满足则计算:z1=x1+y1,z2=x2+y2

所述的密钥与明文异或是指:一个中间值为计算z1和z2满足则计算:z1=x1+p,z2=x2,其中p为明文。

所述的纺射操作是指:一个中间值为计算z1和z2满足其中:L()为任意一个纺射操作,则计算:z1=L(x1),z2=L'(x2),其中L'()为预计算的查找表,使得L'(x)=L(a·x),由于a为预定义的一个2到255的数。

所述的S盒操作是指:一个中间值为计算z1和z2满足其中:S()为S盒,则计算:z1=x1,z2=Sx1(x2),Sx1()是每次执行S盒操作前预更新的查找表,对于任意t的满足

附图说明

图1为SMS4结构示意图。

具体实施方式

本实施例涉及一种针对SMS4基于全掩码的防高阶旁路分析的防护方法。本实施方案以如下方式随机化各个中间值:其中x是秘密中间值(或者密钥)。本实施分别以这种方法直接存储各个轮密钥,从而不需要密钥扩展模块。本实施不对明文进行随机化。

根据以上中间值编码,对SMS4的各个操作进行改造,改造后的方案即为带掩码的SMS4算法。

本实例主要是在通用处理器上的实现,处理器型号为Atmega 2560,采用C语言实现,编译器是gcc,其中a=126,预更新的查找表大小为256Byte。

本实例伪代码如下:

以上代码时间复杂度是无掩码实现的2倍。

其中生成带掩码的S盒的函数GenMaskedSBOX()伪代码如下:

以上代码计算了S盒内查找表内的256个值。

生成各个带掩码的位移操作GenShifts()伪代码如下:

以上代码计算了位移操作查找表内的256个值。

与无掩码情况下的实现相比,本方法主要时间消耗在于算法2和算法3,整体所需时间复杂度大概是无掩码情况下的4倍。

上述具体实施可由本领域技术人员在不背离本发明原理和宗旨的前提下以不同的方式对其进行局部调整,本发明的保护范围以权利要求书为准且不由上述具体实施所限,在其范围内的各个实现方案均受本发明之约束。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号