完整性校验方法、装置、终端设备及验证服务器制造方法及图纸

技术编号:28942484 阅读:16 留言:0更新日期:2021-06-18 21:49
本申请适用于终端技术领域,尤其涉及完整性校验方法、装置、终端设备及验证服务器。所述方法获取文件服务器发送的待校验文件和待校验文件的完整性校验信息,完整性校验信息包括利用第一签名私钥对目标哈希树的目标根节点签名得到的根节点签名信息、目标哈希树中与待校验文件相关的子节点以及与第一签名私钥对应的第一签名公钥,目标哈希树为根据文件服务器中的所有文件构建的哈希树;利用第一签名公钥对根节点签名信息进行验证;当根节点签名信息验证通过时,根据待校验文件和子节点构建目标哈希树对应的当前根节点,并根据当前根节点和目标根节点校验待校验文件的完整性,解决目前需要对所有文件分别进行签名,造成计算量大的问题。

【技术实现步骤摘要】
完整性校验方法、装置、终端设备及验证服务器
本申请属于终端
,尤其涉及完整性校验方法、装置、终端设备、验证服务器及计算机可读存储介质。
技术介绍
完整性校验是指校验文件的准确性,以检测文件是否被非法篡改的技术手段。随着网络技术的不断发展,终端设备下载或应用的文件容易被非法篡改,因此,如何校验终端设备的下载文件或应用文件的完整性成为本领域技术人员亟待解决的问题。现有技术中,可以通过事先对所有文件分别计算哈希值,并分别对各哈希值进行签名保存,以根据保存的各签名结果来进行文件完整性的校验。这种对所有文件分别进行签名的方式需要执行大量的签名操作,极大地增加了计算量。
技术实现思路
本申请实施例提供了一种完整性校验方法、装置、终端设备、验证服务器及计算机可读存储介质,可以解决现有的完整性校验中需要对所有文件分别进行签名,造成计算量大的问题。第一方面,本申请实施例提供了一种完整性校验方法,应用于终端设备,所述完整性校验方法包括:获取文件服务器发送的待校验文件和所述待校验文件的完整性校验信息,所述完整性校验信息包括利用第一签名私钥对目标哈希树的目标根节点签名得到的根节点签名信息、所述目标哈希树中与所述待校验文件相关的子节点以及与所述第一签名私钥对应的第一签名公钥,所述目标哈希树为根据所述文件服务器中的所有文件构建的哈希树;利用所述第一签名公钥对所述根节点签名信息进行验证;当所述根节点签名信息验证通过时,根据所述待校验文件和所述子节点构建所述目标哈希树对应的当前根节点;根据所述当前根节点和所述目标根节点校验所述待校验文件的完整性。本申请实施例,通过使用哈希树及哈希树根节点签名的方式来对终端设备的下载文件进行完整性校验,使得仅需对根节点的签名即可完成完整性校验,而不需要对每一个文件进行签名,极大地减少了签名的计算量,缓解了计算负担。在第一方面的一种可能的实现方式中,在所述根据所述当前根节点和所述目标根节点校验所述待校验文件的完整性之后,包括:获取所述待校验文件的目标版本校验信息,所述目标版本校验信息为根据所述待校验文件的目标文件版本生成的版本校验信息;根据所述待校验文件的当前文件版本和所述目标版本校验信息校验所述待校验文件的版本合法性。在此,通过将完整性校验和版本合法性校验分开请求的方式,使得可以通过密码学安全的方式来验证待校验文件的真实版本,以降低文件替换和重放攻击的风险。可选地,所述目标版本校验信息为根据所述目标文件版本和所述终端设备的设备标识生成的变色龙签名信息;所述根据所述待校验文件的当前文件版本和所述目标版本校验信息校验所述待校验文件的版本合法性包括:根据所述终端设备对应的设备私钥和所述变色龙签名信息中的变色龙随机数计算所述当前文件版本的第一变色龙哈希值;利用所述变色龙签名信息中的第二签名公钥计算所述变色龙签名信息对应的第二变色龙哈希值;根据所述第一变色龙哈希值和所述第二变色龙哈希值校验所述待校验文件的版本合法性。应理解,通过变色龙签名算法对目标文件版本进行签名,以利用变色龙签名的不可否认性、非交互性以及不可传递的特点保证版本信息的唯一合法性,降低泄漏风险。具体地,在所述根据所述终端设备对应的设备私钥和所述变色龙签名信息中的变色龙随机数计算所述当前文件版本的第一变色龙哈希值之前,包括:根据所述设备标识获取所述终端设备对应的设备私钥。示例的,本申请实施例也可以通过生成版本哈希树以及对版本哈希树的根节点进行签名来生成待校验文件对应的目标版本校验信息。在第一方面的一种可能的实现方式中,所述获取所述待校验文件的目标版本校验信息包括:获取验证服务器发送的所述待校验文件的目标版本校验信息,所述目标版本校验信息为所述验证服务器根据所述文件服务器发送的所述待校验文件的目标文件版本和接收所述待校验文件的终端设备的设备标识生成的版本校验信息。在此,通过验证服务器生成待校验文件的目标版本校验信息可实现风险分担,从而降低目标版本校验信息被攻击的风险。具体地,所述目标哈希树为三叉哈希树,以通过三叉哈希树来减少哈希树的层次,减少完整性校验所需的完整性校验信息,减少带宽占用。第二方面,本申请实施例提供了一种完整性校验方法,应用于验证服务器,所述完整性校验方法包括:获取各终端设备的完整性校验信息,所述完整性校验信息包括利用第一签名私钥对初始哈希树的初始根节点签名得到的初始根节点签名信息以及与所述第一签名私钥对应的第一签名公钥;利用所述第一签名公钥对所述初始根节点签名信息进行验证;当所述初始根节点签名信息验证通过时,根据所述初始根节点构建目标哈希树;获取本地哈希树的本地根节点和所述目标哈希树的目标根节点;根据所述本地根节点和所述目标根节点校验各所述终端设备的完整性。本申请实施例,通过使用哈希树及哈希树根节点签名的方式来对终端设备进行完整性校验,使得终端设备和验证服务器均仅需要对相关哈希树的根节点进行签名,而不需要对每一个文件进行签名,极大地减少了终端设备、验证服务器的计算量,缓解了终端设备、验证服务器的计算负担。可选地,所述初始哈希树包括一级初始哈希树和二级初始哈希树,所述初始根节点为所述二级初始哈希树的根节点;所述一级初始哈希树为各所述终端设备根据各所述终端设备中的各目标文件构建的哈希树;所述二级初始哈希树为各聚合网关根据各所述聚合网关对应的各一级初始哈希树构建的哈希树。具体地,所述聚合网关构建所述二级初始哈希树的过程包括:获取各所述终端设备发送的第二签名公钥;分别利用各所述第二签名公钥对各所述终端设备发送的一级根节点签名信息进行验证;当各所述一级根节点签名信息验证通过时,根据各所述一级初始哈希树的一级初始根节点构建所述二级初始哈希树。需要说明的是,在构建一级初始哈希树时,终端设备可以首先根据第一预设排序方式对终端设备中的目标文件进行排序,然后可以根据排序后的目标文件来构建终端设备对应的一级初始哈希树的各叶子节点。在此,所述第一预设排序方式可以为按照文件名f_req的首字母升序(a→z)的排序方式,或者可以为按照文件名f_req的首字母降序(z→a)的排序方式。示例的,在构建二级初始哈希树时,聚合网关可以首先根据第二预设排序方式对聚合网关对应的终端设备进行排序,然后可以根据排序后的终端设备对应的一级初始哈希树的一级初始根节点构建聚合网关对应的二级初始哈希树。在此,所述第二预设排序方式可以为按照终端设备的设备标识(如ID号)由小至大的排序方式,或者可以为按照终端设备的设备标识(如ID号)由大至小的排序方式。在此,通过将大多数的签名验证过程转移至聚合网关,可以有效减少验证服务器的计算量,缓解验证服务器的计算负担。可选地,在所述获取本地哈希树的本地根节点之前包括:获取所述文件服务器发送的请求文件,所述请求文件为各所述终端设备从所述文件服务本文档来自技高网...

