一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

文件签名验证方法、系统、电子设备及存储介质与流程

2022-02-20 05:32:04 来源:中国专利 TAG:


1.本发明实施例涉及计算机技术领域,特别涉及一种文件签名验证方法、系统、电子设备及存储介质。


背景技术:

2.支付类设备对系统的安全性有极高的要求,具体到软件方面,从系统启动到应用启动,所有的程序都需要有专属的签名来防止被不怀好意的入侵者篡改程序,造成财务损失以及连带损失。随着4g的全面普及和5g的逐步推行,支持4g或5g数据网络、人机交互良好android系统被支付类设备尤其是移动支付设备所采用。
3.目前,针对以嵌入式多媒体存储卡(embedded multi media card,简称为“emmc”)为存储介质的系统,android系统提供了一种叫做dm

verity的技术进行基本文件系统的签名/验证签名的方案,但这种方案不适用于以nand闪存(nand flash)为存储介质的低端系统,则无法保证这类系统的安全性。


技术实现要素:

4.本发明实施方式的目的在于提供一种文件签名验证方法、系统、电子设备及存储介质,使得以nand flash为存储介质的系统可以进行文件系统的签名和验证签名,提高系统的安全性。
5.为解决上述技术问题,本发明的实施方式提供了一种文件签名验证方法,包括:获取待保护的文件系统,所述待保护的文件系统携带签名字串,其中,所述签名字串通过对所述待保护的文件系统的第一文件摘要进行签名得到;装载所述待保护的文件系统;在所述待保护的文件系统装载完成后,在所述待保护的文件系统运行之前,对所述待保护的文件系统进行摘要计算,得到本地计算的第二文件摘要;根据所述签名字串获取所述第一文件摘要;若所述第一文件摘要与所述第二文件摘要不相同,则阻止所述待保护的文件系统进入运行状态。
6.为解决上述技术问题,本发明的实施方式还提供了一种文件签名验证系统,包括:第一获取模块,用于获取待保护的文件系统,所述待保护的文件系统携带签名字串,其中,所述签名字串通过对所述待保护的文件系统的第一文件摘要进行签名得到;装载模块,用于装载所述待保护的文件系统;计算模块,用于在所述待保护的文件系统装载完成后,在所述待保护的文件系统运行之前,对所述待保护的文件系统进行摘要计算,得到本地计算的第二文件摘要;第二获取模块,用于根据所述签名字串获取所述第一文件摘要;执行模块,用于当所述第一文件摘要与所述第二文件摘要不相同时,阻止所述待保护的文件系统进入运行状态。
7.为解决上述技术问题,本发明的实施方式还提供了一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个
处理器能够执行上述的文件签名验证方法。
8.为解决上述技术问题,本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述的文件签名验证方法。
9.本发明实施方式相对于现有技术而言,首先获取待保护的文件系统,其中,待保护的文件系统中携带有签名字串,并且该签名字串通过对待保护的文件系统的第一文件摘要进行签名得到。在待保护的文件系统装载完成,但未开始运行之前,会对待保护的文件系统进行摘要计算,得到本地计算的第二文件摘要,并根据待保护的文件系统中携带的签名字串获取待保护的文件系统的第一文件摘要,若第一文件摘要与第二文件摘要不相同,则表示在待保护的系统的文件内容已与获取之前的待保护的系统的文件内容不同,即待保护的系统装载前曾被人侵入,该文件系统并不安全,则会阻止待保护的文件系统进入运行状态。通过对待保护的文件系统的文件摘要进行签名,并在待保护的文件系统装载后,判断装载后的待保护的文件系统的文件摘要与签名的文件摘要是否相同,可以判断该文件系统是否安全。另外,由于dm

verity的技术进行基本文件系统的签名/验证签名的方案以块设备为基础,但在android系统下,nand flash是内存技术设备(memory technology device,mtd),无法使用dm

