CN101447012B - 一种电子设备和电子设备中固件的验证方法 - Google Patents

一种电子设备和电子设备中固件的验证方法 Download PDF

Info

Publication number
CN101447012B
CN101447012B CN200810240707A CN200810240707A CN101447012B CN 101447012 B CN101447012 B CN 101447012B CN 200810240707 A CN200810240707 A CN 200810240707A CN 200810240707 A CN200810240707 A CN 200810240707A CN 101447012 B CN101447012 B CN 101447012B
Authority
CN
China
Prior art keywords
electronic equipment
firmware
checking result
result
signal
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.)
Active
Application number
CN200810240707A
Other languages
English (en)
Other versions
CN101447012A (zh
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.)
Huawei Device Co Ltd
Original Assignee
Huawei Device 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 Huawei Device Co Ltd filed Critical Huawei Device Co Ltd
Priority to CN200810240707A priority Critical patent/CN101447012B/zh
Publication of CN101447012A publication Critical patent/CN101447012A/zh
Application granted granted Critical
Publication of CN101447012B publication Critical patent/CN101447012B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Abstract

本发明提供了一种电子设备和电子设备中固件的验证方法,用以解决现有技术使得电子设备的开机时间较长、用户使用电子设备的体验较差的问题。本发明技术方案是在电子设备接收到关机信号之后对固件进行验证,在电子设备接收到开机信号时,直接利用关机时得到的验证结果控制电子设备进入服务状态或者非服务状态的,相比现有技术,本发明技术方案极大地减少了电子设备的开机时间,极大地提高了用户使用电子设备的体验。

Description

