CN106776105A - 一种系统启动文件的校验及编译方法 - Google Patents

一种系统启动文件的校验及编译方法 Download PDF

Info

Publication number
CN106776105A
CN106776105A CN201611025231.3A CN201611025231A CN106776105A CN 106776105 A CN106776105 A CN 106776105A CN 201611025231 A CN201611025231 A CN 201611025231A CN 106776105 A CN106776105 A CN 106776105A
Authority
CN
China
Prior art keywords
data
verification data
verification
type
system startup
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.)
Granted
Application number
CN201611025231.3A
Other languages
English (en)
Other versions
CN106776105B (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.)
Huizhou TCL Mobile Communication Co Ltd
Original Assignee
Huizhou TCL Mobile Communication 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 Huizhou TCL Mobile Communication Co Ltd filed Critical Huizhou TCL Mobile Communication Co Ltd
Priority to CN201611025231.3A priority Critical patent/CN106776105B/zh
Publication of CN106776105A publication Critical patent/CN106776105A/zh
Priority to US16/309,943 priority patent/US11061803B2/en
Priority to PCT/CN2017/105432 priority patent/WO2018090759A1/zh
Priority to EP17871657.7A priority patent/EP3543858B1/en
Application granted granted Critical
Publication of CN106776105B publication Critical patent/CN106776105B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3608Software analysis for verifying properties of programs using formal methods, e.g. model checking, abstract interpretation
    • 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/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • 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
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种系统启动文件的校验方法。其中,所述方法包括:从系统固件分区获取系统启动文件和映射表;从映射表中读取第一校验数据以及与第一校验数据相关联的寻址数据;根据寻址数据从系统启动文件中读取对应于第一校验数据的分段数据;判断第一校验数据为第一类型还是第二类型;若为第一类型,则判断分段数据是否为第一校验数据的重复排列,若不是第一校验数据的重复排列,则系统启动文件存在安全错误;若为第二类型,则判断分段数据经校验算法计算获得第二校验数据与第一校验数据是否一致,若与第一校验数据不一致,则系统启动文件存在安全错误。通过上述方式,能够减少系统启动文件的检验时间,提高工作效率。

Description

