程序文件校验方法及装置、服务器和终端的制作方法_5

文档序号:9551276阅读:来源:国知局
接后,获得所述应用程序包的版本号;
[0208]随机数获得模块320,用于获得针对于所述应用程序包的随机数;
[0209]第一哈希值生成模块330,用于根据所述随机数和服务器自身预先存储的具有所述版本号的应用程序包中的预设待校验文件的文件内容,并利用预定哈希算法,生成针对于所述预设待检验文件的第一哈希值;
[0210]随机数发送模块340,用于将所述随机数发送给所述终端,以使得所述终端在接收到所述随机数后,根据所述随机数和所述终端本地的所述应用程序包中的所述预设待检验文件的文件内容,并利用所述预定哈希算法,生成针对于所述预设待检验文件的第二哈希值;
[0211]第二哈希值信息获得模块350,用于获得关于所述终端所生成的所述第二哈希值的相关息;
[0212]完整性校验模块360,用于根据关于所述第二哈希值的相关信息和关于所述第一哈希值的相关信息,确定所述终端内的所述预设待校验文件的完整性校验结果。
[0213]本发明实施例中,在程序文件校验时,通过服务器来完成校验,避免了攻击者对完整性校验代码的更改,并且,计算哈希值时在预设待校验文件的基础上增加随机数,提高了哈希值的不确定性,降低了哈希值被攻击者穷举出的风险,因此,通过本方案能够提高校验程序文件的完整性的准确率。
[0214]具体的,在一种实现方式中,所述第二哈希值信息获得模块350,可以包括:
[0215]第一信息获得单元,用于向所述终端请求获得所述终端所生成的所述第二哈希值;
[0216]或者,
[0217]第二信息获得单元,用于接收所述终端在生成所述第二哈希值后所上报的所述第二哈希值;
[0218]所述完整性校验模块360,可以包括:
[0219]第一完整性校验单元,用于判断所获得的所述第二哈希值和所述第一哈希值是否相同,如果相同,确定所述终端内的所述预设待校验文件完整;否则,确定所述终端内的所述预设待校验文件不完整。
[0220]具体的,在另一种实现方式中,所述第二哈希值信息获得模块350,可以包括:
[0221]第三信息获得单元,用于依次向所述终端请求获得所述第二哈希值的多个与预定数据位相关的数值;
[0222]所述完整性校验模块360,可以包括:
[0223]第二完整性校验单元,用于依次判断所述第二哈希值的多个与预定数据位相关的数值和所述第一哈希值的与相应预定数据位相关的数值是否相同,如果判断结果均为是,确定所述终端内的所述预设待校验文件完整;否则,确定所述终端内的所述预设待校验文件不完整。
[0224]具体的,所述与预定数据位相关的数值,可以包括:
[0225]预定数据位上的数值;
[0226]或者,
[0227]对至少两个预定数据位上的数值进行数学运算所得的数值。
[0228]更进一步的,本实施例所提供的一种程序文件校验装置还可以包括:
[0229]连接断开模块,用于在确定出所述终端内的所述预设待校验文件不完整性时,断开与所述终端之间的通信连接。
[0230]更进一步的,本实施例所提供的一种程序文件校验装置还可以包括:
[0231]第一信息发送模块,用于在确定出所述终端内的所述预设待校验文件不完整性时,向终端推送提示消息,其中,所述提示消息用于提示所述预设待校验文件不完整;
[0232]或者,
[0233]第二信息发送模块,用于在确定出所述终端内的所述预设待校验文件不完整性时,向终端推送提示消息以及下载链接地址,其中,所述提示消息用于提示所述预设待校验文件不完整,所述下载链接地址为所述应用程序包的下载地址。
[0234]相应于上述从终端角度所提供的一种程序文件校验装置,本发明实施例还提供了一种程序文件校验装置,应用于终端,所述终端为:用于运行承载于应用程序包的应用软件的终端;如图10所示,所述装置可以包括:
[0235]随机数接收模块410,用于在与用于为所述应用软件提供网络服务的服务器建立通信连接后,接收所述服务器发送的针对于所述应用程序包的随机数,其中,所述随机数为:所述服务器在与所述终端建立通信连接后获得并发送的;
[0236]第二哈希值生成模块420,用于根据所述随机数和所述终端本地的所述应用程序包中的预设待校验文件的文件内容,并利用预定哈希算法,生成针对于所述预设待校验文件的第二哈希值;
[0237]第二哈希值信息发送模块430,用于向所述服务器发送所述第二哈希值的相关信息,以使得所述服务器获得关于所述第二哈希值的相关信息后,根据关于所述第二哈希值的相关信息和关于第一哈希值的相关信息,确定所述终端内的所述预设待校验文件的完整性校验结果,其中,所述第一哈希值为:所述服务器根据所述随机数和自身预先存储的、具有所述终端内的所述应用程序包的版本号的应用程序包中的预设待校验文件的文件内容,并利用所述预定哈希算法生成的。
[0238]本发明实施例中,在程序文件校验时,通过服务器来完成校验,避免了攻击者对完整性校验代码的更改,并且,计算哈希值时在预设待校验文件的基础上增加随机数,提高了哈希值的不确定性,降低了哈希值被攻击者穷举出的风险,因此,通过本方案能够提高校验程序文件的完整性的准确率。
[0239]具体的,在一种实现方式中,所述第二哈希值信息发送模块430,可以包括:
[0240]第一信息发送单元,用于在接收到所述服务器发送的关于所述第二哈希值的请求后,向所述服务器反馈所述第二哈希值;
[0241]或者,
[0242]第二信息发送单元,用于在生成所述第二哈希值后,向所述服务器上报所述第二哈希值。
[0243]具体的,在另一种具体实现方式中,所述第二哈希值信息发送模块430,可以包括:
[0244]数值请求获得单元,用于依次接收服务器发送的关于所述第二哈希值的多个与预定数据位相关的数值的请求;
[0245]第三信息发送单元,用于在接收到服务器发送的关于所述第二哈希值的每一个与预定数据位相关的数值的请求后,向所述服务器反馈关于所述第二哈希值的相应与预定数据位相关的数值。
[0246]具体的,所述与预定数据位相关的数值,可以包括:
[0247]预定数据位上的数值;
[0248]或者,
[0249]对至少两个预定数据位上的数值进行数学运算所得的数值。
[0250]更进一步的,本实施例所提供的一种程序文件校验装置,还包括:
[0251]第一消息接收单元,用于接收所述服务器推送的提示消息,其中,所述提示消息用于提示所述预设待校验文件不完整;
[0252]或者,
[0253]第二消息接收单元,用于接收服务器推送的提示消息以及下载链接地址,其中,所述提示消息用于提示所述预设待校验文件不完整,所述下载链接地址为所述应用程序包的下载地址。
[0254]另外,本发明实施例还提供了一种服务器,所述服务器为:用于为运行在终端内的承载于应用程序包的应用软件提供网络服务的服务器,其中,所述服务器包括:
[0255]处理器、存储器、通信接口和总线;
[0256]所述处理器、所述存储器和所述通信接口通过所述总线连接并完成相互间的通
?目;
[0257]所述存储器存储可执行程序代码;
[0258]所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于执行一种程序文件校验方法;其中,一种程序文件校验方法包括:
[0259]在与所述终端建立通信连接后,获得所述应用程序包的版本号;
[0260]获得针对于所述应用程序包的随机数;
[0261]根据所述随机数和服务器自身预先存储的具有所述版本号的应用程序包中的预设待校验文件的文件内容,并利用预定哈希算法,生成针对于所述预设待检验文件的第一哈希值;
[0262]将所述随机数发送给所述终端,以使得所述终端在接收到所述随机数后,根据所述随机数和所述终端本地的所述应用程序包中的所述预设待检验文件的文件内容,并利用所述预定哈希算法,生成针对于所述预设待检验文件的第二哈希值;
[0263]获得关于所述终端所生成的所述第二哈希值的相关信息;
[0264]根据关于所述第二哈希值的相关信息和关于所述第一哈希值的相关信息,确定所述终端内的所述预设待校验文件的完整性校验结果。
[0265]另外,本发明实施例还提供了一种终端,所述终端为:用于运行承载于应用程序包的应用软件的终端;其中,所述终端包括:处理器、存储器、通信接口和总线;
[0266]所述处理器、所述存储器和所述通信接口通过所述总线连接并完成相互间的通?目;
[0267]所述存储器存储可执行程序代码;
[0268]所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于执行一种程序文件校验方法;其中,一种程序文件校验方法包括:
[0269]在与用于为所述应用软件提供网络服务的服务器建立通信连接后,接收所述服务器发送的针对于所述应用程序包的随机数,其中,所述随机数为:所述服务器在与所述终端建立通信连接后获得并发送的;
[0270]根据所述随机数和所述终端本地的所述应用程序包中的预设待校验文件的文件内容,并利用预定哈希算法,生成针对于所述预设待校验文件的第二哈希值;
[0271]向所述服务器发送所述第二哈希值的相关信息,以使得所述服务器获得关于所述第二哈希值的相关信息后,根据关于所述第二哈希值的相关信息和关于第一哈希值的相关信息,确定所述终端内的所述预设待校验文件的完整性校验结果,其中,所述第一哈希值为:所述服务器根据所述随机数和自身预先存储的、具有所述终端内的所述应用程序包的版本号的应用程序包中的预设待校验文件的文件内容,并利用所述预定哈希算法生成的。
[0272]需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种
当前第5页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1