verity的技术方案,而本发明实施方式可以实现以nand flash为存储介质的系统的基本文件系统的签名和验证签名,提高系统的安全性。
10.另外,所述第一文件摘要为所述待保护的文件系统的压缩文件的文件摘要;所述对所述待保护的文件系统进行摘要计算,得到本地计算的第二文件摘要,包括:对所述待保护的文件系统的压缩文件进行摘要计算,得到第二文件摘要。通过对待保护的文件系统的压缩文件进行摘要计算,避免由于待保护的文件系统容量过大导致取无法签名或签名难度加大,即更易于对文件摘要进行签名。
11.另外,所述压缩文件,为采用squashfs文件生成工具,对待保护的文件系统进行压缩,得到的squashfs文件。通过采用squashfs文件生成工具压缩文件系统,压缩率更高,占用空间更小,并且在解压squashfs文件文件时,不必解压整个文件系统,只对目标文件进行解压。
12.另外,所述装载所述待保护的文件系统,包括:装载所述待保护的文件系统的squashfs文件;所述方法还包括:若所述第一文件摘要与所述第二文件摘要相同,则对访问的目标文件进行解压后加载到内存中。通过装载squashfs文件,以便在待保护的文件系统装载完成后直接对squashfs文件进行摘要计算,并且,便于在待保护的文件系统正常运行后能够获取到squashfs文件。
13.另外,所述签名字串,为采用私钥对所述第一文件摘要进行签名得到的签名字串;所述根据所述签名字串获取所述第一文件摘要,包括:采用公钥对所述签名字串进行解密,得到所述第一文件摘要。采用公钥私钥对文件摘要进行计算可以判断待保护文件系统是否安全,以保证系统运行的安全。
14.另外,所述方法应用于以nand flash为存储介质的电子设备,提升了以nand flash为存储介质的电子设备的系统安全性。
15.另外,所述第一文件摘要,为采用sha256算法对所述待保护的文件系统进行摘要计算,得到的第一文件摘要;所述对所述待保护的文件系统进行摘要计算,得到第二文件摘要,包括:采用sha256算法对所述待保护的文件系统进行摘要计算,得到第二文件摘要。采
用sha256算法对所述待保护的文件系统进行摘要计算的时效性更高,并且可以保证待保护的文件系统的安全性。
附图说明
16.一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
17.图1是根据本发明一实施例提供的一种文件签名验证方法的流程图;
18.图2是根据本发明一实施例提供的文件签名程序的结构图;
19.图3是根据本发明一实施例提供的签名验证程序的结构图;
20.图4是根据本发明一实施例提供的一种文件签名验证系统的示意图;
21.图5是根据本发明一实施例提供的一种电子设备的结构图。
具体实施方式
22.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本技术而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本技术所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本发明的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
23.本发明的一个实施例涉及一种文件签名验证方法,应用于电子设备,其中,电子设备具体可以为支付类设备,比如,pos机。本实施例的具体流程图如图1所示,包括:
24.步骤101,获取待保护的文件系统,待保护的文件系统携带签名字串,其中,签名字串通过对待保护的文件系统的第一文件摘要进行签名得到。
25.步骤102,装载待保护的文件系统。
26.步骤103,在待保护的文件系统装载完成后,在待保护的文件系统运行之前,对待保护的文件系统进行摘要计算,得到本地计算的第二文件摘要。
27.步骤104,根据签名字串获取第一文件摘要。
28.步骤105,若第一文件摘要与第二文件摘要不相同,则阻止待保护的文件系统进入运行状态。
29.本实施例的文件签名验证方法,首先获取待保护的文件系统,其中,待保护的文件系统中携带有签名字串,并且该签名字串通过对待保护的文件系统的第一文件摘要进行签名得到。在待保护的文件系统装载完成,但未开始运行之前,会对待保护的文件系统进行摘要计算,得到本地计算的第二文件摘要,并根据待保护的文件系统中携带的签名字串获取待保护的文件系统的第一文件摘要,若第一文件摘要与第二文件摘要不相同,则表示在待保护的系统的文件内容已与获取之前的待保护的系统的的文件内容不同,即待保护的系统装载前曾被人侵入,该文件系统并不安全,则会阻止待保护的文件系统进入运行状态。通过对待保护的文件系统的文件摘要进行签名,并在待保护的文件系统装载后,判断装载后的待保护的文件系统的文件摘要与签名的文件摘要是否相同,可以判断该文件系统是否安
全。另外,由于dm

