CN111400771A - 目标分区的校验方法及装置、存储介质、计算机设备 - Google Patents

目标分区的校验方法及装置、存储介质、计算机设备 Download PDF

Info

Publication number
CN111400771A
CN111400771A CN202010102972.7A CN202010102972A CN111400771A CN 111400771 A CN111400771 A CN 111400771A CN 202010102972 A CN202010102972 A CN 202010102972A CN 111400771 A CN111400771 A CN 111400771A
Authority
CN
China
Prior art keywords
file
target partition
standard
verification
list file
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
Application number
CN202010102972.7A
Other languages
English (en)
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.)
Spreadtrum Communications Shanghai Co Ltd
Original Assignee
Spreadtrum Communications Shanghai 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 Spreadtrum Communications Shanghai Co Ltd filed Critical Spreadtrum Communications Shanghai Co Ltd
Priority to CN202010102972.7A priority Critical patent/CN111400771A/zh
Publication of CN111400771A publication Critical patent/CN111400771A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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/602Providing cryptographic facilities or services
    • 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/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

一种目标分区的校验方法及装置、存储介质、计算机设备,所述方法包括:获取目标分区的列表文件以及所述列表文件对应的标准校验数据,所述列表文件记载有所述目标分区中存储的部分文件各自的校验值;对列表文件进行校验计算以得到当前校验数据,并比较所述当前校验数据与所述标准校验数据;如果所述当前校验数据与所述标准校验数据一致,则对所述部分文件进行校验计算以得到各个文件的当前校验值;当每一文件的当前校验值都与所述列表文件中记载的相应文件的校验值一致时,则所述目标分区校验通过。通过该方法,在可以保证***分区完整性的同时不会影响设备的性能。

Description

目标分区的校验方法及装置、存储介质、计算机设备
技术领域
本发明涉及数据安全领域,具体地涉及一种目标分区的校验方法及装置、存储介质、计算机设备。
背景技术
当前使用的智能设备中,安卓(Android)***应用广泛。在Android设备上,如果***分区遭到恶意程序的篡改(比如被root),将会给用户带来危险性,需要对***分区做保护。Android平台现有的针对设备中的块(block)的完整性检查功能(dm-verity),如在设备开机阶段,由于需要校验目标设备的所有块(block),会导致设备性能下降(在读取块操作时会增加校验的动作),尤其是在低RAM的设备上,性能下降特别明显,无法在“安全性”和“性能”之间达成一个很好的平衡点。
发明内容
本发明解决的技术问题是如何在可以保证***分区完整性的同时不会影响设备的性能。
为解决上述技术问题,本发明实施例提供一种目标分区的校验方法,所述方法包括:获取目标分区的列表文件以及所述列表文件对应的标准校验数据,所述列表文件记载有所述目标分区中存储的部分文件各自的校验值;对列表文件进行校验计算以得到当前校验数据,并比较所述当前校验数据与所述标准校验数据;如果所述当前校验数据与所述标准校验数据一致,则对所述部分文件进行校验计算以得到各个文件的当前校验值;当每一文件的当前校验值都与所述列表文件中记载的相应文件的校验值一致时,则所述目标分区校验通过。
可选的,所述获取所述列表文件的标准校验数据包括:获取加密的标准校验数据,并对加密的标准校验数据进行解密,得到所述标准校验数据。
可选的,所述加密的标准校验数据包含在***映像包中,所述***映像包是预先编译得到的,并在设备开机前被下载至所述设备。
可选的,所述列表文件的存储分区与所述目标分区不同。
可选的,所述目标分区为安卓设备的***分区。
可选的,若接收到安卓设备的开机指令,则执行所述获取目标分区的列表文件以及所述列表文件的标准校验数据;所述目标分区校验通过之后,还包括:执行所述安卓设备的开机操作。
可选的,所述方法还包括:如果所述当前校验数据与所述标准校验数据不一致,则所述目标分区校验不通过;或者当至少一个文件的当前校验值与所述列表文件中记载的相应文件的校验值不一致时,所述目标分区校验不通过。
本发明实施例还提供一种目标分区的校验方法,所述方法包括:在对目标分区的文件进行编译时,从所述目标分区的文件中选取部分文件;对选取的文件进行校验计算以得到各个文件的标准校验值;将选取的文件对应的标准校验值存储到列表文件中;对所述列表文件进行校验计算得到标准校验数据。
可选的,所述对所述列表文件进行校验计算得到标准校验数据之后,还包括:对所述标准校验数据进行加密。
可选的,所述对所述标准校验数据进行加密之后,还包括:通过编译生成***映像包,将加密的标准校验数据包含于所述***映像包中。
本发明实施例还提供一种目标分区的校验装置,所述装置包括:标准校验数据获取模块,用于获取目标分区的列表文件以及所述列表文件的标准校验数据,所述列表文件记载有所述目标分区中存储的部分文件各自的校验值;列表校验模块,用于对列表文件进行校验计算以得到当前校验数据,并比较所述当前校验数据与所述标准校验数据;文件校验模块,用于如果所述当前校验数据与所述标准校验数据一致,则对所述部分文件进行校验计算以得到各个文件的当前校验值;校验通过模块,用于当每一文件的当前校验值都与所述列表文件中记载的相应文件的校验值一致时,则所述目标分区校验通过。
本发明实施例还提供一种目标分区的校验装置,所述装置包括:文件选取模块,用于在对目标分区进行编译时,从所述目标分区中选取部分文件;文件加密模块,用于对选取的文件进行校验计算以得到各个文件的标准校验值;列表文件生成模块,用于将选取的文件对应的标准校验值存储到列表文件中;标准校验数据获取模块,用于对所述列表文件进行校验计算得到标准校验数据;其中,所述列表文件的标准校验数据被传输至待校验的设备,以供所述设备利用所述标准校验数据对所述设备的目标分区进行校验。
本发明实施例还提供一种存储介质,其上存储有计算机指令,所述计算机指令运行时执行上述方法的步骤。
本发明实施例还提供一种计算机设备,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行上述方法的步骤。
与现有技术相比,本发明实施例的技术方案具有以下有益效果:
本发明实施例提供一种目标分区的校验方法,所述方法包括:获取目标分区的列表文件以及所述列表文件对应的标准校验数据,所述列表文件记载有所述目标分区中存储的部分文件各自的校验值;对列表文件进行校验计算以得到当前校验数据,并比较所述当前校验数据与所述标准校验数据;如果所述当前校验数据与所述标准校验数据一致,则对所述部分文件进行校验计算以得到各个文件的当前校验值;当每一文件的当前校验值都与所述列表文件中记载的相应文件的校验值一致时,则所述目标分区校验通过。较之现有技术,本发明中的目标分区校验方法,通过对目标分区中的部分需校验的文件分别进行校验,以保证对应文件未被篡改;并通过对存储目标分区中所有需校验文件的校验值的列表文件进行校验,保证该目标分区中文件的完整性。另外通过对目标分区中的部分文件而非所有文件进行校验,可减小校验时设备的计算量,避免由于文件校验影响设备的性能。
进一步地,服务器侧将列表文件的标准校验数据单独保存在标准文件中,并对标准校验数据进行加密,并将相关的加密信息进行签名得到签名文件。终端从服务器侧获取签名文件和加密的标准校验数据,对加密的标准校验数据进行解密,获取标准校验数据。通过加密和签名的操作,保证服务器与终端之间数据传输的安全性。
进一步地,用于对目标分区进行校验的列表文件以及标准校验数据可在终端上存储于目标分区不同的分区上,也即用于对目标分区进行校验的信息不存储于目标分区中。避免列表文件以及标准校验数据由于目标分区被篡改而被篡改,提高文件的安全性。
进一步地,当目标分区为设备的***分区,且目标分区的校验发生于安卓设备开机时,当目标分区校验不通过,则设备无法正常开机。可在设备的输出端,如电脑或手机等的显示屏,输出启动出错的信息。
本发明实施例提供的目标分区的校验方法,所述方法包括:在对目标分区的文件进行编译时,从所述目标分区的文件中选取部分文件;对选取的文件进行校验计算以得到各个文件的标准校验值;将选取的文件对应的标准校验值存储到列表文件中;对所述列表文件进行校验计算得到标准校验数据。较之现有技术,该方法能够在服务器侧对目标分区的文件进行编译时,从中选取部分文件作为需校验的文件,并规定了校验的流程。当终端从服务器获取目标分区的文件,并将其存储到终端的目标分区时,可对目标分区的文件进行校验,保证目标分区的文件未被篡改,终端能够正常运行该目标分区的文件。同时,对服务器而言,仅对目标分区的文件中的一部分进行加密,也节省了服务器侧加密时的计算量,并早编译阶段节省了运行该目标分区的文件的设备的运行空间。
附图说明
图1是本发明实施例的一种目标分区的校验方法的流程示意图;
图2是本发明实施例的一种目标分区的校验方法的应用示意图;
图3是本发明一应用实例的在设备开机时进行***分区的校验方法的流程示意图;
图4是本发明实施例的一种目标分区的校验方法的流程示意图;
图5是本发明一应用实例的目标分区的校验方法的流程示意图;
图6是本发明实施例的一种目标分区的校验装置的结构示意图;
图7是本发明实施例的一种目标分区的校验装置的结构示意图。
具体实施方式
如背景技术所言,现有技术中安卓设备的***分区在进行安全校验时,无法实现在可以保证***分区完整性的同时不会影响设备的性能。
传统地,device-mapper-verity(简称dm-verity)内核功能进行的验证启动,以便对块设备进行透明的完整性检查。在dm-verity中虚拟了一个块设备,当对块数据进行读取时会首先进行哈希计算,并与预先计算好的哈希树进行校验,如果匹配则读取成功,否则会生成一个读取的I/O错误,以此达到对数据完整性校验的目的。这棵预先计算好的哈希树包含了要校验的目标设备的所有块,对于每个块(一般容量是4k)有一个SHA256散列(32字节),它存储在树的叶子节点。树的中间节点则是对这些叶节点的再次SHA256散列(还是以4k为一个单位),通过这样多次反复的哈希计算,直到得出唯一的一个哈希值为止,这个唯一的数值称为根哈希(Root Hash)。那么基于散列的特性,当任意一个block有任意的变化,都会导致Root Hash数值的变化。
基于以上过程不难看出,为了确保数据的安全性,在设备开机过程中需要校验所有块的完整性,在运行态需要实时监测每个块的完整性,这样将会带来较大的计算开销,从而影响设备的性能,最终影响消费者的使用体验。
针对现有功能无法在安全性和使用体验之间达到一个平衡点,本发明提供了一种轻量级的***分区保护方法,仅通过保护指定的位于***分区上的文件(一般指定的为***核心文件)方式来达到保护***分区完整性的目的。在用户启动设备时能确保设备状态与上次使用时相同,同时又不影响设备的性能。
具体地,本发明实施例提供一种目标分区的校验方法,所述方法包括:获取目标分区的列表文件以及所述列表文件的标准校验数据,所述列表文件记载有所述目标分区中存储的部分文件各自的校验值;对列表文件进行校验计算以得到当前校验数据,并比较所述当前校验数据与所述标准校验数据;如果所述当前校验数据与所述标准校验数据一致,则对所述部分文件进行校验计算以得到各个文件的当前校验值;当每一文件的当前校验值都与所述列表文件中记载的相应文件的校验值一致时,则所述目标分区校验通过。
通过此方法,可以在保证***分区完整性的同时不会影响设备的性能。
为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
具体地,请参见图1,图1为一实施例中目标分区校验方法的流程图,该方法可以用用于待校验的设备,例如智能手机、平板电脑等,该设备上可以安装有操作***,例如安卓***。进一步而言,该方法可以包括如下步骤:
步骤S101,获取目标分区的列表文件以及所述列表文件的标准校验数据,所述列表文件记载有所述目标分区中存储的部分文件各自的校验值。
其中,目标分区为需进行安全校验的分区,该分区中存在多个文件,当需要校验目标分区中文件是否完整以及是否被篡改时,可采用本发明的目标分区校验方法。在一个非限定的实施例中,目标分区为智能终端的***分区,如安卓系设备的/system分区。
列表文件用于存储目标分区中的部分文件的校验值,其存储内容可以为文件标识(如文件名等)与该文件对应的校验值;列表文件中存储的校验值为在编译阶段对目标分区的部分文件进行校验计算得到的各个文件的校验值,用于在校验阶段对该部分文件分别进行校验。其中,部分文件指的是目标分区中存储的全部文件的一部分。可选的,列表文件可以采用文本文件(textfile,简称txt)或网页文件(如超文本标记语言(the HypertextMarkup Language,简称HTML)文件)等可识别的文件格式。
文件的校验值为对该文件进行校验计算得到的值,用于表示该文件的特性。文件的校验值可以字符串的形式存储与列表文件中。
标准校验数据为在编译阶段,由开发商对目标分区的列表文件进行校验计算得到的校验数据。对列表文件进行校验计算,可为计算列表文件对应的哈希值。
在执行对目标分区进行校验时,先应获取用于校验的列表文件以及编译阶段得到的该列表文件的标准校验数据。仅从目标分区选取部分文件而非全部文件进行校验计算,能够大大节省设备在文件校验时的计算量。目标分区中选取的文件可由目标分区中文件的开发商在编译阶段根据需求设置。
步骤S102,对列表文件进行校验计算以得到当前校验数据。
在获取列表文件后,先对该列表文件进行与当前校验数据相同的校验计算,得到当前校验数据。其中,对列表文件进行校验计算的算法可采用哈希算法,如计算其md5值。
步骤S103,比较所述当前校验数据与所述标准校验数据。
如果所述当前校验数据与所述标准校验数据一致,则执行步骤S104,对所述部分文件进行校验计算以得到各个文件的当前校验值。
对本次校验计算得到的当前校验数据与编译阶段的标准校验数据相对比,若二者一致,则可证明该列表文件未被篡改,则该列表文件中的内容作为对目标分区的文件进行校验的依据。继续执行步骤S104,对目标文件中需校验的部分文件再次进行校验计算,得到各个文件的当前校验值。其中,对需校验的部分文件进行校验计算的算法可采用各种计算哈希值的算法,如计算其md5值。
步骤S105,分别比较每一文件的当前校验值与所属列表文件中记载的相应文件的校验值。
当每一文件的当前校验值都与所述列表文件中记载的相应文件的校验值一致时,则执行步骤S106,所述目标分区校验通过。
比较每一文件的当前校验值与列表文件中存储的该文件的校验值是否一致,若一致,则说明该文件与编译阶段的文件一致,未发生篡改,目标分区校验通过。
该目标分区校验方法,通过对目标分区中的部分需校验的文件分别进行校验,以保证对应文件未被篡改;并通过对存储目标分区中所有需校验文件的校验值的列表文件进行校验,保证该目标分区中文件的完整性。另外通过对目标分区中的部分文件而非所有文件进行校验,可减小校验时设备的计算量,避免由于文件校验影响设备的性能。
请参见图2,图2是本发明实施例的一种目标分区校验方法的应用图。其中,终端201通过网络与服务器202进行通信,终端201从服务器202获取目标分区中的文件、列表文件和列表文件的标准校验数据,执行图1中的目标分区的校验方法。其中,终端201可以但不限于是各种个人计算机、笔记本电脑、智能手机和平板电脑,服务器202可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,请继续参见图1,图1中的步骤S101中获取所述列表文件的标准校验数据,包括:获取加密的标准校验数据,并对所述加密的标准校验数据进行解密,以得到所述标准校验数据。
在编译阶段,服务器侧对该标准校验数据进行加密得到加密的标准校验数据。在校验阶段,终端获取加密的标准校验数据,对其进行解密得到标准校验数据。
对标准校验数据进行加密和解密的操作,可通过openssl命令实现。其中,openssl协议是为网络通信提供安全及数据完整性的一种安全协议,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及安全套接层(Secure Socket Layer,简称SSL))协议。其加密算法可为公钥加密算法RSA算法,对应的公钥可设定为rsa.key。
可选的,所述对所述加密的标准校验数据进行解密之前,还包括:获取签名文件,所述签名文件根据对加密的标准校验数据的加密算法的信息和秘钥进行签名得到;根据所述签名文件获取加密的标准校验数据的加密算法的信息和秘钥,继续所述对所述加密的标准文件进行解密。
根据openssl命令和RSA算法对标准校验数据进行加密时的公钥为rsa.key,服务器侧可对加密算法的信息(如定义为sec_openssl)和公钥rsa.key进行签名,得到签名文件file.sign。终端可通过从服务器获取签名文件从而获取加密的标准校验数据的加密算法和秘钥,执行对加密的标准校验数据进行解密。
本实施例中,服务器侧将列表文件的标准校验数据单独保存在标准文件中,并对标准校验数据进行加密,并将相关的加密信息进行签名得到签名文件。终端从服务器侧获取签名文件和加密的标准校验数据,对加密的标准校验数据进行解密,获取标准校验数据。通过加密和签名的操作,保证服务器与终端之间数据传输的安全性。
在一个实施例中,所述加密的标准校验数据包含在***映像包中,所述***映像包是预先编译得到的,并在设备开机前被下载至所述设备。
其中,***映像包在设备开机前被下载至设备的目标分区中,该***映像包中可包含***文件(如安卓***的system img文件),还可包含加密的标准校验数据。可选的,当存在签名文件时,***映像包还可包括签名文件。本实施中的设备即为图2中的终端201。
可选的,所述列表文件以及标准校验数据的存储分区与所述目标分区不同。
用于对目标分区进行校验的列表文件以及标准校验数据可在终端上存储于目标分区不同的分区中,也即用于对目标分区进行校验的信息不存储于目标分区中。避免列表文件以及标准校验数据由于目标分区被篡改而被篡改,提高文件的安全性。
在一个实施例中,目标分区为安卓设备的***分区,也即/system分区。可选的,若接收到安卓设备的启动开机指令,则开始执行图1中的步骤S101所述获取目标分区的列表文件以及所述列表文件的标准校验数据;当根据步骤S106中所述目标分区校验通过之后,还包括:运行执行所述安卓设备的开机操作。
在该实施例中,对安卓设备开机时,该设备根据图1中的步骤S101值S106进行***分区的校验,当校验通过时,即启动该安卓设备,从而实现设备的安全启动。
在一个实施例中,请继续参见图1,在步骤S103比较所述当前校验数据与所述标准校验数据之后,如果所述当前校验数据与所述标准校验数据不一致,则执行步骤S107,所述目标分区校验不通过。或者,在执行步骤S105,分别比较每一文件的当前校验值与所属列表文件中记载的相应文件的校验值之后,当至少一个文件的当前校验值与所述列表文件中记载的相应文件的校验值不一致时,则执行步骤S107,所述目标分区校验不通过。
即,仅有对列表文件校验通过,且对目标分区需校验的文件全部校验通过时,该目标分区的校验为通过;否则,目标分区校验不通过。
可选的,当目标分区为设备的***分区,且目标分区的校验发生于安卓设备开机时,当目标分区校验不通过,则设备无法正常开机。可在设备的输出端,如电脑或手机等的显示屏,输出启动出错的信息。
在一个非限定的应用实例中,请参见图3,图3为一种在设备开机时进行***分区(/sytem)的校验方法的流程示意图。该方法包括以下步骤:
步骤S301,下载***映像包system img至设备,system img中包括加密的标准校验数据和签名文件file.sign;
步骤S302,对file.sign解签得到加密算法对应的文件sec_openssl和公钥rsa.key;
步骤S303,根据sec_openssl和公钥rsa.key对加密的标准校验数据进行解密,得到标准校验数据;
步骤S304,获取设备中的列表文件filelist.txt,对其进行md5运算,得到当前校验数据;
步骤S305,比较当前校验数据与标准校验数据;
当二者一致时,执行步骤S306,对设备中的***分区中待校验的文件进行md5运算,得到各个文件对应的当前校验值;当二者不一致,则执行步骤S309,设备进入重启界面,且提示错误信息;
步骤S306之后执行步骤S307,分别比较每一文件的当前校验值与filelist.txt中记载的相应文件的校验值;
当二者一致时,执行步骤S308,设备正常开机;当二者不一致,则执行步骤S309,设备进入重启界面,且提示错误信息。其中,分别比较每一文件的当前校验值与filelist.txt中记载的相应文件的校验值,当若干个文件的当前校验值存在与filelist.txt中记载的相应文件的校验值不一致时,则判定为二者不一致。
本发明实施例还提供一种目标分区的校验方法,请参见图4,该目标分区的校验方法包括:
步骤S401,在对目标分区的文件进行编译时,从所述目标分区的文件中选取部分文件;
图1至图3中的目标分区的校验方法中的编译阶段为图4中目标分区的校验方法,该方法可由图2中的服务器202侧执行。服务器侧对目标分区的文件进行编译时,从这些文件中选取部分需校验的文件,选取的文件可由开发商根据需求设定。
步骤S402,对选取的文件进行校验计算以得到各个文件的标准校验值;
在服务器侧对这些选取的文件分别进行校验计算,得到各个文件的标准校验值。服务器侧对这些选取的文件进行校验计算的算法与图1中步骤S104中终端对各个文件进行校验的算法一致。可选的,该校验算法为哈希算法,如md5算法等。
步骤S403,将选取的文件对应的标准校验值存储到列表文件中;
可选的,列表文件中可存储选取的文件的标识(如文件名等)和该文件对应的标准校验值。
步骤S404,对所述列表文件进行校验计算得到标准校验数据;
其中,所述列表文件的标准校验数据被传输至待校验的设备,以供所述设备利用所述标准校验数据对所述设备的目标分区进行校验。
服务器侧对列表文件进行校验计算的算法与图1的步骤S102中终端对列表文件进行校验的算法一致。可选的,该校验算法为哈希算法,如md5算法等。
通过本发明中的目标分区的校验方法,能够在服务器侧对目标分区的文件进行编译时,从中选取部分文件作为需校验的文件,并规定了校验的流程。当终端(即待校验的设备)从服务器获取目标分区的文件,并将其存储到终端的目标分区时,可对目标分区的文件进行校验,保证目标分区的文件未被篡改,终端能够正常运行该目标分区的文件。同时,对服务器而言,仅对目标分区的文件中的一部分进行加密,也节省了服务器侧加密时的计算量,并早编译阶段节省了运行该目标分区的文件的设备的运行空间。
在一个实施例中,图4中的步骤S404对所述列表文件进行校验计算得到标准校验数据之后,还包括:对所述标准校验数据进行加密。
在一个实施例中,所述对所述标准校验数据进行加密之后,还包括:通过编译生成***映像包,将加密的标准校验数据包含于所述***映像包中。
关于目标分区的校验方法的工作原理、工作方式的更多内容,可以参照上述图1至图3中的目标分区的校验方法中服务器侧的相关描述,这里不再赘述。
在一个非限定的应用实例中,请参见图3和图5,图5为一种***分区的加密方法为流程示意图,该方法与图3中在设备开机时进行***分区(/sytem)的校验方法的服务器侧流程。具体包括以下步骤:
步骤S501,在对***分区的文件进行编译时,从中选取部分文件。例如,选取的文件为设备端待校验的文件,如file1、file2等。
步骤S502,计算选取的文件的md5值作为该文件的校验值,把选取的文件对应的校验值保存到列表文件filelist.txt中。
步骤S503,对filelist.txt进行md5运算得到标准校验数据,根据加密算法对标准校验数据进行加密;此时的加密算法为RSA公钥加密。
步骤S504,将加密算法对应的文件sec_openssl和公钥rsa.key进行签名得到签名文件file.sign。
步骤S505,将加密的标准校验数据和签名文件file.sign生成***映像包systemimg。进一步,***映像包还可包括其他***分区文件的指示信息。
本发明实施例还提供一种目标分区的校验装置,请参见图6,所述装置包括:
标准校验数据获取模块601,用于获取目标分区的列表文件以及所述列表文件的标准校验数据,所述列表文件记载有所述目标分区中存储的部分文件各自的校验值;
列表校验模块602,用于对列表文件进行校验计算以得到当前校验数据,并比较所述当前校验数据与所述标准校验数据;
文件校验模块603,用于如果所述当前校验数据与所述标准校验数据一致,则对所述部分文件进行校验计算以得到各个文件的当前校验值;
校验通过模块604,用于当每一文件的当前校验值都与所述列表文件中记载的相应文件的校验值一致时,则所述目标分区校验通过。
关于目标分区的校验装置的工作原理、工作方式的更多内容,可以参照上述图1至图3中的相关描述,这里不再赘述。
本发明实施例还提供一种目标分区的校验装置,请参见图7,所述装置包括:
文件选取模块701,用于在对目标分区进行编译时,从所述目标分区中选取部分文件;
文件加密模块702,用于对选取的文件进行校验计算以得到各个文件的标准校验值;
列表文件生成模块703,用于将选取的文件对应的标准校验值存储到列表文件中;
标准校验数据获取模块704,用于对所述列表文件进行校验计算得到标准校验数据;
其中,所述列表文件的标准校验数据被传输至待校验的设备,以供所述设备利用所述标准校验数据对所述设备的目标分区进行校验。
关于目标分区的校验装置的工作原理、工作方式的更多内容,可以参照上述图4和图5中的相关描述,这里不再赘述。
进一步地,本发明实施例还公开一种存储介质,其上存储有计算机指令,计算机指令运行时执行上述图1至图3所示实施例中的目标分区的校验方法或图4和图5所示实施例中的目标分区的校验方法的技术方案。优选地,存储介质可以包括诸如非挥发性(non-volatile)存储器或者非瞬态(non-transitory)存储器等计算机可读存储介质。存储介质可以包括ROM、RAM、磁盘或光盘等。
进一步地,本发明实施例还公开一种计算机设备,包括存储器和处理器,存储器上存储有能够在处理器上运行的计算机指令,处理器运行计算机指令时执行上述图1至图3所示实施例中的目标分区的校验方法或图4和图5所示实施例中的目标分区的校验方法的技术方案。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于任一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

