一种uboot固件保护方法技术

技术编号:16589614 阅读:1436 留言:0更新日期:2017-11-18 17:52
本发明专利技术公开了一种uboot固件保护方法,包括步骤:S1,对固件进行数字签名;S2,构造固件头,将签名放在固件头中;S3,uboot对验证签名的公钥进行解析,生成参数;S4,uboot启动后从固件头部读取签名并验证。本发明专利技术的uboot固件保护方法在uboot中进行验证固件,这时系统还未启动,此时他人无法通过更改路由器系统的方法达到跳过校验,另一方面,即使他人通过系统BUG已经将固件进行了更换,此时uboot检测到固件不合法不会启动固件,依然能起到保护路由器的作用。

A firmware protection method for uboot

The invention discloses a uboot firmware protection method, which comprises the following steps: S1, digital signature of firmware; S2, firmware structure on the head, the signature firmware head; S3, uboot to verify the signature of the public key analysis, generate S4, uboot parameters; after starting to read the signature and verification from firmware head. Uboot firmware protection method of the invention to verify the firmware in uboot, then the system has not yet started, the others can not reach skip verification by changing the router system, on the other hand, even if others through the system BUG has the firmware was replaced, the uboot detects that the firmware is not legitimate will not start the firmware, still can play the protection function of router.

【技术实现步骤摘要】
一种uboot固件保护方法
本专利技术涉及固件保护机制,具体涉及一种uboot固件保护方法。
技术介绍
目前,随着移动设备的大量出现,物联网时代即将来临,路由器理所当然的成为物联网的中心节点,很多公共场合,包括停车场、大型商场、户外直播间等无都使用无线路由器作为传输节点。因此,路由器的安全性显得十分重要。为防止路由器系统被其他路由器系统代替,导致的安全性,稳定性等问题,路由器厂商采用各种固件验证保护的方式,防止系统被非法更换或修改。目前的路由器用来进行固件保护的主流技术方案有:采用固件头版本号验证;采用哈希或者其他摘要校验算法;采用对称加密算法,例如,AES算法;仅在系统升级时进行的签名校验。这些方式加密固件,一定程度上防止了固件被更改和更换,但这些方式也都很容易被破解,因为:增加固件头版本号,可以被伪造相同的固件头版本号;哈希等摘要算法及加密算法可以被暴力猜解;升级时的签名校验可以通过更改升级程序跳过验证;被这些方法破解后,仍旧无法认证固件的来源可靠性,使用这样的固件本地升级,存在极大的安全问题,甚至会造成网络瘫痪。
技术实现思路
本专利技术的主要目的在于提供一种固件保护方法,即使固件被他人篡改,也可使被篡改后的路由器不能正常使用;该方法的核心就是将固件签名的验证过程放在UBOOT中,验证的结果决定是否启动固件。本专利技术采用的技术方案是:一种uboot固件保护方法,包括以下步骤:S1,对固件进行数字签名;S2,构造固件头,将签名放在固件头中;S3,uboot对验证签名的公钥进行解析,生成参数;S4,uboot启动后从固件头部读取签名并验证。进一步地,所述步骤S1具体包括:首先使用SHA1对内核分区进行摘要计算;使用RSA非对称加密算法的私钥对上一步生成的摘要进行加密生成签名。更进一步地,所述步骤S2具体包括:生成固件时在内核分区前加入固件头,方便启动时从固件头部分读入签名后,计算内核的起始地址;填充固件头的相应字段,并将生成的签名放在sign字段。更进一步地,所述步骤S3具体包括:在uboot编译阶段便对RSA公钥进行解析,将解析完后的exponent等关键参数存储到uboot固定偏移量的位置,方便uboot启动后读取。更进一步地,所述步骤S4具体包括:uboot启动后并不直接启动固件内核,而是对内核分区进行SHA1生成摘要;使用公钥参数对固件头中的签名部分进行解签名得到内核的摘要值;将从签名中得到的摘要值和当前计算的摘要值进行比较,在一致的情况下启动固件,在不一致的情况下不启动固件。更进一步地,所述uboot固件保护方法对uboot引导启动的固件进行保护,只允许符合指定签名及加密规则的合法固件引导启动。本专利技术的优点:本专利技术的uboot固件保护方法在uboot中进行验证固件,这时系统还未启动,此时他人无法通过更改路由器系统的方法达到跳过校验,另一方面,即使他人通过系统BUG已经将固件进行了更换,此时uboot检测到固件不合法不会启动固件,依然能起到保护路由器的作用。除了上面所描述的目的、特征和优点之外,本专利技术还有其它的目的、特征和优点。下面将参照图,对本专利技术作进一步详细的说明。附图说明构成本申请的一部分的附图用来提供对本专利技术的进一步理解,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。图1是本专利技术的一种uboot固件保护方法流程图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。参考图1,如图1所示的一种uboot固件保护方法,包括以下步骤:S1,对固件进行数字签名;S2,构造固件头,将签名放在固件头中;S3,uboot对验证签名的公钥进行解析,生成参数;S4,uboot启动后从固件头部读取签名并验证。固件分为内核和文件系统两部分,内核为只读分区,文件系统可读写分区,因此签名部分仅对内核分区进行签名。所述步骤S1具体包括:首先使用SHA1对内核分区进行摘要计算;使用RSA非对称加密算法的私钥对上一步生成的摘要进行加密生成签名。所述步骤S2具体包括:生成固件时在内核分区前加入固件头,之所以加在内核分区前是方便启动时从固件头部分读入签名后,计算内核的起始地址较为方便。填充固件头的相应字段,并将生成的签名放在sign字段。所述步骤S3具体包括:因为uboot没有文件系统,并不能直接保存RSA公钥文件,故在uboot编译阶段便对RSA公钥进行解析,将解析完后的exponent等关键参数存储到uboot固定偏移量的位置,方便uboot启动后读取。所述步骤S4具体包括:uboot启动后并不直接启动固件内核,而是对内核分区进行SHA1生成摘要;使用公钥参数对固件头中的签名部分进行解签名得到内核的摘要值;将从签名中得到的摘要值和当前计算的摘要值进行比较,在一致的情况下启动固件,在不一致的情况下不启动固件。所述uboot固件保护方法对uboot引导启动的固件进行保护,只允许符合指定签名及加密规则的合法固件引导启动。uboot固件保护方法基本实现包括:生成固件时添加固件头,首先使用私钥对固件的内核部分生成签名,放置在固件头中;UBOOT引导固件时用公钥对固件的的内核部分和生成的签名进行签名验证;验证通过则引导系统启动,不通过则提示错误到UBOOT控制台。本专利技术的uboot固件保护方法在uboot中进行验证固件,这时系统还未启动,此时他人无法通过更改路由器系统的方法达到跳过校验,另一方面,即使他人通过系统BUG已经将固件进行了更换,此时uboot检测到固件不合法不会启动固件,依然能起到保护路由器的作用。以上所述仅为本专利技术的较佳实施例,并不用以限制本专利技术,凡在本专利技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本专利技术的保护范围之内。本文档来自技高网...
一种uboot固件保护方法

