【技术实现步骤摘要】
完整性校验方法、装置、终端设备及验证服务器
本申请属于终端
,尤其涉及完整性校验方法、装置、终端设备、验证服务器及计算机可读存储介质。
技术介绍
完整性校验是指校验文件的准确性,以检测文件是否被非法篡改的技术手段。随着网络技术的不断发展,终端设备下载或应用的文件容易被非法篡改,因此,如何校验终端设备的下载文件或应用文件的完整性成为本领域技术人员亟待解决的问题。现有技术中,可以通过事先对所有文件分别计算哈希值,并分别对各哈希值进行签名保存,以根据保存的各签名结果来进行文件完整性的校验。这种对所有文件分别进行签名的方式需要执行大量的签名操作,极大地增加了计算量。
技术实现思路
本申请实施例提供了一种完整性校验方法、装置、终端设备、验证服务器及计算机可读存储介质,可以解决现有的完整性校验中需要对所有文件分别进行签名,造成计算量大的问题。第一方面,本申请实施例提供了一种完整性校验方法,应用于终端设备,所述完整性校验方法包括:获取文件服务器发送的待校验文件和所述待校验文件的完整性校验信息,所述完整性校验信息包括利用第一签名私钥对目标哈希树的目标根节点签名得到的根节点签名信息、所述目标哈希树中与所述待校验文件相关的子节点以及与所述第一签名私钥对应的第一签名公钥,所述目标哈希树为根据所述文件服务器中的所有文件构建的哈希树;利用所述第一签名公钥对所述根节点签名信息进行验证;当所述根节点签名信息验证通过时,根据所述待校验文件和所述子节点构建所述目标哈希树对应的当前根节点 ...
【技术保护点】
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.一种完整性校验装置,其特征在于,应用于终端设备,所述完整性校验装置包括:
文件获取模块,用于获取文件服务器发送的待校验文件和所述待校验文件的完整性校验信息,所述完整性校验信息包括利用第一签名私钥对目标哈希树的目标根节点签名得到的根节点签名信息、所述目标哈希树中与所述待校验文件相关的子节点以及与所述第一签名私钥对应的第一签名公钥,所述目标哈希树为根据所述文件服务器中的所有文件构建的哈希树;
签名信息校验模块,用于利...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。