CN111611015B - 嵌入式固件及启动方法和存储设备 - Google Patents

嵌入式固件及启动方法和存储设备 Download PDF

Info

Publication number
CN111611015B
CN111611015B CN202010422521.1A CN202010422521A CN111611015B CN 111611015 B CN111611015 B CN 111611015B CN 202010422521 A CN202010422521 A CN 202010422521A CN 111611015 B CN111611015 B CN 111611015B
Authority
CN
China
Prior art keywords
embedded firmware
check value
storage area
target storage
storage device
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
CN202010422521.1A
Other languages
English (en)
Other versions
CN111611015A (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.)
Goertek Techology Co Ltd
Original Assignee
Goertek Techology 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 Goertek Techology Co Ltd filed Critical Goertek Techology Co Ltd
Priority to CN202010422521.1A priority Critical patent/CN111611015B/zh
Publication of CN111611015A publication Critical patent/CN111611015A/zh
Application granted granted Critical
Publication of CN111611015B publication Critical patent/CN111611015B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种嵌入式固件的启动方法,在接收到嵌入式固件的启动指令时,获取所述嵌入式固件对应的第一校验值;获取所述存储设备中目标存储区域对应的第二校验值,所述目标存储区域根据所述嵌入式固件中的存储位置信息得到;根据所述第一校验值和所述第二校验值进行校验;在校验成功时,启动所述嵌入式固件。本发明还公开一种嵌入式固件和存储设备。本发明避免嵌入式固件被盗用。

Description

