一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于物联网信息安全芯片的软硬件兼容方法与流程

2022-02-21 04:41:43 来源:中国专利 TAG:


1.本发明涉及数字信息安全技术领域,具体涉及一种基于物联网信息安全芯片的软硬件兼容方法。


背景技术:

2.芯片的软硬件兼容设计是通过特定的需求分析确定各个模块是采用硬件还是软件实现。其目的是在满足各项约束条件下,使系统在满足约束条件的情况下性能达到最优。
3.在已有的物联网信息安全芯片的软硬件兼容设计中,许多研究机构做出了大量研究,提出了很多软硬件协同划分方法。通常有两种兼容方案,一种是对模块进行复杂度分析,通过复杂度来对芯片的实现直接进行软硬件划分,采用硬件模块优先的原则,然后在此基础上进行软件模块的开发,将芯片分为独立的硬件和软件两个独立的部分;另一种是在划分前先对各模块进行软件实现,通过运行软件模块,得到各模块的运行时长,对于运行时间过长的模块,将其使用硬件方法来实现。
4.当前,对电子产品的轻薄、高性能的要求下,芯片的设计也向着占用更小的硬件资源、更低的功耗优化。在三中所述的方法中,第一种方法仅从复杂度考虑,未考虑运行时间、面积、功耗;第二种方法仅通过软件实现来得到时长,将运行时间过长的部分采用硬件方法来实现,未考虑硬件部分的面积。如果将软件和硬件模块分别实现,并为对以上两者进行综合优化,那么在芯片的后续优化过程中会受到设计空间的约束,仅能分别优化两者,不能充分利用硬件资源,造成硬件资源的浪费。
5.同时,也未考虑抗攻击的问题,在当下物联网行业迅猛发展,信息安全愈发严峻的环境下,为保证数据传输的安全,抵抗各类攻击也成为了各类安全芯片的重要考虑因素,单纯的对物联网信息安全芯片的性能进行优化已经不能满足现有的安全需求了。


技术实现要素:

6.针对现有技术中存在的问题,本发明的主要目的是提供一种基于物联网信息安全芯片的软硬件兼容方法,更好地对物联网信息安全芯片的软硬件部分进行划分,使其能够满足当下小面积、低功耗、高安全性的需求,并在硬件部分中加入了抗攻击设计,有效提高物联网信息安全芯片的安全性。
7.为实现上述目的,本发明提出一种基于物联网信息安全芯片的软硬件兼容方法,包括以下步骤:s1、提取软件部分和硬件部分的参数,通过软件实现、硬件实现分别得到软件部分和硬件部分的运行时长、面积、功耗的数据参数;s2、建立软硬件划分模型,将软件部分和硬件部分提取的参数作为输入参数建立软硬件划分模型;s3、求解最优解,通过0-1规划求最优解的方法,根据软硬件划分模型进行最优解求解,得到软件部分和硬件部分的划分结果;
s4、软件部分和硬件部分划分,将物联网信息安全芯片看作一个整体,通过划分结果对软件部分和硬件部分进行划分;s5、加入抗攻击设计,在划分好的硬件部分中加入抗攻击设计;优选地,所述软件实现为基于单片机软件编程实现,所述硬件实现为基于fpga硬件逻辑电路实现。
8.优选地,所述软硬件划分模型的具体建立步骤如下:步骤一、对n个模块软件实现和硬件实现得到运行时长ti、功耗pi、面积si的数据参数进行标准化到[0,1]区间;步骤二、定义最优解为:总运行时间最小、总功耗最小、总面积最小;步骤三、设置权重wk,k为优化解个数,权重wk必须满足;步骤四、将k个优化解根据权重wk成为一个优化解g,公式如下:。
[0009]
优选地,所述抗攻击设计中包括非对称加密算法,该非对称加密算法采用抗攻击点乘算法,抗攻击点乘算法是将无论密钥位为0或1均执行两次操作,其用于避免因密钥位的不同导致功耗曲线的差异,抗攻击点乘算法具体步骤如下:步骤一、输入:k(k
l-1
, k
l-2
,
ꢀ…ꢀ
, k0)、p∈e(f
p
),随机数z;步骤二、输出:q = kp;步骤三、step1:将p表示为等价的投影坐标点(x,y,z),其中z为随机数;步骤四、step2:q = o;步骤五、step3:for i=l-1 down to 0
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
q = 2q;
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
t = q p;if k
i ==1q = t;步骤六、step4:将q转换为仿射坐标点;步骤七、step5:return q;抗攻击点乘算法中,k定义为私钥,k为一个整数;(k
l-1
, k
l-2
,
ꢀ…ꢀ
, k0)为密钥二进制下的每一位;e(f
p
)是素域下椭圆曲线下所有点的集合;在z=0的情况下,o为对应射影坐标系下的无穷远点,o的具体数值为(1,1,0);i是k的位数;x, y, z为射影坐标系下的坐标表示形式;q=2q是倍点;t=q p是点加。
[0010]
优选地,所述抗攻击设计中包括对称加密算法,该对称加密算法是使用掩码覆盖计算过程中的所有中间值,让功耗随机化,使中间值失去与功耗之间的线性关系,对称加密算法具体步骤如下:步骤一、引入随机数掩码 m1 ,对输入的明文进行异或掩码;步骤二、在密文结果输出前,进行去掩码m1还原操作;
步骤三、引入随机数掩码 m2 ,对输入密钥进行异或掩码;步骤四、在密钥扩展完成后,进行去掩码m2还原操作;步骤五、引入随机数掩码 m3 ,对加密过程的掩码s盒独立掩码。
[0011]
优选地,所述对称加密算法还包括:步骤六、错误信息检测,若对加密过程的掩码s盒独立掩码出现错误检测,则输出错误信息。
[0012]
优选地,所述硬件部分包括:sm2模块,用于进行签名验签或者数据加解密;ecc模块,用于进行签名验签或者数据加解密;aes模块,用于数据加解密;sm4模块,用于数据加解密;rsa-1024模块,用于进行签名验签或者数据加解密;sm3模块,用于消息认证码的生成与验证以及随机数的生成;sha-256模块,用于消息认证码的生成与验证以及随机数的生成;puf模块,用于生成不可克隆id;ahb,用于模块之间的连接;所述s m2模块、ecc模块、aes模块、sm4模块、rsa-1024模块、sm3模块、sha-256模块和puf模块均直接挂在ahb上并与软件部分进行数据交换;所述sm2模块、ecc模块、aes模块和sm4模块中均设置抗攻击设计。
[0013]
优选地,所述软件部分包括:spi模块,用于通信,完成数据交换;iic模块,用于通信,完成数据交换;uart模块,用于通信转换;gpio模块,用于信号输入和输出;trng模块,用于生成随机数;apb,用于模块之间的连接;所述spi模块、iic模块、uart模块、gpio模块和trng模块均通过apb与ahp连接。
[0014]
有益效果:1.通过提取软件部分和硬件部分的参数,建立软硬件划分模型,求解最优解,将物联网信息安全芯片看作一个整体,进行软件部分和硬件部分并行综合划分,从而得到软硬件的最佳兼容方案;2.对aes模块、sm4模块、ecc模块、sm2模块进行硬件实现,并加入抗攻击设计,提高整个物联网信息安全芯片的抗攻击性、安全性。
附图说明
[0015]
图1为本发明软件部分和硬件部分的划分流程图;图2为本发明软件部分和硬件部分的划分总体架构图;图3为本发明中抗攻击设计的架构图。
具体实施方式
[0016]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0017]
需要说明,若本发明实施例中有涉及“第一”、“第二”等的描述,则该“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。
实施例
[0018]
请参阅图1至图3,本实施例提供一种基于物联网信息安全芯片的软硬件兼容方法,包括以下步骤:s1、提取软件部分和硬件部分的参数,通过软件实现、硬件实现分别得到软件部分和硬件部分的运行时长、面积、功耗的数据参数;s2、建立软硬件划分模型,将软件部分和硬件部分提取的参数作为输入参数建立软硬件划分模型;s3、求解最优解,通过0-1规划求最优解的方法,根据软硬件划分模型进行最优解求解,得到软件部分和硬件部分的划分结果;s4、软件部分和硬件部分划分,将物联网信息安全芯片看作一个整体,通过划分结果对软件部分和硬件部分进行划分,软件部分主要用于实现数据的分组,通过调用硬件部分的资源完成物联网信息安全芯片的系统签名验签和加解密功能、实现软硬件调度和控制,从而控制和管理整个加密系统;s5、加入抗攻击设计,在划分好的硬件部分中加入抗攻击设计,需要说明的是,实际应用过程中,硬件部分中包含了许多现有技术中常用的加密算法,而抗攻击设计则是加入到其部分的加密算法中。
[0019]
需要说明的是,软件实现为基于单片机软件编程实现,硬件实现为基于fpga硬件逻辑电路实现。
[0020]
具体地,软硬件划分模型的具体建立步骤如下:步骤一、对n个模块软件实现和硬件实现得到运行时长ti、功耗pi、面积si的数据参数进行标准化到[0,1]区间。
[0021]
步骤二、定义最优解为:总运行时间最小、总功耗最小、总面积最小;步骤三、设置权重wk,k为优化解个数,权重wk必须满足;步骤四、将k个优化解根据权重wk成为一个优化解g,公式如下:。
[0022]
再具体地,现有技术中,点乘运算是信息泄露的关键,由于密钥的每一位不同,将会执行不同的运算,这只需要通过spa在一条功耗曲线上明显看出差异,从而获取密钥;本实施例的抗攻击设计中包括非对称加密算法,该非对称加密算法采用抗攻击点乘算法,抗攻击点乘算法是将无论密钥位为0或1均执行两次操作,其用于避免因密钥位的不同导致功耗曲线的差异,抗攻击点乘算法具体步骤如下:步骤一、输入:k(k
l-1
, k
l-2
,
ꢀ…ꢀ
, k0)、p∈e(f
p
),随机数z;步骤二、输出:q = kp;步骤三、step1:将p表示为等价的投影坐标点(x,y,z),其中z为随机数;步骤四、step2:q = o;步骤五、step3:for i=l-1 down to 0
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
q = 2q;
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
t = q p;if k
i ==1q = t;步骤六、step4:将q转换为仿射坐标点;步骤七、step5:return q;抗攻击点乘算法中,k定义为私钥,k为一个整数;(k
l-1
, k
l-2
,
ꢀ…ꢀ
, k0)为密钥二进制下的每一位;e(f
p
)是素域下椭圆曲线下所有点的集合;在z=0的情况下,o为对应射影坐标系下的无穷远点,o的具体数值为(1,1,0);i是k的位数;x, y, z为射影坐标系下的坐标表示形式;q=2q是倍点;t=q p是点加。
[0023]
更具体地,常见的侧信道攻击为差分能量分析攻击(dpa),差分能量分析攻击(dpa)原理是处理数据的汉明重量与功耗或电磁大小成线性关系,差分能量分析攻击(dpa)通过采集加密算法正常工作时产生的泄露信息,如功耗、电磁等,进行差分分析或相关性分析,进而得到正确密钥。目前针对算法级的防护措施代表性的有 mask 掩码技术、随机化技术;电路层面的防护措施主要有功耗平衡技术、功耗平滑技术等,本实施例的抗攻击设计中包括对称加密算法,该对称加密算法是使用掩码覆盖计算过程中的所有中间值,让功耗随机化,使中间值失去与功耗之间的线性关系,从而实现抗功耗分析攻击,如图3所示,对称加密算法的具体步骤如下:步骤一、引入随机数掩码 m1 ,对输入的明文进行异或掩码;步骤二、在密文结果输出前,进行去掩码m1还原操作;步骤三、引入随机数掩码 m2 ,对输入密钥进行异或掩码;步骤四、在密钥扩展完成后,进行去掩码m2还原操作;步骤五、引入随机数掩码 m3 ,对加密过程的掩码s盒独立掩码。
[0024]
还需要说明的是,对称加密算法还包括:步骤六、错误信息检测,若对加密过程的掩码s盒独立掩码出现错误检测,则输出错误信息,需要说明的是,如图3所示,掩码s盒和错误检测分别构成轮函数和密匙扩展。
[0025]
进一步地,硬件部分包括:sm2模块,用于进行签名验签或者数据加解密;ecc模块,用于进行签名验签或者数据加解密;
aes模块,用于数据加解密;sm4模块,用于数据加解密;rsa-1024模块,用于进行签名验签或者数据加解密;sm3模块,用于消息认证码的生成与验证以及随机数的生成;sha-256模块,用于消息认证码的生成与验证以及随机数的生成;puf模块,用于生成不可克隆id;ahb,用于模块之间的连接;s m2模块、ecc模块、aes模块、sm4模块、rsa-1024模块、sm3模块、sha-256模块和puf模块均直接挂在ahb上并与软件部分进行数据交换;sm2模块、ecc模块、aes模块和sm4模块中均设置抗攻击设计。
[0026]
再进一步地,软件部分包括:spi模块为通信协议,用于通信,完成数据交换;iic模块为通信协议,用于通信,完成数据交换;uart模块为通用异步收发传输器,用于串行通信和并行通信之间的转换;gpio模块为通用输入/输出口,用于信号输入和输出;trng模块为真随机数发生器,用于生成随机数;apb,用于模块之间的连接;所述spi模块、iic模块、uart模块、gpio模块和trng模块均通过apb与ahp连接,在apb里面唯一的主模块就是apb桥,apb 桥既是apb上唯一的主模块,也是ahb上的从模块。其主要功能是锁存来自ahb的地址、数据和控制信号,并提供二级译码以产生apb外围设备的选择信号,从而实现ahb协议到apb协议的转换。通过apb桥实现软件部分的各个模块与物联网信息安全芯片的cpu通信。
[0027]
通过采用软件部分和硬件部分并行划分的方法,将物联网信息安全芯片看作一个整体,对其进行综合划分,从而得到软硬件的最佳兼容方案,对aes模块、sm4模块、ecc模块、sm2模块进行硬件实现,并加入抗攻击设计,提高整个物联网信息安全芯片的抗攻击性、安全性。
[0028]
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献