CN105095767A - 基于文件数据块校验的安全启动系统与方法 - Google Patents
基于文件数据块校验的安全启动系统与方法 Download PDFInfo
- Publication number
- CN105095767A CN105095767A CN201510444450.4A CN201510444450A CN105095767A CN 105095767 A CN105095767 A CN 105095767A CN 201510444450 A CN201510444450 A CN 201510444450A CN 105095767 A CN105095767 A CN 105095767A
- Authority
- CN
- China
- Prior art keywords
- file
- test value
- proof test
- data block
- catalogue
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于文件数据块校验的安全启动系统与方法,在linux、android等智能操作系统条件下,系统启动阶段,在系统文件加载读取的同时,以文件数据块为校验单位进行系统文件数据安全校验;而不是先进行整个系统文件分区校验后,再加载系统文件;本发明节省了读取整个文件系统分区的时间,大大减少了系统启动时间;校验在读取文件缓冲的同时进行,支持分文件、分数据块的校验,支持系统差分升级;既保证了系统的安全性、又加快了系统的启动时间,并支持差分升级。
Description
技术领域
本发明涉及计算机操作系统和存储技术领域,具体涉及一种基于文件数据块校验的安全启动系统与方法。
背景技术
随着linux、android等智能操作系统在手机、机顶盒、电视上的普及,开放式软件系统已经快速应用于各种嵌入式设备,从灯泡、玩具到电视机、机器人等各种智能设备。为了保证产品能够不断扩充各种功能,这种智能设备一般都具备应用安装和卸载功能。这种开放性给用户带来了极大的方便,给产品带来了巨大的竞争力。但同时也给一些恶意软件和黑客挟制设备带来了可乘之机。如何保证设备核心系统的安全性和应用功能的灵活扩展一直是困扰智能设备的问题。目前主要的方案有以下几种方式:a)以应用安装包为单位进行校验,防止有系统权限的应用被篡改。这种校验方式安全性不够,不能保证安装的软件以各种方式获取系统权限,来进行破坏;b)启动时对整个核心系统分区中的所有文件进行校验,防止系统被篡改。这种方式安全性较高,但由于在系统启动时要进行整个系统分区进行校验,需要先读取整个分区,导致启动时间太长,用户体验不好;c)为弥补以上b)方式的不足,采用随机抽取部分数据进行校验。这种方式一定程度上加快了系统启动时间,但是由于是抽验,安全性受到影响,容易漏验。另外,b)和c)方式不支持差分升级,导致后续产品维护和升级非常困难。
发明内容
本发明克服了现有技术的不足,提供一种基于文件数据块校验的安全启动系统与方法,用于增加系统的安全性。
考虑到现有技术的上述问题,根据本发明公开的一个方面,本发明采用以下技术方案:
一种基于文件数据块校验的安全启动系统,它包括:
校验值保存文件,在智能操作系统的文件系统分区生成的情况下,以数据块为单位生成校验值,并用系统的私有key或公有key对所述校验值保存文件加密,经加密后的校验值保存在所述校验值保存文件中;在系统启动或者运行的情况下,在读取某块数据到文件缓冲区的同时对该块数据校验值进行计算,并用保存的公有key或私有key对所述校验值保存文件中对应的校验值解密,并生成校验值表,以及将计算出的校验值与保存在所述校验值保存文件中的校验值进行比较,如果比较的校验值相同,则返回数据;如果比较的校验值不同,则返回失败。
为了更好地实现本发明,进一步的技术方案是:
根据本发明的一个实施方案,每个目录下生成一个校验值保存文件,该目录下所有文件的校验值都保存在这个文件中,经加密后的校验值保存在本目录下的校验值保存文件中。
根据本发明的另一个实施方案,每个文件可生成一系列的加密校验值。
根据本发明的另一个实施方案,数据块的大小与文件系统的缓冲块大小一致或保持一定比例。
根据本发明的另一个实施方案,在读取某块数据进程文件的情况下,将该打开文件的数据块校验值信息存储于文件的控制块中,供后续校验使用。
根据本发明的另一个实施方案,所述智能操作系统在为android系统的情况下,包括:
系统镜像生成:
a)整个系统编译完成后,会在out目录下聚集所有需要生成系统分区镜像的文件;
b)Out目录文件生成完成后,利用工具遍历系统分区的所有目录;
c)在每个目录下计算文件的数据块校验值,并用私有key进行加密;
d)将加密后的文件数据块校验值保存在该目录下的校验值保存文件中;
e)将out目录下的文件生成系统分区镜像。
根据本发明的另一个实施方案,所述智能操作系统在为android系统的情况下,包括:
差分升级:
生成差分升级包时,将有文件变化目录下的校验值保存文件拷贝到差分包中;
差分升级时,按android标注流程替换和合并完文件后,将该目录下的校验值保存文件拷贝进该目录下。
本发明还可以是:
一种基于文件数据块校验的安全启动方法,它包括:
(Ⅰ)在智能操作系统的文件系统分区生成的情况下,以数据块为单位生成校验值,并用系统的私有key或公有key对所述校验值加密,该校验值存储在所述校验值保存文件内;
(Ⅱ)在系统启动或者运行的情况下,在读取某块数据到文件缓冲区的同时对该块数据校验值进行计算,并用保存的公有key或私有key对所述校验值保存文件中对应校验值解密;
(Ⅲ)将计算出的校验值与保存在所述校验值保存文件中的校验值进行比较,如果比较的校验值相同,则返回数据;如果比较的校验值不同,则返回失败。
根据本发明的另一个实施方案,在每个目录下保存一个当前目录下所有文件的数据块的校验值列表。
根据本发明的另一个实施方案,系统加载文件时,定位到某个目录下时,先加载校验值文件,生成文件校验值表,并进行缓冲。
与现有技术相比,本发明的有益效果之一是:
本发明的一种基于文件数据块校验的安全启动系统与方法,在linux、android等智能操作系统条件下,系统启动阶段,在系统文件加载读取的同时,以文件数据块为校验单位进行系统文件数据安全校验;而不是先进行整个系统文件分区校验后,再加加载系统文件;本发明节省了读取整个文件系统分区的时间,大大减少了系统启动时间;校验在读取文件缓冲的同时进行,支持分文件、分数据块的校验,支持系统差分升级;既保证了系统的安全性、又加快了系统的启动时间,并支持差分升级。
附图说明
为了更清楚的说明本申请文件实施例或现有技术中的技术方案,下面将对实施例或现有技术的描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅是对本申请文件中一些实施例的参考,对于本领域技术人员来讲,在不付出创造性劳动的情况下,还可以根据这些附图得到其它的附图。
图1示出了根据本发明一个实施例的文件数据块签名生成流程示意图。
图2示出了根据本发明一个实施例的文件加载签名校验流程示意图。
图3示出了根据本发明另一个实施例的文件加载签名校验流程示意图。
具体实施方式
下面结合实施例对本发明作进一步地详细说明,但本发明的实施方式不限于此。
以下实施例结合附图1、图2和图3对本发明做进一步说明:
一种基于文件数据块校验的安全启动方法,具体内容包括:
(1)文件系统分区生成后,按文件计算每个数据块(块的大小与文件系统的缓冲块大小一致或保持一定比例)的校验值,并用系统的私有key(一般由设备生产商或设备拥有者生成)进行加密。每个文件生成一系列的加密校验值。
(2)每个目录下生成一个加密校验值保存文件,该目录下所有文件的校验值保存在这个文件中。
(3)当对某个目录下的文件进行加载时,先读取该目录下的文件校验值文件,并用存储在设备中的公有key进行解密,同时生成该目录下的文件数据块校验值列表(可做缓冲)。
(4)将打开文件的校验值信息存储于文件的控制块中,供后续校验使用。
(5)在读取某块数据进文件缓冲的同时进行该块数据校验值计算,将计算出的校验值与保存的校验值进行比较。如果校验值相同,则返回数据;如果校验值不同,则返回失败。
即在系统启动阶段,系统分区文件缓存读取同时按数据块为单位,进行安全校验,不同于其它已经公布的在系统启动前先单独对系统分区进行整体校验后,才启动加载系统软件。可以有效缩短校验时间,且无遗漏。并且提出了生成校验值表文件的新方法。
以该方法应用于android设备举例,具体实施方式如下:
(1)系统镜像生成:
a)整个系统编译完成后,会在out目录下聚集所有需要生成系统分区镜像的文件(android系统编译标准流程)。
b)Out目录文件生成完成后,利用工具遍历系统分区的所有目录,执行第c)、d)步。
c)在每个目录下计算文件的数据块校验值,并用私有key进行加密。
d)将加密后的文件数据块校验值保存在该目录下的校验文件中。
e)将out目录下的文件生成系统分区镜像(android系统编译标准流程)。
(2)差分升级:
a)系统编译处理流程跟系统镜像生成流程一样。
b)生成差分升级包时,将有文件变化目录下的校验值文件拷贝到差分包中。
c)差分升级时,按android标注流程替换和合并完文件后,将该目录下的校验值文件拷贝进该目录下。
(3)系统启动校验:
a)修改kernel文件系统加载部分(针对需要保护的系统分区):
i.当执行文件打开时,判断是否已经生成该目录下的文件数据块校验值表。如果没有则执行如下步骤。
读取该文件所在目录下的校验值保存文件。
利用设备中保存的公有key进行校验值解密,并生成校验值表。
如果解密错误,则打开文件失败。
将该文件的数据块校验值信息保存在文件控制块中。
ii.当执行文件读取操作时,在读取一块数据到缓冲区后,立即进行数据校验值计算。
iii.将计算出的校验值与校验值表中对应的校验值进行比较。如果成功,则将数据正常返回给调用者。如果失败,则返回错误。
b)启动流程按android标准流程,无需修改。
c)启动过程中或者系统运行中,如果出现校验值与保存的校验值不匹配,则出现文件打开或读错误,触发系统启动终止或系统运行过程中报警,并可采取后续措施,如关机或重启进入后台升级。
其他设备软件系统可参照这种模式进行。
综上所述,本发明的安全启动文件数据块校验方法,在系统分区文件数据加载时,变加载缓存,边进行文件数据校验,节省系统启动时间,提高用户体验;数据校验按照不同文件、不同分数据块进行,可支持单个文件升级(差分升级);文件数据校验按块进行,在进行文件校验时不需要预先读取整个文件来计算校验值;为了存储文件数据校验值,在每个目录下保存一个当前目录下所有文件的数据块的校验值列表;系统加载文件时,定位到某个目录下时,先加载校验值文件,生成文件校验值表,并进行缓冲。加快后续文件加载时的操作。
本发明在系统启动阶段,系统分区文件缓存读取同时,按数据块为单位,进行安全校验,不同于其它已经公布的先单独对系统分区进行整体校验后,再进行系统文件加载的做法。
本发明的基于文件数据块校验的安全启动系统与方法可应用但不限于各种智能设备、嵌入式软件系统等。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同相似部分相互参见即可。
在本说明书中所谈到的“一个实施例”、“另一个实施例”、“实施例”、等,指的是结合该实施例描述的具体特征、结构或者特点包括在本申请概括性描述的至少一个实施例中。在说明书中多个地方出现同种表述不是一定指的是同一个实施例。进一步来说,结合任一实施例描述一个具体特征、结构或者特点时,所要主张的是结合其他实施例来实现这种特征、结构或者特点也落在本发明的范围内。
尽管这里参照本发明的多个解释性实施例对本发明进行了描述,但是,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请公开的原则范围和精神之内。更具体地说,在本申请公开和权利要求的范围内,可以对主题组合布局的组成部件和/或布局进行多种变型和改进。除了对组成部件和/或布局进行的变型和改进外,对于本领域技术人员来说,其他的用途也将是明显的。
Claims (10)
1.一种基于文件数据块校验的安全启动系统,其特征在于它包括:
校验值保存文件,用于在智能操作系统的文件系统分区生成的情况下,以数据块为单位生成校验值,并用系统的私有key或公有key对所述校验值加密,该校验值加密后存储在所述校验值保存文件内;在读取某块数据到文件缓冲区的同时对该块数据校验值进行计算,并用保存的公有key或私有key对所述校验值保存文件中对应的校验值进行解密,以及将计算出的校验值与保存在所述校验值保存文件中的校验值进行比较,如果比较的校验值相同,则返回数据;如果比较的校验值不同,则返回失败。
2.根据权利要求1所述的基于文件数据块校验的安全启动系统,其特征在于每个目录下生成一个校验值保存文件,该目录下所有文件的校验值都保存在这个文件中。
3.根据权利要求1所述的基于文件数据块校验的安全启动系统,其特征在于每个文件生成一系列的加密校验值。
4.根据权利要求1所述的基于文件数据块校验的安全启动系统,其特征在于数据块的大小与文件系统的缓冲块大小一致或保持一定比例。
5.根据权利要求1所述的基于文件数据块校验的安全启动系统,其特征在于在读取文件数据块的同时用保存在校验值中对应的加密校验值进行数据校验。
6.根据权利要求1所述的基于文件数据块校验的安全启动系统,其特征在于所述智能操作系统在为android系统的情况下,包括:
系统镜像生成:
a)整个系统编译完成后,会在out目录下聚集所有需要生成系统分区镜像的文件;
b)Out目录文件生成完成后,利用工具遍历系统分区的所有目录;
c)在每个目录下计算文件的数据块校验值,并用私有key进行加密;
d)将加密后的文件数据块校验值保存在该目录下的校验值保存文件中;
e)将out目录下的文件生成系统分区镜像。
7.根据权利要求1所述的基于文件数据块校验的安全启动系统,其特征在于所述智能操作系统在为android系统的情况下,包括:
差分升级:
生成差分升级包时,将有文件变化目录下的校验值保存文件拷贝到差分包中;
差分升级时,按android标注流程替换和合并完文件后,将该目录下的校验值保存文件拷贝进该目录下。
8.一种基于文件数据块校验的安全启动方法,其特征在于它包括:
(Ⅰ)在智能操作系统的文件系统分区生成的情况下,以数据块为单位生成校验值,并用系统的私有key或公有key进行加密,该校验值加密后存储在所述校验值保存文件内;
(Ⅱ)在系统启动或者运行的情况下,在读取某块数据到文件缓冲区的同时对该块数据校验值进行计算,并用保存的公有key或私有key对所述保存在校验值保存文件中对应的校验值解密;
(Ⅲ)将计算出的校验值与保存在所述校验值保存文件中的校验值进行比较,如果比较的校验值相同,则返回数据;如果比较的校验值不同,则返回失败。
9.根据权利要求8所述的基于文件数据块校验的安全启动方法,其特征在于在每个目录下保存一个当前目录下所有文件的数据块的校验值列表。
10.根据权利要求8所述的基于文件数据块校验的安全启动方法,其特征在于系统加载文件时,定位到某个目录下时,先加载校验值文件,生成文件校验值表,并进行缓冲。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510444450.4A CN105095767A (zh) | 2015-07-27 | 2015-07-27 | 基于文件数据块校验的安全启动系统与方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510444450.4A CN105095767A (zh) | 2015-07-27 | 2015-07-27 | 基于文件数据块校验的安全启动系统与方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105095767A true CN105095767A (zh) | 2015-11-25 |
Family
ID=54576173
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510444450.4A Pending CN105095767A (zh) | 2015-07-27 | 2015-07-27 | 基于文件数据块校验的安全启动系统与方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105095767A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105608150A (zh) * | 2015-12-17 | 2016-05-25 | 浪潮电子信息产业股份有限公司 | 一种业务数据的处理方法及系统 |
CN105701408A (zh) * | 2015-12-31 | 2016-06-22 | 深圳市证通电子股份有限公司 | 基于FatFs的加密文件系统及其实现方法 |
CN106294020A (zh) * | 2016-08-11 | 2017-01-04 | 青岛海信宽带多媒体技术有限公司 | 安卓系统应用分区文件保护方法及终端 |
CN108229173A (zh) * | 2016-12-13 | 2018-06-29 | 北京小米移动软件有限公司 | 系统启动的方法及装置 |
CN110058952A (zh) * | 2018-01-18 | 2019-07-26 | 株洲中车时代电气股份有限公司 | 一种嵌入式设备文件的校验方法及系统 |
CN110309080A (zh) * | 2019-06-28 | 2019-10-08 | 兆讯恒达微电子技术(北京)有限公司 | 一种提高缓存数据装载速度的方法 |
CN111400771A (zh) * | 2020-02-19 | 2020-07-10 | 展讯通信(上海)有限公司 | 目标分区的校验方法及装置、存储介质、计算机设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103309712A (zh) * | 2013-06-25 | 2013-09-18 | 惠州Tcl移动通信有限公司 | 一种手机软件升级方法及其系统 |
CN103488952A (zh) * | 2013-09-24 | 2014-01-01 | 华为技术有限公司 | 文件完整性验证方法及文件处理器 |
CN103559057A (zh) * | 2013-11-06 | 2014-02-05 | 广东小天才科技有限公司 | 一种嵌入式系统加载启动方法及装置 |
-
2015
- 2015-07-27 CN CN201510444450.4A patent/CN105095767A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103309712A (zh) * | 2013-06-25 | 2013-09-18 | 惠州Tcl移动通信有限公司 | 一种手机软件升级方法及其系统 |
CN103488952A (zh) * | 2013-09-24 | 2014-01-01 | 华为技术有限公司 | 文件完整性验证方法及文件处理器 |
CN103559057A (zh) * | 2013-11-06 | 2014-02-05 | 广东小天才科技有限公司 | 一种嵌入式系统加载启动方法及装置 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105608150A (zh) * | 2015-12-17 | 2016-05-25 | 浪潮电子信息产业股份有限公司 | 一种业务数据的处理方法及系统 |
CN105701408A (zh) * | 2015-12-31 | 2016-06-22 | 深圳市证通电子股份有限公司 | 基于FatFs的加密文件系统及其实现方法 |
CN106294020A (zh) * | 2016-08-11 | 2017-01-04 | 青岛海信宽带多媒体技术有限公司 | 安卓系统应用分区文件保护方法及终端 |
CN106294020B (zh) * | 2016-08-11 | 2020-02-07 | 青岛海信宽带多媒体技术有限公司 | 安卓系统应用分区文件保护方法及终端 |
CN108229173A (zh) * | 2016-12-13 | 2018-06-29 | 北京小米移动软件有限公司 | 系统启动的方法及装置 |
CN108229173B (zh) * | 2016-12-13 | 2022-08-19 | 北京小米移动软件有限公司 | 系统启动的方法及装置 |
CN110058952A (zh) * | 2018-01-18 | 2019-07-26 | 株洲中车时代电气股份有限公司 | 一种嵌入式设备文件的校验方法及系统 |
CN110058952B (zh) * | 2018-01-18 | 2022-08-19 | 株洲中车时代电气股份有限公司 | 一种嵌入式设备文件的校验方法及系统 |
CN110309080A (zh) * | 2019-06-28 | 2019-10-08 | 兆讯恒达微电子技术(北京)有限公司 | 一种提高缓存数据装载速度的方法 |
CN110309080B (zh) * | 2019-06-28 | 2021-04-09 | 兆讯恒达科技股份有限公司 | 一种提高缓存数据装载速度的方法 |
CN111400771A (zh) * | 2020-02-19 | 2020-07-10 | 展讯通信(上海)有限公司 | 目标分区的校验方法及装置、存储介质、计算机设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105095767A (zh) | 基于文件数据块校验的安全启动系统与方法 | |
US9092598B2 (en) | Version-based software product activation | |
US8782388B2 (en) | Information processing apparatus, method, and computer-readable storage medium that encrypt data in a blob based on a hash value | |
US11221838B2 (en) | Hot update method, operating system, terminal device, system, and computer-readable storage medium for a system process | |
CN107770622B (zh) | 一种更新Linux系统中文件的方法 | |
US20160275019A1 (en) | Method and apparatus for protecting dynamic libraries | |
CN112783537B (zh) | 基于MTD存储设备的嵌入式linux操作系统升级方法及系统 | |
CN111082926B (zh) | 密钥同步方法及系统 | |
CN105511911A (zh) | 系统固件升级包的生成方法及装置 | |
KR20140068867A (ko) | 부팅 프로세스 동안 구성요소들을 인증하기 위한 시스템 및 방법 | |
CN109445705B (zh) | 固件认证方法及固态硬盘 | |
CN104636171A (zh) | 升级的方法、装置及移动终端 | |
CN103377054A (zh) | 启动方法和启动装置 | |
US20200233676A1 (en) | Bios management device, bios management system, bios management method, and bios management program-stored recording medium | |
CN106033362A (zh) | 一种闪存分区的处理方法和装置 | |
US8874927B2 (en) | Application execution system and method of terminal | |
JP5013352B2 (ja) | 情報生成システム及びその方法 | |
US11366911B2 (en) | Cryptography module and method for operating same | |
CN103425932A (zh) | 签名校验方法和终端设备 | |
CN114547618A (zh) | 基于Linux系统的安全启动方法、装置、电子设备及存储介质 | |
CN111400771A (zh) | 目标分区的校验方法及装置、存储介质、计算机设备 | |
CN106650455B (zh) | 一种系统安全启动方法及装置 | |
CN107360167B (zh) | 一种认证方法及装置 | |
KR102402373B1 (ko) | 정보 처리 장치 및 정보 처리 방법 | |
JP2019003286A (ja) | 情報処理方法、情報処理装置、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20151125 |