嵌入式固件及启动方法和存储设备
技术领域
本发明涉及数据安全技术领域,尤其涉及一种嵌入式固件及启动方法和存储设备。
背景技术
嵌入式固件的烧录接口协议一般都是公开的通用协议。通用协议很容易获取,从而使得非法分子通过获取的通用该协议对存储有数据的嵌入式固件进行任意读写操作。嵌入式固件存在被他人恶意读取,且将读取的固件烧录至其他存储设备中,从而出现仿制的存储设备。嵌入式固件存在被盗用的情况。
发明内容
本发明的主要目的在于提供一种嵌入式固件及启动方法和存储设备,旨在解决嵌入式固件存在被盗用的问题。
为实现上述目的,本发明提供的一种嵌入式固件的启动方法,所述嵌入式固件设于存储设备内,所述嵌入式固件的启动方法包括以下步骤:
在接收到嵌入式固件的启动指令时,获取所述嵌入式固件对应的第一校验值;
获取所述存储设备中目标存储区域对应的第二校验值,所述目标存储区域根据所述嵌入式固件中的存储位置信息得到;
根据所述第一校验值和所述第二校验值进行校验;
在校验成功时,启动所述嵌入式固件。
在一实施例中,所述获取所述存储设备中目标存储区域对应的第二校验值的步骤包括:
在所述存储设备的多个存储区域中确定目标存储区域;
在所述目标存储区域中读取所述第二校验值。
在一实施例中,所述获取所述嵌入式固件对应的第一校验值的步骤之后,还包括:
判断所述存储设备中目标存储区域是否存储数据;
在所述目标存储区域存储数据时,执行所述获取所述存储设备中目标存储区域对应的第二校验值的步骤。
在一实施例中,所述判断所述存储设备中目标存储区域是否存储数据的步骤之后,还包括:
在所述目标存储区域未存储数据,且所述嵌入式固件为首次上电时,根据所述第一校验值向所述目标存储区域写入第二校验值,并启动所述嵌入式固件。
在一实施例中,所述根据所述第一校验值向所述目标存储区域写入第二校验值的步骤包括:
根据所述第一校验值确定第二校验值;
将所述第二校验值写入所述目标存储区域。
在一实施例中,所述根据所述第一校验值和所述第二校验值进行校验的步骤包括:
判断所述第一校验值与所述第二校验值是否匹配,其中,在所述第一校验值与所述第二校验值匹配时,判定校验成功。
在一实施例中,所述获取所述嵌入式固件对应的第一校验值的步骤包括:
获取所述嵌入式固件的标识信息;
根据所述标识信息的哈希值得到第一校验值。
在一实施例中,获取所述存储设备中目标存储区域对应的第二校验值的步骤之后,还包括:
在校验成功时,控制所述嵌入式固件中的功能禁止运行,以使所述嵌入式固件拒绝启动。
为实现上述目的,本发明还提供一种嵌入式固件所述嵌入式固件包括存储器、处理器和存储在所述存储器并可在所述处理器上运行的启动程序,所述启动程序被所述处理器执行时实现如上所述的嵌入式固件的启动方法的各个步骤。
为实现上述目的,本发明还提供一种存储设备,所述存储设备设有嵌入式固件,所述嵌入式固件包括存储器、处理器和存储在所述存储器并可在所述处理器上运行的启动程序,所述启动程序被所述处理器执行时实现如上所述的嵌入式固件的启动方法的各个步骤。
本发明提供的嵌入式固件及启动方法和存储设备,在接收到嵌入式固件的启动指令时,存储设备内部的嵌入式固件获取嵌入式固件的第一校验值,且获取存储设备中目标存储区域对应的第二校验值,并根据第一校验值以及第二校验值进行校验,并在校验成功时,启动嵌入式固件。由于嵌入式固件被恶意读取且仿制烧录在其他的存储设备内时,其他的存储设备中的目标存储区域中的校验值与嵌入式固件之前所在的存储设备中的目标存储区域的校验值不同,甚至于其他的存储设备中不存在目标存储区域而无法得到第二校验值,因而使得嵌入式固件的校验无法成功,从而使得嵌入式固件无法正常启动,也即使得存储设备无法正常启动,避免了嵌入式固件被恶意盗用。
附图说明
图1为本发明实施例涉及的嵌入式固件的硬件结构示意图;
图2为本发明嵌入式固件的启动方法第一实施例的流程示意图;
图3为图2中步骤S10的细化流程示意图;
图4为本发明嵌入式固件的启动方法第二实施例中步骤S20的细化流程示意图;
图5为本发明嵌入式固件的启动方法第三实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的主要解决方案是:在接收到嵌入式固件的启动指令时,获取所述嵌入式固件对应的第一校验值;获取所述存储设备中目标存储区域对应的第二校验值,所述目标存储区域根据所述嵌入式固件中的存储位置信息得到;根据所述第一校验值和所述第二校验值进行校验;在校验成功时,启动所述嵌入式固件。
由于嵌入式固件被恶意读取且仿制烧录在其他的存储设备内时,其他的存储设备中的目标存储区域中的校验值与嵌入式固件之前所在的存储设备中的目标存储区域的校验值不同,甚至于其他的存储设备中不存在目标存储区域而无法得到第二校验值,因而使得嵌入式固件的校验无法成功,从而使得嵌入式固件无法正常启动,也即使得存储设备无法正常启动,避免了嵌入式固件被恶意盗用。
作为一种实现方案,嵌入式固件可以如图1所示。
本发明实施例方案涉及的是嵌入式固件,嵌入式固件包括存储器101,处理器102,例如CPU,通信总线103。其中,通信总线103用于实现这些组件之间的连接通信。
存储器101可以是高速RAM存储设备,也可以是稳定的存储设备(non-volatilememory),例如磁盘存储设备。如图1所示,存储器101中可以包括启动程序;而处理器102可以用于调用存储器101中存储的启动程序,并执行以下操作:
在接收到嵌入式固件的启动指令时,获取所述嵌入式固件对应的第一校验值;
获取所述存储设备中目标存储区域对应的第二校验值,所述目标存储区域根据所述嵌入式固件中的存储位置信息得到;
根据所述第一校验值和所述第二校验值进行校验;
在校验成功时,启动所述嵌入式固件。
在一实施例中,处理器102可以用于调用存储器101中存储的启动程序,并执行以下操作:
在所述存储设备的多个存储区域中确定目标存储区域;
在所述目标存储区域中读取所述第二校验值。
在一实施例中,处理器102可以用于调用存储器101中存储的启动程序,并执行以下操作:
判断所述存储设备中目标存储区域是否存储数据;
在所述目标存储区域存储数据时,执行所述获取所述存储设备中目标存储区域对应的第二校验值的步骤。
在一实施例中,处理器102可以用于调用存储器101中存储的启动程序,并执行以下操作:
在所述目标存储区域未存储数据,且所述嵌入式固件为首次上电时,根据所述第一校验值向所述目标存储区域写入第二校验值。
在一实施例中,处理器102可以用于调用存储器101中存储的启动程序,并执行以下操作:
根据所述第一校验值确定第二校验值;
将所述第二校验值写入所述目标存储区域。
在一实施例中,处理器102可以用于调用存储器101中存储的启动程序,并执行以下操作:
判断所述第一校验值与所述第二校验值是否匹配,其中,在所述第一校验值与所述第二校验值匹配时,判定校验成功。
在一实施例中,处理器102可以用于调用存储器101中存储的启动程序,并执行以下操作:
获取所述嵌入式固件的标识信息;
根据所述标识信息的哈希值得到第一校验值。
在一实施例中,处理器102可以用于调用存储器101中存储的启动程序,并执行以下操作:
在校验成功时,控制所述嵌入式固件中的功能禁止运行,以使所述嵌入式固件拒绝启动。
本实施例根据上述方案,在接收到嵌入式固件的启动指令时,存储设备内部的嵌入式固件获取嵌入式固件的第一校验值,且获取存储设备中目标存储区域对应的第二校验值,并根据第一校验值以及第二校验值进行校验,并在校验成功时,启动嵌入式固件。由于嵌入式固件被恶意读取且仿制烧录在其他的存储设备内时,其他的存储设备中的目标存储区域中的校验值与嵌入式固件之前所在的存储设备中的目标存储区域的校验值不同,甚至于其他的存储设备中不存在目标存储区域而无法得到第二校验值,因而使得嵌入式固件的校验无法成功,从而使得嵌入式固件无法正常启动,也即使得存储设备无法正常启动,避免了嵌入式固件被恶意盗用。
基于上述嵌入式固件的硬件构架,提出本发明嵌入式固件的启动方法的实施例。
参照图2,图2为本发明嵌入式固件的启动方法的第一实施例,所述嵌入式固件的启动方法包括以下步骤:
步骤S10,在接收到嵌入式固件的启动指令时,获取所述嵌入式固件对应的第一校验值;
在本实施例中,执行主体为嵌入式固件。嵌入式固件存储在存储设备内,存储设备可为flash存储器(Flash Memory,快闪存储器),还可为其他存储器。存储设备在上电后,即可认为向嵌入式固件发送启动指令。嵌入式固件得启动包括校验以及功能运行两个阶段,只有在校验通过后,嵌入式固件中的功能才会运行,此时,嵌入式固件才算真正的启动。嵌入式固件接收到启动指令后,会获取嵌入式固件对应的第一校验值。第一校验值可以是嵌入式固件的标识信息所对应的哈希值,具体的,参照图3,也即步骤S10包括:
步骤S11,获取所述嵌入式固件的标识信息;
步骤S12,根据所述标识信息的哈希值得到第一校验值。
嵌入式固件的标识信息可以是嵌入式固件中MCU(Microcontroller Unit,微控制单元)的唯一ID(Identity document,身份标识号),MCU即可为嵌入式固件的处理器。嵌入式固件获取设备标识后,对嵌入式固件的设备标识进行哈希值的计算,计算得到的哈希值即可被确定为第一校验值。
步骤S20,获取所述嵌入式固件中目标存储区域对应的第二校验值,所述目标存储区域根据所述嵌入式固件中的存储位置信息得到;
嵌入式固件在得到第一校验值后,嵌入式固件再获取目标存储区域对应的第二校验值。目标存储区域可以是存储设备的整个存储区域。当然,存储设备可以包括多个存储区域,目标存储区域即为其中的一个。目标存储区域中包含有第二校验值,第二校验值根据第一校验值确定。例如,第二校验值可以是嵌入式固件将第一校验值写入至目标存储区域所读取的校验值。
第二校验值存储在目标存储区域的预设位置,嵌入式固件即读取目标存储区域中预设位置的数据从而得到第二校验值。预设位置的信息以及目标存储区域的信息可以存储在存储设备中的某个区域中,该区域的信息存储在嵌入式固件内(该区域的信息即可视为嵌入式固件内的存储位置信息),嵌入式固件在该区域中读取信息,进而根据信息确定目标存储区域,且根据信息读取第二校验值。当然,预设位置的信息以及目标存储区域的信息可以直接存储在嵌入式固件内。
步骤S30,根据所述第一校验值和所述第二校验值进行校验;
步骤S40,在校验成功时,启动所述嵌入式固件。
嵌入式固件在得到第二校验值后,判断第二校验值第一检验值是否匹配。在当第一校验值与第二校验值一致时,即可视为第一校验值与第二校验值匹配,也即可以判定校验成功。此时,控制嵌入式固件中的功能运行,从而使得嵌入式固件正常启动。而在当第一校验值与第二校验值不匹配时,此时,校验不成功,嵌入式固件禁止嵌入式固件中的功能运行,从而使得嵌入式固件拒绝启动。
在本实施例提供的技术方案中,在接收到嵌入式固件的启动指令时,存储设备内部的嵌入式固件获取嵌入式固件的第一校验值,且获取存储设备中目标存储区域对应的第二校验值,并根据第一校验值以及第二校验值进行校验,并在校验成功时,启动嵌入式固件。由于嵌入式固件被恶意读取且仿制烧录在其他的存储设备内时,其他的存储设备中的目标存储区域中的校验值与嵌入式固件之前所在的存储设备中的目标存储区域的校验值不同,甚至于其他的存储设备中不存在目标存储区域而无法得到第二校验值,因而使得嵌入式固件的校验无法成功,从而使得嵌入式固件无法正常启动,也即使得存储设备无法正常启动,避免了嵌入式固件被恶意盗用。
参照图4,图4为本发明嵌入式固件的启动方法的第二实施例,基于第一实施例,所述步骤S20包括:
步骤S21,在所述嵌入式固件的多个存储区域中确定目标存储区域;
步骤S22,在所述目标存储区域中读取第二校验值。
在本实施例中,存储设备中包括多个存储区域,而仅有一个存储区域写入了校验值,该存储区域即为目标存储区域。
存储设备在多个存储区域中确定目标存储区域,从而在目标存储区域中读取第二校验值。目标存储区域的确定以及第二校验值的读取可参照上述说明,在此不再进行赘述。
由于目标存储区域可为存储设备中的任意一个存储区域,非法分子若将嵌入式固件烧录至仿制存储设备内,由于仿制的存储设备并没有对存储区域进行划分,使得仿制的存储区域并不存在存储有校验值的目标存储区域。即使仿制的存储设备划分多个存储区域,存储区域中存储的数据也未含有校验值。从而使得嵌入式固件无法在仿制的存储设备中得到第二校验值,进而使得校验无法成功,也即嵌入式固件无法正常启动。嵌入式固件的启动不依赖于外部加密算法,即使破解本实施例中的MUC的唯一ID,也无法得到目标存储区域中的校验值进行校验。除非在嵌入式固件的厂商中获取目标存储区域的烧录文件,再将烧录文件与嵌入式固件厂家出厂的存储设备内的各个存储区域的数据进行比对,以确定目标存储区域,从而破解得到第二校验值;或者直接获取嵌入式固件开发源代码查阅确定目标存储区域。但是烧录文件的获取以及开发源代码的查阅的保密等级均比较高,非法分子很难得到烧录文件以及开发源代码,从而使得嵌入式固件很难被盗用至其他存储设备内。
在本实施例提供的技术方案中,存储设备包括多个存储区域,嵌入式固件在多个存储区域中确定目标存储区域,从而在目标存储区域中读取第二校验值,以验证嵌入式固件是否能够启动。
参照图5,图5为本发明嵌入式固件的启动方法的第三实施例,基于第一或第二实施例,所述步骤S10之后,还包括:
步骤S50,判断所述存储设备中目标存储区域是否存储数据;
步骤S60,在所述目标存储区域存储数据时,执行所述获取所述存储设备中目标存储区域对应的第二校验值的步骤;
步骤S70,在所述目标存储区域未存储数据,且所述嵌入式固件为首次上电时,根据所述第一校验值向所述目标存储区域写入第二校验值,并启动所述嵌入式固件。
在本实施例中,存储设备的目标存储区域中的数据为空时,可能是嵌入式固件的厂商对目标存储区域进行第二校验值的烧录。
具体的,在当嵌入式固件得到第一校验值后,判断目标存储区域是否存储有数据,若目标存储区域存储有数据,即可认为目标存储区域中已经烧录有第二校验值,此时,嵌入式固件执行步骤S20,从而进行检验。而在当目标存储区域未存储有数据,可能是嵌入式固件的厂商对目标存储区域进行第二校验值的烧录,此时,嵌入式固件确定自身上电的次数,也即嵌入式固件会记录上电的次数。若是嵌入式固件为首次上电,即可认为嵌入式固件所在的存储设备为正版,而不可能是仿制的存储设备。因而,嵌入式固件根据第一校验值向目标存储区域写入第二校验值。在目标存储区域写入校验值后,嵌入式固件可以直接跳过校验流程,使得嵌入式固件直接启动。
第二校验值可以是第一校验值,也即嵌入式固件将第一校验值写入至目标存储区域,以成为目标存储区域对应的第二校验值。此外,嵌入式固件可设置改写算法,根据改写算法对第一校验值进行改写,从而得到第二校验值,再将第二校验值写入至目标存储区域中。需要说明的是,在嵌入式固件得到第二校验值后,可以根据改写算法逆向改写第二校验值得到第三校验值,若是第三校验值与第一校验值一致,即可视为校验成功。
在本实施例提供的技术方案中,嵌入式固件在得到第一校验值后,判断存储设备中目标存储区域是否存储数据,若未存储有数据且嵌入式固件为首次上电时,即可确定存储设备是正版设备,嵌入式固件根据第一校验值向目标存储区域写入第二校验值,且直接启动嵌入式固件。
本发明还提供一种嵌入式固件,所述嵌入式固件包括存储器、处理器和存储在所述存储器并可在所述处理器上运行的启动程序,所述启动程序被所述处理器执行时实现如上所述的嵌入式固件的启动方法的各个步骤。
本发明还提供一种存储设备,所述存储设备设有嵌入式固件,所述嵌入式固件包括存储器、处理器和存储在所述存储器并可在所述处理器上运行的启动程序,所述启动程序被所述处理器执行时实现如上所述的嵌入式固件的启动方法的各个步骤。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (9)