【技术保护点】
一种uboot固件保护方法,其特征在于,包括以下步骤:S1,对固件进行数字签名;S2,构造固件头,将签名放在固件头中;S3,uboot对验证签名的公钥进行解析,生成参数;S4,uboot启动后从固件头部读取签名并验证。

【技术特征摘要】
1.一种uboot固件保护方法,其特征在于,包括以下步骤:S1,对固件进行数字签名;S2,构造固件头,将签名放在固件头中;S3,uboot对验证签名的公钥进行解析,生成参数;S4,uboot启动后从固件头部读取签名并验证。2.根据权利要求1所述的uboot固件保护方法,其特征在于,所述步骤S1具体包括:首先使用SHA1对内核分区进行摘要计算;使用RSA非对称加密算法的私钥对上一步生成的摘要进行加密生成签名。3.根据权利要求1所述的uboot固件保护方法,其特征在于,所述步骤S2具体包括:生成固件时在内核分区前加入固件头,方便启动时从固件头部分读入签名后,计算内核的起始地址;填充固件头的相应字段,并将生成的签名放在sign字段。4.根据权利要求1所述的uboot固件...

【专利技术属性】
技术研发人员:雷金繁刘俊黄珏
申请(专利权)人:深圳市智联物联科技有限公司
类型:发明
国别省市:广东,44

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

1