一种电子设备和电子设备中固件的验证方法
技术领域
本发明涉及固件技术领域,特别涉及一种电子设备和电子设备中固件的验证方法。
背景技术
现有的电子设备,比如手机、便携播放器、刻录机等,内部都可设置固件。
固件(Firmware)保存在电子设备内部,是驱动电子设备运行的程序。固件通常存储在电子设备的ROM(Read Only Memory,只读存储器)、PROM(Programmable Read-Only Memory,可编程只读存储器)、EPROM(ErasableProgrammable Read-Only Memory,可擦可编程只读存储器)、EEPROM(Electrically Erasable Programmable Read-Only Memory,电可擦可编程只读存储器)、Flash(闪存)等存储介质中。
现有电子设备中的固件通常都可以更新,以便为固件增加更多的功能或改进固件的性能,但固件可以更新也带来了安全问题,比如:1)某个电子设备厂商的电子设备软件可能会被黑客改写,造成电子设备厂商的商业损失;2)为某个运营商定制的电子设备软件可能会被黑客改写为另一个运营商的电子设备软件,造成运营商的商业损失;3)黑客通过改写电子设备软件达到一些非法的目的,比如窃取用户账号等。
面临这些安全问题,一个很重要的解决思路就是要求电子设备上的固件不被非法改写,并且一旦被非法改写,电子设备就不再可用。按照这个解决思路,现有技术通常通过不对称加密算法(如RSA)对固件进行签名和验证。这一技术方案通常包括下列几个部分:
一、对固件进行签名
对固件进行签名的过程为:对固件进行Hash运算,并用不对称加密算法的私钥对Hash运算的结果进行加密,形成固件签名。
之后,将固件、固件签名、不对称加密算法的公钥、不对称加密算法的签名验证算法存储到电子设备的存储器中,不再变更。较佳地,将固件和固件签名写入到电子设备的FLASH中,将不对称加密算法的公钥写入电子设备的一次性写入寄存器中(使不对称加密算法的公钥不会被非法修改),将不对称加密算法的签名验证算法写入到电子设备的ROM中。
二、电子设备接收到开机信号时,对固件进行验证
现有技术中,对固件进行验证通常在电子设备接收到开机信号时进行,如果验证结果为固件正确,说明固件没有被非法改写,则电子设备进入服务状态(正常开机);如果验证结果为固件错误,说明固件可能已经被非法改写,则电子设备进入非服务状态(关机、重启或者不可用状态),这样便实现了固件一旦被非法改写电子设备就不再可用的目的。
如图1所示,以不对称加密算法为RSA为例,电子设备接收到开机信号时,对固件进行验证的过程包括如下步骤:
S101、获取存储器中的固件,运行存储器中RSA的签名验证算法对固件进行Hash运算,得到一个Hash运算的结果。
S102、获取存储器中的固件签名、RSA的公钥,用RSA的公钥对固件签名进行解密,得到一个Hash运算的结果(该结果等同于对固件进行签名过程中得到的Hash运算的结果)。
S103、确定步骤S101得到的Hash运算的结果,与步骤S102得到的Hash运算的结果运算结果是否相同,如果是则说明固件正确;否则说明固件错误。
但是,由于现有的不对称加密算法通常建立在512位到1024位的大数运算之上,使得在电子设备开机时对固件进行验证的时间较长,从而大大增加了电子设备的开机时间,影响了用户的使用体验。
发明内容
本发明实施例提供了一种电子设备和电子设备中固件的验证方法,用以解决现有技术使得电子设备的开机时间较长、用户使用电子设备的体验较差的问题。
为解决上述技术问题,本发明实施例提供了一种电子设备,包括用于接收关机信号或开机信号的信号接收模块,还包括:
获取模块,用于在所述信号接收模块接收到开机信号时,获取在所述信号接收模块接收到关机信号时对所述固件的验证结果;
控制模块,用于在所述获取模块获取的验证结果为固件正确时,控制所述电子设备进入服务状态;在所述获取模块获取的验证结果为固件错误时,控制所述电子设备进入非服务状态。
本发明实施例还提供了一种电子设备中固件的验证方法,包括:
电子设备接收到开机信号时,获取关机时对固件的验证结果;
在获取的验证结果为所述固件正确时,控制所述电子设备进入服务状态;在获取的验证结果为所述固件错误时,控制所述电子设备进入非服务状态。
本发明实施例的技术方案在电子设备接收到关机信号之后对固件进行验证,在电子设备接收到开机信号时,直接利用关机时得到的验证结果控制电子设备进入服务状态或者非服务状态,相比现有技术,本发明实施例技术方案极大地减少了电子设备的开机时间,极大地提高了用户使用电子设备的体验。
附图说明
图1为现有技术中对固件进行验证的方法流程图;
图2为本发明实施例电子设备中固件的验证方法的流程图;
图3为本发明具体实施例电子设备中固件的验证方法示意图;
图4为本发明具体实施例电子设备中固件的验证方法流程图;
图5为本发明实施例电子设备的结构图;
图6为本发明实施例另一电子设备的结构图。
具体实施方式
为了解决现有技术存在的问题,本发明实施例提供了一种电子设备和电子设备中固件的验证方法。
参阅图2所示,本发明实施例提供的电子设备中固件的验证方法,包括下列步骤:
S201、电子设备接收到关机信号。
S202、验证电子设备中的固件是否正确,产生一验证结果。
其中,验证结果包括固件正确、固件错误两种,可以用一段明文字符来表示。验证电子设备中的固件是否正确的方法包括如下步骤:
A、获取电子设备中的固件,运行电子设备中RSA的签名验证算法对固件进行Hash运算,得到一个Hash运算的结果;
B、获取电子设备中的固件签名、RSA的公钥,用RSA的公钥对固件签名进行解密,得到一个Hash运算的结果。
C、确定步骤A得到的Hash运算的结果,与步骤B得到的Hash运算的结果运算结果是否相同,如果是则说明固件正确;否则说明固件错误。
S203、将步骤S202得到的验证结果存储到电子设备的存储器中。
其中,存储验证结果的方式有两种,一种是将验证结果直接存储到电子设备的存储器中;另一种是对验证结果进行加密,产生加密验证结果,将加密验证结果存储到电子设备的存储器中。在加密时,可以利用电子设备主芯片中的硬件密钥,采用对称加密算法对验证结果进行加密,比如:用电子设备主芯片中的硬件密钥对验证结果进行3DES加密。
对验证结果进行加密,可以降低验证结果被改写和复制的可能性,保证电子设备中存储的验证结果的真实性;尤其用电子设备主芯片中的硬件密钥对验证结果进行对称加密时效果更好,这是因为电子设备主芯片中的硬件密钥只有电子设备可以得到,其它电子设备无法得到,这样,即使黑客利用其它电子设备得到了加密验证结果,其也无法通过对加密验证结果进行解密来得到验证结果,进而无法改写或者复制验证结果。
较佳地,可以将验证结果存储到电子设备的FLASH中。
S204、电子设备接收到开机信号。
S205、获取存储器中的验证结果。
其中,如果验证结果是被直接存储到存储器中的,则在电子设备接收到开机信号时,可以直接读取存储器中存储的验证结果,得到验证结果。
如果验证结果是加密后才被存储到存储器中的,则在电子设备接收到开机信号时,可以通过对存储器中的加密验证结果进行解密来得到验证结果。
另外,获取存储器中的验证结果之后,还可以删除存储器中存储的验证结果(具体为加密验证结果或者被直接存储到存储器中的验证结果),这样便可保证存储器中存储的验证结果是电子设备最后一次关机时产生的验证结果,进而保证了电子设备在开机时所依据的验证结果是电子设备最后一次关机时产生的验证结果。
S206、当验证结果为固件正确时,控制电子设备进入服务状态(正常开机);当验证结果为固件错误时,控制电子设备进入非服务状态(关机、重启或者不可用状态)。
本发明实施例的技术方案在电子设备接收到关机信号之后对固件进行验证,在电子设备接收到开机信号时,利用关机时得到的验证结果控制电子设备进入服务状态或者非服务状态,相比现有技术,本发明实施例技术方案极大地缩短了电子设备的开机时间,极大地提高了用户使用电子设备的体验。
下面以一具体实施例来说明本发明实施例提供的方法:
以手机为例,如图3所示,手机的FLASH中设置三个区域,分别是固件存储区域、固件签名存储区域、验证结果存储区域,其中,固件签名的形成方法是:对固件进行Hash运算,并用RSA的私钥对Hash运算的结果进行加密后形成;手机的一次性写入寄存器中存储有RSA的公钥;手机的ROM中存储有RSA的签名验证算法;手机主芯片的某一寄存器中存储有硬件密钥HEK,该寄存器只能被手机中的ROM访问。
如图4所示,本发明具体实施例包括下列步骤:
S401、手机接收到关机信号。
S402、通过触发中断或直接调用,控制处理器验证手机中的固件是否正确,产生一验证结果。
其中,验证结果包括固件正确、固件错误两种,可以用一段明文字符来表示。验证电子设备中的固件是否正确的方法包括如下步骤:
A、获取电子设备中的固件,运行电子设备中RSA的签名验证算法对固件进行Hash运算,得到一个Hash运算的结果;
B、获取电子设备中的固件签名、RSA的公钥,用RSA的公钥对固件签名进行解密,得到一个Hash运算的结果。
C、确定步骤A得到的Hash运算的结果,与步骤B得到的Hash运算的结果运算结果是否相同,如果是则说明固件正确;否则说明固件错误。
S403、获取主芯片某一寄存器中的硬件密钥HEK,利用HEK对验证结果进行3DES加密得到加密验证结果,并将加密验证结果存储到验证结果存储区域。
S404、手机接收到开机信号。
S405、获取验证结果存储区域中的加密验证结果,获取主芯片某一寄存器中的硬件密钥HEK,并删除验证结果存储区域中的加密验证结果。
S406、利用HEK对加密验证结果进行解密,得到验证结果。
硬件密钥HEK的存储区域如果只能被手机中的ROM访问,会产生一个好处:防止HEK被其它电子设备获取到,进而避免了其它电子设备得到验证结果。
S407、当验证结果为固件正确时,控制电子设备进入服务状态;当验证结果为固件错误时,控制电子设备进入非服务状态。
当然,在步骤S403中,也可以直接将验证结果存储到验证结果存储区域,相应地,在执行步骤S404之后,直接读取验证结果存储区域中的验证结果并删除验证结果存储区域中的验证结果,接着执行步骤S407即可。
相比现有技术,本发明具体实施例极大地缩短了电子设备的开机时间,极大地提高了用户使用电子设备的体验。
如图5所示,本发明实施例还提供了一种电子设备,包括固件、信号接收模块501,信号接收模块501用于接收关机信号或开机信号,还包括:
获取模块502,用于在信号接收模块501接收到开机信号时,获取在信号接收模块501接收到关机信号时对固件的验证结果;
控制模块503,用于在获取模块502获取的验证结果为固件正确时,控制电子设备进入服务状态;在获取模块502获取的验证结果为固件错误时,控制电子设备进入非服务状态。
图5所示的电子设备相比现有电子设备,极大地缩短了电子设备的开机时间,极大地提高了用户使用电子设备的体验。
另外,如图6所示,图5所示的电子设备还可以包括:
验证模块601,用于在信号接收模块501接收到上述关机信号时,验证固件是否正确,产生一验证结果;
存储器602,用于存储验证结果,并在信号接收模块501接收到开机信号时,将验证结果发送给获取模块502。
再如图6所示,上述电子设备还可以包括:
删除模块603,用于在获取模块502获取验证结果之后,删除存储器602中的验证结果。
删除模块603可保证存储器602中存储的验证结果是验证模块601在电子设备最后一次关机时产生的验证结果,进而保证了控制模块503所依据的验证结果是验证模块601在电子设备最后一次关机时产生的验证结果。
进一步地,上述电子设备还可以包括:
加密模块,用于对验证模块601产生的验证结果进行加密,产生加密验证结果;
此时,存储器602还用于存储加密验证结果;
此时,获取模块502具体可以为:
获取子模块,用于在信号接收模块501接收到开机信号时,对存储器602中的加密验证结果进行解密,得到验证结果。
其中,加密模块对验证结果进行加密,可以降低验证结果被改写和复制的可能性。
另外,加密模块具体可以为:
加密子模块,用于利用电子设备主芯片中的硬件密钥,采用对称加密算法对验证结果进行加密,产生加密验证结果。加密子模块可更好地降低验证结果被改写和复制的可能性。
本发明实施例提供的电子设备相比现有电子设备,极大地缩短了电子设备的开机时间,极大地提高了用户使用电子设备的体验。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,包括如上述方法实施例的步骤),所述的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种电子设备,包括用于接收关机信号或开机信号的信号接收模块,其特征在于,还包括:
获取模块,用于在所述信号接收模块接收到开机信号时,获取在所述信号接收模块接收到关机信号时对固件的验证结果;
控制模块,用于在所述获取模块获取的验证结果为固件正确时,控制所述电子设备进入服务状态;在所述获取模块获取的验证结果为固件错误时,控制所述电子设备进入非服务状态。
2.如权利要求1所述的电子设备,其特征在于,还包括:
验证模块,用于在所述信号接收模块接收到所述关机信号时,验证所述固件是否正确,产生一验证结果;
存储器,用于存储所述验证结果,并在所述信号接收模块接收到开机信号时,将所述验证结果发送给所述获取模块。
3.如权利要求2所述的电子设备,其特征在于,还包括:
删除模块,用于在所述获取模块获取所述验证结果之后,删除所述存储器中的验证结果。
4.如权利要求2或3所述的电子设备,其特征在于,还包括:
加密模块,用于对所述验证模块产生的验证结果进行加密,产生加密验证结果;
所述存储器还用于存储所述加密验证结果;
所述获取模块具体包括:
获取子模块,用于在所述信号接收模块接收到开机信号时,对所述存储器中的加密验证结果进行解密,得到所述验证结果。
5.如权利要求4所述的电子设备,其特征在于,所述加密模块具体包括:
加密子模块,用于利用所述电子设备主芯片中的硬件密钥,采用对称加密算法对所述验证结果进行加密,产生加密验证结果。
6.一种电子设备中固件的验证方法,其特征在于,包括:
电子设备接收到开机信号时,获取关机时对固件的验证结果;
在获取的验证结果为所述固件正确时,控制所述电子设备进入服务状态;在获取的验证结果为所述固件错误时,控制所述电子设备进入非服务状态。
7.如权利要求6所述的方法,其特征在于,所述方法还包括:
接收到关机信号时,验证所述固件是否正确,产生一验证结果;
存储所述验证结果;
所述电子设备接收到开机信号时,获取关机时对固件的验证结果,具体为:
所述电子设备接收到开机信号时,获取存储的所述验证结果。
8.如权利要求7所述的方法,其特征在于,获取关机时对固件的验证结果之后,所述方法还包括:
删除存储的所述验证结果。
9.如权利要求7或8所述的方法,其特征在于,所述产生一验证结果之后,所述方法还包括:
对所述验证结果进行加密,产生加密验证结果;
存储所述加密验证结果;
所述电子设备接收到开机信号时,获取存储的所述验证结果,具体为:
所述电子设备接收到开机信号时,对存储的所述加密验证结果进行解密,得到所述验证结果。
10.如权利要求9所述的方法,其特征在于,对所述验证结果进行加密,产生加密验证结果,具体为:
利用所述电子设备主芯片中的硬件密钥,采用对称加密算法对所述验证结果进行加密,产生加密验证结果。
CN200810240707A 2008-12-22 2008-12-22 一种电子设备和电子设备中固件的验证方法 Active CN101447012B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200810240707A CN101447012B (zh) 2008-12-22 2008-12-22 一种电子设备和电子设备中固件的验证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200810240707A CN101447012B (zh) 2008-12-22 2008-12-22 一种电子设备和电子设备中固件的验证方法

