固件保护方法及装置制造方法及图纸

技术编号:18860585 阅读:20 留言:0更新日期:2018-09-05 14:12
本发明专利技术实施例提供一种固件保护方法及装置,属于固件保护领域。该方法通过计算并获得固件的当前内容中的代码段的第一校验值,然后查找到预先写入所述当前内容中的数据段中的第二校验值,其中,所述第二校验值为计算获得的所述固件的原始内容中的代码段的校验值,并预先写入所述数据段中的特征数据中,再判断所述第一校验值与所述第二校验值是否相同,在所述第一校验值与所述第二校验值不相同时,则判定所述固件已被篡改,由此可采用软件方法来判断固件是否被篡改,从而在固件的硬件防护被破解时,还有软件防护,提高了固件的安全性。

Firmware protection method and device

The embodiment of the invention provides a firmware protection method and device, belonging to the field of firmware protection. The method calculates and obtains the first check value of the code segment in the current content of the firmware, then finds a second check value written in advance in the data segment in the current content, where the second check value is the check value of the code segment in the original content of the firmware obtained by calculation, and writes the said check value in advance. In the characteristic data of the data segment, it is determined whether the first check value is the same as the second check value, and if the first check value is not the same as the second check value, then the firmware is determined to have been tampered with, thus software method can be used to determine whether the firmware has been tampered with, thus the hardware protection of the firmware is broken. Software security is also used to improve firmware security.

【技术实现步骤摘要】
固件保护方法及装置
本专利技术涉及固件保护领域,具体而言,涉及一种固件保护方法及装置。
技术介绍
固件(Firmware,固件程序)是固化在硬件设备中的软件程序,一般由硬件设备的开发商提供,在硬件设备出厂前下载到硬件中。固件一般存储于硬件设备中的电可擦除只读存储器EEPROM(ElectricallyProgrammableROM)或FLASH芯片中。固件是担任着硬件设备系统最基础最底层工作的软件。在硬件设备中,固件就是硬件设备的灵魂。一些硬件设备除了固件以外没有存储其他软件,因此固件也就决定着硬件设备的功能及性能,其重要性不言而喻。为保护固件安全,可以采用一些措施来进行保护,例如:硬防护:通过熔断熔丝、掰断引脚、刮掉芯片上的漆以使攻击者不能识别出芯片型号等从硬件层面破坏芯片结构,从而使攻击者不能访问及下载固件内容而使用的保护手段;软防护:不需要破坏硬件,通过对固件内容进行保护,以使固件达到某安全级保护手段。然而,一些不法分子,通过篡改固件代码来实现免费使用、二次销售、植入恶意代码等不法行为。现在的开发厂商,都是通过硬防护来使攻击者不能获取固件内容以及重刷固件。但是,硬防护的关键在于假定攻击者识别不出此芯片型号或攻击者没有修复被破坏的硬件部分的条件,但一旦攻击者从硬件方面将被破坏部分修复了,那么就可以为所欲为了,比如:烧断的熔丝可以被重新焊接上;掰断的引脚本也可以被连接上,只是稍微麻烦点而已;芯片上的漆被刮掉,那么可以通过编程器(里面集合了各种常用芯片的特征集合)对芯片进行特征判断。由此可见,对于固件的保护还存在着较大的问题,固件的安全性依然不高,所以,如何提高估计的安全性是目前急需解决的问题。
技术实现思路
有鉴于此,本专利技术实施例的目的在于提供一种固件保护方法及装置,以改善上述问题。第一方面,本专利技术实施例提供了一种固件保护方法,所述方法包括:计算并获得固件的当前内容中的代码段的第一校验值;查找到预先写入所述当前内容中的数据段中的第二校验值,其中,所述第二校验值为计算获得的所述固件的原始内容中的代码段的校验值,并预先写入所述数据段中的特征数据中;判断所述第一校验值与所述第二校验值是否相同;在为否时,则判定所述固件已被篡改。进一步地,计算并获得固件中的当前内容中的代码段的第一校验值,包括:采用哈希算法或CRC算法计算并获得固件的当前内容中的代码段的第一校验值。进一步地,判定所述固件已被篡改之后,所述方法还包括:启动保护措施。进一步地,所述保护措施包括:发出告警、停止所述固件运作、或毁弃所述固件。进一步地,所述启动保护措施,包括:向与所述固件连接的服务器发送生成的报警信息。第二方面,本专利技术实施例提供了一种固件保护装置,所述装置包括:计算模块,用于计算并获得固件的当前内容中的代码段的第一校验值;查找模块,用于查找到预先写入所述当前内容中的数据段中的第二校验值,其中,所述第二校验值为计算获得的所述固件的原始内容中的代码段的校验值,并预先写入所述数据段中的特征数据中;判断模块,用于判断所述第一校验值与所述第二校验值是否相同;确定模块,用于在所述判断模块判断所述第一校验值与所述第二校验值不相同时,判定所述固件已被篡改。进一步地,所述计算模块,具体用于采用哈希算法或CRC算法计算并获得固件的当前内容中的代码段的第一校验值。进一步地,所述装置还包括:保护模块,用于启动保护措施。进一步地,所述保护措施包括:发出告警、停止所述固件运作、或毁弃所述固件。进一步地,所述保护模块,具体用于向与所述固件连接的服务器发送生成的报警信息。本专利技术实施例的有益效果是:本专利技术实施例提供一种固件保护方法及装置,该方法通过计算并获得固件的当前内容中的代码段的第一校验值,然后查找到预先写入所述当前内容中的数据段中的第二校验值,其中,所述第二校验值为计算获得的所述固件的原始内容中的代码段的校验值,并预先写入所述数据段中的特征数据中,再判断所述第一校验值与所述第二校验值是否相同,在所述第一校验值与所述第二校验值不相同时,则判定所述固件已被篡改,由此可采用软件方法来判断固件是否被篡改,从而在固件的硬件防护被破解时,还有软件防护,提高了固件的安全性。本专利技术的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术实施例了解。本专利技术的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1示出了一种可应用于本申请实施例中的电子设备的结构框图;图2为本专利技术实施例提供的一种固件保护方法的流程图;图3为本专利技术实施例提供的一种固件保护装置的结构框图。具体实施方式下面将结合本专利技术实施例中附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本专利技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本专利技术的实施例的详细描述并非旨在限制要求保护的本专利技术的范围,而是仅仅表示本专利技术的选定实施例。基于本专利技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本专利技术的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。请参照图1,图1示出了一种可应用于本申请实施例中的电子设备100的结构框图。电子设备100可以包括固件保护装置、存储器101、存储控制器102、处理器103、外设接口104。所述存储器101、存储控制器102、处理器103、外设接口104各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述固件保护装置包括至少一个可以软件或固件(firmware)的形式存储于所述存储器101中或固化在所述固件保护装置的操作系统(operatingsystem,OS)中的软件功能模块。所述处理器103用于执行存储器101中存储的可执行模块,例如所述固件保护装置包括的软件功能模块或计算机程序。其中,存储器101可以是,但不限于,随机存取存储器(RandomAccessMemory,RAM),只读存储器(ReadOnlyMemory,ROM),可编程只读存储器(ProgrammableRead-OnlyMemory,PROM),可擦除只读存储器(ErasableProgrammableRead-OnlyMemory,EPROM),电可擦除只读存储器(ElectricErasableProgrammableRead-OnlyMemory,EEPROM)等。其中,存储器101用于存储程序,所述处理器103在接收到执行指令后,执行所述程序,前述本专利技术本文档来自技高网
...

