一种UBOOT下基于国密算法的系统镜像签名校验方法技术方案

技术编号:30162291 阅读:20 留言:0更新日期:2021-09-25 15:16
本发明专利技术公开了一种UBOOT下基于国密算法的系统镜像签名校验方法,包括以下步骤:S1、接收系统镜像文件,并进行镜像签名打包,生成签名镜像文件;S2、在UBOOT中,使用国密算法中的SM2和SM3对签名镜像文件进行校验。本发明专利技术中将国密算法移植进UBOOT中,使设备支持了SM2数字签名算法和SM3密码杂凑算法;本方法中支持的SM2数字签名算法比主流的RSA算法更加安全、快速和可靠;本发明专利技术中在嵌入式设备启动内核过程中,对系统镜像的签名检验,提高了设备的安全性和可靠性。性和可靠性。性和可靠性。

【技术实现步骤摘要】
一种UBOOT下基于国密算法的系统镜像签名校验方法


[0001]本专利技术属于嵌入式设备领域,具体涉及一种UBOOT(主要用于嵌入式系统的引导加载程序)下的基于国密算法的系统镜像签名校验方法。

技术介绍

[0002]目前最常用的非对称算法1024位RSA被证实存在被攻击的风险,且可能预置NSA后门,国家密码局认定的国产密码算法主要包括SM1、SM2、SM3和SM4,其中,SM3为密码杂凑算法,SM2为非对称加密,可以用于替代RSA。该算法基于ECC,不存在亚指数级算法危机,256位的SM2安全程度高于2048位的RSA,且其签名速度与密钥生成速度都快于RSA,更适合移植于资源受限的嵌入式系统。
[0003]嵌入式设备一般采用flash或硬盘等介质作为存储,或网络服务器存储系统镜像,存在可移动性以及可替换性,为防止系统镜像被替换或者被攻击,需要对设备的系统镜像文件做校验。

技术实现思路

