CN113987547A - 数据校验方法、装置、电子设备和计算机可读存储介质 - Google Patents
数据校验方法、装置、电子设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN113987547A CN113987547A CN202111308084.1A CN202111308084A CN113987547A CN 113987547 A CN113987547 A CN 113987547A CN 202111308084 A CN202111308084 A CN 202111308084A CN 113987547 A CN113987547 A CN 113987547A
- Authority
- CN
- China
- Prior art keywords
- ubi
- image
- data
- check
- verification
- 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
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000013524 data verification Methods 0.000 title claims abstract description 27
- 238000012795 verification Methods 0.000 claims abstract description 63
- 238000011084 recovery Methods 0.000 claims description 30
- 238000013507 mapping Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 13
- 238000005192 partition Methods 0.000 claims description 7
- 238000010276 construction Methods 0.000 claims description 5
- 238000013502 data validation Methods 0.000 claims 1
- 238000010200 validation analysis Methods 0.000 claims 1
- 230000006870 function Effects 0.000 description 13
- 238000012545 processing Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013496 data integrity verification Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
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/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- 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
-
- 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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- 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/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本申请实施例公开了一种数据校验方法、装置、电子设备和计算机可读存储介质,构建UBI映像;在系统启动时挂载UBI映像,对UBI映像进行校验。若UBI映像通过校验,创建基于UBI映像的校验设备节点。校验设备节点连接有校验设备,校验设备可以在系统完成启动之后对数据进行完整性校验。也即在系统完成启动后,可以利用校验设备节点所连接的校验设备对存储介质上存储的数据进行完整性校验。在该技术方案中,创建基于UBI映像的校验设备节点,校验设备节点可以实现与校验设备的连接,而校验设备可以在系统完成启动之后开启,从而可以将数据完整性校验的工作在系统完成启动之后执行,在保证数据完整性的同时,降低开机启动时间。
Description
技术领域
本申请涉及操作系统技术领域,特别是涉及一种数据校验方法、装置、电子设备和计算机可读存储介质。
背景技术
现代各种各样的智能设备,分别拥有各种架构的操作系统。这些智能设备有许多相同的特点,如都有处理器,存储介质,在电源键激活智能设备后,处理器能从存储介质中读取数据,并根据读取的数据对各个器件进行准备工作,最后进入运行状态。
为了延长存储介质的使用周期,出现了能够对存储介质进行磨损均衡保护的UBI(Unsorted Block Images,文件系统)映像,UBI映像不仅具有磨损均衡保护的功能,同时具有对数据完整性校验的功能。UBI映像在系统启动时被开启,UBI映像相应的功能被执行。但是UBI映像在执行数据完整性校验花费的时间较长,会增加系统的开机启动时间。
可见,如何在保证数据完整性的同时,降低开机启动时间,是本领域技术人员需要解决的问题。
发明内容
本申请实施例的目的是提供一种数据校验方法、装置、电子设备和计算机可读存储介质,可以在保证数据完整性的同时,降低开机启动时间。
为解决上述技术问题,本申请实施例提供一种数据校验方法,包括:
构建UBI映像;
在系统启动时,挂载所述UBI映像,并对所述UBI映像进行校验;
若所述UBI映像通过校验,则创建基于所述UBI映像的校验设备节点;
在系统完成启动后,利用所述校验设备节点所连接的校验设备对存储介质上存储的数据进行完整性校验。
可选地,所述构建UBI映像包括:
根据代码编译结果生成支持挂载校验设备节点的文件系统映像;
依据所述文件系统映像,生成对应的标识表;其中,所述标识表包括所述文件系统映像中每个数据块对应的标识以及所述文件系统映像的父标识;
按照设定的密钥对所述父标识进行数字签名,得到包含所述密钥以及加密后的父标识的签名文件;
将所述文件系统映像、所述标识表和所述签名文件作为UBI映像,并对所述UBI映像设置不启动完整性校验的标识。
可选地,所述对所述UBI映像进行校验包括:
读取预先存储的密钥;
判断所述预先存储的密钥是否与所述签名文件包含的密钥一致;
若所述预先存储的密钥与所述签名文件包含的密钥一致,则判定所述UBI映像通过校验。
可选地,还包括:
若所述预先存储的密钥与所述签名文件包含的密钥一致,则利用所述密钥解密所述签名文件中包含的父标识;
判断解密得到的父标识与所述标识表中包含的父标识是否一致;
若解密得到的父标识与所述标识表中包含的父标识一致,则执行所述创建基于所述UBI映像的校验设备节点的步骤。
可选地,所述创建基于所述UBI映像的校验设备节点包括:
在刷有UBI映像的分区中创建基于UBI的字符设备;
创建基于UBI的虚拟块设备;
基于所述虚拟块设备挂载所述校验设备节点。
可选地,在所述基于所述虚拟块设备挂载所述校验设备节点之前还包括:
判断所述UBI映像是否符合设定的开机校验需求;
若所述UBI映像符合设定的开机校验需求,则执行所述基于所述虚拟块设备挂载所述校验设备节点的步骤。
可选地,在所述利用所述校验设备节点所连接的校验设备对存储介质上存储的数据进行完整性校验之前还包括:
从所述存储介质上读取数据;
利用所述虚拟块设备对所述数据进行数据恢复操作;
相应的,所述利用所述校验设备节点所连接的校验设备对存储介质上存储的数据进行完整性校验包括:
利用所述校验设备节点所连接的校验设备对完成数据恢复操作的数据进行完整性校验。
可选地,所述标识表还包含除文件系统映像之外的其它文件数据对应的标识和父标识;
相应的,所述利用所述校验设备节点所连接的校验设备对完成数据恢复操作的数据进行完整性校验包括:
依据所述标识表中包含的标识和父标识,通过所述校验设备节点所连接的校验设备对所述完成数据恢复操作的数据所对应的标识和父标识进行校验。
可选地,在所述确定所述完成数据恢复操作的数据通过完整性校验还包括:
将通过完整性校验的数据存储至设定的缓存区域。
本申请实施例还提供了一种数据校验装置,包括构建单元、挂载单元、身份校验单元、创建单元、完整性校验单元;
所述构建单元,用于构建UBI映像;
所述挂载单元,用于在系统启动时,挂载所述UBI映像;
所述身份校验单元,用于对所述UBI映像进行校验;
所述创建单元,用于若所述UBI映像通过校验,则创建基于所述UBI映像的校验设备节点;
所述完整性校验单元,用于在系统完成启动后,利用所述校验设备节点所连接的校验设备对存储介质上存储的数据进行完整性校验。
可选地,所述构建单元包括生成子单元、签名子单元、作为子单元和设置子单元;
所述生成子单元,用于根据代码编译结果生成支持挂载校验设备节点的文件系统映像;
所述签名子单元,用于依据所述文件系统映像,生成对应的标识表;其中,所述标识表包括所述文件系统映像中每个数据块对应的标识以及所述文件系统映像的父标识;
所述作为子单元,用于按照设定的密钥对所述父标识进行数字签名,得到包含所述密钥以及加密后的父标识的签名文件;
所述设置子单元,用于将所述文件系统映像、所述标识表和所述签名文件作为UBI映像,并对所述UBI映像设置不启动完整性校验的标识。
可选地,所述身份校验单元包括读取子单元、判断子单元和判定子单元;
所述读取子单元,用于读取预先存储的密钥;
所述判断子单元,用于判断所述预先存储的密钥是否与所述签名文件包含的密钥一致;
所述判定子单元,用于若所述预先存储的密钥与所述签名文件包含的密钥一致,则判定所述UBI映像通过校验。
可选地,还包括解密单元和判断单元;
所述解密单元,用于若所述预先存储的密钥与所述签名文件包含的密钥一致,则利用所述密钥解密所述签名文件中包含的父标识;
所述判断单元,用于判断解密得到的父标识与所述标识表中包含的父标识是否一致;若解密得到的父标识与所述标识表中包含的父标识一致,则触发所述创建单元执行所述创建基于所述UBI映像的校验设备节点的步骤。
可选地,所述创建单元用于在刷有UBI映像的分区中创建基于UBI的字符设备;创建基于UBI的虚拟块设备;基于所述虚拟块设备挂载所述校验设备节点。
可选地,还包括开机校验单元;
所述开机校验单元,用于判断所述UBI映像是否符合设定的开机校验需求;若所述UBI映像符合设定的开机校验需求,则触发所述创建单元执行所述基于所述虚拟块设备挂载所述校验设备节点的步骤。
可选地,还包括读取单元和恢复单元;
所述读取单元,用于从所述存储介质上读取数据;
所述恢复单元,用于利用所述虚拟块设备对所述数据进行数据恢复操作;
相应的,所述完整性校验单元用于利用所述校验设备节点所连接的校验设备对完成数据恢复操作的数据进行完整性校验。
可选地,所述标识表还包含除文件系统映像之外的其它文件数据对应的标识和父标识;
相应的,所述完整性校验单元用于依据所述标识表中包含的标识和父标识,通过所述校验设备节点所连接的校验设备对所述完成数据恢复操作的数据所对应的标识和父标识进行校验。
可选地,还包括缓存单元;
所述缓存单元,用于将通过完整性校验的数据存储至设定的缓存区域。
本申请实施例还提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如上述数据校验方法的步骤。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述数据校验方法的步骤。
由上述技术方案可以看出,构建UBI映像;在系统启动时挂载UBI映像,为了确保UBI映像的正确性,可以对UBI映像进行校验。若UBI映像通过校验,则说明UBI映像是合法的,此时可以创建基于UBI映像的校验设备节点。校验设备节点连接有校验设备,校验设备可以在系统完成启动之后运行,用于对数据进行完整性校验。也即在系统完成启动后,可以利用校验设备节点所连接的校验设备对存储介质上存储的数据进行完整性校验。在该技术方案中,创建基于UBI映像的校验设备节点,校验设备节点可以实现与校验设备的连接,而校验设备可以在系统完成启动之后开启,从而可以将数据完整性校验的工作在系统完成启动之后执行,在保证数据完整性的同时,降低开机启动时间。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种数据校验方法的流程图;
图2为本申请实施例提供的一种构建UBI映像的方法的流程图;
图3为本申请实施例提供的一种创建基于UBI映像的校验设备节点的方法的流程图;
图4为本申请实施例提供的一种数据校验装置的结构示意图;
图5为本申请实施例提供的一种电子设备的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
本申请的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。
接下来,详细介绍本申请实施例所提供的一种数据校验方法。图1为本申请实施例提供的一种数据校验方法的流程图,该方法包括:
S101:构建UBI映像。
系统启动时需要挂载UBI映像,基于UBI映像的虚拟块设备实现系统启动时所需执行的工作。而现有技术中,会将数据完整性校验的工作设置在UBI映像的虚拟块设备中,而数据完整性校验需要花费较长的时间,从而造成系统开机延时。
因此在具体实现中,可以对用于构建UBI映像的内核代码程序进行修改,使得构建的UBI映像不启动完整性校验的功能,而是将完整性校验功能交由校验设备执行。校验设备可以在系统完成启动之后开启,从而使得数据完整性校验的执行流程不会对系统开机时间造成影响。
在本申请实施例中,构建的UBI映像可以包括文件系统映像、标识表和签名文件等,具体构建流程可以参见图2的介绍,在此不再赘述。
S102:在系统启动时挂载UBI映像,并对UBI映像进行校验。
在本申请实施例中,为了保证UBI映射的合法性,可以对UBI映像的身份进行验证。在具体实现中,可以通过设置身份标识的方式对UBI映像的身份进行校验。
考虑到在构建UBI映像时会生成相应的签名文件,签名文件中包含有用于对数据进行加密处理的密钥。当UBI映射属于非法构建的UBI映像时,其签名文件中包含的密钥往往会发生变化。因此,在实际应用中,也可以利用密钥对UBI映像进行身份校验。
在具体实现中,可以预先存储签名文件所使用的密钥。在可以对UBI映像进行校验时,可以读取预先存储的密钥;判断预先存储的密钥是否与签名文件包含的密钥一致。
若预先存储的密钥与签名文件包含的密钥一致,则说明UBI映射的签名文件中包含的密钥与理论上构建UBI映射时所使用的密钥一致,即UBI映射属于合法创建的UBI映射,此时可以判定UBI映像通过校验。
S103:若UBI映像通过校验,则创建基于UBI映像的校验设备节点。
校验设备节点可以看作是UBI映射所提供的虚拟接口,UBI映像通过校验设备节点可以实现与校验设备的连接,从而由校验设备节点所连接的校验设备对数据进行完整性校验,无需再通过UBI映像对数据进行完整性校验。
S104:在系统完成启动后,利用校验设备节点所连接的校验设备对存储介质上存储的数据进行完整性校验。
由于当前UBI映像不启动完整性校验功能,为了实现对数据的完整性校验,可以创建基于UBI映像的校验设备节点。利用校验设备节点所连接的校验设备实现数据完整性校验的工作。
在具体实现中,校验设备可以采用DM verity。DM verity是DM(Device Mapper,基于内核的高级卷管理技术框架)的一个对象(target),专门用于文件系统的校验。DMverity技术的特性在于用什么数据就校验什么数据,能够校验数据的完整性。
由上述技术方案可以看出,构建UBI映像;在系统启动时挂载UBI映像,为了确保UBI映像的正确性,可以对UBI映像进行校验。若UBI映像通过校验,则说明UBI映像是合法的,此时可以创建基于UBI映像的校验设备节点。校验设备节点连接有校验设备,校验设备可以在系统完成启动之后运行,用于对数据进行完整性校验。也即在系统完成启动后,可以利用校验设备节点所连接的校验设备对存储介质上存储的数据进行完整性校验。在该技术方案中,创建基于UBI映像的校验设备节点,校验设备节点可以实现与校验设备的连接,而校验设备可以在系统完成启动之后开启,从而可以将数据完整性校验的工作在系统完成启动之后执行,在保证数据完整性的同时,降低开机启动时间。
图2为本申请实施例提供的一种构建UBI映像的方法的流程图,方法包括:
S201:根据代码编译结果生成支持挂载校验设备节点的文件系统映像。
在本申请实施例中,构建的UBI映像可以包括三部分内容,分别为文件系统映像、标识表和签名文件。
文件系统映像通过挂载虚拟块设备可以实现系统启动的功能。标识表可以用于对文件系统映像的正确性进行校验,并且在执行数据完整性校验时需要依赖于标识表。签名文件用于对父标识进行校验。
在具体实现中,可以对构建UBI映像的内核代码程序进行修改,使得基于内核代码程序编译生成的文件系统映像可以支持挂载校验设备节点。
S202:依据文件系统映像,生成对应的标识表。
在系统启动阶段,为了保证挂载的UBI映像的正确性,因此在构建UBI映像时会生成标识表。
其中,标识表可以包括文件系统映像中每个数据块对应的标识以及文件系统映像的父标识。
在实际应用中,可以采用哈希运算的方式生成标识表。每个数据块的哈希值作为该数据块的标识。对所有数据块的哈希值进行哈希运算,得到根哈希作为文件系统映像的父标识。
S203:按照设定的密钥对父标识进行数字签名,得到包含密钥以及加密后的父标识的签名文件。
通过对父标识进行加密处理,将加密后的父标识以签名文件的形式存储,可以提升父标识存储的安全性。
S204:将文件系统映像、标识表和签名文件作为UBI映像,并对UBI映像设置不启动完整性校验的标识。
在本申请实施例中,为了使得UBI映像在系统启动阶段不执行数据完整性校验的功能,可以对UBI映像设置不启动完整性校验的标识。
在系统启动阶段,会判断UBI映像是否具有不启动完整性校验的标识,在UBI映像具有不启动完整性校验的标识时,会自动创建基于UBI映像的校验设备节点,从而可以利用校验设备节点所连接的校验设备对数据进行完整性校验,不再利用UBI映像对数据进行完整性校验。
在本申请实施例中,为了降低开机启动时间,对UBI映像进行了改进,使得改进后的UBI映像在系统启动时不再执行数据完整性校验的工作,从而缩短系统启动的时间。并且为了实现对数据的完整性校验,可以引入校验设备节点。在系统启动完成之后,由校验设备节点所连接的校验设备对数据进行完整性校验,因此基于修改后的内核代码程序构建的UBI映像可以支持挂载校验设备节点。
考虑到实际应用中,为了便于数据的处理,会将UBI映像对应的文件系统映像切分成多个数据块。因此针对于每个数据块可以计算其对应的一个哈希值,作为该数据块的标识。基于所有数据块的哈希值可以计算得到一个根哈希,可以将该根哈希作为UBI映像的父标识。
在实际应用中,在基于密钥对UBI映射的身份进行校验之后,可以基于父标识对UBI映射的正确性进行校验。
在预先存储的密钥与签名文件包含的密钥一致的情况下,可以利用密钥解密签名文件中包含的父标识。判断解密得到的父标识与标识表中包含的父标识是否一致。
若解密得到的父标识与标识表中包含的父标识一致,则说明挂载的UBI映像正确。
在本申请实施例中,基于UBI映像中签名文件包含的密钥,可以实现对UBI映射合法性的校验。利用密钥对签名文件进行解密,可以得到正确的父标识。在解密得到的父标识与UBI映像中标识表包含的父标识一致时,说明UBI映像未被篡改。因此基于UBI映像中标识表包含的父标识,可以实现对UBI映射正确性的校验。
如图3所示为本申请实施例提供的一种创建基于UBI映像的校验设备节点的方法的流程图,方法包括:
S301:在刷有UBI映像的分区中创建基于UBI的字符设备。
UBI映像包括有字符设备和虚拟块设备。在创建校验设备节点时,需要先创建好UBI映射的字符设备和虚拟块设备。
在实际应用中,UBI映像有其对应的分区,可以在刷有UBI映像的分区中创建基于UBI的字符设备。
S302:创建基于UBI的虚拟块设备。
虚拟块设备可以用于提供UBI映像的管理功能。利用虚拟块设备可以实现校验设备节点的挂载。
S303:判断UBI映像是否符合设定的开机校验需求。
开机校验需求指的是UBI映像不执行数据完整性校验,并且可以支持校验设备节点挂载。
在本申请实施例中,开机校验需求可以包括判断UBI映像是否设置了不启动完整性校验的功能,UBI映像是否包括文件系统映像、标识表和签名文件。
在UBI映像设置了不启动完整性校验的功能,并且UBI映像包括文件系统映像、标识表和签名文件时,说明UBI映像符合设定的开机校验需求,此时可以执行S304。
S304:基于虚拟块设备挂载校验设备节点。
校验设备节点所连接的校验设备可以用于在系统完成开机启动之后,对存储介质上存储的数据进行完整性校验。在实际应用中,校验设备可以采用DM verity。
校验设备在执行数据完整性校验时,可以从存储介质上读取数据,基于校验设备的校验流程对读取的数据进行完整性校验。
在本申请实施例中,通过设置开机校验需求,可以保证UBI映像支持校验设备节点的挂载,从而保证在系统完成启动之后,可以基于校验设备节点所连接的校验设备顺利执行数据完整性校验的工作。
考虑到实际应用中,在系统完成启动之后,UBI映像的虚拟块设备可以继续发挥作用,用于对数据进行数据恢复操作。因此在利用校验设备节点所连接的校验设备对数据进行完整性校验之前,可以先利用虚拟块设备对数据进行数据恢复操作;然后利用校验设备节点所连接的校验设备对完成数据恢复操作的数据进行完整性校验。
数据恢复操作可以包括自动解决坏块、位翻转和磨损等问题。
在实际应用中,当不需要对数据进行数据恢复操作时,则可以在读取数据之后,直接利用校验设备节点所连接的校验设备对完成数据恢复操作的数据进行完整性校验。
在本申请实施例中,标识表还可以包含除文件系统映像之外的其它文件数据对应的标识和父标识。相应的,利用校验设备节点所连接的校验设备对完成数据恢复操作的数据进行完整性校验可以包括:依据标识表中包含的标识和父标识,通过校验设备节点所连接的校验设备对完成数据恢复操作的数据所对应的标识和父标识进行校验。
以文件系统映像之外的其它文件数据为例,在具体实现中,可以判断完成数据恢复操作的数据的标识值是否与标识表中的标识值匹配。
标识值可以采用哈希值,数据会切分成数据块的形式存储,每个数据块有其对应的一个哈希值。在标识表中记录有每个数据块的哈希值。
在实际应用中,可以计算完成数据恢复操作的数据的哈希值,将该哈希值和标识表中记录的哈希值进行比较,当标识表中存在与计算出的哈希值一致的哈希值时,说明数据未被篡改。
考虑到实际应用中,可能会存在存储介质上存储的数据被篡改,而标识表中该数据对应的哈希值也被篡改,导致计算出的该数据的哈希值与标识表中的哈希值一致。由于父标识是基于各数据块的标识值确定得到,因此几乎不存在数据被篡改,而计算出的父标识与标识表中记录的父标识一致的情况,因此,在本申请实施例中,在完成数据恢复操作的数据的标识值与标识表中的标识值匹配时,可以基于完成数据恢复操作的数据以及存储介质中的剩余数据,确定出待校验父标识。判断待校验父标识与标识表中包含的父标识是否一致。
若待校验父标识与标识表中包含的父标识一致,则说明数据未被篡改,此时可以确定完成数据恢复操作的数据通过完整性校验。
在确定完成数据恢复操作的数据通过完整性校验之后,可以将通过完整性校验的数据存储至设定的缓存区域,从而便于数据的读取调用。
图4为本申请实施例提供的一种数据校验装置的结构示意图,包括构建单元41、挂载单元42、身份校验单元43、创建单元44、完整性校验单元45;
构建单元41,用于构建UBI映像;
挂载单元42,用于在系统启动时,挂载UBI映像;
身份校验单元43,用于对UBI映像进行校验;
创建单元44,用于若UBI映像通过校验,则创建基于UBI映像的校验设备节点;
完整性校验单元45,用于在系统完成启动后,利用校验设备节点所连接的校验设备对存储介质上存储的数据进行完整性校验。
可选地,构建单元包括生成子单元、签名子单元、作为子单元和设置子单元;
生成子单元,用于根据代码编译结果生成支持挂载校验设备节点的文件系统映像;
签名子单元,用于依据文件系统映像,生成对应的标识表;其中,标识表包括文件系统映像中每个数据块对应的标识以及文件系统映像的父标识;
作为子单元,用于按照设定的密钥对父标识进行数字签名,得到包含密钥以及加密后的父标识的签名文件;
设置子单元,用于将文件系统映像、标识表和签名文件作为UBI映像,并对UBI映像设置不启动完整性校验的标识。
可选地,身份校验单元包括读取子单元、判断子单元和判定子单元;
读取子单元,用于读取预先存储的密钥;
判断子单元,用于判断预先存储的密钥是否与签名文件包含的密钥一致;
判定子单元,用于若预先存储的密钥与签名文件包含的密钥一致,则判定UBI映像通过校验。
可选地,还包括解密单元和判断单元;
解密单元,用于若预先存储的密钥与签名文件包含的密钥一致,则利用密钥解密签名文件中包含的父标识;
判断单元,用于判断解密得到的父标识与标识表中包含的父标识是否一致;若解密得到的父标识与标识表中包含的父标识一致,则触发创建单元执行创建基于UBI映像的校验设备节点的步骤。
可选地,创建单元用于在刷有UBI映像的分区中创建基于UBI的字符设备;创建基于UBI的虚拟块设备;基于虚拟块设备挂载校验设备节点。
可选地,还包括开机校验单元;
开机校验单元,用于判断UBI映像是否符合设定的开机校验需求;若UBI映像符合设定的开机校验需求,则触发创建单元执行基于虚拟块设备挂载校验设备节点的步骤。
可选地,还包括读取单元和恢复单元;
读取单元,用于从存储介质上读取数据;
恢复单元,用于利用虚拟块设备对数据进行数据恢复操作;
相应的,完整性校验单元用于利用校验设备节点所连接的校验设备对完成数据恢复操作的数据进行完整性校验。
可选地,标识表还包含除文件系统映像之外的其它文件数据对应的标识和父标识;
相应的,完整性校验单元用于依据标识表中包含的标识和父标识,通过校验设备节点所连接的校验设备对完成数据恢复操作的数据所对应的标识和父标识进行校验。
可选地,还包括缓存单元;
缓存单元,用于将通过完整性校验的数据存储至设定的缓存区域。
图4所对应实施例中特征的说明可以参见图1、图2和图3所对应实施例的相关说明,这里不再一一赘述。
由上述技术方案可以看出,构建UBI映像;在系统启动时挂载UBI映像,为了确保UBI映像的正确性,可以对UBI映像进行校验。若UBI映像通过校验,则说明UBI映像是合法的,此时可以创建基于UBI映像的校验设备节点。校验设备节点连接有校验设备,校验设备可以在系统完成启动之后运行,用于对数据进行完整性校验。也即在系统完成启动后,可以利用校验设备节点所连接的校验设备对存储介质上存储的数据进行完整性校验。在该技术方案中,创建基于UBI映像的校验设备节点,校验设备节点可以实现与校验设备的连接,而校验设备可以在系统完成启动之后开启,从而可以将数据完整性校验的工作在系统完成启动之后执行,在保证数据完整性的同时,降低开机启动时间。
图5为本申请实施例提供的一种电子设备的结构图,如图5所示,电子设备包括:存储器20,用于存储计算机程序;
处理器21,用于执行计算机程序时实现如上述实施例数据校验方法的步骤。
本实施例提供的电子设备可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器20可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器20还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器20至少用于存储以下计算机程序201,其中,该计算机程序被处理器21加载并执行之后,能够实现前述任一实施例公开的数据校验方法的相关步骤。另外,存储器20所存储的资源还可以包括操作系统202和数据203等,存储方式可以是短暂存储或者永久存储。其中,操作系统202可以包括Windows、Unix、Linux等。数据203可以包括但不限于UBI映像包含的文件系统映像、标识表和签名文件,存储介质上存储的数据等。
在一些实施例中,电子设备还可包括有显示屏22、输入输出接口23、通信接口24、电源25以及通信总线26。
本领域技术人员可以理解,图5中示出的结构并不构成对电子设备的限定,可以包括比图示更多或更少的组件。
可以理解的是,如果上述实施例中的数据校验方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、磁碟或者光盘等各种可以存储程序代码的介质。
基于此,本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述数据校验方法的步骤。
本发明实施例所述计算机可读存储介质的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
以上对本申请实施例所提供的一种数据校验方法、装置、电子设备和计算机可读存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
以上对本申请所提供的一种数据校验方法、装置、电子设备和计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
Claims (10)
1.一种数据校验方法,其特征在于,包括:
构建UBI映像;
在系统启动时,挂载所述UBI映像,并对所述UBI映像进行校验;
若所述UBI映像通过校验,则创建基于所述UBI映像的校验设备节点;
在系统完成启动后,利用所述校验设备节点所连接的校验设备对存储介质上存储的数据进行完整性校验。
2.根据权利要求1所述的数据校验方法,其特征在于,所述构建UBI映像包括:
根据代码编译结果生成支持挂载校验设备节点的文件系统映像;
依据所述文件系统映像,生成对应的标识表;其中,所述标识表包括所述文件系统映像中每个数据块对应的标识以及所述文件系统映像的父标识;
按照设定的密钥对所述父标识进行数字签名,得到包含所述密钥以及加密后的父标识的签名文件;
将所述文件系统映像、所述标识表和所述签名文件作为UBI映像,并对所述UBI映像设置不启动完整性校验的标识。
3.根据权利要求2所述的数据校验方法,其特征在于,所述对所述UBI映像进行校验包括:
读取预先存储的密钥;
判断所述预先存储的密钥是否与所述签名文件包含的密钥一致;
若所述预先存储的密钥与所述签名文件包含的密钥一致,则判定所述UBI映像通过校验。
4.根据权利要求3所述的数据校验方法,其特征在于,还包括:
若所述预先存储的密钥与所述签名文件包含的密钥一致,则利用所述密钥解密所述签名文件中包含的父标识;
判断解密得到的父标识与所述标识表中包含的父标识是否一致;
若解密得到的父标识与所述标识表中包含的父标识一致,则执行所述创建基于所述UBI映像的校验设备节点的步骤。
5.根据权利要求2所述的数据校验方法,其特征在于,所述创建基于所述UBI映像的校验设备节点包括:
在刷有UBI映像的分区中创建基于UBI的字符设备;
创建基于UBI的虚拟块设备;
基于所述虚拟块设备挂载所述校验设备节点。
6.根据权利要求5所述的数据校验方法,其特征在于,在所述基于所述虚拟块设备挂载所述校验设备节点之前还包括:
判断所述UBI映像是否符合设定的开机校验需求;
若所述UBI映像符合设定的开机校验需求,则执行所述基于所述虚拟块设备挂载所述校验设备节点的步骤。
7.根据权利要求5所述的数据校验方法,其特征在于,在所述利用所述校验设备节点所连接的校验设备对存储介质上存储的数据进行完整性校验之前还包括:
从所述存储介质上读取数据;
利用所述虚拟块设备对所述数据进行数据恢复操作;
相应的,所述利用所述校验设备节点所连接的校验设备对存储介质上存储的数据进行完整性校验包括:
利用所述校验设备节点所连接的校验设备对完成数据恢复操作的数据进行完整性校验。
8.一种数据校验装置,其特征在于,包括构建单元、挂载单元、身份校验单元、创建单元、完整性校验单元;
所述构建单元,用于构建UBI映像;
所述挂载单元,用于在系统启动时,挂载所述UBI映像;
所述身份校验单元,用于对所述UBI映像进行校验;
所述创建单元,用于若所述UBI映像通过校验,则创建基于所述UBI映像的校验设备节点;
所述完整性校验单元,用于在系统完成启动后,利用所述校验设备节点所连接的校验设备对存储介质上存储的数据进行完整性校验。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如权利要求1至7任意一项所述数据校验方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任意一项所述数据校验方法的步骤。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111308084.1A CN113987547A (zh) | 2021-11-05 | 2021-11-05 | 数据校验方法、装置、电子设备和计算机可读存储介质 |
EP21963116.5A EP4345668A1 (en) | 2021-11-05 | 2021-12-08 | Data check method and apparatus, electronic device and computer readable storage medium |
PCT/CN2021/136386 WO2023077610A1 (zh) | 2021-11-05 | 2021-12-08 | 数据校验方法、装置、电子设备和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111308084.1A CN113987547A (zh) | 2021-11-05 | 2021-11-05 | 数据校验方法、装置、电子设备和计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113987547A true CN113987547A (zh) | 2022-01-28 |
Family
ID=79746865
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111308084.1A Pending CN113987547A (zh) | 2021-11-05 | 2021-11-05 | 数据校验方法、装置、电子设备和计算机可读存储介质 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4345668A1 (zh) |
CN (1) | CN113987547A (zh) |
WO (1) | WO2023077610A1 (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104750521A (zh) * | 2015-03-13 | 2015-07-01 | 上海优思通信科技有限公司 | 提高电子装置开机速度的方法 |
CN105100039A (zh) * | 2015-04-21 | 2015-11-25 | 兰州大学 | 基于iSCSI的数据完整性存储系统 |
US10025600B2 (en) * | 2015-10-02 | 2018-07-17 | Google Llc | NAND-based verified boot |
CN107729198B (zh) * | 2017-10-18 | 2020-04-21 | 深圳合纵富科技有限公司 | 一种Android系统固件校验方法及装置 |
CN112328269B (zh) * | 2020-11-26 | 2024-03-15 | 广东小天才科技有限公司 | ubifs镜像的软件挂载方法、智能设备、电子设备及存储介质 |
CN112379898B (zh) * | 2020-12-01 | 2022-08-09 | 上海爱信诺航芯电子科技有限公司 | 一种用于v2x设备的软件安全启动方法及系统 |
-
2021
- 2021-11-05 CN CN202111308084.1A patent/CN113987547A/zh active Pending
- 2021-12-08 EP EP21963116.5A patent/EP4345668A1/en active Pending
- 2021-12-08 WO PCT/CN2021/136386 patent/WO2023077610A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
EP4345668A1 (en) | 2024-04-03 |
WO2023077610A1 (zh) | 2023-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2962241B1 (en) | Continuation of trust for platform boot firmware | |
US20220075873A1 (en) | Firmware security verification method and device | |
EP2746982A1 (en) | Method and apparatus for supporting dynamic change of authentication means for secure booting | |
CN104572168A (zh) | 一种bios自更新保护系统及方法 | |
US20180253556A1 (en) | Selective restoration and authentication of a secure image | |
CN104462965A (zh) | 应用程序完整性验证方法及网络设备 | |
CN106452786A (zh) | 加解密处理方法、装置和设备 | |
CN108229144B (zh) | 一种应用程序的验证方法、终端设备及存储介质 | |
CN104573527A (zh) | 一种基于更新安全机制的uefi系统更新方法 | |
CN106919859A (zh) | 基本输入输出系统保护方法和装置 | |
US8874927B2 (en) | Application execution system and method of terminal | |
CN110414218B (zh) | 内核检测方法、装置、电子设备及存储介质 | |
CN112835628A (zh) | 一种服务器操作系统引导方法、装置、设备及介质 | |
CN114116305A (zh) | 基于pfr的bios固件恢复方法、系统、终端及存储介质 | |
US8140835B2 (en) | Updating a basic input/output system (‘BIOS’) boot block security module in compute nodes of a multinode computer | |
CN103455750B (zh) | 一种嵌入式设备的高安验证方法及装置 | |
CN114329622A (zh) | 一种文件保护方法、验证方法、装置、设备和介质 | |
CN112613011B (zh) | U盘系统认证方法、装置、电子设备及存储介质 | |
CN114003915A (zh) | 基于芯片的安全启动方法及装置 | |
CN111400771A (zh) | 目标分区的校验方法及装置、存储介质、计算机设备 | |
CN116610336A (zh) | 一种固件升级方法、系统、装置及可读存储介质 | |
CN115964721A (zh) | 一种程序验证方法及电子设备 | |
CN113987547A (zh) | 数据校验方法、装置、电子设备和计算机可读存储介质 | |
US20150113284A1 (en) | Method and apparatus for protecting application program | |
CN107360167B (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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220413 Address after: Edward, Grand Duchy of Luxembourg 15 Stephen Street Applicant after: Ruiling wireless Co.,Ltd. Address before: 518000 Room 102, block D, building 7, Shenzhen International Innovation Valley, Dashi 1st Road, Xili community, Xili street, Nanshan District, Shenzhen, Guangdong Applicant before: Ruiling wireless communication technology (Shenzhen) Co.,Ltd. |