【技术保护点】
1.一种固件保护方法,其特征在于,所述方法包括:计算并获得固件的当前内容中的代码段的第一校验值;查找到预先写入所述当前内容中的数据段中的第二校验值,其中,所述第二校验值为计算获得的所述固件的原始内容中的代码段的校验值,并预先写入所述数据段中的特征数据中;判断所述第一校验值与所述第二校验值是否相同;在为否时,则判定所述固件已被篡改。

【技术特征摘要】
1.一种固件保护方法,其特征在于,所述方法包括:计算并获得固件的当前内容中的代码段的第一校验值;查找到预先写入所述当前内容中的数据段中的第二校验值,其中,所述第二校验值为计算获得的所述固件的原始内容中的代码段的校验值,并预先写入所述数据段中的特征数据中;判断所述第一校验值与所述第二校验值是否相同;在为否时,则判定所述固件已被篡改。2.根据权利要求1所述的方法,其特征在于,计算并获得固件中的当前内容中的代码段的第一校验值,包括:采用哈希算法或CRC算法计算并获得固件的当前内容中的代码段的第一校验值。3.根据权利要求2所述的方法,其特征在于,判定所述固件已被篡改之后,所述方法还包括:启动保护措施。4.根据权利要求3所述的方法,其特征在于,所述保护措施包括:发出告警、停止所述固件运作、或毁弃所述固件。5.根据权利要求3所述的方法,其特征在于,所述启动保护措施,包括:向与所述固件连接的服务器发送生成的报警信息。6.一种固件保护装置,其特征...

【专利技术属性】
技术研发人员:马涛
申请(专利权)人:北京顶象技术有限公司
类型:发明
国别省市:北京,11

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

1