verity的技术进行基本文件系统的签名/验证签名的方案以块设备为基础,但在android系统下,nand flash是内存技术设备(memory technology device,mtd),无法使用dm

verity的技术方案,而本发明实施方式可以实现以nand flash为存储介质的系统的基本文件系统的签名和验证签名,提高系统的安全性。
30.下面对本实施方式的文件签名验证方法的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。
31.在步骤101中,电子设备会获取要装载的待保护的文件系统,其中,该待保护的文件系统在文件build过程中,在生成image之前,待保护的文件系统的发行方会对待保护的文件系统的第一文件摘要进行签名,得到一个签名字串,并将得到的签名字串保存到待保护的文件系统中,供装载待保护的文件系统的电子设备进行签名验证。
32.在一个例子中,第一文件摘要为待保护的文件系统的压缩文件的文件摘要,通过采用sha256算法对压缩文件进行摘要计算得到,采用sha256算法对所述待保护的文件系统进行摘要计算,得到第二文件摘要。采用sha256算法对所述待保护的文件系统进行摘要计算的时效性更高,并且可以保证待保护的文件系统的安全性。
33.在一个例子中,待保护的文件系统的压缩文件为采用squashfs文件生成工具,对待保护的文件系统进行压缩,得到的squashfs文件,采用squashfs文件生成工具压缩待保护的文件系统,压缩率更高,占用空间更小,并且在解压squashfs文件时,不必解压整个待保护的文件系统,只对目标文件进行解压。
34.在一个例子中,签名字串为采用私钥对第一文件摘要进行签名得到的签名字串,其中,采用的私钥加密算法为openssl的rsa2048算法。
35.在步骤102中,电子设备装载获取的待保护的文件系统,并装载采用squashfs文件生成工具压缩后的待保护的文件系统,即squashfs文件。
36.在步骤103中,在待保护的文件系统装载在电子设备后,在待保护的文件系统运行之前,电子设备会对待保护的文件系统进行摘要计算,得到本地计算的第二文件摘要。
37.在一个例子中,电子设备对待保护的文件系统的压缩文件进行摘要计算,得到第二文件摘要,其中,第二文件摘要通过采用sha256算法对压缩文件进行摘要计算得到。
38.在步骤104中,电子设备根据待保护的文件系统中的签名字串获取待保护的文件系统的第一文件摘要,在一个例子中,第一文件摘要为采用公钥对所述签名字串进行解密得到,具体为通过调用openssl的rsa2048算法反算得到第一文件摘要。
39.在步骤105中,电子设备通过对比第一文件摘要与第二文件摘要,由于文件摘要可以代表文件,文件的任何变化,都会造成文件摘要的变化,若两个文件摘要相同,则表示文件的内容和各种特征都相同。因此,若第一文件摘要和第二文件摘要不相同,则表示文件内容发生了改变,即待保护的文件系统在装载在设备之前被侵入并篡改了程序,该文件系统存在危险性,则文件签名验证不通过,并将验证不通过的结果显示在系统界面展示给用户,同时阻止待保护的文件系统进入运行状态。
40.在一个例子中,若待保护的文件系统的第一文件摘要和第二文件摘要不相同,则该文件系统会进入死循环。
41.在一个例子中,若第一文件摘要与第二文件摘要相同,则对访问的目标文件进行解压后加载到内存中。
42.在一个例子中,本实施例的文件签名验证方法还可以应用于以nand flash为存储介质的电子设备,即能够实现以nand flash为存储介质的系统进行基本文件系统的签名和验证签名,提高了系统的安全性。对于以nand flash为存储介质的支付类设备,采用了本实施例的方法后,文件系统的安全性得到了保障。攻击者即使把nand flash焊下来,在其它设备上改写成非法的程序,再焊上去,系统启动时候可以明确地拦截下来,使得此行为不会造成后果。
43.在一个实施例中,待保护的文件系统的文件签名过程为,该待保护的文件系统在文件build过程中,在生成image之前,调用文件签名程序,文件签名程序的结构图如图2所示,具体包括:
44.待保护的文件系统,私钥,squashfs文件生成工具,squashfs文件,文件摘要器,第一文件摘要,文件签名器,签名字串。
45.在一个例子中,squashfs文件生成工具的输入为待保护的文件系统,通过squashfs文件生成工具将待保护的文件系统压缩成squashfs文件。
46.在一个例子中,文件摘要器的输入为待保护的文件系统的压缩文件,即squashfs文件,其中,文件摘要器的处理过程为针对整个squashfs文件调用openssl的sha256算法得到第一文件摘要。
47.在一个例子中,文件签名器的输入为,第一文件摘要和私钥,其中,文件签名器的处理过程为调用openssl的rsa2048算法将输入变换为签名字串,并将签名字串保存至待保护的文件系统。
48.在一个实施例中,待保护的文件系统的签名验证过程为:在待保护的文件系统装载在电子设备后,在待保护的文件系统运行之前,电子设备会调用签名验证程序,其中,签名验证程序保存在随机存储器(ram)文件系统中,签名验证程序的结构图如图3所示,具体包括:
49.待保护的文件系统,公钥,squashfs文件,文件摘要器,第二文件摘要,文件验证器,验证结果处理。
50.在一个例子中,签名验证程序的文件摘要器的输入为squashfs文件,其中,squashfs文件为文件签名程序中压缩后,文件摘要器的处理过程为针对整个squashfs文件调用openssl的sha256算法得到第二文件摘要。
51.在一个例子中,文件验证器的输入为待保护的文件系统的签名字串,公钥和第二文件摘要,其中,公钥存储在ram文件系统中。文件验证器的处理过程为:通过调用openssl的rsa2048算法对签名字串进行处理,反算出第一文件摘要,并将第一文件摘要和第二文件摘要进行对比,若第一文件摘要和第二文件摘要,则证明验证通过,否则没有通过。
52.在一个例子中,验证结果处理根据文件验证器的验证结果,在系统界面显示验证结果,即“通过“或“不通过”,同时进入死循环或者直接返回。
53.上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
54.本发明另一实施例涉及一种文件签名验证系统,下面对本实施例的文件签名验证
系统的细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本例的必须,图4是本实施例所述的文件签名验证系统的示意图,包括:第一获取模块401,装载模块402,计算模块403,第二获取模块404和执行模块405。
55.具体而言,第一获取模块401,用于获取待保护的文件系统,待保护的文件系统携带签名字串,其中,签名字串通过对待保护的文件系统的第一文件摘要进行签名得到。
56.装载模块402,用于装载待保护的文件系统。
57.在一个例子中,装载模块402还用于装载待保护的文件系统的squashfs文件。
58.计算模块403,用于在待保护的文件系统装载完成后,在待保护的文件系统运行之前,对待保护的文件系统进行摘要计算,得到本地计算的第二文件摘要。
59.在一个例子中,计算模块403还用于采用sha256算法对待保护的文件系统进行摘要计算,得到第一文件摘要。
60.在一个例子中,计算模块403还用于采用sha256算法对待保护的文件系统进行摘要计算,得到第二文件摘要。
61.第二获取模块404,用于根据签名字串获取第一文件摘要。
62.执行模块405,用于当第一文件摘要与第二文件摘要不相同时,阻止待保护的文件系统进入运行状态。
63.在一个例子中,执行模块405还用于当第一文件摘要与第二文件摘要相同时,对访问的目标文件进行解压后加载到内存中。
64.不难发现,本实施方式为与第一实施方式相对应的系统实施例,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。
65.值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
66.本发明的另一个实施例涉及一种电子设备,如图5所示,包括:至少一个处理器501;以及,与所述至少一个处理器501通信连接的存储器502;其中,所述存储器502存储有可被所述至少一个处理器501执行的指令,所述指令被所述至少一个处理器501执行,以使所述至少一个处理器501能够执行上述各实施例中的文件签名验证方法。
67.其中,存储器和处理器采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器和存储器的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器。
68.处理器负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,
电压调节、电源管理以及其他控制功能。而存储器可以被用于存储处理器在执行操作时所使用的数据。
69.本发明另一个实施例涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
70.即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
71.本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献