CN114218534B - 离线包的校验方法、装置、设备及存储介质 - Google Patents
离线包的校验方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114218534B CN114218534B CN202111523893.4A CN202111523893A CN114218534B CN 114218534 B CN114218534 B CN 114218534B CN 202111523893 A CN202111523893 A CN 202111523893A CN 114218534 B CN114218534 B CN 114218534B
- Authority
- CN
- China
- Prior art keywords
- hash value
- offline package
- offline
- algorithm
- public
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000012795 verification Methods 0.000 claims abstract description 53
- 238000012545 processing Methods 0.000 claims description 25
- 230000006837 decompression Effects 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 abstract description 11
- 238000013473 artificial intelligence Methods 0.000 abstract description 8
- 230000006870 function Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000005242 forging Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000009418 renovation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
- G06F21/128—Restricting unauthorised execution of programs involving web programs, i.e. using technology especially used in internet, generally interacting with a web browser, e.g. hypertext markup language [HTML], applets, java
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及人工智能领域,公开了一种离线包的校验方法、装置、设备及存储介质,用于提高离线包校验的准确率。所述离线包的校验方法包括:根据离线包获取请求调用第一算法生成公私钥;获取待更新离线包的离线包信息,并通过第二算法计算第一哈希值,并根据公私钥通过第一算法对第一哈希值进行加密处理,得到哈希密文;对离线包信息进行解析,得到下载地址;根据下载地址下载离线包,得到目标离线包,并根据第二算法生成第二哈希值;解密哈希密文,得到第一哈希值,并对第一哈希值和第二目标哈希值进行匹配,得到匹配结果;若匹配成功,则对目标离线包进行解压并运行目标离线包。此外,本发明还涉及区块链技术,目标离线包可存储于区块链节点中。
Description
技术领域
本发明涉及人工智能领域,尤其涉及一种离线包的校验方法、装置、设备及存储介质。
背景技术
近年来,移动互联网应用程序(App)得到广泛应用,在促进经济社会发展、服务民生等方面发挥了不可替代的作用;同时违规窃取个人信息、滥用个人信息甚至是倒卖个人信息的行为层出不穷,信息泄露严重,致使个人信息安全受到了极大的威胁。随着国家纵深推进App专项整治行动,监管部门、各行业参与方、终端用户都越来越关注App的安全问题。
目前Hybrid已经成为企业开发App的主要方式,通过h5离线包混合开发的这种方式有一套代码同时适用于android和ios等不同的平台、更新及时等优点,减少了开发的工作量,并且可以不需要升级App做到新增或者及时更新App的业务功能。但是这种方式也暴露一些安全问题,离线包是有可能被攻击者篡改和植入恶意代码的,App下载并执行未经校验的离线包可能导致App信息泄露、暴露用户隐私数据。
发明内容
本发明提供了一种离线包的校验方法、装置、设备及存储介质,用于提高离线包校验的准确率。
本发明第一方面提供了一种离线包的校验方法,所述离线包的校验方法包括:接收预置移动互联网应用程序发送的离线包获取请求,并根据所述离线包获取请求调用预置的第一算法生成所述离线包获取请求对应的公私钥,其中,所述公私钥包括公钥和私钥;从预置的本地缓存中获取待更新离线包对应的离线包信息,并通过预置的第二算法计算所述离线包信息对应的第一哈希值,并根据所述公私钥并通过所述第一算法对所述第一哈希值进行加密处理,得到所述第一哈希值对应的哈希密文;对所述公私钥和所述哈希密文进行存储,并对所述离线包信息进行解析,得到所述离线包信息对应的下载地址;根据所述下载地址下载离线包,得到目标离线包,并根据所述第二算法生成所述目标离线包对应的哈希值,得到第二哈希值;通过所述第一算法和所述公私钥解密所述哈希密文,得到所述第一哈希值,并对所述第一哈希值和第二目标哈希值进行匹配,得到匹配结果;若所述匹配结果为所述第一哈希值和所述第二哈希值匹配成功,则对所述目标离线包进行解压并运行所述目标离线包。
可选的,在本发明第一方面的第一种实现方式中,所述接收预置移动互联网应用程序发送的离线包获取请求,并根据所述离线包获取请求调用预置的第一算法生成所述离线包获取请求对应的公私钥,包括:接收预置移动互联网应用程序发送的离线包获取请求;根据所述离线包获取请求匹配所述离线包获取请求对应的第一算法;通过所述第一算法生成与所述离线包获取请求对应的公私钥。
可选的,在本发明第一方面的第二种实现方式中,所述从预置的本地缓存中获取待更新离线包对应的离线包信息,并通过预置的第二算法计算所述离线包信息对应的第一哈希值,并根据所述公私钥并通过所述第一算法对所述第一哈希值进行加密处理,得到所述第一哈希值对应的哈希密文,包括:基于所述离线包获取请求从预置的本地缓存中获取待更新离线包对应的离线包信息;将所述离线包信息输入预置的第二算法进行哈希值计算,得到所述离线包信息对应的第一哈希值;基于所述公私钥中的私钥并通过所述第一算法对所述第一哈希值进行加密处理,得到所述第一哈希值对应的哈希密文。
可选的,在本发明第一方面的第三种实现方式中,所述对所述公私钥和所述哈希密文进行存储,并对所述离线包信息进行解析,得到所述离线包信息对应的下载地址,包括:对所述公私钥、所述离线包信息和所述哈希密文进行组装,得到离线包报文,并将所述离线包报文返回至所述移动互联网应用程序;对所述离线包信息进行解析,得到所述离线包信息对应的下载地址。
可选的,在本发明第一方面的第四种实现方式中,所述根据所述下载地址下载离线包,得到目标离线包,并根据所述第二算法生成所述目标离线包对应的哈希值,得到第二哈希值,包括:基于所述下载地址获取下载资源,并根据所述下载资源下载所述离线包信息对应的离线包,得到目标离线包;通过所述第二算法计算所述目标离线包对应的哈希值,得到第二哈希值。
可选的,在本发明第一方面的第五种实现方式中,所述通过所述第一算法和所述公私钥解密所述哈希密文,得到所述第一哈希值,并对所述第一哈希值和第二目标哈希值进行匹配,得到匹配结果,包括:通过所述公私钥中的公钥和所述第一算法对所述哈希密文进行解析,得到所述第一哈希值;在预置的本地缓存中对所述第一哈希值和所述第二哈希值进行匹配,得到匹配结果,其中,所述匹配结果包括所述第一哈希值和所述第二哈希值匹配成功和所述第一哈希值和所述第二哈希值匹配不成功。
可选的,在本发明第一方面的第六种实现方式中,所述离线包的校验方法还包括:若所述匹配结果为所述第一哈希值和所述第二哈希值匹配不成功,则将所述第一哈希值和所述第二哈希值匹配不成功生成提示信息;将所述提示信息发送至所述移动互联网应用程序进行预警。
本发明第二方面提供了一种离线包的校验装置,所述离线包的校验装置包括:接收模块,用于接收预置移动互联网应用程序发送的离线包获取请求,并根据所述离线包获取请求调用预置的第一算法生成所述离线包获取请求对应的公私钥,其中,所述公私钥包括公钥和私钥;处理模块,用于从预置的本地缓存中获取待更新离线包对应的离线包信息,并通过预置的第二算法计算所述离线包信息对应的第一哈希值,并根据所述公私钥并通过所述第一算法对所述第一哈希值进行加密处理,得到所述第一哈希值对应的哈希密文;解析模块,用于对所述公私钥和所述哈希密文进行存储,并对所述离线包信息进行解析,得到所述离线包信息对应的下载地址;下载模块,用于根据所述下载地址下载离线包,得到目标离线包,并根据所述第二算法生成所述目标离线包对应的哈希值,得到第二哈希值;匹配模块,用于通过所述第一算法和所述公私钥解密所述哈希密文,得到所述第一哈希值,并对所述第一哈希值和第二目标哈希值进行匹配,得到匹配结果;解压模块,用于若所述匹配结果为所述第一哈希值和所述第二哈希值匹配成功,则对所述目标离线包进行解压并运行所述目标离线包。
可选的,在本发明第二方面的第一种实现方式中,所述接收模块具体用于:接收预置移动互联网应用程序发送的离线包获取请求;根据所述离线包获取请求匹配所述离线包获取请求对应的第一算法;通过所述第一算法生成与所述离线包获取请求对应的公私钥。
可选的,在本发明第二方面的第二种实现方式中,所述处理模块具体用于:基于所述离线包获取请求从预置的本地缓存中获取待更新离线包对应的离线包信息;将所述离线包信息输入预置的第二算法进行哈希值计算,得到所述离线包信息对应的第一哈希值;基于所述公私钥中的私钥并通过所述第一算法对所述第一哈希值进行加密处理,得到所述第一哈希值对应的哈希密文。
可选的,在本发明第二方面的第三种实现方式中,所述解析模块具体用于:对所述公私钥、所述离线包信息和所述哈希密文进行组装,得到离线包报文,并将所述离线包报文返回至所述移动互联网应用程序;对所述离线包信息进行解析,得到所述离线包信息对应的下载地址。
可选的,在本发明第二方面的第四种实现方式中,所述下载模块具体用于:基于所述下载地址获取下载资源,并根据所述下载资源下载所述离线包信息对应的离线包,得到目标离线包;通过所述第二算法计算所述目标离线包对应的哈希值,得到第二哈希值。
可选的,在本发明第二方面的第五种实现方式中,所述匹配模块具体用于:通过所述公私钥中的公钥和所述第一算法对所述哈希密文进行解析,得到所述第一哈希值;在预置的本地缓存中对所述第一哈希值和所述第二哈希值进行匹配,得到匹配结果,其中,所述匹配结果包括所述第一哈希值和所述第二哈希值匹配成功和所述第一哈希值和所述第二哈希值匹配不成功。
可选的,在本发明第二方面的第六种实现方式中,所述离线包的校验装置还包括:提示模块,用于若所述匹配结果为所述第一哈希值和所述第二哈希值匹配不成功,则将所述第一哈希值和所述第二哈希值匹配不成功生成提示信息;将所述提示信息发送至所述移动互联网应用程序进行预警。
本发明第三方面提供了一种离线包的校验设备,包括:存储器和至少一个处理器,所述存储器中存储有指令;所述至少一个处理器调用所述存储器中的所述指令,以使得所述离线包的校验设备执行上述的离线包的校验方法。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的离线包的校验方法。
本发明提供的技术方案中,根据离线包获取请求调用第一算法生成公私钥;获取待更新离线包对应的离线包信息,并通过第二算法计算离线包信息对应的第一哈希值,并根据公私钥并通过第一算法对第一哈希值进行加密处理,得到哈希密文;对公私钥和哈希密文进行存储,并对离线包信息进行解析,得到离线包信息对应的下载地址;根据下载地址下载离线包,得到目标离线包,并根据第二算法生成目标离线包对应的哈希值,得到第二哈希值;通过第一算法和公私钥解密哈希密文,得到第一哈希值,并对第一哈希值和第二目标哈希值进行匹配,得到匹配结果;若匹配结果为第一哈希值和第二哈希值匹配成功,则对目标离线包进行解压并运行目标离线包。本发明通过国密算法有效辨别混合模式移动应用离线包的真伪,当校验成功时,则安全运行,校验失败及时终止,有效提高了离线包校验的准确率。
附图说明
图1为本发明实施例中离线包的校验方法的一个实施例示意图;
图2为本发明实施例中离线包的校验方法的另一个实施例示意图;
图3为本发明实施例中离线包的校验装置的一个实施例示意图;
图4为本发明实施例中离线包的校验装置的另一个实施例示意图;
图5为本发明实施例中离线包的校验设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种离线包的校验方法、装置、设备及存储介质,用于提高离线包校验的准确率。本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中离线包的校验方法的第一个实施例包括:
101、接收预置移动互联网应用程序发送的离线包获取请求,并根据离线包获取请求调用预置的第一算法生成离线包获取请求对应的公私钥,其中,公私钥包括公钥和私钥;
具体的,在用户进入移动互联网应用程序(App)时,移动互联网应用程序会向服务端发起请求获取离线包的信息。服务端接收到移动互联网应用程序发出的指令后,首先通过第一算法(第一算法可以为SM2算法)随机生成一对公私钥密钥对,保存公私钥,此外,公私钥也可以提前生成,公钥提前保存至移动互联网应用程序。
可以理解的是,本发明的执行主体可以为离线包的校验装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明。本发明实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(ArtificialIntelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互***、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学***台等基础云计算服务的云服务器。
102、从预置的本地缓存中获取待更新离线包对应的离线包信息,并通过预置的第二算法计算离线包信息对应的第一哈希值,并根据公私钥并通过第一算法对哈希值进行加密处理,得到第一哈希值对应的哈希密文;
具体的,服务器通过保存的私钥和第一算法加密离线包的哈希值,生成哈希密文。需要说明的是,第二算法可以为SM3算法,SM3算法可以用于商用密码应用中的数字签名和验证,是在SHA-256基础上改进实现的一种算法,第二算法采用Merkle-Damgard结构,消息分组长度为512位,摘要值长度为256位,第二算法的压缩函数与SHA-256的压缩函数具有相似的结构,但是第二算法的设计更加复杂,比如压缩函数的每一轮都使用2个消息字。
103、对公私钥和哈希密文进行存储,并对离线包信息进行解析,得到离线包信息对应的下载地址;
具体的,服务器组装离线包报文,包括下载地址、公钥、哈希密文等信息,返回给移动互联网应用程序,服务器对公私钥、离线包信息和哈希密文进行组装,得到离线包报文,服务器将离线包报文返回至移动互联网应用程序;服务器对离线包信息进行解析,得到离线包信息对应的下载地址。
104、根据下载地址下载离线包,得到目标离线包,并根据第二算法生成目标离线包对应的哈希值,得到第二哈希值;
具体的,服务器保证了离线包的完整性和一致性,通过第二算法对离线包计算的出来的哈希值具有一致性,不同的离线包计算出来的哈希值是不一样的。这样能有效验证离线包的完整性,保证了App运行的离线包是与服务端是一致的。
105、通过第一算法和公私钥解密哈希密文,得到第一哈希值,并对第一哈希值和第二目标哈希值进行匹配,得到匹配结果;
具体的,服务器通过公私钥中的公钥和第一算法对哈希密文进行解析,得到第一哈希值;服务器在预置的本地缓存中对第一哈希值和第二哈希值进行匹配,得到匹配结果,其中,匹配结果包括第一哈希值和第二哈希值匹配成功和第一哈希值和第二哈希值匹配不成功。
106、若匹配结果为第一哈希值和第二哈希值匹配成功,则对目标离线包进行解压并运行目标离线包。
需要说明的是,混合模式移动应用:指介于网页移动应用、本地移动应用这两者之间的移动互联网应用程序,它虽然看上去是一个本地移动应用,但只有一个网页,里面访问的是一个个网页移动应用,也就是说说,就是用本地原生开发一个客户端的壳,底层功能API均由原生容器通过某种方式提供,然后业务逻辑由H5页面完成,最终原生容器加载H5页面,完成整个App。H5页面可以用在线加载的方式,也可以用下载离线包的方式加载运行。
进一步地,服务器将目标离线包存储于区块链数据库中,具体此处不做限定。
本发明实施例中,根据离线包获取请求调用第一算法生成公私钥;获取待更新离线包对应的离线包信息,并通过第二算法计算离线包信息对应的第一哈希值,并根据公私钥并通过第一算法对第一哈希值进行加密处理,得到哈希密文;对公私钥和哈希密文进行存储,并对离线包信息进行解析,得到离线包信息对应的下载地址;根据下载地址下载离线包,得到目标离线包,并根据第二算法生成目标离线包对应的哈希值,得到第二哈希值;通过第一算法和公私钥解密哈希密文,得到第一哈希值,并对第一哈希值和第二目标哈希值进行匹配,得到匹配结果;若匹配结果为第一哈希值和第二哈希值匹配成功,则对目标离线包进行解压并运行目标离线包。本发明通过国密算法有效辨别混合模式移动应用离线包的真伪,当校验成功时,则安全运行,校验失败及时终止,有效提高了离线包校验的准确率。
请参阅图2,本发明实施例中离线包的校验方法的第二个实施例包括:
201、接收预置移动互联网应用程序发送的离线包获取请求,并根据离线包获取请求调用预置的第一算法生成离线包获取请求对应的公私钥,其中,公私钥包括公钥和私钥;
可选的,服务器接收预置移动互联网应用程序发送的离线包获取请求;服务器根据离线包获取请求匹配离线包获取请求对应的第一算法;服务器通过第一算法生成与离线包获取请求对应的公私钥。
需要说明的是,第一算法:SM2椭圆曲线公钥密码算法是公钥密码算法,包括SM2-1椭圆曲线数字签名算法,SM2-2椭圆曲线密钥交换协议,SM2-3椭圆曲线公钥加密算法,分别用于实现数字签名密钥协商和数据加密等功能。椭圆曲线并不是椭圆,之所以称为椭圆曲线是因为它们是用三次方程来表示的,并且该方程与计算椭圆周长的方程相似。一般而言,椭圆曲线的三次方程形为:y2+axy+by=x3+cx2+dx+e;其中a,b,c,d和e是满足某些条件的实数,因为方程中的指数最高是3,所以我们称之为三次方程,或者说方程的次数为3,第一算法使用的方程为:y2=x3+ax+b;第一算法实现如下:(1)选择Ep(a,b)的元素G,使得G的阶n是一个大素数;(2)G的阶是指满足nG=O的最小n值;(3)秘密选择整数k,计算B=kG,然后公开(p,a,b,G,B),B为公钥,保密k,k为私钥;加密M:先把消息M变换成为Ep(a,b)中一个点Pm,然后,选择随机数r,计算密文Cm={rG,Pm+rP},如果r使得rG或者rP为O,则要重新选择r。
202、从预置的本地缓存中获取待更新离线包对应的离线包信息,并通过预置的第二算法计算离线包信息对应的第一哈希值,并根据公私钥并通过第一算法对哈希值进行加密处理,得到第一哈希值对应的哈希密文;
可选的,服务器基于离线包获取请求从预置的本地缓存中获取待更新离线包对应的离线包信息;服务器将离线包信息输入预置的第二算法进行哈希值计算,得到离线包信息对应的第一哈希值;服务器基于公私钥中的私钥并通过第一算法对第一哈希值进行加密处理,得到第一哈希值对应的哈希密文。
具体的,服务器基于离线包获取请求从预置的本地缓存中获取待更新离线包对应的离线包信息;服务器将离线包信息输入预置的第二算法进行哈希值计算,得到离线包信息对应的第一哈希值;服务器基于公私钥中的私钥并通过第一算法对第一哈希值进行加密处理,得到第一哈希值对应的哈希密文。其中,第二算法通过SM3密码杂凑(哈希、散列)算法是我国自主设计的密码杂凑算法,可以用于商用密码应用中的数字签名和验证消息认证码的生成与验证以及随机数的生成,可满足多种密码应用的安全需求。
203、对公私钥和哈希密文进行存储,并对离线包信息进行解析,得到离线包信息对应的下载地址;
可选的,服务器对公私钥、离线包信息和哈希密文进行组装,得到离线包报文,并将离线包报文返回至移动互联网应用程序;服务器对离线包信息进行解析,得到离线包信息对应的下载地址。
具体的,服务器组装离线包报文,包括下载地址、公钥、哈希密文等信息,返回给移动互联网应用程序,移动互联网应用程序解析服务返回的离线包信息,保存公钥和哈希密文,服务器对公私钥、离线包信息和哈希密文进行组装,得到离线包报文,服务器将离线包报文返回至移动互联网应用程序;服务器对离线包信息进行解析,得到离线包信息对应的下载地址,和单纯校验离线包哈希或者签名的处理方案不同,此装置对离线包的哈希值增加了服务端私钥加密、App公钥解密的过程,同时App端可以对服务器生成公钥进行确认,防止了攻击者中途伪造离线包文件和哈希值。
204、根据下载地址下载离线包,得到目标离线包,并根据第二算法生成目标离线包对应的哈希值,得到第二哈希值;
可选的,服务器基于下载地址获取下载资源,并根据下载资源下载离线包信息对应的离线包,得到目标离线包;服务器通过第二算法计算目标离线包对应的哈希值,得到第二哈希值。
具体的,服务器基于下载地址获取下载资源,并根据下载资源下载离线包信息对应的离线包,得到目标离线包;服务器通过第二算法计算目标离线包对应的哈希值,得到第二哈希值,有效辨别混合模式移动应用离线包的真伪,校验成功,则安全运行,校验失败及时终止。防止了移动互联网应用程序因运行攻击者伪造或者植入恶意代码的离线而造成严重的安全事故,保证了移动互联网应用程序信息安全,保护了个人隐私数据。
205、通过第一算法和公私钥解密哈希密文,得到第一哈希值,并对第一哈希值和第二目标哈希值进行匹配,得到匹配结果;
可选的,服务器通过公私钥中的公钥和第一算法对哈希密文进行解析,得到第一哈希值;服务器在预置的本地缓存中对第一哈希值和第二哈希值进行匹配,得到匹配结果,其中,匹配结果包括第一哈希值和第二哈希值匹配成功和第一哈希值和第二哈希值匹配不成功。
具体的,服务器通过公私钥中的公钥和第一算法对哈希密文进行解析,得到第一哈希值,其中,解析Cm:(Pm+rP)-k(rG)=Pm+rkG-krG=Pm;第一算法的安全性基于一个数学难题”离散对数问题ECDLP”实现,即考虑等式Q=KP,其中Q、P属于Ep(a,b),K<p,则:1)p已知q和p,计算K,得到第一哈希值。
206、若匹配结果为第一哈希值和第二哈希值匹配成功,则对目标离线包进行解压并运行目标离线包;
需要说明的是,混合模式移动应用:指介于网页移动应用、本地移动应用这两者之间的移动互联网应用程序,它虽然看上去是一个本地移动应用,但只有一个网页,里面访问的是一个个网页移动应用,也就是说说,就是用本地原生开发一个客户端的壳,底层功能API均由原生容器通过某种方式提供,然后业务逻辑由H5页面完成,最终原生容器加载H5页面,完成整个App。H5页面可以用在线加载的方式,也可以用下载离线包的方式加载运行。
207、若匹配结果为第一哈希值和第二哈希值匹配不成功,则将第一哈希值和第二哈希值匹配不成功生成提示信息;
208、将提示信息发送至移动互联网应用程序进行预警。
具体的,服务器相比传统的混合模式移动应用离线包处理方案,此装置增加了离线包校验过程,移动互联网应用程序能有效辨别离线包的真伪,防止因运行篡改或者植入恶意程序的离线包而泄露用户信息和隐私数据。和单纯校验离线包哈希或者签名的处理方案不同,此装置对离线包的哈希值增加了服务端私钥加密、移动互联网应用程序公钥解密的过程,同时移动互联网应用程序可以对服务器生成公钥进行确认,防止了攻击者中途伪造离线包文件和哈希值。
进一步地,服务器将目标离线包存储于区块链数据库中,具体此处不做限定。
本发明实施例中,根据离线包获取请求调用第一算法生成公私钥;获取待更新离线包对应的离线包信息,并通过第二算法计算离线包信息对应的第一哈希值,并根据公私钥并通过第一算法对第一哈希值进行加密处理,得到哈希密文;对公私钥和哈希密文进行存储,并对离线包信息进行解析,得到离线包信息对应的下载地址;根据下载地址下载离线包,得到目标离线包,并根据第二算法生成目标离线包对应的哈希值,得到第二哈希值;通过第一算法和公私钥解密哈希密文,得到第一哈希值,并对第一哈希值和第二目标哈希值进行匹配,得到匹配结果;若匹配结果为第一哈希值和第二哈希值匹配成功,则对目标离线包进行解压并运行目标离线包。本发明通过国密算法有效辨别混合模式移动应用离线包的真伪,当校验成功时,则安全运行,校验失败及时终止,有效提高了离线包校验的准确率。
上面对本发明实施例中离线包的校验方法进行了描述,下面对本发明实施例中离线包的校验装置进行描述,请参阅图3,本发明实施例中离线包的校验装置第一个实施例包括:
接收模块301,用于接收预置移动互联网应用程序发送的离线包获取请求,并根据所述离线包获取请求调用预置的第一算法生成所述离线包获取请求对应的公私钥,其中,所述公私钥包括公钥和私钥;
处理模块302,用于从预置的本地缓存中获取待更新离线包对应的离线包信息,并通过预置的第二算法计算所述离线包信息对应的第一哈希值,并根据所述公私钥并通过所述第一算法对所述第一哈希值进行加密处理,得到所述第一哈希值对应的哈希密文;
解析模块303,用于对所述公私钥和所述哈希密文进行存储,并对所述离线包信息进行解析,得到所述离线包信息对应的下载地址;
下载模块304,用于根据所述下载地址下载离线包,得到目标离线包,并根据所述第二算法生成所述目标离线包对应的哈希值,得到第二哈希值;
匹配模块305,用于通过所述第一算法和所述公私钥解密所述哈希密文,得到所述第一哈希值,并对所述第一哈希值和第二目标哈希值进行匹配,得到匹配结果;
解压模块306,用于若所述匹配结果为所述第一哈希值和所述第二哈希值匹配成功,则对所述目标离线包进行解压并运行所述目标离线包。
进一步地,服务器将目标离线包存储于区块链数据库中,具体此处不做限定。
本发明实施例中,根据离线包获取请求调用第一算法生成公私钥;获取待更新离线包对应的离线包信息,并通过第二算法计算离线包信息对应的第一哈希值,并根据公私钥并通过第一算法对第一哈希值进行加密处理,得到哈希密文;对公私钥和哈希密文进行存储,并对离线包信息进行解析,得到离线包信息对应的下载地址;根据下载地址下载离线包,得到目标离线包,并根据第二算法生成目标离线包对应的哈希值,得到第二哈希值;通过第一算法和公私钥解密哈希密文,得到第一哈希值,并对第一哈希值和第二目标哈希值进行匹配,得到匹配结果;若匹配结果为第一哈希值和第二哈希值匹配成功,则对目标离线包进行解压并运行目标离线包。本发明通过国密算法有效辨别混合模式移动应用离线包的真伪,当校验成功时,则安全运行,校验失败及时终止,有效提高了离线包校验的准确率。
请参阅图4,本发明实施例中离线包的校验装置第二个实施例包括:
接收模块301,用于接收预置移动互联网应用程序发送的离线包获取请求,并根据所述离线包获取请求调用预置的第一算法生成所述离线包获取请求对应的公私钥,其中,所述公私钥包括公钥和私钥;
处理模块302,用于从预置的本地缓存中获取待更新离线包对应的离线包信息,并通过预置的第二算法计算所述离线包信息对应的第一哈希值,并根据所述公私钥并通过所述第一算法对所述第一哈希值进行加密处理,得到所述第一哈希值对应的哈希密文;
解析模块303,用于对所述公私钥和所述哈希密文进行存储,并对所述离线包信息进行解析,得到所述离线包信息对应的下载地址;
下载模块304,用于根据所述下载地址下载离线包,得到目标离线包,并根据所述第二算法生成所述目标离线包对应的哈希值,得到第二哈希值;
匹配模块305,用于通过所述第一算法和所述公私钥解密所述哈希密文,得到所述第一哈希值,并对所述第一哈希值和第二目标哈希值进行匹配,得到匹配结果;
解压模块306,用于若所述匹配结果为所述第一哈希值和所述第二哈希值匹配成功,则对所述目标离线包进行解压并运行所述目标离线包。
可选的,接收模块301具体用于:
接收预置移动互联网应用程序发送的离线包获取请求;根据所述离线包获取请求匹配所述离线包获取请求对应的第一算法;通过所述第一算法生成与所述离线包获取请求对应的公私钥。
可选的,处理模块302具体用于:
基于所述离线包获取请求从预置的本地缓存中获取待更新离线包对应的离线包信息;将所述离线包信息输入预置的第二算法进行哈希值计算,得到所述离线包信息对应的第一哈希值;基于所述公私钥中的私钥并通过所述第一算法对所述第一哈希值进行加密处理,得到所述第一哈希值对应的哈希密文。
可选的,解析模块303具体用于:
对所述公私钥、所述离线包信息和所述哈希密文进行组装,得到离线包报文,并将所述离线包报文返回至所述移动互联网应用程序;对所述离线包信息进行解析,得到所述离线包信息对应的下载地址。
可选的,下载模块304具体用于:
基于所述下载地址获取下载资源,并根据所述下载资源下载所述离线包信息对应的离线包,得到目标离线包;通过所述第二算法计算所述目标离线包对应的哈希值,得到第二哈希值。
可选的,匹配模块305具体用于:
通过所述公私钥中的公钥和所述第一算法对所述哈希密文进行解析,得到所述第一哈希值;在预置的本地缓存中对所述第一哈希值和所述第二哈希值进行匹配,得到匹配结果,其中,所述匹配结果包括所述第一哈希值和所述第二哈希值匹配成功和所述第一哈希值和所述第二哈希值匹配不成功。
可选的,离线包的校验装置还包括:
提示模块307,用于若所述匹配结果为所述第一哈希值和所述第二哈希值匹配不成功,则将所述第一哈希值和所述第二哈希值匹配不成功生成提示信息;将所述提示信息发送至所述移动互联网应用程序进行预警。
进一步地,服务器将目标离线包存储于区块链数据库中,具体此处不做限定。
本发明实施例中,根据离线包获取请求调用第一算法生成公私钥;获取待更新离线包对应的离线包信息,并通过第二算法计算离线包信息对应的第一哈希值,并根据公私钥并通过第一算法对第一哈希值进行加密处理,得到哈希密文;对公私钥和哈希密文进行存储,并对离线包信息进行解析,得到离线包信息对应的下载地址;根据下载地址下载离线包,得到目标离线包,并根据第二算法生成目标离线包对应的哈希值,得到第二哈希值;通过第一算法和公私钥解密哈希密文,得到第一哈希值,并对第一哈希值和第二目标哈希值进行匹配,得到匹配结果;若匹配结果为第一哈希值和第二哈希值匹配成功,则对目标离线包进行解压并运行目标离线包。本发明通过国密算法有效辨别混合模式移动应用离线包的真伪,当校验成功时,则安全运行,校验失败及时终止,有效提高了离线包校验的准确率。
上面图3和图4从模块化功能实体的角度对本发明实施例中的离线包的校验装置进行详细描述,下面从硬件处理的角度对本发明实施例中离线包的校验设备进行详细描述。
图5是本发明实施例提供的一种离线包的校验设备的结构示意图,该离线包的校验设备500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)510(例如,一个或一个以上处理器)和存储器520,一个或一个以上存储应用程序533或数据532的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器520和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对离线包的校验设备500中的一系列指令操作。更进一步地,处理器510可以设置为与存储介质530通信,在离线包的校验设备500上执行存储介质530中的一系列指令操作。
离线包的校验设备500还可以包括一个或一个以上电源540,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口560,和/或,一个或一个以上操作***531,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图5示出的离线包的校验设备结构并不构成对离线包的校验设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种离线包的校验设备,所述离线包的校验设备包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述各实施例中的所述离线包的校验方法的步骤。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述离线包的校验方法的步骤。
进一步地,计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (8)
1.一种离线包的校验方法,其特征在于,所述离线包的校验方法包括:
接收预置移动互联网应用程序发送的离线包获取请求,并根据所述离线包获取请求调用预置的第一算法生成所述离线包获取请求对应的公私钥,其中,所述公私钥包括公钥和私钥;
从预置的本地缓存中获取待更新离线包对应的离线包信息,并通过预置的第二算法计算所述离线包信息对应的第一哈希值,并根据所述公私钥并通过所述第一算法对所述第一哈希值进行加密处理,得到所述第一哈希值对应的哈希密文;
所述从预置的本地缓存中获取待更新离线包对应的离线包信息,并通过预置的第二算法计算所述离线包信息对应的第一哈希值,并根据所述公私钥并通过所述第一算法对所述第一哈希值进行加密处理,得到所述第一哈希值对应的哈希密文,包括:
基于所述离线包获取请求从预置的本地缓存中获取待更新离线包对应的离线包信息;
将所述离线包信息输入预置的第二算法进行哈希值计算,得到所述离线包信息对应的第一哈希值;
基于所述公私钥中的私钥并通过所述第一算法对所述第一哈希值进行加密处理,得到所述第一哈希值对应的哈希密文;
对所述公私钥和所述哈希密文进行存储,并对所述离线包信息进行解析,得到所述离线包信息对应的下载地址;
根据所述下载地址下载离线包,得到目标离线包,并根据所述第二算法生成所述目标离线包对应的哈希值,得到第二哈希值;
通过所述第一算法和所述公私钥解密所述哈希密文,得到所述第一哈希值,并对所述第一哈希值和第二目标哈希值进行匹配,得到匹配结果;
所述通过所述第一算法和所述公私钥解密所述哈希密文,得到所述第一哈希值,并对所述第一哈希值和第二目标哈希值进行匹配,得到匹配结果,包括:
通过所述公私钥中的公钥和所述第一算法对所述哈希密文进行解析,得到所述第一哈希值;
在预置的本地缓存中对所述第一哈希值和所述第二哈希值进行匹配,得到匹配结果,其中,所述匹配结果包括所述第一哈希值和所述第二哈希值匹配成功和所述第一哈希值和所述第二哈希值匹配不成功;
若所述匹配结果为所述第一哈希值和所述第二哈希值匹配成功,则对所述目标离线包进行解压并运行所述目标离线包。
2.根据权利要求1所述的离线包的校验方法,其特征在于,所述接收预置移动互联网应用程序发送的离线包获取请求,并根据所述离线包获取请求调用预置的第一算法生成所述离线包获取请求对应的公私钥,包括:
接收预置移动互联网应用程序发送的离线包获取请求;
根据所述离线包获取请求匹配所述离线包获取请求对应的第一算法;
通过所述第一算法生成与所述离线包获取请求对应的公私钥。
3.根据权利要求1所述的离线包的校验方法,其特征在于,所述对所述公私钥和所述哈希密文进行存储,并对所述离线包信息进行解析,得到所述离线包信息对应的下载地址,包括:
对所述公私钥、所述离线包信息和所述哈希密文进行组装,得到离线包报文,并将所述离线包报文返回至所述移动互联网应用程序;
对所述离线包信息进行解析,得到所述离线包信息对应的下载地址。
4.根据权利要求1所述的离线包的校验方法,其特征在于,所述根据所述下载地址下载离线包,得到目标离线包,并根据所述第二算法生成所述目标离线包对应的哈希值,得到第二哈希值,包括:
基于所述下载地址获取下载资源,并根据所述下载资源下载所述离线包信息对应的离线包,得到目标离线包;
通过所述第二算法计算所述目标离线包对应的哈希值,得到第二哈希值。
5.根据权利要求1-4中任一项所述的离线包的校验方法,其特征在于,所述离线包的校验方法还包括:
若所述匹配结果为所述第一哈希值和所述第二哈希值匹配不成功,则将所述第一哈希值和所述第二哈希值匹配不成功生成提示信息;
将所述提示信息发送至所述移动互联网应用程序进行预警。
6.一种离线包的校验装置,执行如权利要求1-5中任一项所述的离线包的校验方法,其特征在于,所述离线包的校验装置包括:
接收模块,用于接收预置移动互联网应用程序发送的离线包获取请求,并根据所述离线包获取请求调用预置的第一算法生成所述离线包获取请求对应的公私钥,其中,所述公私钥包括公钥和私钥;
处理模块,用于从预置的本地缓存中获取待更新离线包对应的离线包信息,并通过预置的第二算法计算所述离线包信息对应的第一哈希值,并根据所述公私钥并通过所述第一算法对所述第一哈希值进行加密处理,得到所述第一哈希值对应的哈希密文;
解析模块,用于对所述公私钥和所述哈希密文进行存储,并对所述离线包信息进行解析,得到所述离线包信息对应的下载地址;
下载模块,用于根据所述下载地址下载离线包,得到目标离线包,并根据所述第二算法生成所述目标离线包对应的哈希值,得到第二哈希值;
匹配模块,用于通过所述第一算法和所述公私钥解密所述哈希密文,得到所述第一哈希值,并对所述第一哈希值和第二目标哈希值进行匹配,得到匹配结果;
解压模块,用于若所述匹配结果为所述第一哈希值和所述第二哈希值匹配成功,则对所述目标离线包进行解压并运行所述目标离线包。
7.一种离线包的校验设备,其特征在于,所述离线包的校验设备包括:存储器和至少一个处理器,所述存储器中存储有指令;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述离线包的校验设备执行如权利要求1-5中任一项所述的离线包的校验方法。
8.一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于,所述指令被处理器执行时实现如权利要求1-5中任一项所述的离线包的校验方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111523893.4A CN114218534B (zh) | 2021-12-14 | 2021-12-14 | 离线包的校验方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111523893.4A CN114218534B (zh) | 2021-12-14 | 2021-12-14 | 离线包的校验方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114218534A CN114218534A (zh) | 2022-03-22 |
CN114218534B true CN114218534B (zh) | 2024-07-09 |
Family
ID=80701585
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111523893.4A Active CN114218534B (zh) | 2021-12-14 | 2021-12-14 | 离线包的校验方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114218534B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108363580A (zh) * | 2018-03-12 | 2018-08-03 | 平安普惠企业管理有限公司 | 应用程序安装方法、装置、计算机设备和存储介质 |
CN109451064A (zh) * | 2018-12-26 | 2019-03-08 | 深圳左邻永佳科技有限公司 | web应用的离线实现方法、装置、计算机设备和存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105204906B (zh) * | 2015-09-29 | 2019-07-26 | 北京元心科技有限公司 | 操作***的启动方法和智能终端 |
CN109067524B (zh) * | 2018-07-31 | 2020-07-10 | 杭州复杂美科技有限公司 | 一种公私钥对生成方法及*** |
-
2021
- 2021-12-14 CN CN202111523893.4A patent/CN114218534B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108363580A (zh) * | 2018-03-12 | 2018-08-03 | 平安普惠企业管理有限公司 | 应用程序安装方法、装置、计算机设备和存储介质 |
CN109451064A (zh) * | 2018-12-26 | 2019-03-08 | 深圳左邻永佳科技有限公司 | web应用的离线实现方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114218534A (zh) | 2022-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103338215B (zh) | 基于国密算法建立tls通道的方法 | |
CN109194625B (zh) | 一种基于云端服务器的客户端应用保护方法、装置及存储介质 | |
CN112737779B (zh) | 一种密码机服务方法、装置、密码机及存储介质 | |
CN109660343A (zh) | 令牌更新方法、装置、计算机设备及存储介质 | |
CN111666564B (zh) | 应用程序安全启动方法、装置、计算机设备和存储介质 | |
CN113014539B (zh) | 一种物联网设备安全保护***及方法 | |
CN109039657B (zh) | 密钥协商方法、设备、终端、存储介质以及*** | |
CN111800262B (zh) | 数字资产的处理方法、装置和电子设备 | |
CN111130798B (zh) | 一种请求鉴权方法及相关设备 | |
CN114143117B (zh) | 数据处理方法及设备 | |
CN113572741A (zh) | 一种基于国密sm2-sm3-sm4算法实现数据的安全传输的方法 | |
CN114584306B (zh) | 一种数据处理方法和相关装置 | |
CN117240625B (zh) | 一种涉及防篡改的数据处理方法、装置及电子设备 | |
CN106209793A (zh) | 一种身份验证方法及验证*** | |
CN112398861B (zh) | web组态化***中敏感数据的加密***及方法 | |
CN114666040B (zh) | 基于量子密码网络的射频识别认证***及方法 | |
CN112073185B (zh) | 云游戏安全传输方法及装置 | |
CN107026729B (zh) | 用于传输软件的方法和装置 | |
CN111628985A (zh) | 安全访问控制方法、装置、计算机设备和存储介质 | |
CN114218534B (zh) | 离线包的校验方法、装置、设备及存储介质 | |
CN115391795A (zh) | 数据处理方法、相关设备及介质 | |
JP5932709B2 (ja) | 送信側装置および受信側装置 | |
US20220035924A1 (en) | Service trust status | |
US12051061B2 (en) | Method for operating a distributed database system, distributed database system, and industrial automation system | |
Park et al. | A study on the processing and reinforcement of message digest through two-dimensional array masking |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |