System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 文件校验方法、装置、电子设备及计算机存储介质制造方法及图纸_技高网

文件校验方法、装置、电子设备及计算机存储介质制造方法及图纸

技术编号:40509375 阅读:3 留言:0更新日期:2024-03-01 13:24
本申请实施例提供了一种文件校验方法、装置、电子设备及计算机存储介质,涉及操作系统技术领域。该方法包括:获取针对目标文件的操作请求,操作请求包括操作类型,若操作类型为写操作类型,调用预设的钩子函数,确定操作请求是否为目标文件的首次写操作,若操作请求不是首次写操作,确定目标文件的第一哈希值,将第一哈希值和目标文件存储的第一验证值上传至可信执行模块,以使可信执行模块确定目标文件的校验结果。本申请提供的文件校验方法,通过可信执行模块将第一哈希值和第一验证值进行比较以完成对目标文件的完整性校验,校验通过之后才可以对目标文件进行写操作,防止系统数据被篡改,能够保证系统数据的安全,优化系统性能。

【技术实现步骤摘要】

本申请涉及操作系统,具体而言,本申请涉及一种文件校验方法、装置、电子设备及计算机存储介质


技术介绍

1、随着操作系统技术的发展,人们的生活越来越依赖各种系统,系统的完整性问题日益重要,例如,对于某个受大众欢迎的软件,攻击者会将恶意代码添加到该软件中,然后发布到网络上,当用户下载并使用这些被篡改过的软件时,计算机病毒或木马程序就会悄然进入用户的计算机等电子设备。因此,需要对操作系统中的文件的完整性进行校验,即文件完整性校验,以确保数据、文件或其他信息在传输或使用过程中未被篡改、损坏或感染恶意代码等。

2、通常系统完整性校验的方法为,在每次电子设备重启后、用户访问文件前,操作系统均对该文件进行验签操作,以此确定该文件是否被篡改。然而,对于与用户数据相对应的可写分区无法进行校验,一旦有攻击者对用户数据进行篡改,没有相应的完整性校验机制,无法保证数据的安全性,导致系统性能较差。


技术实现思路

1、本申请实施例旨在解决现有电子设备中的操作系统无法对可写分区的文件进行完整性校验的问题。所述技术方案如下:

2、第一方面,本申请提供了一种文件校验方法,包括:

3、获取针对目标文件的操作请求,操作请求包括操作类型;

4、若操作类型为写操作类型,调用预设的钩子函数,确定操作请求是否为目标文件的首次写操作;

5、若操作请求不是首次写操作,确定目标文件的第一哈希值;

6、将第一哈希值和目标文件存储的第一验证值上传至可信执行模块,以使可信执行模块基于第一哈希值和第一验证值确定针对目标文件的校验结果;校验结果用于表征目标文件的完整性。

7、在第一方面的可选实施例中,操作请求还包括写入内容;

8、方法还包括:

9、若操作请求是首次写操作,则将操作请求中的写入内容写入目标文件;

10、获取目标文件的第二哈希值,并将第二哈希值上传至可信执行模块,以使可信执行模块基于第二哈希值与可信执行模块的标识确定出第一验证值;

11、将第一验证值存储在目标文件中。

12、在第一方面的可选实施例中,基于第一哈希值和第一验证值确定针对目标文件的校验结果,包括:

13、基于第一哈希值和可信执行模块的标识,获取第二验证值;

14、将第一验证值和第二验证值进行对比,获取校验结果。

15、在第一方面的可选实施例中,方法还包括:

16、若校验结果为验证值相同,则根据操作请求对目标文件进行写操作,获得更新后的目标文件;

17、获取更新后的目标文件的第三哈希值,并将第三哈希值上传至可信执行模块,根据第三哈希值和可信执行模块的标识,获取第三验证值;

18、基于第三验证值对第一验证值进行更新,将更新后的第一验证值存储在目标文件中。

19、在第一方面的可选实施例中,方法还包括:

20、若校验结果为验证值不相同,则不允许对目标文件进行写操作。

21、在第一方面的可选实施例中,获取针对目标文件的操作请求之前,包括:

22、生成针对系统的私钥;

23、确定系统中每一只读文件的第四哈希值;

24、针对每一只读文件,使用私钥对第四哈希值进行签名,获取签名信息;

25、分别将签名信息存储在每一只读文件中;签名信息用于验证是否允许针对目标文件进行对应的读操作。