一种系统启动文件的校验及编译方法
技术领域
本发明涉及计算机技术领域,特别是涉及一种系统启动文件的校验及编译方法。
背景技术
随着电子产品的日渐成熟与普及,越来越多人开始关注电子产品的系统软件,尤其是手机产品。为了防止手机固件被修改或破坏,目前Android系统通过对系统固件文件进行运算生成一个校验值,并将该校验值附加到系统固件文件的末尾,在系统启动时,通过读取系统固件分区,得到系统固件文件及检验值做进一步验证。
然而,系统固件文件的长度肯定要小于系统固件分区的长度,为了保持系统固件文件与系统固件分区的长度一致,需要在系统固件分区存储大量填充数据。这些数据增加了系统固件检验的时间,增加了工作量。
发明内容
本发明主要解决的技术问题是提供一种系统启动文件的校验及编译方法,能够减少系统启动文件的检验时间,提高工作效率。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种系统启动文件的校验方法,方法包括:从系统固件分区获取系统启动文件和映射表;从映射表中读取第一校验数据以及与第一校验数据相关联的寻址数据;根据寻址数据从系统启动文件中读取对应于第一校验数据的分段数据;判断第一校验数据为第一类型还是第二类型;若为第一类型,则判断分段数据是否为第一校验数据的重复排列,若不是第一校验数据的重复排列,则系统启动文件存在安全错误;若为第二类型,则判断分段数据经校验算法计算获得第二校验数据与第一校验数据是否一致,若与第一校验数据不一致,则系统启动文件存在安全错误。
其中,寻址数据包括分段数据对应的起始地址和数据长度。
其中,映射表中设置有与第一校验数据相关联的数据类型标识,或者第一类型的第一校验数据和第二类型的第一校验数据分别存储于不同的映射表中;判断第一校验数据为第一类型还是第二类型的步骤包括:根据数据类型标识或第一校验数据所来源的映射表来判断第一校验数据为第一类型还是第二类型。
其中,第一类型的第一校验数据和第二类型的第一校验数据分别连续存储,并且将第一类型的第一校验数据设置成先于第二类型的第一校验数据被读取到。
其中,校验算法为HASH算法。
为解决上述技术问题,本发明采用的另一个技术方案是:提供一种系统启动文件的编译方法,方法包括:获取系统启动文件;判断系统启动文件中是否包含由字节或字节组合重复排列所形成的第一分段数据;若存在第一分段数据,则将字节或字节组合作为校验数据与第一分段数据的寻址数据进行关联并存储到映射表中;确定第一分段数据以外的第二分段数据;将第二分段数据经校验算法获得的校验数据与第二分段数据的寻址数据进行关联并存储到映射表中;将映射表连同系统启动文件存储到预设的系统固件分区中。
其中,寻址数据为第一分段数据或第二分段数据对应的起始地址和数据长度。
其中,方法进一步包括:在利用校验数据相关联的数据类型标识将由字节或字节组合所作为的校验数据和经校验算法获得的校验数据分别标记为第一类型和第二类型,或者将由字节或字节组合所作为的校验数据和经校验算法获得的校验数据分别存储到不同的映射表中。
其中,由字节或字节组合所作为的校验数据和经校验算法获得的校验数据分别连续存储,且由字节或字节组合所作为的校验数据设置成先于经校验算法获得的校验数据被读取到。
其中,校验算法为HASH算法。
本发明的有益效果是:通过从映射表中读取系统启动文件的第一校验数据,根据第一校验数据的类型将系统启动文件中对应的分段数据进行分类,在校验过程中,对不同类型的分段数据按不同的方法进行校验,进而减少系统启动文件的检验时间,提高工作效率。
附图说明
图1是本发明系统启动文件校验方法一实施例的流程示意图;
图2是本发明系统启动文件校验方法另一实施例的流程示意图;
图3是本发明系统启动文件编译方法一实施例的流程示意图;
图4是本发明系统启动文件编译方法另一实施例的流程示意图;
图5是本发明系统启动文件校验系统一实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括至少一个该特征。
图1是本发明系统启动文件校验方法一实施例的流程示意图。需注意的是,若有实质上相同的结果,本发明的方法并不以图1所示的流程顺序为限。如图1所示,该方法包括如下步骤:
S11:从系统固件分区获取系统启动文件和映射表。
上述系统启动文件即为系统固件文件,是终端最基础、最低层工作的软件。对于独立可操作的终端产品来说,系统固件通常指操作系统,如:智能手机、路由器或MP4等;对于非独立的终端产品,系统固件为最低层,用于支持设备运行的程序代码,如:硬盘、光驱或U盘等。因此,在用户使用终端产品之前,系统固件已经由其它工具或软件写入终端产品对应的硬件系统中,当终端上电时,通过系统固件直接驱动和调用系统硬件,从而使终端正常工作。映射表用于存储具有映射关系的数据,在具体实施中,映射表用于存储与系统固件文件相关的一些数据信息。
S12:从映射表中读取第一校验数据以及与第一校验数据相关联的寻址数据。
在本实施例中,映射表用于存储与系统固件文件相关的第一校验数据及与第一校验数据相关联的寻址数据。其中,寻址数据包括数据的起始地址和数据长度。
S13:根据寻址数据从系统启动文件中读取对应于第一校验数据的分段数据。
由于寻址数据与第一校验数据相关联,因此系统可以根据该寻址数据从系统固件文件中读取对应于第一校验数据的分段数据。例如,寻址数据包括数据的起始地址:Address=0,以及数据长度:Length=4096,从系统固件分区的地址0开始,读取长度为4096的数据到缓冲区,作为与第一校验数据对应的分段数据。
S14:判断第一校验数据为第一类型还是第二类型。
在本实施例中,映射表中可设置与第一校验数据相关联的数据类型标识。此时,可以根据数据类型标识判断第一校验数据为第一类型还是第二类型。例如:Type=1时,第一校验数据为第一类型。当Type=0时,第一校验数据为第二类型。在其它实施例中,Type的值可以互换,即Type=0时,第一校验数据为第一类型;Type=1时,第一校验数据为第二类型,数据类型标识也可以为其它形式,在此不做限定。
在另一实施例中,也可以将第一类型的第一校验数据和第二类型的第一校验数据分别存储于不同的映射表中,便于系统访问,并可以根据第一校验数据所来源的映射表来判断第一校验数据为第一类型还是第二类型。
S15:若为第一类型,则判断分段数据是否为第一校验数据的重复排列,若不是第一校验数据的重复排列,则系统启动文件存在安全错误。
根据上述步骤S14的判断结果,当第一校验数据为第一类型时,检测该分段数据是否为第一校验数据的重复排列,若不是第一校验数据的重复排列,说明当前的系统固件被修改或者被破坏,提示用户做进一步的处理。若分段数据为第一校验数据的重复排列,说明该分段数据没有被修改或者破坏。例如,第一校验数据:V=0xA5,比较分段数据中,是否为“A5”的重复排列。
S16:若为第二类型,则判断分段数据经校验算法计算获得第二校验数据与第一校验数据是否一致,若与第一校验数据不一致,则系统启动文件存在安全错误。
根据上述步骤S14的判断结果,当第一校验数据为第二类型时,通过校验算法对分段数据进行运算得到第二校验数据,将第二校验数据与第一校验数据进行比较,若比较结果不相同,说明当前的系统固件被修改或者被破坏,提示用户做进一步的处理。若比较结果相同,说明该分段数据没有被修改或者破坏。上述校验算法可以是HASH算法或其它公开算法。
可选的,在其它实施例中,当数据类型标识与对应的第一校验数据存储于同一映射表中,可以将第一类型的第一校验数据和第二类型的第一校验数据分别连续存储,并且将第一类型的第一校验数据设置成先于第二类型的第一校验数据被读取到。由于第一类型的第一校验数据所对应的分段数据的检验时间低于第二类型的第一校验数据所对应的分段数据的检验时间,当第一类型的第一校验数据所对应的分段数据被修改或损坏时,可以快速产生错误提示,大大减少了系统固件检验的时间。
通过上述方法,在校验过程中,对不同类型的分段数据按不同的方法进行校验,进而减少系统启动文件的检验时间,提高工作效率。
在具体实施中,系统固件文件存储于系统固件分区上,由于系统固件的长度一般都要小于系统固件分区的长度,在存储过程中,为了保持系统固件与系统固件分区的长度一致,需要在系统固件文件中存储大量的用于填充的数据,一般多为十六进制数值。填充的数据往往是字节或字节组合的重复排列,进而直接将字节或字节组合作为第一校验数据,并定义为第一类型,例如:Type=1;而将系统固件数据的HASH值或其他校验数据作为第一校验数据,并定义为第二类型,例如:Type=0。由此对上述数据进行区分校验,可以减少校验时间,提高工作效率。同理,可以将系统固件数据内部重复排列的字节或字节组合直接作为第一类型的第一校验数据进行校验。
参考图2,图2是本发明系统启动文件校验方法另一实施例的流程示意图。在本实施例中,系统启动文件的校验方法包括以下步骤:
S201:开始。
S202:从系统固件分区获取系统启动文件和映射表。
S203:从映射表中读取数据类型标识、起始地址、数据长度及第一校验数据。
S204:根据起始地址及数据长度从系统启动文件中读取对应于第一校验数据的分段数据到缓冲区。
S205:根据数据类型标识判断第一校验数据的类型,当Type=0时,执行步骤S206;当Type=1时,执行步骤S208。
S206:通过校验算法对分段数据进行运算得到第二校验数据。
S207:判断第一校验数据与第二校验数据是否一致,若结果一致,执行步骤S209;若结果不一致,执行步骤S210,并结束步骤。
S208:判断分段数据是否为第一校验数据的重复排列,若结果相同,执行步骤S209;若结果不一致,执行步骤S210,并结束步骤。
S209:判断映射表是否已经读取完成,若读取完成,执行步骤S211;若没有读取完成,则返回步骤S203。
S210:提示系统启动文件存在安全错误。
S211:结束。
下面举例说明,当系统启动时,从系统固件分区中获取系统启动文件和映射表,并从映射表中读取数据类型标识(Type)、第一校验数据(Value)、起始地址(Address)及数据长度(Length):
1、当Type=1,Address=4096,Length=90,Value=0xA5时,从系统启动文件地址4096开始,读取长度为90的数据到缓冲区,由于读取的Type=1,比较缓冲区的分段数据是否以A5重复排列,如果不是以A5重复排列,将提示系统启动文件存在安全错误;如果以A5重复排列,则判断该分段数据没有被修改或破坏,继续读取映射表的内容。
2、当Type=0,Address=0,Length=4096,Value=V1时,从系统启动文件地址0开始,读取长度为4096的数据到缓冲区,由于读取的Type=0,通过HASH算法对缓冲区的分段数据进行运算得到第二校验数据V2,将第一校验数据V1与第二校验数据V2进行比较,如果V1≠V2,将提示系统启动文件存在安全错误;如果V1=V2,则判断该分段数据没有被修改或破坏,继续读取映射表的内容。
重复上面两个步骤,直到映射表读取完成。通过上述方法,可以快速的完成系统启动文件的校验。
图3是本发明系统启动文件编译方法一实施例的流程示意图,该编译方法包括以下步骤:
S31:获取系统启动文件。
其中,系统启动文件即为用于安装的系统固件文件。
S32:判断系统启动文件中是否包含由字节或字节组合重复排列所形成的第一分段数据。
由于,系统固件文件中包含大量以字节或字节组合重复排列的填充的数据,在编译过程中,可以通过单个字节、4个字节或者8个字节进行比较,将包含由字节或字节组合重复排列所形成的数据作为第一分段数据。
S33:若存在第一分段数据,则将字节或字节组合作为校验数据与第一分段数据的寻址数据进行关联并存储到映射表中。
将上述重复的字节或字节组合直接作为第一校验数据,并定义为第一类型,与第一分段数据的寻址数据相关联并存储到映射表中。S34:确定第一分段数据以外的第二分段数据。
S35:将第二分段数据经校验算法获得的校验数据与第二分段数据的寻址数据进行关联并存储到映射表中。
其中,校验算法为HASH算法,将系统固件数据的HASH值或其他校验数据作为第一校验数据,并定义为第二类型,与第二分段数据的寻址数据相关联并存储到映射表中。
S36:将映射表连同系统启动文件存储到预设的系统固件分区中。
可选的,在利用校验数据相关联的数据类型标识将由字节或字节组合所作为的校验数据和经校验算法获得的校验数据分别标记为第一类型和第二类型,或者将由字节或字节组合所作为的校验数据和经校验算法获得的校验数据分别存储到不同的映射表中。
可选的,由字节或字节组合所作为的校验数据和经校验算法获得的校验数据分别连续存储,且由字节或字节组合所作为的校验数据设置成先于经校验算法获得的校验数据被读取到。由于第一类型的分段数据的检验时间低于第二类型的分段数据的检验时间,当系统固件文件中的填充数据被修改或损坏时,大大减少了系统固件检验的时间。
参考图4,图4是本发明系统启动文件编译方法另一实施例的流程示意图,以单个字节为例,第一分段数据的查找过程包括以下步骤:
S401:初始化数据重复次数Lp=0,第一校验数据d0=无效,起始地址Ap=-1。
S402:以单个字节为单位访问系统固件文件,读取文件数据d,及d的起始地址A。
S403:判断数据d是否等于d0,若d=d0,执行步骤S404,若d1≠d0,执行步骤S405。
S404:重复次数Lp加1,进一步执行步骤S409。
S405:判断Lp是否大于等于X,若Lp>=X,执行步骤S406,若当Lp<X,执行步骤S407。
S406:设置Type=1,将数据Type,Address=Ap,Length=Lp,Value=d0的值依次存储到映射表中。
S407:将d的数值赋给d0,即d0=d,Lp=1,Ap=A,进一步执行步骤408。
S408:判断系统启动文件是否已经读取完成,若没有读取完成,返回步骤S402,若文件读取完成,则执行步骤S412。
S409:判断系统启动文件是否已经读取完成,若没有读取完成,返回步骤S402,若文件读取完成,执行步骤S410。
S410:判断Lp是否大于等于X,若Lp>=X,执行步骤S411,若当Lp<X,执行步骤S412。
S411:设置Type=1,将数据Type,Address=Ap,Length=Lp,Value=d0的值依次存储到映射表中。
S412:结束。
本实施例中,以单个字节为例,在具体实施中,系统可以根据不同平台筛选出多字节的相同数据,例如32bit CPU平台,可以筛选4字节的相同数据,以便有效利用CPU数据宽度加快处理速度。同理,针对64bit CPU可以使用8字节的相同数据,在此不做任何限定。
在其它实施例中,可以根据上述第一分段数据的查找过程,查找第二分段数据。当d1≠d0,或者Lp<X时,将Type设置为0,将数据Type,Address=Ap,Length=Lp,Value=d0的值依次添加到映射表中,作为第二分段数据的信息存储。也可以通过差分算法,将第一分段数据以外的其它数据设置为第二分段数据,此处不进行赘述。
图5是本发明系统启动文件校验系统一实施例的结构示意图,该系统包括:处理器51与处理器51耦合的存储器52。
在本实施例中,存储器52,用于存储系统固件文件、映射表及处理器51执行的指令等。
其中,映射表包括第一校验数据以及与第一校验数据相关联的寻址数据;寻址数据包括分段数据对应的起始地址和数据长度。
其中,映射表中设置有与第一校验数据相关联的数据类型标识,或者第一类型的第一校验数据和第二类型的第一校验数据分别存储于不同的映射表中。
其中,第一类型的第一校验数据和第二类型的第一校验数据分别连续存储,并且将第一类型的第一校验数据设置成先于第二类型的第一校验数据被读取到。
处理器51用于从系统固件分区获取系统启动文件和映射表;从映射表中读取第一校验数据以及与第一校验数据相关联的寻址数据;根据寻址数据从系统启动文件中读取对应于第一校验数据的分段数据;判断第一校验数据为第一类型还是第二类型;若为第一类型,则判断分段数据是否为第一校验数据的重复排列,若不是第一校验数据的重复排列,则系统启动文件存在安全错误;若为第二类型,则判断分段数据经校验算法计算获得第二校验数据与第一校验数据是否一致,若与第一校验数据不一致,则系统启动文件存在安全错误。
可选地,处理器51用于根据数据类型标识或第一校验数据所来源的映射表来判断判断第一校验数据为第一类型还是第二类型。
其中,校验算法为HASH算法。
以上方案,通过将系统固件文件分成第一类型及第二类型的分段数据,在校验过程中,对不同类型的分段数据按不同的方法进行校验,进而减少系统启动文件的检验时间,提高工作效率。
在本发明所提供的几个实施方式中,应该理解到,所揭露的方法和系统,可以通过其它的方式实现。例如,本发明各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。同时,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
以上仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种系统启动文件的校验方法,其特征在于,所述方法包括:
从系统固件分区获取系统启动文件和映射表;
从所述映射表中读取第一校验数据以及与所述第一校验数据相关联的寻址数据;
根据所述寻址数据从所述系统启动文件中读取对应于所述第一校验数据的分段数据;
判断所述第一校验数据为第一类型还是第二类型;
若为第一类型,则判断所述分段数据是否为所述第一校验数据的重复排列,若不是所述第一校验数据的重复排列,则所述系统启动文件存在安全错误;
若为第二类型,则判断所述分段数据经校验算法计算获得第二校验数据与所述第一校验数据是否一致,若与所述第一校验数据不一致,则所述系统启动文件存在安全错误。
2.根据权利要求1所述的方法,其特征在于,所述寻址数据包括所述分段数据对应的起始地址和数据长度。
3.根据权利要求1所述的方法,其特征在于,所述映射表中设置有与所述第一校验数据相关联的数据类型标识,或者所述第一类型的第一校验数据和所述第二类型的第一校验数据分别存储于不同的映射表中;
所述判断所述第一校验数据为第一类型还是第二类型的步骤包括:
根据所述数据类型标识或所述第一校验数据所来源的映射表来判断所述第一校验数据为第一类型还是第二类型。
4.根据权利要求1所述的方法,其特征在于,所述第一类型的第一校验数据和所述第二类型的第一校验数据分别连续存储,并且将所述第一类型的第一校验数据设置成先于所述第二类型的第一校验数据被读取到。
5.根据权利要求1所述的方法,其特征在于,所述校验算法为HASH算法。
6.一种系统启动文件的编译方法,其特征在于,所述方法包括:
获取系统启动文件;
判断所述系统启动文件中是否包含由字节或字节组合重复排列所形成的第一分段数据;
若存在所述第一分段数据,则将所述字节或字节组合作为校验数据与所述第一分段数据的寻址数据进行关联并存储到映射表中;
确定所述第一分段数据以外的第二分段数据;
将所述第二分段数据经校验算法获得的校验数据与所述第二分段数据的寻址数据进行关联并存储到所述映射表中;
将所述映射表连同所述系统启动文件存储到预设的系统固件分区中。
7.根据权利要求6所述的方法,其特征在于,所述寻址数据为所述第一分段数据或所述第二分段数据对应的起始地址和数据长度。
8.根据权利要求6所述的方法,其特征在于,所述方法进一步包括:
在利用所述校验数据相关联的数据类型标识将由所述字节或字节组合所作为的校验数据和经校验算法获得的校验数据分别标记为第一类型和第二类型,或者将由所述字节或字节组合所作为的校验数据和经校验算法获得的校验数据分别存储到不同的映射表中。
9.根据权利要求8所述的方法,其特征在于,由所述字节或字节组合所作为的校验数据和经校验算法获得的校验数据分别连续存储,且由所述字节或字节组合所作为的校验数据设置成先于经校验算法获得的校验数据被读取到。
10.根据权利要求6所述的方法,其特征在于,所述校验算法为HASH算法。
CN201611025231.3A 2016-11-15 2016-11-15 一种系统启动文件的校验及编译方法 Active CN106776105B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201611025231.3A CN106776105B (zh) 2016-11-15 2016-11-15 一种系统启动文件的校验及编译方法
US16/309,943 US11061803B2 (en) 2016-11-15 2017-10-10 Checking system, checking method and compiling method of system start-up file
PCT/CN2017/105432 WO2018090759A1 (zh) 2016-11-15 2017-10-10 一种系统启动文件的校验及编译方法
EP17871657.7A EP3543858B1 (en) 2016-11-15 2017-10-10 Method for checking and compiling system start-up files

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611025231.3A CN106776105B (zh) 2016-11-15 2016-11-15 一种系统启动文件的校验及编译方法