1.一种嵌入式固件的启动方法,其特征在于,所述嵌入式固件设于存储设备内,所述嵌入式固件的启动方法包括以下步骤:
在接收到嵌入式固件的启动指令时,获取所述嵌入式固件对应的第一校验值;
获取所述存储设备中目标存储区域对应的第二校验值,所述目标存储区域根据所述嵌入式固件中的存储位置信息得到;
若所述目标存储区域不存在或者所述第二校验值不存在,则拒绝启动所述嵌入式固件;
若所述第二校验值存在,则根据所述第一校验值和所述第二校验值进行校验;
在校验成功时,启动所述嵌入式固件;
在校验不成功时,拒绝启动所述嵌入式固件。
2.如权利要求1所述的嵌入式固件的启动方法,其特征在于,所述获取所述存储设备中目标存储区域对应的第二校验值的步骤包括:
在所述存储设备的多个存储区域中确定目标存储区域;
在所述目标存储区域中读取所述第二校验值。
3.如权利要求1所述的嵌入式固件的启动方法,其特征在于,所述获取所述嵌入式固件对应的第一校验值的步骤之后,还包括:
判断所述存储设备中目标存储区域是否存储数据;
在所述目标存储区域存储数据时,执行所述获取所述存储设备中目标存储区域对应的第二校验值的步骤。
4.如权利要求3所述的嵌入式固件的启动方法,其特征在于,所述判断所述存储设备中目标存储区域是否存储数据的步骤之后,还包括:
在所述目标存储区域未存储数据,且所述嵌入式固件为首次上电时,根据所述第一校验值向所述目标存储区域写入第二校验值,并启动所述嵌入式固件。
5.如权利要求4所述的嵌入式固件的启动方法,其特征在于,所述根据所述第一校验值向所述目标存储区域写入第二校验值的步骤包括:
根据所述第一校验值确定第二校验值;
将所述第二校验值写入所述目标存储区域。
6.如权利要求1-5任一项所述的嵌入式固件的启动方法,其特征在于,所述根据所述第一校验值和所述第二校验值进行校验的步骤包括:
判断所述第一校验值与所述第二校验值是否匹配,其中,在所述第一校验值与所述第二校验值匹配时,判定校验成功。
7.如权利要求1-5任一项所述的嵌入式固件的启动方法,其特征在于,所述获取所述嵌入式固件对应的第一校验值的步骤包括:
获取所述嵌入式固件的标识信息;
根据所述标识信息的哈希值得到第一校验值。
8.一种嵌入式固件,其特征在于,所述嵌入式固件包括存储器、处理器和存储在所述存储器并可在所述处理器上运行的启动程序,所述启动程序被所述处理器执行时实现如权利要求1-7任一项所述的嵌入式固件的启动方法的各个步骤。
9.一种存储设备,其特征在于,所述存储设备设有嵌入式固件,所述嵌入式固件包括存储器、处理器和存储在所述存储器并可在所述处理器上运行的启动程序,所述启动程序被所述处理器执行时实现如权利要求1-7任一项所述的嵌入式固件的启动方法的各个步骤。
CN202010422521.1A 2020-05-18 2020-05-18 嵌入式固件及启动方法和存储设备 Active CN111611015B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010422521.1A CN111611015B (zh) 2020-05-18 2020-05-18 嵌入式固件及启动方法和存储设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010422521.1A CN111611015B (zh) 2020-05-18 2020-05-18 嵌入式固件及启动方法和存储设备