【技术保护点】
1.一种完整性校验方法,其特征在于,应用于终端设备,所述完整性校验方法包括:/n获取文件服务器发送的待校验文件和所述待校验文件的完整性校验信息,所述完整性校验信息包括利用第一签名私钥对目标哈希树的目标根节点签名得到的根节点签名信息、所述目标哈希树中与所述待校验文件相关的子节点以及与所述第一签名私钥对应的第一签名公钥,所述目标哈希树为根据所述文件服务器中的所有文件构建的哈希树;/n利用所述第一签名公钥对所述根节点签名信息进行验证;/n当所述根节点签名信息验证通过时,根据所述待校验文件和所述子节点构建所述目标哈希树对应的当前根节点;/n根据所述当前根节点和所述目标根节点校验所述待校验文件的完整性。/n

【技术特征摘要】
1.一种完整性校验方法,其特征在于,应用于终端设备,所述完整性校验方法包括:
获取文件服务器发送的待校验文件和所述待校验文件的完整性校验信息,所述完整性校验信息包括利用第一签名私钥对目标哈希树的目标根节点签名得到的根节点签名信息、所述目标哈希树中与所述待校验文件相关的子节点以及与所述第一签名私钥对应的第一签名公钥,所述目标哈希树为根据所述文件服务器中的所有文件构建的哈希树;
利用所述第一签名公钥对所述根节点签名信息进行验证;
当所述根节点签名信息验证通过时,根据所述待校验文件和所述子节点构建所述目标哈希树对应的当前根节点;
根据所述当前根节点和所述目标根节点校验所述待校验文件的完整性。


2.如权利要求1所述的完整性校验方法,其特征在于,在所述根据所述当前根节点和所述目标根节点校验所述待校验文件的完整性之后,包括:
获取所述待校验文件的目标版本校验信息,所述目标版本校验信息为根据所述待校验文件的目标文件版本生成的版本校验信息;
根据所述待校验文件的当前文件版本和所述目标版本校验信息校验所述待校验文件的版本合法性。