Publications (2)

Publication Number Publication Date
CN106776105A true CN106776105A (zh) 2017-05-31
CN106776105B CN106776105B (zh) 2020-02-21

Family

ID=58970027

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611025231.3A Active CN106776105B (zh) 2016-11-15 2016-11-15 一种系统启动文件的校验及编译方法

Country Status (4)

Country Link
US (1) US11061803B2 (zh)
EP (1) EP3543858B1 (zh)
CN (1) CN106776105B (zh)
WO (1) WO2018090759A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018090759A1 (zh) * 2016-11-15 2018-05-24 捷开通讯(深圳)有限公司 一种系统启动文件的校验及编译方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10740186B2 (en) * 2017-05-15 2020-08-11 The Boeing Company High data integrity processing system
CN110377454B (zh) * 2019-06-17 2023-02-07 中国平安人寿保险股份有限公司 数据校验方法、装置、计算机设备和存储介质
CN110688243A (zh) * 2019-09-26 2020-01-14 卡斯柯信号(北京)有限公司 一种列控中心工程数据表自动检查工具的检查方法
CN112905602B (zh) * 2021-03-26 2022-09-30 掌阅科技股份有限公司 数据比对方法、计算设备及计算机存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1561483A (zh) * 2001-09-28 2005-01-05 英特尔公司 最小单位地更新多个文件的方法
CN101807152A (zh) * 2009-02-13 2010-08-18 环旭电子股份有限公司 自我验证选择只读存储器的基本输出入系统及其验证方法
CN102722516A (zh) * 2012-01-17 2012-10-10 晨星软件研发(深圳)有限公司 一种针对NAND Flash烧录文件的生成方法及相应的装置
CN103226505A (zh) * 2013-04-22 2013-07-31 华为技术有限公司 一种校验基本输入输出系统bios的方法及设备
CN103646082A (zh) * 2013-12-12 2014-03-19 北京奇虎科技有限公司 一种文件校验的方法及装置
CN103729597A (zh) * 2014-01-16 2014-04-16 宇龙计算机通信科技(深圳)有限公司 系统启动校验方法、系统启动校验装置和终端
CN103825669A (zh) * 2012-11-16 2014-05-28 华为技术有限公司 数据处理的方法和装置
WO2016167801A1 (en) * 2015-04-17 2016-10-20 Hewlett Packard Enterprise Development Lp Firmware map data

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8977859B2 (en) * 2004-05-04 2015-03-10 Elsevier, Inc. Systems and methods for data compression and decompression
US8317607B2 (en) * 2007-04-04 2012-11-27 Wms Gaming Inc. Wagering game machine digitally signed volume management
US9223982B2 (en) * 2013-03-01 2015-12-29 Intel Corporation Continuation of trust for platform boot firmware
ITMI20131824A1 (it) * 2013-11-04 2015-05-05 St Microelectronics Srl Metodo di identificare un messaggio conforme allo standard ota (over the air) ed affetto da errore
KR102186609B1 (ko) * 2014-03-07 2020-12-03 삼성전자주식회사 무결성 검증 장치를 포함하는 전자 시스템
US9569622B2 (en) * 2014-11-20 2017-02-14 Micron Technology, Inc. Self-measuring nonvolatile memory device systems and methods
US10318726B2 (en) * 2016-04-18 2019-06-11 Qualcomm Incorporated Systems and methods to provide security to one time program data
CN106776105B (zh) * 2016-11-15 2020-02-21 惠州Tcl移动通信有限公司 一种系统启动文件的校验及编译方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1561483A (zh) * 2001-09-28 2005-01-05 英特尔公司 最小单位地更新多个文件的方法
CN101807152A (zh) * 2009-02-13 2010-08-18 环旭电子股份有限公司 自我验证选择只读存储器的基本输出入系统及其验证方法
CN102722516A (zh) * 2012-01-17 2012-10-10 晨星软件研发(深圳)有限公司 一种针对NAND Flash烧录文件的生成方法及相应的装置
CN103825669A (zh) * 2012-11-16 2014-05-28 华为技术有限公司 数据处理的方法和装置
CN103226505A (zh) * 2013-04-22 2013-07-31 华为技术有限公司 一种校验基本输入输出系统bios的方法及设备
CN103646082A (zh) * 2013-12-12 2014-03-19 北京奇虎科技有限公司 一种文件校验的方法及装置
CN103729597A (zh) * 2014-01-16 2014-04-16 宇龙计算机通信科技(深圳)有限公司 系统启动校验方法、系统启动校验装置和终端
WO2016167801A1 (en) * 2015-04-17 2016-10-20 Hewlett Packard Enterprise Development Lp Firmware map data

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018090759A1 (zh) * 2016-11-15 2018-05-24 捷开通讯(深圳)有限公司 一种系统启动文件的校验及编译方法