Claims (14)

1.一种目标分区的校验方法,其特征在于,所述方法包括:
获取目标分区的列表文件以及所述列表文件对应的标准校验数据,所述列表文件记载有所述目标分区中存储的部分文件各自的校验值;
对列表文件进行校验计算以得到当前校验数据,并比较所述当前校验数据与所述标准校验数据;
如果所述当前校验数据与所述标准校验数据一致,则对所述部分文件进行校验计算以得到各个文件的当前校验值;
当每一文件的当前校验值都与所述列表文件中记载的相应文件的校验值一致时,则所述目标分区校验通过。
2.当每一文件的当前校验值都与所述列表文件中记载的相应文件的校验值一致时,则所述目标分区校验通过。根据权利要求1所述的方法,其特征在于,所述获取所述列表文件的标准校验数据包括:
获取加密的标准校验数据,并对加密的标准校验数据进行解密,得到所述标准校验数据。
3.根据权利要求2所述的方法,其特征在于,所述加密的标准校验数据包含在***映像包中,所述***映像包是预先编译得到的,并在设备开机前被下载至所述设备。
4.根据权利要求1所述的方法,其特征在于,所述列表文件的存储分区与所述目标分区不同。
5.根据权利要求1所述的方法,其特征在于,所述目标分区为安卓设备的***分区。
6.根据权利要求5所述的方法,其特征在于,若接收到安卓设备的开机指令,则执行所述获取目标分区的列表文件以及所述列表文件的标准校验数据;所述目标分区校验通过之后,还包括:执行所述安卓设备的开机操作。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果所述当前校验数据与所述标准校验数据不一致,则所述目标分区校验不通过;或者
当至少一个文件的当前校验值与所述列表文件中记载的相应文件的校验值不一致时,所述目标分区校验不通过。
8.一种目标分区的校验方法,其特征在于,所述方法包括:
在对目标分区的文件进行编译时,从所述目标分区的文件中选取部分文件;
对选取的文件进行校验计算以得到各个文件的标准校验值;
将选取的文件对应的标准校验值存储到列表文件中;
对所述列表文件进行校验计算得到所述列表文件的标准校验数据;
其中,所述列表文件的标准校验数据被传输至待校验的设备,以供所述设备利用所述标准校验数据对所述设备的目标分区进行校验。
9.根据权利要求8所述的方法,其特征在于,所述对所述列表文件进行校验计算得到标准校验数据之后,还包括:
对所述标准校验数据进行加密。
10.根据权利要求9所述的方法,其特征在于,所述对所述标准校验数据进行加密之后,还包括:
通过编译生成***映像包,将加密的标准校验数据包含于所述***映像包中。
11.一种目标分区的校验装置,其特征在于,所述装置包括:
标准校验数据获取模块,用于获取目标分区的列表文件以及所述列表文件的标准校验数据,所述列表文件记载有所述目标分区中存储的部分文件各自的校验值;
列表校验模块,用于对列表文件进行校验计算以得到当前校验数据,并比较所述当前校验数据与所述标准校验数据;
文件校验模块,用于如果所述当前校验数据与所述标准校验数据一致,则对所述部分文件进行校验计算以得到各个文件的当前校验值;
校验通过模块,用于当每一文件的当前校验值都与所述列表文件中记载的相应文件的校验值一致时,则所述目标分区校验通过。
12.一种目标分区的校验装置,其特征在于,所述装置包括:
文件选取模块,用于在对目标分区进行编译时,从所述目标分区中选取部分文件;
文件加密模块,用于对选取的文件进行校验计算以得到各个文件的标准校验值;
列表文件生成模块,用于将选取的文件对应的标准校验值存储到列表文件中;
标准校验数据获取模块,用于对所述列表文件进行校验计算得到标准校验数据;
其中,所述列表文件的标准校验数据被传输至待校验的设备,以供所述设备利用所述标准校验数据对所述设备的目标分区进行校验。
13.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项,或权利要求8至10任一项所述方法的步骤。
14.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现1至7任一项,或权利要求8至10任一项所述方法的步骤。
CN202010102972.7A 2020-02-19 2020-02-19 目标分区的校验方法及装置、存储介质、计算机设备 Pending CN111400771A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010102972.7A CN111400771A (zh) 2020-02-19 2020-02-19 目标分区的校验方法及装置、存储介质、计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010102972.7A CN111400771A (zh) 2020-02-19 2020-02-19 目标分区的校验方法及装置、存储介质、计算机设备

