CN107359999A - 一种uboot固件保护方法 - Google Patents

一种uboot固件保护方法 Download PDF

Info

Publication number
CN107359999A
CN107359999A CN201710538177.0A CN201710538177A CN107359999A CN 107359999 A CN107359999 A CN 107359999A CN 201710538177 A CN201710538177 A CN 201710538177A CN 107359999 A CN107359999 A CN 107359999A
Authority
CN
China
Prior art keywords
uboot
firmware
signature
firmwares
guard method
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201710538177.0A
Other languages
English (en)
Inventor
雷金繁
刘俊
黄珏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SHENZHEN WISDOM TECHNOLOGY Co Ltd
Original Assignee
SHENZHEN WISDOM TECHNOLOGY Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SHENZHEN WISDOM TECHNOLOGY Co Ltd filed Critical SHENZHEN WISDOM TECHNOLOGY Co Ltd
Priority to CN201710538177.0A priority Critical patent/CN107359999A/zh
Publication of CN107359999A publication Critical patent/CN107359999A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/56Routing software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Stored Programmes (AREA)

Abstract

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

Description

一种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检测到固件不合法不会启动固件,依然能起到保护路由器的作用。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种uboot固件保护方法,其特征在于,包括以下步骤:
S1,对固件进行数字签名;
S2,构造固件头,将签名放在固件头中;
S3,uboot对验证签名的公钥进行解析,生成参数;
S4,uboot启动后从固件头部读取签名并验证。
2.根据权利要求1所述的uboot固件保护方法,其特征在于,所述步骤S1具体包括:
首先使用SHA1对内核分区进行摘要计算;
使用RSA非对称加密算法的私钥对上一步生成的摘要进行加密生成签名。
3.根据权利要求1所述的uboot固件保护方法,其特征在于,所述步骤S2具体包括:
生成固件时在内核分区前加入固件头,方便启动时从固件头部分读入签名后,计算内核的起始地址;
填充固件头的相应字段,并将生成的签名放在sign字段。
4.根据权利要求1所述的uboot固件保护方法,其特征在于,所述步骤S3具体包括:
在uboot编译阶段便对RSA公钥进行解析,将解析完后的exponent等关键参数存储到uboot固定偏移量的位置,方便uboot启动后读取。
5.根据权利要求1所述的uboot固件保护方法,其特征在于,所述步骤S4具体包括:
uboot启动后并不直接启动固件内核,而是对内核分区进行SHA1生成摘要;
使用公钥参数对固件头中的签名部分进行解签名得到内核的摘要值;
将从签名中得到的摘要值和当前计算的摘要值进行比较,在一致的情况下启动固件,在不一致的情况下不启动固件。
6.根据权利要求1所述的uboot固件保护方法,其特征在于,所述uboot固件保护方法对uboot引导启动的固件进行保护,只允许符合指定签名及加密规则的合法固件引导启动。
CN201710538177.0A 2017-07-04 2017-07-04 一种uboot固件保护方法 Pending CN107359999A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710538177.0A CN107359999A (zh) 2017-07-04 2017-07-04 一种uboot固件保护方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710538177.0A CN107359999A (zh) 2017-07-04 2017-07-04 一种uboot固件保护方法

Publications (1)

Publication Number Publication Date
CN107359999A true CN107359999A (zh) 2017-11-17

Family

ID=60293185

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710538177.0A Pending CN107359999A (zh) 2017-07-04 2017-07-04 一种uboot固件保护方法

Country Status (1)

Country Link
CN (1) CN107359999A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108491215A (zh) * 2018-02-11 2018-09-04 苏州光之翼智能科技有限公司 一种无人机固件保护系统
CN108537044A (zh) * 2018-04-10 2018-09-14 济南浪潮高新科技投资发展有限公司 一种基于U-Boot的内存自适配方法、装置及系统
CN108762783A (zh) * 2018-05-21 2018-11-06 腾讯科技(深圳)有限公司 车辆系统的软件更新方法、装置及车辆系统
CN108875382A (zh) * 2018-05-24 2018-11-23 深圳鼎智通讯股份有限公司 一种智能pos终端永久性防切机的保护方法
CN114266055A (zh) * 2022-03-02 2022-04-01 山东华翼微电子技术股份有限公司 一种多核固件安全存储方法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104506515A (zh) * 2014-12-17 2015-04-08 北京极科极客科技有限公司 一种固件的保护方法和保护装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104506515A (zh) * 2014-12-17 2015-04-08 北京极科极客科技有限公司 一种固件的保护方法和保护装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
天堂1223: "uboot启动过程详解", 《CSDN博客》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108491215A (zh) * 2018-02-11 2018-09-04 苏州光之翼智能科技有限公司 一种无人机固件保护系统
CN108537044A (zh) * 2018-04-10 2018-09-14 济南浪潮高新科技投资发展有限公司 一种基于U-Boot的内存自适配方法、装置及系统
CN108762783A (zh) * 2018-05-21 2018-11-06 腾讯科技(深圳)有限公司 车辆系统的软件更新方法、装置及车辆系统
CN108762783B (zh) * 2018-05-21 2021-12-14 腾讯科技(深圳)有限公司 车辆系统的软件更新方法、装置及车辆系统
CN108875382A (zh) * 2018-05-24 2018-11-23 深圳鼎智通讯股份有限公司 一种智能pos终端永久性防切机的保护方法
CN108875382B (zh) * 2018-05-24 2022-05-10 深圳鼎智通讯股份有限公司 一种智能pos终端永久性防切机的保护方法
CN114266055A (zh) * 2022-03-02 2022-04-01 山东华翼微电子技术股份有限公司 一种多核固件安全存储方法及系统

Similar Documents

Publication Publication Date Title
CN107359999A (zh) 一种uboot固件保护方法
US8364984B2 (en) Portable secure data files
EP2382734B1 (en) Software application verification
KR101689351B1 (ko) 디지털 저작권 관리용 디바이스 및 방법
US8353055B2 (en) Method and apparatus for processing rights object
KR101729960B1 (ko) 신뢰 보안 플랫폼 모듈을 이용한 보안 애플리케이션 인증 및 관리 방법 및 장치
CN109039657B (zh) 密钥协商方法、设备、终端、存储介质以及系统
CN110096849A (zh) 一种License授权认证方法、装置、设备及可读存储介质
US20160028549A1 (en) Information processing system and electronic device
CN106789075B (zh) Pos数字签名防切机系统
EP3457619A1 (en) Nonce to message binding in digital signature generation
CN104868998A (zh) 一种向电子设备供应加密数据的系统、设备和方法
CN104123488A (zh) 应用程序的验证方法和装置
WO2021139244A1 (zh) 权限申请验证方法、装置、设备及存储介质
US8307457B2 (en) Method and terminal for receiving rights object for content on behalf of memory card
CN112926046A (zh) 用于保护设备标识信息的移动终端设备匿名标识信息认证的方法及其系统
KR101642267B1 (ko) 앱 위변조 방지시스템 및 그 방법
CN106027254A (zh) 一种身份证认证系统中身份证读卡终端使用密钥的方法
US8756433B2 (en) Associating policy with unencrypted digital content
Kern et al. Integrating privacy into the electric vehicle charging architecture
Yu et al. How to detect unauthorised usage of a key.
US7330982B1 (en) Secured automated process for signed, encrypted or validated content generation
Hajny et al. Privacy-pac: Privacy-enhanced physical access control
Kim et al. Patch integrity verification method using dual electronic signatures
US10114933B2 (en) Technique for enabling nominal flow of an executable file

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20171117