[0004]针对现有技术中的上述不足,本专利技术提供的UBOOT下基于国密算法的系统镜像签名校验方法解决了现有的系统中少有对系统镜像进行校验,造成系统镜像被替换或者攻击的问题。
[0005]为了达到上述专利技术目的,本专利技术采用的技术方案为:一种UBOOT下基于国密算法的系统镜像签名校验方法,包括以下步骤:
[0006]S1、接收系统镜像文件,并进行镜像签名打包,生成签名镜像文件;
[0007]S2、在UBOOT中,使用国密算法中的SM2和SM3对签名镜像文件进行校验。
[0008]进一步地,所述步骤S1具体为:
[0009]S11、在服务器中使用SM2数字签名算法生成用于签名的公私秘钥对,并保存;
[0010]S12、通过签名者将需要签名的系统镜像文件发送到服务端;
[0011]S13、基于服务端存储的签名者的数字证书,检查当前接收的系统镜像文件对应的签名者的数字证书是否有效;
[0012]若是,则进入步骤S14;
[0013]若否,则进入步骤S15;
[0014]S14、使用SM3杂凑算法对接收的系统镜像文件处理,产生待签名的消息摘要,进入步骤S16;
[0015]S15、提示证书无效,没有被签名的权限,结束流程;
[0016]S16、使用SM2数字签名算法用服务器存储的SM2私钥对信息摘要进行签名,产生数字签名;
[0017]S17、判断当前产生的数字签名是否校验成功;
[0018]若是,则进入步骤S18;
[0019]若否,则返回步骤S14;
[0020]S18、将数字签名生成签名文件,并将其和系统镜像文件通过mkimage打包,生成最终的签名镜像文件,并将其与SM2公共秘钥发送给签名者。
[0021]进一步地,所述步骤S12中的系统镜像文件为img格式,其包括设备启动需要的dtb、内核和文件系统。
[0022]进一步地,所述步骤S13中的数字证书包括身份拥有者的公钥信息、证书有效期、签名内容、发证机构名称、数字身份证号和发证机构的数字签名;
[0023]所述数字证书由数字证书认证中心CA发放;
[0024]所述步骤S13中,检查当前接收的系统镜像文件对应的签名者的数字证书是否有效的方法具体为:
[0025]利用数字证书认证中心CA的CA证书中的公钥对签名者提供的数字证书进行解密得到摘要1,用CA证书中指定的hash算法对签名者提供的数字证书计算hash得到摘要2,对比摘要1和摘要2是否一致;
[0026]若是,则数字证书有效,进入步骤S14;
[0027]若否,则数字证书无效,进入步骤S15。
[0028]进一步地,所述步骤S14具体为:
[0029]使用SM3杂凑算法计算系统镜像文件的摘要,产生固定位数的待签名的消息摘要。
[0030]进一步地,所述步骤S17中对数字签名进行校验的方法为:取出从服务器接收的SM2公共秘钥,并基于SM2公共秘钥使用SM2数字签名算法的验证算法解密数字签名,并对比消息摘要是否一致;
[0031]若是,则校验成功,进入步骤S18;
[0032]若否,则校验失败,返回步骤S14。
[0033]进一步地,所述步骤S18中,生成最终的签名镜像文件添加有时间戳。
[0034]进一步地,所述步骤S2具体为:
[0035]S21、在UBOOT上从GMALG库中移植SM2数字签名算法和SM3杂凑算法;
[0036]S22、当设备启动到UBOOT后,将签名镜像文件加载至内存中的固定地址;
[0037]S23、使用imxtract从内存中取出签名镜像文件中的系统镜像文件,并调用GMALG库中的SM3杂凑算法对其进行处理,生成消息摘要;
[0038]S24、使用imxtract从内存中取出签名镜像文件中的数字签名和SM2公共秘钥,并利用SM2数字签名算法对消息摘要进行验签,判断是否验签成功;
[0039]若是,则进入步骤S26;
[0040]若否,则进入步骤S25;
[0041]S25、提示校验错误信息,不允许启动,重启设备;
[0042]S26、校验成功,启动系统,使设备进入内核。
[0043]进一步地,所述步骤S22中,从设备的启动参数获取当前签名镜像文件的加载方式;
[0044]当设备为硬盘时,则设备的启动参数包括镜像名、文件系统格式和分区;当设备为网络服务器时,则设备的启动参数包括网络协议、服务器地址和镜像名。
[0045]本专利技术的有益效果为:
[0046](1)本专利技术中将国密算法移植进UBOOT中,使设备支持了SM2数字签名算法和SM3密码杂凑算法;
[0047](2)本专利技术方法中支持的SM2数字签名算法比主流的RSA算法更加安全、快速和可靠;
[0048](3)本专利技术中在嵌入式设备启动内核过程中,对系统镜像的签名检验,提高了设备的安全性和可靠性。
附图说明
[0049]图1为本专利技术提供的UBOOT下基于国密算法的系统镜像签名校验方法流程图。
具体实施方式
[0050]下面对本专利技术的具体实施方式进行描述,以便于本
的技术人员理解本专利技术,但应该清楚,本专利技术不限于具体实施方式的范围,对本
的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本专利技术的精神和范围内,这些变化是显而易见的,一切利用本专利技术构思的专利技术创造均在保护之列。
[0051]如图1所示,一种UBOOT下基于国密算法的系统镜像签名校验方法,包括以下步骤:
[0052]S1、接收系统镜像文件,并进行镜像签名打包,生成签名镜像文件;
[0053]S2、在UBOOT中,使用国密算法中的SM2和SM3对签名镜像文件进行校验。
[0054]本实施例的步骤S1具体为:
[0055]S11、在服务器中使用SM2数字签名算法生成用于签名的公私秘钥对,并本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种UBOOT下基于国密算法的系统镜像签名校验方法,其特征在于,包括以下步骤:S1、接收系统镜像文件,并进行镜像签名打包,生成签名镜像文件;S2、在UBOOT中,使用国密算法中的SM2和SM3对签名镜像文件进行校验。2.根据权利要求1所述的UBOOT下基于国密算法的系统镜像签名校验方法,其特征在于,所述步骤S1具体为:S11、在服务器中使用SM2数字签名算法生成用于签名的公私秘钥对,并保存;S12、通过签名者将需要签名的系统镜像文件发送到服务端;S13、基于服务端存储的签名者的数字证书,检查当前接收的系统镜像文件对应的签名者的数字证书是否有效;若是,则进入步骤S14;若否,则进入步骤S15;S14、使用SM3杂凑算法对接收的系统镜像文件处理,产生待签名的消息摘要,进入步骤S16;S15、提示证书无效,没有被签名的权限,结束流程;S16、使用SM2数字签名算法用服务器存储的SM2私钥对信息摘要进行签名,产生数字签名;S17、判断当前产生的数字签名是否校验成功;若是,则进入步骤S18;若否,则返回步骤S14;S18、将数字签名生成签名文件,并将其和系统镜像文件通过mkimage打包,生成最终的签名镜像文件,并将其与SM2公共秘钥发送给签名者。3.根据权利要求2所述的UBOOT下基于国密算法的系统镜像签名校验方法,其特征在于,所述步骤S12中的系统镜像文件为img格式,其包括设备启动需要的dtb、内核和文件系统。4.根据权利要求2所述的UBOOT下基于国密算法的系统镜像签名校验方法,其特征在于,所述步骤S13中的数字证书包括身份拥有者的公钥信息、证书有效期、签名内容、发证机构名称、数字身份证号和发证机构的数字签名;所述数字证书由数字证书认证中心CA发放;所述步骤S13中,检查当前接收的系统镜像文件对应的签名者的数字证书是否有效的方法具体为:利用数字证书认证中心CA的CA证书中的公钥对签名者提供的数字证书进行解密得到摘要1,用CA证书中指定的hash算法对签名者提供的数字证书计算hash得到摘要2,对...

【专利技术属性】
技术研发人员:詹晋川许鹏飞刘颖丽
申请(专利权)人:深圳市风云实业有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1