Publications (2)

Publication Number Publication Date
CN101447012A CN101447012A (zh) 2009-06-03
CN101447012B true CN101447012B (zh) 2012-08-29

Family

ID=40742687

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200810240707A Active CN101447012B (zh) 2008-12-22 2008-12-22 一种电子设备和电子设备中固件的验证方法

Country Status (1)

Country Link
CN (1) CN101447012B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8856536B2 (en) * 2011-12-15 2014-10-07 GM Global Technology Operations LLC Method and apparatus for secure firmware download using diagnostic link connector (DLC) and OnStar system
CN107634859B (zh) * 2017-09-30 2021-07-02 飞天诚信科技股份有限公司 一种固件升级方法及装置
CN111611588B (zh) * 2020-05-15 2023-08-22 珠海全志科技股份有限公司 安全启动rotpk写入OTP的方法

Also Published As

Publication number Publication date
CN101447012A (zh) 2009-06-03

Similar Documents

Publication Publication Date Title
US10931451B2 (en) Securely recovering a computing device
EP3458999B1 (en) Self-contained cryptographic boot policy validation
US8560820B2 (en) Single security model in booting a computing device
KR101393307B1 (ko) 보안 부팅 방법 및 그 방법을 사용하는 반도체 메모리시스템
TWI487359B (zh) 用於安全金鑰產生的設備、利用終端用戶設備來進行安全金鑰產生的方法及在裝置製造者伺服器中進行安全金鑰產生的方法
US9135417B2 (en) Apparatus for generating secure key using device and user authentication information
US8254568B2 (en) Secure booting a computing device
FI114416B (fi) Menetelmä elektroniikkalaitteen varmistamiseksi, varmistusjärjestelmä ja elektroniikkalaite
US8250373B2 (en) Authenticating and verifying an authenticable and verifiable module
WO2020192406A1 (zh) 数据存储、验证方法及装置
US10810312B2 (en) Rollback resistant security
US20150186679A1 (en) Secure processor system without need for manufacturer and user to know encryption information of each other
US8171275B2 (en) ROM BIOS based trusted encrypted operating system
US20090259855A1 (en) Code Image Personalization For A Computing Device
CN102262599B (zh) 一种基于可信根的移动硬盘指纹认证方法
CN101951316A (zh) 操作系统的受保护的网络引导
CN110795126A (zh) 一种固件安全升级系统
US7945790B2 (en) Low-cost pseudo-random nonce value generation system and method
WO2015042981A1 (zh) 加解密处理方法、装置和设备
CN109445705B (zh) 固件认证方法及固态硬盘
CN103269271A (zh) 一种备份电子签名令牌中私钥的方法和系统
US20130019110A1 (en) Apparatus and method for preventing copying of terminal unique information in portable terminal
CN102196317A (zh) 一种机顶盒的保护方法及机顶盒
JP6199712B2 (ja) 通信端末装置、通信端末関連付け方法、及びコンピュータプログラム
CN101447012B (zh) 一种电子设备和电子设备中固件的验证方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20171115

Address after: Metro Songshan Lake high tech Industrial Development Zone, Guangdong Province, Dongguan City Road 523808 No. 2 South Factory (1) project B2 -5 production workshop

Patentee after: HUAWEI terminal (Dongguan) Co., Ltd.

Address before: 518129 HUAWEI Technology Co., Ltd. Bantian HUAWEI base, Longgang District, Shenzhen, Guangdong

Patentee before: Huawei Device Co., Ltd.

TR01 Transfer of patent right
CP01 Change in the name or title of a patent holder

Address after: 523808 Southern Factory Building (Phase I) Project B2 Production Plant-5, New Town Avenue, Songshan Lake High-tech Industrial Development Zone, Dongguan City, Guangdong Province

Patentee after: Huawei Device Co., Ltd.

Address before: 523808 Southern Factory Building (Phase I) Project B2 Production Plant-5, New Town Avenue, Songshan Lake High-tech Industrial Development Zone, Dongguan City, Guangdong Province

Patentee before: HUAWEI terminal (Dongguan) Co., Ltd.

CP01 Change in the name or title of a patent holder