Also Published As

Publication number Publication date
US20190163606A1 (en) 2019-05-30
EP3543858B1 (en) 2021-12-01
EP3543858A1 (en) 2019-09-25
CN106776105B (zh) 2020-02-21
WO2018090759A1 (zh) 2018-05-24
EP3543858A4 (en) 2019-12-18
US11061803B2 (en) 2021-07-13

Similar Documents

Publication Publication Date Title
CN106776105A (zh) 一种系统启动文件的校验及编译方法
CN110008136A (zh) 管理闪存模块的方法及相关的闪存控制器及电子装置
TW559695B (en) A system and method for verifying the integrity of stored information within an electronic device
CN106339247A (zh) 一种动态链接库文件的加载系统及加载方法
CN106445398A (zh) 一种基于新型存储器的嵌入式文件系统及其实现方法
CN106792699A (zh) 一种无线保真Wi‑Fi连接方法及移动终端
EP2431881A1 (en) Method and device for allocating secondary memory
CN106557308A (zh) 一种软件持续集成方法及装置
CN110287131B (zh) 一种内存管理方法及装置
CN109960534A (zh) 设备探测方法、装置、存储介质以及电子设备
CN114706533A (zh) 一种基于gpt分区表的多文件多级启动加载方法及装置
CN107193634A (zh) 一种虚拟机的访问方法及装置
CN114138402A (zh) 一种容器集群部署平台
CN107665129A (zh) 信息处理方法及存储设备
CN107908500B (zh) 一种坏块识别方法及装置
CN101571808B (zh) 提高电信智能卡生产效率的方法
CN106933749B (zh) 应用于缓存验证系统的地址随机方法和装置
CN109408505A (zh) 一种布隆过滤器的生成方法
CN101533372B (zh) 数据存取系统
CN106339270A (zh) 数据校验方法及装置
CN109101436A (zh) 数据动态寻址存储方法、装置及存储介质、终端设备
CN109361428A (zh) 一种采集器搜索电能表的方法及装置
CN107665151B (zh) 内存稳定性验证方法及装置
CN116541334B (zh) Pcie设备运行时文件的处理方法、装置和设备
CN112732361B (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