3.如权利要求2所述的完整性校验方法,其特征在于,所述目标版本校验信息为根据所述目标文件版本和所述终端设备的设备标识生成的变色龙签名信息;
所述根据所述待校验文件的当前文件版本和所述目标版本校验信息校验所述待校验文件的版本合法性包括:
根据所述终端设备对应的设备私钥和所述变色龙签名信息中的变色龙随机数计算所述当前文件版本的第一变色龙哈希值;
利用所述变色龙签名信息中的第二签名公钥计算所述变色龙签名信息对应的第二变色龙哈希值;
根据所述第一变色龙哈希值和所述第二变色龙哈希值校验所述待校验文件的版本合法性。


4.如权利要求3所述的完整性校验方法,其特征在于,在所述根据所述终端设备对应的设备私钥和所述变色龙签名信息中的变色龙随机数计算所述当前文件版本的第一变色龙哈希值之前,包括:
根据所述设备标识获取所述终端设备对应的设备私钥。


5.如权利要求2所述的完整性校验方法,其特征在于,所述获取所述待校验文件的目标版本校验信息包括:
获取验证服务器发送的所述待校验文件的目标版本校验信息,所述目标版本校验信息为所述验证服务器根据所述文件服务器发送的所述待校验文件的目标文件版本和接收所述待校验文件的终端设备的设备标识生成的版本校验信息。


6.如权利要求1至5中任一项所述的完整性校验方法,其特征在于,所述目标哈希树为三叉哈希树。


7.一种完整性校验方法,其特征在于,应用于验证服务器,所述完整性校验方法包括:
获取各终端设备的完整性校验信息,所述完整性校验信息包括利用第一签名私钥对初始哈希树的初始根节点签名得到的初始根节点签名信息以及与所述第一签名私钥对应的第一签名公钥;
利用所述第一签名公钥对所述初始根节点签名信息进行验证;
当所述初始根节点签名信息验证通过时,根据所述初始根节点构建目标哈希树;
获取本地哈希树的本地根节点和所述目标哈希树的目标根节点;
根据所述本地根节点和所述目标根节点校验各所述终端设备的完整性。


8.如权利要求7所述的完整性校验方法,其特征在于,所述初始哈希树包括一级初始哈希树和二级初始哈希树,所述初始根节点为所述二级初始哈希树的根节点;
所述一级初始哈希树为各所述终端设备根据各所述终端设备中的各目标文件构建的哈希树;
所述二级初始哈希树为各聚合网关根据各所述聚合网关对应的各一级初始哈希树构建的哈希树。


9.如权利要求8所述的完整性校验方法,其特征在于,所述聚合网关构建所述二级初始哈希树的过程包括:
获取各所述终端设备发送的第二签名公钥;
分别利用各所述第二签名公钥对各所述终端设备发送的一级根节点签名信息进行验证;
当各所述一级根节点签名信息验证通过时,根据各所述一级初始哈希树的一级初始根节点构建所述二级初始哈希树。


10.如权利要求8所述的完整性校验方法,其特征在于,在所述获取本地哈希树的本地根节点之前包括:
获取所述文件服务器发送的请求文件,所述请求文件为各所述终端设备从所述文件服务器中请求过的文件;
根据所述请求文件构建各所述终端设备对应的一级本地哈希树,并获取各所述一级本地哈希树的一级本地根节点;
根据各所述一级本地根节点构建各所述聚合网关对应的二级本地哈希树,并获取各所述二级本地哈希树的二级本地根节点;
根据各所述二级本地根节点构建所述本地哈希树。


11.如权利要求7所述的完整性校验方法,其特征在于,所述根据所述本地根节点和所述目标根节点校验各所述终端设备的完整性包括:
若所述本地根节点与所述目标根节点相同,则得到所述终端设备的完整性校验通过的校验结果;
若所述本地根节点与所述目标根节点不相同,则得到所述终端设备的完整性校验不通过的校验结果,并比对所述本地哈希树和所述目标哈希树;
根据所述本地哈希树和所述目标哈希树的比对结果,确定完整性校验不通过的目标终端设备。


12.如权利要求7至11中任一项所述的完整性校验方法,其特征在于,所述本地哈希树和所述目标哈希树均为三叉哈希树。


13.一种完整性校验装置,其特征在于,应用于终端设备,所述完整性校验装置包括:
文件获取模块,用于获取文件服务器发送的待校验文件和所述待校验文件的完整性校验信息,所述完整性校验信息包括利用第一签名私钥对目标哈希树的目标根节点签名得到的根节点签名信息、所述目标哈希树中与所述待校验文件相关的子节点以及与所述第一签名私钥对应的第一签名公钥,所述目标哈希树为根据所述文件服务器中的所有文件构建的哈希树;
签名信息校验模块,用于利...

【专利技术属性】
技术研发人员:李永凯
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1