Publications (2)

Publication Number Publication Date
CN111611015A CN111611015A (zh) 2020-09-01
CN111611015B true CN111611015B (zh) 2023-07-14

Family

ID=72200779

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010422521.1A Active CN111611015B (zh) 2020-05-18 2020-05-18 嵌入式固件及启动方法和存储设备

Country Status (1)

Country Link
CN (1) CN111611015B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114626067A (zh) * 2021-06-25 2022-06-14 江苏航天龙梦信息技术有限公司 一种临时固件管控方法
CN113626065B (zh) * 2021-08-12 2024-04-19 深圳市蝶通视讯有限公司 一种嵌入式固件冗余方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101042652A (zh) * 2006-03-20 2007-09-26 中兴通讯股份有限公司 一种保护软件启动参数区的方法
CN105045146A (zh) * 2015-07-03 2015-11-11 深圳市普博科技有限公司 一种具有复位功能的系统及其重启控制方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101042652A (zh) * 2006-03-20 2007-09-26 中兴通讯股份有限公司 一种保护软件启动参数区的方法
CN105045146A (zh) * 2015-07-03 2015-11-11 深圳市普博科技有限公司 一种具有复位功能的系统及其重启控制方法

Also Published As

Publication number Publication date
CN111611015A (zh) 2020-09-01