Publications (1)

Publication Number Publication Date
CN111400771A true CN111400771A (zh) 2020-07-10

Family

ID=71428451

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010102972.7A Pending CN111400771A (zh) 2020-02-19 2020-02-19 目标分区的校验方法及装置、存储介质、计算机设备

Country Status (1)

Country Link
CN (1) CN111400771A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112231713A (zh) * 2020-10-29 2021-01-15 山东超越数控电子股份有限公司 一种grub安全启动的方法、***和计算设备
WO2022110025A1 (zh) * 2020-11-27 2022-06-02 华为技术有限公司 一种电子设备的启动方法和设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105095767A (zh) * 2015-07-27 2015-11-25 四川长虹电器股份有限公司 基于文件数据块校验的安全启动***与方法
CN105975864A (zh) * 2016-04-29 2016-09-28 北京小米移动软件有限公司 操作***的启动方法、装置及终端
CN106778283A (zh) * 2016-11-21 2017-05-31 惠州Tcl移动通信有限公司 一种***分区关键数据的保护方法及***
CN109492436A (zh) * 2018-11-29 2019-03-19 深圳市网心科技有限公司 一种文件校验方法及相关装置
CN109889325A (zh) * 2019-01-21 2019-06-14 Oppo广东移动通信有限公司 校验方法、装置、电子设备及介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105095767A (zh) * 2015-07-27 2015-11-25 四川长虹电器股份有限公司 基于文件数据块校验的安全启动***与方法
CN105975864A (zh) * 2016-04-29 2016-09-28 北京小米移动软件有限公司 操作***的启动方法、装置及终端
CN106778283A (zh) * 2016-11-21 2017-05-31 惠州Tcl移动通信有限公司 一种***分区关键数据的保护方法及***
CN109492436A (zh) * 2018-11-29 2019-03-19 深圳市网心科技有限公司 一种文件校验方法及相关装置
CN109889325A (zh) * 2019-01-21 2019-06-14 Oppo广东移动通信有限公司 校验方法、装置、电子设备及介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112231713A (zh) * 2020-10-29 2021-01-15 山东超越数控电子股份有限公司 一种grub安全启动的方法、***和计算设备
CN112231713B (zh) * 2020-10-29 2023-03-28 超越科技股份有限公司 一种grub安全启动的方法、***和计算设备
WO2022110025A1 (zh) * 2020-11-27 2022-06-02 华为技术有限公司 一种电子设备的启动方法和设备