26、在第一方面的可选实施例中,方法还包括:

27、生成针对系统的公钥,并将公钥存储在可信执行模块中;

28、若操作类型为只读操作类型,则获取目标文件的第五哈希值;

29、将第五哈希值和目标文件中的签名信息上传到可信执行模块,以使可信执行模块根据公钥和第五哈希值对签名信息进行验证;

30、若验证通过,则根据操作请求对目标文件进行读操作;

31、若验证不通过,则不允许对目标文件进行读操作。

32、第二方面,提供了一种文件校验装置,该装置包括:

33、获取模块,用于获取针对目标文件的操作请求,操作请求包括操作类型;

34、调用模块,用于若操作类型为写操作类型,调用预设的钩子函数,确定操作请求是否为目标文件的首次写操作;

35、确定模块,用于若操作请求不是首次写操作,确定目标文件的第一哈希值;

36、校验模块,用于将第一哈希值和目标文件存储的第一验证值上传至可信执行模块,以使可信执行模块基于第一哈希值和第一验证值确定针对目标文件的校验结果;校验结果用于表征目标文件的完整性。

37、第三方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,其特征在于,处理器执行计算机程序以实现本申请第一方面中任一项方法的步骤。

38、第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,计算机程序被处理器执行时实现本申请第一方面中任一项所示的文件校验方法。

39、本申请实施例提供的技术方案带来的有益效果是:

40、本申请提供的文件校验方法,通过获取操作请求并确定操作类型,确定为写操作类型,则调用内核中预设的钩子函数确定该操作请求是目标文件的第几次写操作,若是该目标文件的首次写操作,将写入内容写入该文件,然后获取目标文件的第二哈希值,可信执行模块基于第二哈希值和模块的标识确定出第一验证值并将验证值存储在目标文件中,若非首次写操作,则获取目标文件的第一哈希值,将目标文件中保存的第一验证值与该第一哈希值上传到可信执行模块中,使得可信执行模块将第一验证值与第一哈希值进行比较确定校验结果,该校验结果表征了目标文件的完整性。本申请中的方法支持在可信环境中对可写分区的文件进行完整性校验,能够有效防止可写文件中数据被篡改,提高了文件数据的安全性,优化了系统性能。

41、进一步的,在系统的编译准备阶段,获取系统中每一个只读文件的第四哈希值,生成私钥对每一第四哈希值进行签名,将签名信息存储在对应的文件中,生成公钥存储在可信执行模块中,若操作类型为只读操作类型,获取目标文件的第五哈希值,在可信执行模块中使用第五哈希值和公钥对签名信息进行验证,验证通过后才可以进行读操作,实现了对于只读分区文件的完整性校验,本申请中的文件校验方法能够对只读和可写分区的文件进行校验,能够保证系统完整性校验信任链的完整。

本文档来自技高网...

【技术保护点】

1.一种文件校验方法,其特征在于,包括:

2.基于权利要求1所述的文件校验方法,其特征在于,所述操作请求还包括写入内容;

3.基于权利要求1所述的文件校验方法,其特征在于,所述基于所述第一哈希值和所述第一验证值确定针对所述目标文件的校验结果,包括:

4.基于权利要求1所述的文件校验方法,其特征在于,所述方法还包括:

5.基于权利要求1所述的文件校验方法,其特征在于,所述方法还包括:

6.基于权利要求1所述的文件校验方法,其特征在于,所述获取针对目标文件的操作请求之前,包括:

7.基于权利要求6所述的文件校验方法,其特征在于,所述方法还包括:

8.一种文件校验装置,其特征在于,包括:

9.一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现权利要求1至7中任一项所述方法的步骤。

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的文件校验方法的步骤。

...

【技术特征摘要】

1.一种文件校验方法,其特征在于,包括:

2.基于权利要求1所述的文件校验方法,其特征在于,所述操作请求还包括写入内容;

3.基于权利要求1所述的文件校验方法,其特征在于,所述基于所述第一哈希值和所述第一验证值确定针对所述目标文件的校验结果,包括:

4.基于权利要求1所述的文件校验方法,其特征在于,所述方法还包括:

5.基于权利要求1所述的文件校验方法,其特征在于,所述方法还包括:

6.基于权利要求1所述的文件校验方法,其特征在于,所...

【专利技术属性】
技术研发人员:刘宇浩赵海春张炯明
申请(专利权)人:元心信息科技集团有限公司
类型:发明
国别省市:

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

1