Similar Documents

Publication Publication Date Title
JP5301764B2 (ja) ポータブルアプリケーション
JP4647300B2 (ja) 特定の装置または装置のクラスにおいてのみソフトウェアの更新のインストールまたは稼動を確実に行えるようにする方法及びシステム
KR100506203B1 (ko) 부팅 및 부트 코드 업데이트 방법 및 시스템
CN111611015B (zh) 嵌入式固件及启动方法和存储设备
US20100132042A1 (en) Method for upgrading antivirus software and terminal and system thereof
JP5740646B2 (ja) ソフトウェアのダウンロード方法
US11269655B2 (en) Bare metal device management
US9684518B2 (en) Option read-only memory use
CN109992966B (zh) 存储器子系统、安全客户端装置及其认证方法
CN111045713A (zh) 一种计算机系统的升级方法、系统及装置
WO2018024198A1 (zh) 机顶盒的应用程序升级方法、系统及机顶盒
US11249677B2 (en) Method and apparatus for erasing or writing flash data
EP3851989B1 (en) Electronic device for updating firmware based on user authentication and an operating method thereof
CN112579202B (zh) Windows系统的服务性程序编辑方法、装置、设备及存储介质
US7885647B2 (en) Secure booting method and mobile terminal for the same
CN111538523A (zh) 差分升级方法、设备及存储介质
US20120231763A1 (en) Method and system for antivirus on a mobile device by sim card
US20110289591A1 (en) Software Validity Period Changing Apparatus, Method,and Installation Package
CN114282205A (zh) 固件启动方法及装置、计算机可读存储介质
CN112667444A (zh) 一种系统升级方法、存储介质及终端设备
KR20210151498A (ko) 차량 업데이트 시스템 및 방법
CN114691229B (zh) 应用程序自启动方法、装置及电子设备
CN111736892B (zh) 一种uboot启动方法、系统、设备及计算机存储介质
CN115525933B (zh) 数据防篡改方法、装置、电子设备及存储介质
CN111680298B (zh) 一种嵌入式系统安全启动方法和具有存储功能的装置

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
GR01 Patent grant
GR01 Patent grant