一种可动态配置安全算法库的芯片设计方法与流程

文档序号:32350314发布日期:2022-11-26 12:46阅读:38来源:国知局
一种可动态配置安全算法库的芯片设计方法与流程

1.本发明涉及一种支持安全算法库动态配置的芯片设计方法,满足不同领域算法需求的低成本芯片要求。


背景技术:

2.物联网即“万物相连的互联网”,是互联网基础上的延伸和扩展的网络,将各种信息传感设备与网络结合起来而形成的一个巨大网络,实现在任何时间、任何地点,人、机、物的互联互通。物联网是新一代技术的重要组成部分,是物物相连的互联网,其核心仍然是互联网。据了解目前我国很多物联网没有完善的安全保障,安全等级很低极易造成数据安全的泄露,像层出不穷的摄像头被破解、售货机破解无一不体现着物联网数据安全的重要性,因此物联网的安全问题亟需解决。安全芯片应运而生,其独有的安全加密存储和防攻击措施相当于给物联网加了一把安全锁,为万物互联保驾护航。
3.由于物联网应用的广泛性,安全芯片需要面对各行各业的领域,必须支持国际算法(ecc/des/aes/sha-x/rsa等)和国密算法(sm1/sm2/sm3/sm4/sm9等),另外用户也需要开发许多应用装载在芯片里面,用于支持产品未来的市场应用。上述芯片需要有非常大的存储空间,这对于芯片的面积来说是严峻的挑战。但是物联网行业恰恰对成本要求极为严苛,低成本设计是物联网行业未来的主流设计。因此如何设计一种即能满足不同市场应用,又能装载用户应用程序的安全芯片十分重要且迫在眉睫。
4.目前在市场上,不同领域对安全算法的需求是不同的,类似智能门锁,防伪认证,智能电表,智能燃气,车联网v2x,数字钱包、tbox等等。每个领域需要的仅仅是一种或者几种算法,其余的算法并不使用,这样其他的算法放在用户空间里实则对用户存储是极大的浪费。但是所有用户的需求集合在一起确是希望尽可能包含更多的算法,这样又必须占用很大的存储空间。
5.综上所述,如果能够针对单一应用将该应用下不使用的算法空间释放,存放用户应用程序和数据,这样就能满足各行各业的需求。基于此本专利提出一种安全算法动态配置管理办法,可以有效释放空间,满足用户应用程序存储需求和不同领域算法需求,同时节省芯片面积,降低成本。


技术实现要素:

6.本发明的技术解决问题是:不同领域对安全算法的需求是不同的,每个领域需要的仅仅是一种或者几种算法,其余的算法并不使用,通过本专利方法,可使低成本芯片在较小存储空间下,仍可满足不同领域对安全算法的需求,同时释放较大用户空间开放给用户使用,而且能够保证安全算法的安全性。
7.本发明的技术解决方案是:
8.首先:将芯片算法按算法种类或函数集合划分为若干个最小单元,排列存放在存储器的不同空间,存储器最上方为一个预留的最小单元,不存放任何算法。芯片在加工时将
算法总集、参数配置区数据和loader程序区程序下载到存储器中。
9.其次:参数配置区是存放参数配置的区域,如存储用于管理员安全认证的密钥,也可以存放每种应用算法的使能与关闭配置或标识。loader程序区存放loader程序,用于解析命令执行相应的操作。参数配置区和loader程序区不参与算法的动态映射。
10.再次:根据应用需求确定需要使用的算法,发送命令给芯片loader程序,通过loader程序读取参数配置区存储的密钥进行管理员安全认证,认证通过后发送算法映射命令,loader程序解析命令参数,调用硬件完成相应安全算法库的动态映射。由cpu控制模块控制存储器管理模块,将需要用的算法映射到存储器指定位置,擦除未使用的算法区,cpu控制模块生效新映射的算法区,芯片执行下电或复位操作,芯片复位后新生效的安全算法可用。
11.最后:存储器管理模块对复位或重新上电的芯片,执行新的访问权限。存储器管理模块更新各区空间及访问权限,映射后新生效的算法区外的空间释放为用户区,用户区对算法区无读写权限,只有执行权限,保证算法的安全性。
12.本发明与现有技术相比的优点在于:
13.(1)芯片动态配置算法区空间,释放算法区外的空间,既满足了不同应用算法的需求,又释放了最大的用户空间给用户使用。
14.(2)芯片动态配置算法区操作由芯片完成,不开放给用户自行下载算法,既保证安全性又节省了多算法多版本管理成本;
15.(3)最小单元细化到某些算法的函数合集,满足不同应用需求;
16.(4)最小单元存储空间可以多次重映射。本方法支持多次重映射,loader程序完成管理员安全认证后,通过命令解析可以实现最小单元存储空间多次重映射。
附图说明
17.图1为本发明的整体设计框图;
18.图2为本发明示例芯片加工时的存储器空间分配;
19.图3为本发明动态配置安全算法区的流程图;
20.图4为本发明示例芯片动态配置安全算法区后的存储空间分配;
具体实施方式
21.由于本专利仅介绍一种方法,并不做具体实现,因此在这里仅描述一个示例来说明具体实施方式(整体框图如图1所示),(本文中所使用软硬件实现方式,可由实现者在实际操作时指定,文中仅举例说明):
22.某安全芯片设计时开发了sm4、aes、rsa算法,将sm4算法、aes算法、rsa算法函数集1、rsa算法函数集2划分为最小单元,每个最小单元占用存储空间大小差异不大。芯片加工时将sm4、aes、rsa算法库hex文件下载到flash中,如图2所示。其中地址5到flash顶端是预留区,不存放任何有意义的数据。
23.某用户针对应用需求只需要aes算法和rsa函数集1,并且希望能有足够大的用户区用来存储用户程序和数据。可以按照图3所示流程对芯片安全算法库动态映射配置。
24.第一步,对芯片发送命令,获取鉴权随机数。脚本使用鉴权密钥对随机数进行aes
算法解密,将解密后结果发送给芯片。芯片loader程序收到命令,也使用参数配置区鉴权密钥对随机数进行aes算法解密,判断收到正确的解密结果即认为管理员安全认证成功,判断收到错误的解密结果则返回认证失败错误码。
25.第二步,对芯片发送配置算法区映射命令,loader程序解析收到的命令,选择待映射算法组合是aes算法和rsa函数集1,调用硬件完成相应安全算法库的动态映射。cpu控制模块调用存储器管理模块将aes算法数据映射到顶端预留区,将rsa函数集1数据映射到地址4(原sm4区域),擦除地址1到地址4范围的存储器空间。
26.第三步,cpu控制模块将地址4以上区域生效为算法区,芯片下电再次上电。重新上电的芯片存储器管理模块将设置新的权限,对地址4以下的空间权限改为用户区权限,地址4以上权限改为安全算法区权限,用户区对安全算法区无读写权限,只有执行权限。
27.最后,用户可以调用执行aes算法和rsa函数集1中的函数,地址0到地址4空间均是用户区供用户使用。动态配置后的芯片存储器状态如图4。
28.本发明说明书中未作详细描述的内容属本领域技术人员的公知技术。