Similar Documents

Publication Publication Date Title
US9705678B1 (en) Fast CAN message authentication for vehicular systems
CN104462965B (zh) 应用程序完整性验证方法及网络设备
CN111143869B (zh) 应用程序包处理方法、装置、电子设备及存储介质
EP2879327A1 (en) Encryption and decryption processing method, apparatus and device
CN106161336A (zh) 一种信息更新方法、装置及***
CN111666564B (zh) 应用程序安全启动方法、装置、计算机设备和存储介质
CN110334531B (zh) 虚拟机密钥的管理方法、主节点、***、存储介质及装置
CN112257086A (zh) 一种用户隐私数据保护方法及电子设备
KR20170089352A (ko) 가상화 시스템에서 수행하는 무결성 검증 방법
CN115795513A (zh) 文件加密和文件解密方法、装置以及设备
CN106709281B (zh) 补丁发放和获取方法、装置
CN115248919A (zh) 一种函数接口的调用方法、装置、电子设备及存储介质
CN111400771A (zh) 目标分区的校验方法及装置、存储介质、计算机设备
CN107315945B (zh) 一种电子设备的磁盘解密方法和装置
EP3764224B1 (en) Resource permission processing method and apparatus, and storage medium and chip
CN115242413A (zh) 物联网设备固件安全升级方法、装置、电子设备及介质
CN116611087A (zh) 基本输入输出***加密方法、装置、设备及存储介质
CN109117625B (zh) Ai软件***安全状态的确定方法及装置
CN114143197A (zh) 物联网设备ota升级方法、装置、设备及可读存储介质
CN108228219B (zh) 一种带外刷新bios时验证bios合法性的方法及装置
CN112015484A (zh) 物联网设备配置文件的加密、修改和读取方法及装置
CN112825093A (zh) 安全基线检查方法、主机、服务器、电子设备及存储介质
CN114297679B (zh) 一种镜像加密传输与升级的方法
CN112148314B (zh) 一种嵌入式***的镜像验证方法、装置、设备及存储介质
CN117494232B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20200710

RJ01 Rejection of invention patent application after publication