本发明专利技术公开了一种嵌入式芯片抗功耗攻击的系统和方法,其中包括:加密模块,用于按照预设加密算法,将待加密的交易敏感数据进行数据加密,生成密文信息;功耗干扰模块,用于基于预设的功耗干扰算法,在所述加密模块对所述敏感数据进行加密过程中,插入不影响加密结果的功耗干扰操作指令;解密模块,用于按照预设的解密算法,将接收到的密文信息进行解密,获得对应的交易敏感数据;所述功耗干扰模块,还用于基于预设的功耗干扰算法,在所述解密模块对所述密文信息进行解密过程中,插入不影响解密结果的功耗干扰操作指令。通过本发明专利技术,可以实现加密密钥和芯片功率消耗无关性,达到安全芯片敏感数据传输时抗DPA与SPA攻击的目的。敏感数据传输时抗DPA与SPA攻击的目的。敏感数据传输时抗DPA与SPA攻击的目的。
【技术实现步骤摘要】
一种嵌入式芯片抗功耗攻击的系统和方法
[0001]本专利技术涉及芯片加密领域,具体而言,涉及一种嵌入式芯片抗功耗攻击的系统和方法。
技术介绍
[0002]侧信道攻击(SideChannelAttack,简称SCA)是一种针对密码实现(包括密码芯片、密码模块、密码系统等)利用计算机不经意间释放出的信息信号(如功耗,电磁辐射等)来进行密码破译的攻击模式,“攻击”在这里的意思是,攻击者提取出运行加密算法的机密的密钥。
[0003]在对密码芯片加解密的过程中,功耗分析攻击是SCA中最有效的形式之一,主要通过采集加密算法执行时所泄露的功耗信息,再通过差分分析等数学计算来恢复密钥,是一种非入侵式攻击方法。常见的功耗分析攻击方式有差分功耗分析(DifferentialPowerAnalysis,简称DPA)和简单功耗分析(SimplePower Analysis,简称SPA)。
[0004]在实际使用中,只要能够通过支付卡行业标准(PaymentCardIndustry,简称PCI)和中国银联支付终端安全技术规范(UPTS)测试要求的算法接口既满足抗DPA与SPA攻击相关要求。现有的技术中,可以用于抵抗DPA与SPA攻击的方法通常有两种:一种为算法掩码方案,即密码算法中的每个中间值都会被一个称为“掩码”随机数进行变换,这样随机数的掩码就破坏了加密能量消耗的线性关系;另外一种就是硬件方案;在安全芯片上设置专门的硬件电路来改变芯片的能量消耗特性。
[0005]其中,目前的掩码技术通常是在密钥的基础上采用掩码运算,改动密钥的消息,那么最终的结果以被掩码的形式存在。相应地,在进行运算以后再逆向去除掩码,从而得到无掩码的结果。这种方法不仅繁琐而且耗时。
技术实现思路
[0006]为了解决上述现有掩码技术繁琐且耗时的问题,本专利技术提供一种嵌入式芯片抗功耗攻击的系统和方法,通过对加密过程中的功耗进行干扰,达到加密密钥和芯片功率消耗无关性的目的,实现快速低消耗的抵抗DPA与SPA攻击。
[0007]具体的,本专利技术的技术方案如下:
[0008]第一方面,本专利技术公开一种嵌入式芯片抗功耗攻击的系统,包括:
[0009]加密模块,用于按照预设加密算法,将待加密的交易敏感数据进行数据加密,生成密文信息;
[0010]功耗干扰模块,用于基于预设的功耗干扰算法,在所述加密模块对所述敏感数据进行加密过程中,插入不影响加密结果的功耗干扰操作指令;
[0011]解密模块,用于按照预设的解密算法,将接收到的密文信息进行解密,获得对应的交易敏感数据;
[0012]所述功耗干扰模块,还用于基于预设的功耗干扰算法,在所述解密模块对所述密文信息进行解密过程中,插入不影响解密结果的功耗干扰操作指令。
[0013]在一些实施方式中,所述预设的功耗干扰算法,具体包括:
[0014]生成至少两个随机数;
[0015]根据所述随机数的随机数类别生成相应的功耗干扰操作指令;
[0016]所述功耗干扰模块具体包括:
[0017]设置子模块,用于预先设置不同的随机数类别需要执行的功耗干扰操作;
[0018]中断操作子模块,用于在当前的加密或解密过程中,随机中断当前的加密或解密步骤;
[0019]随机生成子模块,用于根据所述预设的功耗干扰算法,生成至少两个随机数,并根据所述随机数的随机数类别,生成相应的功耗干扰操作指令;
[0020]干扰操作子模块,用于在当前中断的加密或解密步骤中,插入所述功耗干扰操作指令执行对应的功耗干扰操作;并在所述对应的功耗干扰操作指令执行完毕后,继续进行后续的加密或解密步骤。
[0021]在一些实施方式中,所述的根据所述随机数的随机数类别,生成相应的功耗干扰操作指令具体包括:根据指定的其中一个所述随机数的所述随机数类别,对所述至少两个所述随机数执行相应的运算处理。
[0022]在一些实施方式中,所述的根据所述随机数类别,对所述随机数执行对应的运算处理;具体包括:
[0023]当所述随机数为00类时,所述多个随机数不执行运算;
[0024]当所述随机数为01类时,所述多个随机数执行加法运算;
[0025]当所述随机数为10类时,所述多个随机数执行减法运算;
[0026]当所述随机数为11类时,所述多个随机数执行乘法运算。
[0027]在一些实施方式中,所述的嵌入式芯片抗功耗攻击的系统,还包括:
[0028]强度设置模块,用于设置在进行加密或解密过程中执行功耗干扰操作的强度,根据所述强度决定插入执行所述功耗干扰操作的次数或密度。
[0029]第二方面,本专利技术还公开一种嵌入式芯片抗功耗攻击的方法,包括如下步骤:
[0030]当接收到待加密的交易敏感数据时,按照预设加密算法,将待加密的交易敏感数据进行数据加密,且在加密过程中,基于预设的功耗干扰算法,在对所述敏感数据进行加密过程中,插入不影响加密结果的功耗干扰操作指令,生成密文信息;
[0031]当接收到待解密的密文信息时,按照预设的解密算法,将所述待解密的密文信息进行解密;且在解密过程中,基于预设的功耗干扰算法,插入不影响解密结果的功耗干扰操作指令,解密后获得对应的交易敏感数据。
[0032]在一些实施方式中,所述在加密或解密过程中,基于预设的功耗干扰算法,插入不影响加密结果的功耗干扰操作指令,生成密文信息;具体包括:
[0033]在当前的加密或解密过程中,随机中断当前的加密或解密步骤;
[0034]根据所述预设的功耗干扰算法,生成至少两个随机数,并根据所述随机数的随机数类别,生成相应的功耗干扰操作指令;其中,每种随机数类别均有对应的功耗干扰操作;
[0035]在当前中断的加密或解密步骤中,插入所述功耗干扰操作指令执行对应的功耗干
扰操作;并在所述对应的功耗干扰操作指令执行完毕后,继续进行后续的加密或解密步骤。
[0036]在一些实施方式中,所述的根据所述随机数的随机数类别,生成相应的功耗干扰操作指令具体包括:根据指定的其中一个所述随机数的所述随机数类别,对所述至少两个所述随机数执行相应的运算处理。
[0037]在一些实施方式中,所述随机数包括随机数A和随机数B;所述的根据指定的其中一个所述随机数的所述随机数类别,对所述至少两个所述随机数执行相应的运算处理,具体包括:
[0038]根据所述随机数A的所述随机数类别,对所述随机数A和所述随机数B执行相应的运算。
[0039]在一些实施方式中,所述的根据所述随机数类别,对所述随机数执行对应的运算处理中:
[0040]所述随机数类别根据所述随机数的低两位的数字特征进行划分,所述随机数类别包括以下四类:00类、01类、10类、11类;
[0041]所述运算处理包括:不执行运算,以及加法运算、减法运算、乘法运算、除法运算之中的任意一种或多种。
[0042]在一些实施方式中,在执行数据加密步骤之本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种嵌入式芯片抗功耗攻击的系统,其特征在于,包括:加密模块,用于按照预设加密算法,将待加密的交易敏感数据进行数据加密,生成密文信息;功耗干扰模块,用于基于预设的功耗干扰算法,在所述加密模块对所述敏感数据进行加密过程中,插入不影响加密结果的功耗干扰操作指令;解密模块,用于按照预设的解密算法,将接收到的密文信息进行解密,获得对应的交易敏感数据;所述功耗干扰模块,还用于基于预设的功耗干扰算法,在所述解密模块对所述密文信息进行解密过程中,插入不影响解密结果的功耗干扰操作指令。2.根据权利要求1所述的嵌入式芯片抗功耗攻击的系统,其特征在于,所述预设的功耗干扰算法,具体包括:生成至少两个随机数;根据所述随机数的随机数类别生成相应的功耗干扰操作指令;所述功耗干扰模块具体包括:设置子模块,用于预先设置不同的随机数类别需要执行的功耗干扰操作;中断操作子模块,用于在当前的加密或解密过程中,随机中断当前的加密或解密步骤;随机生成子模块,用于根据所述预设的功耗干扰算法,生成至少两个随机数,并根据所述随机数的随机数类别,生成相应的功耗干扰操作指令;干扰操作子模块,用于在当前中断的加密或解密步骤中,插入所述功耗干扰操作指令执行对应的功耗干扰操作;并在所述对应的功耗干扰操作指令执行完毕后,继续进行后续的加密或解密步骤。3.如权利要求2所述的嵌入式芯片抗功耗攻击的系统,其特征在于,所述的根据所述随机数的随机数类别,生成相应的功耗干扰操作指令具体包括:根据指定的其中一个所述随机数的所述随机数类别,对所述至少两个所述随机数执行相应的运算处理。4.如权利要求3所述的嵌入式芯片抗功耗攻击的系统,其特征在于,所述随机数包括随机数A和随机数B;所述的根据指定的其中一个所述随机数的所述随机数类别,对所述至少两个所述随机数执行相应的运算处理,具体包括:根据所述随机数A的所述随机数类别,对所述随机数A和所述随机数B执行相应的运算。5.如权利要求3
‑
4任一项所述的嵌入式芯片抗功耗攻击的系统,其特征在于,所述的根据所述随机数类别,对所述随机数执行对应的运算处理中:所述随机数类别根据所述随机数的低两位的数字特征进行划分,所述随机数类别包括以下四类:00类、01类、10类、11类;所述运算处理包括:不执行运算,以及加法运算、减法运算、乘法运算、除法运算之中的任意一种或...
【专利技术属性】
技术研发人员:韦献康,林喆,曹亮,
申请(专利权)人:广东川田科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。