技术特征:
1.一种可动态配置安全算法库的芯片设计方法,其特征在于:芯片支持多种安全算法,将芯片安全算法划分为若干最小单元,芯片生产时将最小单元合集下载到存储器;应用时通过发送命令调用硬件模块,实现最小单元存储空间的任意动态映射,完成映射后擦除未使用的算法区,生效新映射的算法区为安全算法区;复位后存储器管理模块会更新各区空间及访问权限,未用算法区释放为用户区由用户支配使用;最小单元存储空间可以多次重映射。2.根据权利要求1所述的芯片设计方法,其特征在于,芯片可支持多种安全算法,所述最小单元可以是某一种算法,也可以是多种算法,也可以是某些算法的函数集合。3.根据权利要求1所述的芯片设计方法,其特征在于,该方法由软硬件配合实现,所述应用时通过发送命令调用硬件模块,是指命令解析由loader程序实现,loader程序完成管理员安全认证,调用硬件模块完成算法存储空间映射,通过管理员安全认证后才可以实现所述的最小单元存储空间的任意动态映射配置,管理员安全认证方式由芯片制定,不局限于何种算法的加密或解密;所述调用硬件模块是指由cpu控制模块调用存储器管理模块,将需要用的算法映射到存储器指定位置。4.根据权利要求1所述的芯片设计方法,其特征在于,所述完成映射后擦除未使用的算法区,生效新映射的算法区为安全算法区,是指完成新映射后必须先擦除未用的算法区,再由cpu控制模块生效安全算法区,先擦除后生效保证算法区释放为用户区时是擦除状态,算法不被泄露;用户区对安全算法区无读写权限,只有执行权限,保证安全算法的不可更改及安全。5.根据权利要求1所述的芯片设计方法,其特征在于,所述任意动态映射指存储器管理模块可以实现任意最小单元的任意位置映射,所述生效新映射的算法区指cpu控制模块可以生效一个或多个最小单元。6.根据权利要求1所述的芯片设计方法,其特征在于,所述最小单元存储空间可以多次重映射是指该方法支持多次重映射,loader程序完成管理员安全认证后,通过命令解析可以实现最小单元存储空间多次重映射。

技术总结
一种可动态配置安全算法库的芯片设计方法,可以实现安全算法存储空间的动态映射,从而在算法应用需求与用户空间大小达到动态平衡,满足安全需求和应用需求。首先将安全算法划分为若干个最小单元,芯片生产时将最小单元合集下载到存储器中,通过软硬件配合实现算法区多次重映射,释放用户空间,适配多种应用领域的需求。本专利仅提供一种设计方法,并不局限于开发者使用任何软硬件实施方式实现。限于开发者使用任何软硬件实施方式实现。限于开发者使用任何软硬件实施方式实现。


技术研发人员:王哲 董攀
受保护的技术使用者:北京中电华大电子设计有限责任公司
技术研发日:2022.08.22
技术公布日:2022/11/25
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1