一种客户端安全检测方法、装置及客户端设备制造方法及图纸

技术编号:19515175 阅读:29 留言:0更新日期:2018-11-21 10:11
本发明专利技术实施例公开了一种客户端安全检测方法、装置及电子设备。本发明专利技术实施例方法包括:当客户端启动后,从本地获取当前目标版本的客户端的第一模块校验信息;从预置的客户端版本区块链中,获取目标版本的客户端的第二模块校验信息;对第一模块校验信息及第二模块校验信息进行信息比对;若第一模块校验信息及所述第二模块校验信息匹配,则确定客户端合法。本发明专利技术实施例中利用区块链技术保存客户端的版本信息,由于区块链数据不易篡改的特性,可以有效的对客户端合法性进行校验,提升客户端的安全性,避免用户和开发商的损失。

【技术实现步骤摘要】
一种客户端安全检测方法、装置及客户端设备
本专利技术涉及客户端
,特别涉及一种客户端安全检测方法、装置及客户端设备。
技术介绍
目前,对于一个客户端程序来说,其是由一个个功能组件组合完成的,通常的客户端开发者会按照功能进行模块划分,从而可以使得多人协同完成,对功能的划分也会更为清晰。例如,对于Windows软件开发,会拆分成多个模块来完成,一个模块则是一个动态链接库文件((DynamicLinkLibrary,DLL)文件,这样既有利于代码共享和分工,又可以将功能尽可能的拆分,减少代码耦合度。因此一个软件的组成则由一个可执行程序(executableprogram,EXE)文件和多个DLL文件组成。例如将软件中使用的所有的加密解密算法功能封装到一个独立的DLL文件中,例如将所有网络相关的功能封装到一个独立的DLL文件中,例如将日志功能封装到一个独立的DLL文件中。具体的,客户端程序将数据库的操作独立的编写成一个模块文件,将网络操作独立的编写成一个模块文件,将数据加密解密相关功能独立的编写成一个模块文件,然而现有黑客通过修改客户端模块来完成一些非法的功能。例如黑客可以通过修改客户端的模块来从模块中获取想要的数据。例如对于客户端程序来说,比如客户端将用户的聊天记录进行加密后发送给服务器,那么客户端程序会将用户的聊天记录调用加密模块来进行加密后发送给服务器,那么此电脑一旦感染病毒,那么病毒程序则可以通过修改客户端加密模块程序,从而得到所有的明文的聊天记录。上述软件开发方式虽然有利于代码共享和分工,减少代码耦合度,但同时也会带来一个问题,软件模块容易被黑客所破解,从而可能对软件开发商和用户造成难以估量的损失。
技术实现思路
本专利技术实施例提供了一种客户端安全检测方法、装置及客户端设备,以避免目前客户端模块容易被黑客破解,造成难以估量的损失的问题,提高客户端安全性。第一方面,本申请提供了一种客户端安全检测方法,该方法包括:当客户端启动后,从本地获取当前目标版本的所述客户端的第一模块校验信息;从预置的客户端版本区块链中,获取所述目标版本的所述客户端的第二模块校验信息,所述第一模块校验信息和所述第二模块校验信息对应相同的客户端模块;对所述第一模块校验信息及所述第二模块校验信息进行信息比对;若所述第一模块校验信息及所述第二模块校验信息匹配,则确定所述客户端合法。进一步的,所述从本地获取目标版本的所述客户端的第一模块校验信息,包括:从本地获取目标版本的所述客户端的模块校验信息列表,所述模块校验信息列表中包括所述目标版本的所述客户端所有模块的校验信息;其中,所述第一模块校验信息包括所述模块校验信息列表中至少一个所述客户端模块的校验信息。进一步的,所述方法还包括:在安装所述客户端后,从服务器获取所述客户端版本区块链,所述客户端版本区块链中包括所述客户端当前版本的模块校验信息列表及每一个历史版本的模块校验信息列表;在所述客户端每次进行版本更新时,生成新的模块校验信息列表;根据所述新的模块校验信息列表,更新所述客户端版本区块链。进一步的,所述在所述客户端每次进行版本更新时,生成新的模块校验信息列表,包括:在所述客户端每次进行版本更新时,获取当前更新的所述客户端各模块文件大小;获取当前更新的所述客户端模块版本号;根据所述客户端各模块文件大小,确定当前更新的所述客户端中各模块的校验信息;根据所述客户端中各模块的校验信息及所述当前更新的所述客户端模块版本号,生成新的模块校验信息列表。进一步的,所述根据所述客户端各模块文件大小,确定当前更新的所述客户端中各模块的校验信息,包括:分别以所述客户端中各模块为目标模块;若所述目标模块文件大小小于预设阈值,则以所述目标模块的整体哈希值作为所述目标模块的校验信息;若所述目标模块文件大小大于等于预设阈值,则以所述目标模块的第一预设长度文件头的哈希值,第二预设长度的文件尾部的哈希值作为所述目标模块的校验信息。进一步的,所述对所述第一模块校验信息及所述第二模块校验信息进行信息比对,包括:若所述第一模块校验信息中包括多个所述客户端的模块校验信息时,则分别对所述第一校验模块中的模块校验信息,与所述第二模块校验信息中对应的模块校验信息进行比对;若所述第一校验模块中的所有模块校验信息均与所述第二模块校验信息中对应的模块校验信息匹配,则确定所述第一模块校验信息及所述第二模块校验信息匹配。第二方面,本申请提供一种客户端安全检测装置,该装置包括:第一获取模块,用于当客户端启动后,从本地获取当前目标版本的所述客户端的第一模块校验信息;第二获取模块,用于从预置的客户端版本区块链中,获取所述目标版本的所述客户端的第二模块校验信息,所述第一模块校验信息和所述第二模块校验信息对应相同的客户端模块;比对模块,用于对所述第一模块校验信息及所述第二模块校验信息进行信息比对;确定模块,用于在所述第一模块校验信息及所述第二模块校验信息匹配时,确定所述客户端合法。进一步的,所述第一获取模块具体用于:从本地获取目标版本的所述客户端的模块校验信息列表,所述模块校验信息列表中包括所述目标版本的所述客户端所有模块的校验信息;其中,所述第一模块校验信息包括所述模块校验信息列表中至少一个所述客户端模块的校验信息。进一步的,所述装置还包括更新模块,所述更新模块用于:在安装所述客户端后,从服务器获取所述客户端版本区块链,所述客户端版本区块链中包括所述客户端当前版本的模块校验信息列表及每一个历史版本的模块校验信息列表;在所述客户端每次进行版本更新时,生成新的模块校验信息列表;根据所述新的模块校验信息列表,更新所述客户端版本区块链。进一步的,所述更新模块具体用于:分别以所述客户端中各模块为目标模块;若所述目标模块文件大小小于预设阈值,则以所述目标模块的整体哈希值作为所述目标模块的校验信息;若所述目标模块文件大小大于等于预设阈值,则以所述目标模块的第一预设长度文件头的哈希值,第二预设长度的文件尾部的哈希值作为所述目标模块的校验信息。进一步的,所述比对模块具体用于:若所述第一模块校验信息中包括多个所述客户端的模块校验信息时,则分别对所述第一校验模块中的模块校验信息,与所述第二模块校验信息中对应的模块校验信息进行比对;若所述第一校验模块中的所有模块校验信息均与所述第二模块校验信息中对应的模块校验信息匹配,则确定所述第一模块校验信息及所述第二模块校验信息匹配。第三方面,本专利技术还提供一种电子设备,包括:存储器,处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时可以实现第一方面中任一所述的方法。第四方面,本专利技术还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面中任一所述的方法。本专利技术实施例当客户端启动后,从本地获取当前目标版本的客户端的第一模块校验信息;从预置的客户端版本区块链中,获取目标版本的客户端的第二模块校验信息;对第一模块校验信息及第二模块校验信息进行信息比对;若第一模块校验信息及所述第二模块校验信息匹配,则确定客户端合法。本专利技术实施例中利用区块链技术保存客户端的版本信息,由于区块链数据不易篡改的特性,可以有效的对客户端合法性进行校验,提升客户端的安全性,避免用户和开发本文档来自技高网
...

【技术保护点】
1.一种客户端安全检测方法,其特征在于,所述方法包括:当客户端启动后,从本地获取当前目标版本的所述客户端的第一模块校验信息;从预置的客户端版本区块链中,获取所述目标版本的所述客户端的第二模块校验信息,所述第一模块校验信息和所述第二模块校验信息对应相同的客户端模块;对所述第一模块校验信息及所述第二模块校验信息进行信息比对;若所述第一模块校验信息及所述第二模块校验信息匹配,则确定所述客户端合法。

【技术特征摘要】
1.一种客户端安全检测方法,其特征在于,所述方法包括:当客户端启动后,从本地获取当前目标版本的所述客户端的第一模块校验信息;从预置的客户端版本区块链中,获取所述目标版本的所述客户端的第二模块校验信息,所述第一模块校验信息和所述第二模块校验信息对应相同的客户端模块;对所述第一模块校验信息及所述第二模块校验信息进行信息比对;若所述第一模块校验信息及所述第二模块校验信息匹配,则确定所述客户端合法。2.根据权利要求1所述的方法,其特征在于,所述从本地获取目标版本的所述客户端的第一模块校验信息,包括:从本地获取目标版本的所述客户端的模块校验信息列表,所述模块校验信息列表中包括所述目标版本的所述客户端所有模块的校验信息;其中,所述第一模块校验信息包括所述模块校验信息列表中至少一个所述客户端模块的校验信息。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:在安装所述客户端后,从服务器获取所述客户端版本区块链,所述客户端版本区块链中包括所述客户端当前版本的模块校验信息列表及每一个历史版本的模块校验信息列表;在所述客户端每次进行版本更新时,生成新的模块校验信息列表;根据所述新的模块校验信息列表,更新所述客户端版本区块链。4.根据权利要求1所述的方法,其特征在于,所述在所述客户端每次进行版本更新时,生成新的模块校验信息列表,包括:在所述客户端每次进行版本更新时,获取当前更新的所述客户端各模块文件大小;获取当前更新的所述客户端模块版本号;根据所述客户端各模块文件大小,确定当前更新的所述客户端中各模块的校验信息;根据所述客户端中各模块的校验信息及所述当前更新的所述客户端模块版本号,生成新的模块校验信息列表。5.根据权利要求4所述的方法,其特征在于,所述根据所述客户端各模块文件大小,确定当前更新的所述客户端中各模块的校验信息,包括:分别以所述客户端中各模块为目标模块;若所述目标模块文件大小小于预设阈值,则以所述目标模块的整体哈希值作为所述目标模块的校验信息;若所述目标模块文件大小大于等于预设阈值,则以所述目标模块的第一预设长度文...

【专利技术属性】
技术研发人员:周志刚陈少杰张文明
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北,42

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

1