CN113591140A - 资源数据防篡改方法、系统、计算机设备及存储介质 - Google Patents

资源数据防篡改方法、系统、计算机设备及存储介质 Download PDF

Info

Publication number
CN113591140A
CN113591140A CN202110874669.3A CN202110874669A CN113591140A CN 113591140 A CN113591140 A CN 113591140A CN 202110874669 A CN202110874669 A CN 202110874669A CN 113591140 A CN113591140 A CN 113591140A
Authority
CN
China
Prior art keywords
public key
data
encrypted
application
splitting
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.)
Granted
Application number
CN202110874669.3A
Other languages
English (en)
Other versions
CN113591140B (zh
Inventor
陈优优
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Anhui Taopo Information Technology Co ltd
Shenzhen Lian Intellectual Property Service Center
Original Assignee
Ping An Puhui Enterprise Management Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ping An Puhui Enterprise Management Co Ltd filed Critical Ping An Puhui Enterprise Management Co Ltd
Priority to CN202110874669.3A priority Critical patent/CN113591140B/zh
Publication of CN113591140A publication Critical patent/CN113591140A/zh
Application granted granted Critical
Publication of CN113591140B publication Critical patent/CN113591140B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0478Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key

Abstract

本发明公开了资源数据防篡改方法、系统、计算机设备及存储介质,涉及信息安全技术,在应用程序的资源更新过程中需要将若干个目标拆分子公钥进行组合后得到公钥对加密后资源包进行解密从而得到待更新资源包,而且还可以获取此次更新得到的随机标识符用于本次更新的双方验证,提高了应用程序更新资源的过程中数据安全性。

Description

资源数据防篡改方法、系统、计算机设备及存储介质
技术领域
本发明涉及信息安全的密码技术领域,尤其涉及一种资源数据防篡改方法、系统、计算机设备及存储介质。
背景技术
目前,随着应用程序对程序功能要求越来越多,很多应用会采用混合式开发(混合开发包含H5,ReactNative等),以方便混合应用可以带来更块的迭代效率。而且,采用混合式开发,如果业务出现问题只需要替换相应的业务代码即可,也可以做到静默更新,使得整个更新过程用户无感知,且更新更方便。
但是应用程序在更新的过程中也会存在一定的数据风险,即更新的过程中用户端会从服务器下载新的资源包,如果新的资源包被恶意拦截,相应的资源包是比较容易被替换,也容易被人利用和篡改代码,降低了数据安全性。
发明内容
本发明实施例提供了一种资源数据防篡改方法、系统、计算机设备及存储介质,旨在解决现有技术中应用程序在更新的过程中如果新的资源包被恶意拦截,相应的资源包是比较容易被替换,也容易被人利用和篡改代码,降低了数据安全性的问题。
第一方面,本发明实施例提供了一种资源数据防篡改方法,应用于用户端,其包括:
响应于应用更新指令,根据所述应用更新指令获取用户端核心数据,将所述用户端核心数据中的每一个子数据通过预设的第一私钥进行加密,得到第一重加密数据;其中,所述用户端核心数据包括更新包包名、用户签名、用户唯一识别信息、用户端终端型号,所述第一重加密数据中的第一重加密子数据与所述用户端核心数据中的子数据一一对应;
将所述第一重加密数据根据动态组合私钥进行加密,得到第二重加密数据;其中,所述动态组合私钥包括用户端终端型号的局部数据、和用户端联系号码的局部数据;
将所述第二重加密数据作为加密核心数据发送至服务器;
接收并存储服务器发送的第一目标拆分子公钥;
若接收到更新后目标拆分子公钥和加密后更新资源包,获取所述更新后目标拆分子公钥中包括的随机标识符与第二目标拆分子公钥;
将所述第一目标拆分子公钥与所述第二目标拆分子公钥进行组合得到公钥,通过所述公钥对所述加密后资源包进行解密,得到待更新资源包;以及
当检测到已根据所述待更新资源包完成更新时,生成更新完成通知信息,将所述随机标识符和所述更新完成通知信息发送至服务器。
第二方面,本发明实施例提供了一种资源数据防篡改方法,应用于服务器,其包括:
当获取到加密核心数据时,缓存所述加密核心数据,并根据所述加密核心数据相应的用户端信息获取动态组合公钥;其中,所述动态组合公钥包括用户端终端型号的局部数据、和用户端联系号码的局部数据;
根据所述动态组合公钥和预先存储的第一公钥依次对所述加密核心数据进行二次解密,得到解密核心数据;
获取已存储的公钥,将所述公钥根据预先存储的拆分策略进行公钥分拆,得到拆分公钥集合;其中,所述拆分公钥集合中包括至少2个拆分子公钥;
随机获取所述拆分公钥集合的其中一个拆分子公钥作为第一目标拆分子公钥,将所述第一目标拆分子公钥发送至用户端;其中,所述拆分公钥集合中除第一目标拆分子公钥之外的其他拆分子公钥组成第二目标拆分子公钥;
若确定所述解密核心数据通过验证,随机生成随机标识符,并获取所述第二目标拆分子公钥,通过所述随机标识符与所述第二目标拆分子公钥组成更新后目标拆分子公钥;
获取待更新资源包及已存储的私钥,将所述待更新资源包通过所述私钥进行加密,得到加密后更新资源包;其中,所述公钥可对通过所述私钥加密的数据进行解密;
将所述更新后目标拆分子公钥和加密后更新资源包发送至用户端信息相应的用户端;以及
当已接收到用户端发送的随机标识符和更新完成通知信息,且确定用户端发送的随机标识符与本地的随机标识符相同,将所述更新完成通知信息进行存储。
第三方面,本发明实施例提供了一种资源数据防篡改系统,其包括用户端及服务器,所述用户端用于执行上述第一方面所述的资源数据防篡改方法,所述服务器用于执行上述第二方面所述的资源数据防篡改方法。
第四方面,本发明实施例又提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的资源数据防篡改方法,或者实现上述第二方面所述的资源数据防篡改方法。
第五方面,本发明实施例还提供了一种计算机可读存储介质,其中所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的资源数据防篡改方法,或者执行时使所述处理器执行上述第二方面所述的资源数据防篡改方法。
本发明实施例提供了一种资源数据防篡改方法、系统、计算机设备及存储介质,在应用程序的资源更新过程中需要将若干个目标拆分子公钥进行组合后得到公钥对加密后资源包进行解密从而得到待更新资源包,而且还可以获取此次更新得到的随机标识符用于本次更新的双方验证,提高了应用程序更新资源的过程中数据安全性。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的资源数据防篡改方法的应用场景示意图;
图2为本发明实施例提供的资源数据防篡改方法的流程示意图;
图3为本发明实施例提供的资源数据防篡改方法的另一流程示意图;
图4为本发明实施例提供的资源数据防篡改系统的示意性框图;
图5为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
首先在用户端的角度描述技术方案。
请参阅图1和图2,图1为本发明实施例提供的资源数据防篡改方法的应用场景示意图;图2为本发明实施例提供的资源数据防篡改方法的流程示意图,该资源数据防篡改方法应用于用户端中,该方法通过安装于用户端中的应用软件进行执行。其中,所述用户端为智能手机、台式电脑、平板电脑、手提电脑、等终端的任意一种。
如图2所示,该方法包括步骤S101~S107。
S101、响应于应用更新指令,根据所述应用更新指令获取用户端核心数据,将所述用户端核心数据中的每一个子数据通过预设的第一私钥进行加密,得到第一重加密数据;其中,所述用户端核心数据包括更新包包名、用户签名、用户唯一识别信息、用户端终端型号,所述第一重加密数据中的第一重加密子数据与所述用户端核心数据中的子数据一一对应。
在本实施例中,当用户为了对用户端上安装的应用程序(如采用混合式开发方式开发的应用程序,该混合式开发方式中一般包括含h5,ReactNative,Weex开发等)进行应用更新时,为了提高数据安全性,可以是先获取用户端核心数据,将所述用户端核心数据中的每一个子数据进行加密,得到第一重加密数据。
具体的,所述用户端核心数据包括更新包包名、用户签名、用户唯一识别信息、用户端终端型号。这些信息均可以在用户端本地的so库中获取(so库对应的.so文件是一种二进制文件,一般存在于Android Studio工程的main/jniLibs/ABI目录中)。为了提高数据安全性,可以通过同一个私钥(如第一私钥)对更新包包名、用户签名、用户唯一识别信息、用户端终端型号分别进行加密,得到对应个数的第一重加密子数据,从而组成第一重加密数据。例如,所述用户端核心数据包括更新包包名、用户签名、用户唯一识别信息、用户端终端型号中包括4个子数据,将这4个子数据均通过第一私钥进行加密得到4个第一重加密子数据,从而由4个第一重加密子数据组成。
S102、将所述第一重加密数据根据动态组合私钥进行加密,得到第二重加密数据;其中,所述动态组合私钥包括用户端终端型号的局部数据、和用户端联系号码的局部数据。
在本实施例中,继续参照上述列举的实例可知,第一重加密数据由4个第一重加密子数据组成,更具体是按照一定的数据格式拼接而成,可以形象的理解为第一重加密数据有一个数据body,在该数据body中容纳了4个第一重加密子数据,此时还可以基于动态组合私钥对所述第一重加密数据进行第二次加密,得到第二重加密数据。
在一实施例中,步骤S102之前还包括:
获取所述用户端终端型号的前N1位并获取所述用户端联系号码的前N2位,组成动态组合私钥;;其中,N1为预设的第一位数值,N2为预设的第二位数值。
具体的,为了更快速的获取动态组合私钥,可以从用户端终端型号选取局部数据(例如用户端终端型号的前4位),同时从用户端联系号码选取局部数据(例如用户端联系号码的前4位),由用户端终端型号的局部数据和用户端联系号码的局部数据拼接成动态组合私钥,以对所述第一重加密数据进行第二次加密,得到第二重加密数据。
S103、将所述第二重加密数据作为加密核心数据发送至服务器。
在本实施例中,当在用户端中完成了对用户端核心数据的双重加密得到第二重加密数据后,将所述第二重加密数据作为加密核心数据发送至服务器,通过发送第二重加密数据作为对应用更新指令的响应。
S104、接收并存储服务器发送的第一目标拆分子公钥。
在本实施例中,当在服务器中完成了对公钥的拆分后,先是将其中的第一目标拆分子公钥先发送至用户端,以由用户端对第一目标拆分子公钥进行存储。之后再继续检测是否接收到第二目标拆分子公钥,即可进一步判断是否能在用户端中基于第一目标拆分子公钥和第二目标拆分子公钥重新组合为公钥,从而实现对加密后资源包进行解密。
S105、若接收到更新后目标拆分子公钥和加密后更新资源包,获取所述更新后目标拆分子公钥中包括的随机标识符与第二目标拆分子公钥。
在本实施例中,当用户端接收到服务器发送的所述更新后目标拆分子公钥和所述加密后更新资源包后,此时无需先对加密后更新资源包进行解密,这是因为还缺少完整的公钥对其进行解密。此时,在用户端中是先获取所述更新后目标拆分子公钥中包括的随机标识符与第二目标拆分子公钥,由于之前用户端接收并存储了公钥的另一部分(即第一目标拆分子公钥),故可以在用户端中根据所述第一目标拆分子公钥与所述第二目标拆分子公钥进行下一步的公钥组合处理,以得到完整的公钥。
S106、将所述第一目标拆分子公钥与所述第二目标拆分子公钥进行组合得到公钥,通过所述公钥对所述加密后资源包进行解密,得到待更新资源包。
在本实施例中,在用户端中可以所述第一目标拆分子公钥置于所述第二目标拆分子公钥之前的顺序进行拼接组合,从而还原得到公钥。通过所述公钥即可实现对所述加密后资源包进行解密,得到待更新资源包,通过所述待更新资源包在用户端中对应进行应用程序中某一个或多个功能模块的更新。
S107、当检测到已根据所述待更新资源包完成更新时,生成更新完成通知信息,将所述随机标识符和所述更新完成通知信息发送至服务器。
在本实施例中,当在用户端中根据所述待更新资源包完成更新时,生成更新完成通知信息,这一更新完成通知信息并不是单独发送至服务器,而是与之前用户端接收到的所述随机标识符和所述更新完成通知信息一同发送至服务器。通过这一方式,可将随机标识符作为一个认证标识符来表示用户端此次更新的数据是基于服务器发送的,并没有被其他服务器或终端进行拦截和恶意篡改。
在一实施例中,步骤S107之后还包括:
S108、当检测到应用数据获取指令时,根据所述应用数据获取指令获取应用待检测数据,将所述应用待检测数据发送至服务器;其中,所述应用数据获取指令用于获取应用界面截图或应用功能模块代码;
S109、当检测到应用验证未通过通知信息时,将所述待更新资源包对应的应用切换为不可用状态。
在本实施例中,由于应用程序在上一次更新完成之后,在下一次更新之前,用户在使用应用程序的过程中还有可能存在代码或页面等资源被篡改的可能(例如用户端连接了某一植入了木马程序的热点),为了确保应用程序的数据安全,可以由服务器不定时的发起应用数据获取指令,或者是用户端本地不定时的发起应用数据获取指令。只要在用户端中检测到应用数据获取指令时,根据所述应用数据获取指令获取应用待检测数据,将所述应用待检测数据发送至服务器进行合法性验证。
一旦用户端上传的应用待检测数据经过服务器识别与正常的应用待检测数据不相同时,则可判定未通过验证,并将应用验证未通过通知信息发送至用户端。当用户端检测到应用验证未通过通知信息时,将所述待更新资源包对应的应用切换为不可用状态,实现对该应用程序的及时禁用以确保数据安全。本申请可应用于智慧教育场景中,从而推动智慧城市的建设。
之后在服务器的角度描述技术方案。
请参阅图1和图3,图3为本发明实施例提供的资源数据防篡改方法的另一流程示意图,该资源数据防篡改方法应用于服务器中,该方法通过安装于服务器中的应用软件进行执行。
如图3所示,该方法包括步骤S201~S208。
S201、当获取到加密核心数据时,缓存所述加密核心数据,并根据所述加密核心数据相应的用户端信息获取动态组合公钥;其中,所述动态组合公钥包括用户端终端型号的局部数据、和用户端联系号码的局部数据。
在本实施例中,当服务器接收到用户端因响应应用更新指令而发送的加密核心数据后,先是缓存该加密核心数据。由于服务器是可以根据与该用户端对应的历史访问信息而获取到用户端信息,从用户端信息中是可以提取出用户端终端型号和用户端联系号码,此时可以从从用户端信息中的用户端终端型号和用户端联系号码分别提取出前4位,组成与动态组合私钥相对应的动态组合公钥,从而可以用于加密核心数据的解密。
S202、根据所述动态组合公钥和预先存储的第一公钥依次对所述加密核心数据进行二次解密,得到解密核心数据。
在本实施例中,由于加密核心数据是经过了两次加密的加密数据,此时对其进行解密时也是需要进行两次解密。
在一实施例中,步骤S202包括:
通过所述动态组合公钥对所述加密核心数据进行第一次解密,得到第一次解密数据;
通过预先存储的与第一私钥相对应的第一公钥对所述第一次解密数据进行第二次解密,得到解密核心数据。
在本实施例中,首先是通过所述动态组合公钥对所述加密核心数据进行第一次解密,得到第一次解密数据。然后通过预先存储的,与所述第一私钥相对应的第一公钥对所述第一次解密数据进行第二次解密,得到解密核心数据。此时在服务器中可以得到包括更新包包名、用户签名、用户唯一识别信息、用户端终端型号的解密核心数据。
S203、获取已存储的公钥,将所述公钥根据预先存储的拆分策略进行公钥分拆,得到拆分公钥集合;其中,所述拆分公钥集合中包括至少2个拆分子公钥。
在本实施例中,为了提升服务器向用户端发送更新资源包的数据安全性,可以是采用公钥拆分策略对公钥进行拆分,也即通过将对待更新资源包进行加密的公钥(这一公钥是区别与之前的第一公钥)进行一个拆分,得到至少2个拆分子公钥,然后将这拆分得到的多个拆分子公钥中的其中1个拆分子公钥先发送至用户端进行存储,之后再将剩余的拆分子公钥与后续随机生成的随机标识符组合并与加密后的待更新资源包一同发送至用户端。
在一实施例中,所述拆分策略用于将所述公钥平均拆分为两个拆分子公钥,所述将所述公钥根据预先存储的拆分策略进行公钥分拆,得到拆分公钥集合,包括:
将所述公钥根据字符总个数进行平均拆分得到2个拆分子公钥,以组成拆分公钥集合。
在本实施例中,若所述公钥包括128个字符,则将其划分为2个64字符的拆分子公钥,更具体是所述公钥的前64个字符划分至第一拆分子公钥,所述公钥的后64个字符划分至第二拆分子公钥。通过这一公钥拆分操作,可以灵活的将公钥分为多次分别发送至用户端以提高数据的安全性。
S204、随机获取所述拆分公钥集合的其中一个拆分子公钥作为第一目标拆分子公钥,将所述第一目标拆分子公钥发送至用户端;其中,所述拆分公钥集合中除第一目标拆分子公钥之外的其他拆分子公钥组成第二目标拆分子公钥。
在本实施例中,可以先从所述拆分公钥集合随机选取一个拆分子公钥作为第一目标拆分子公钥(例如上述举例的第一拆分子公钥),这样所述拆分公钥集合中剩余的数据组成第二目标拆分子公钥仍继续保存在服务器中暂不发送。此时,先被发送至用户端中的第一目标拆分子公钥是为了更方便与后续发送的第二目标拆分子公钥在用户端中完成重新组合。
S205、若确定所述解密核心数据通过验证,随机生成随机标识符,并获取所述第二目标拆分子公钥,通过所述随机标识符与所述第二目标拆分子公钥组成更新后目标拆分子公钥。
在本实施例中,对所述解密核心数据进行验证时,是将所述解密核心数据中包括的用户唯一识别信息、用户端终端型号,与用户端信息中包括的用户唯一识别信息、用户端终端型号进行比对,若两者完全相同则可确定所述解密核心数据通过验证。
此时,可以通过随机算法生成一个随机标识符(例如随机标识符A),将其与之前得到的所述第二目标拆分子公钥,由随机标识符A+所述第二目标拆分子公钥组成更新后目标拆分子公钥。
S206、获取待更新资源包及已存储的私钥,将所述待更新资源包通过所述私钥进行加密,得到加密后更新资源包;其中,所述公钥可对通过所述私钥加密的数据进行解密。
在本实施例中,之前的数据处理均是针对密钥,此时需对服务器发送至用户端的待更新资源包进行处理,具体是将所述待更新资源包通过所述私钥进行加密,得到加密后更新资源包。此处的私钥与之前被拆分为多个拆分子公钥的公钥是相对应的,即所述公钥可对通过所述私钥加密的数据进行解密。此处无需对更新后目标拆分子公钥一同进行加密,是因为更新后目标拆分子公钥的数据安全性本身就已经较高,无需再进行一次加密,降低了加密的复杂程度。
S207、将所述更新后目标拆分子公钥和加密后更新资源包发送至用户端信息相应的用户端。
在本实施例中,当通过私钥完成了对待更新资源包的加密而得到加密后更新资源包后,此时服务器可以将加密后更新资源包和所述更新后目标拆分子公钥同时发送至用户端,以使用户端在接收到更新资源包后进行应用程序的资源更新。
S208、当已接收到用户端发送的随机标识符和更新完成通知信息,且确定用户端发送的随机标识符与本地的随机标识符相同,将所述更新完成通知信息进行存储。
在本实施例中,当在用户端中基于解密后的待更新资源包完成了应用更新时,用户端会在得到的随机标识符和更新完成通知信息一同发送至服务器。服务器在接收到了用户端发送的随机标识符和更新完成通知信息,且确定用户端发送的随机标识符与本地的随机标识符相同,则表示用户端此次更新所基于的待更新资源包是没有被拦截和恶意篡改,可将用于表示用户端完成此次更新的所述更新完成通知信息进行存储,以作为更新历史记录存储。
在一实施例中,步骤S208之后还包括:
S209、若确定满足预设的应用数据获取指令生成条件时,生成应用数据获取指令并发送至用户端;其中,所述应用数据获取指令用于获取应用界面截图或应用功能模块代码。
在本实施例中,为了随时可对用户端中的应用程序代码或图片等核心资源数据是否发生篡改进行检测,可以在服务器中预先设置一个应用数据获取指令生成条件,例如将该应用数据获取指令生成条件设置为当前系统时间为中午12点整,这样每天一到中午12点整均会满足应用数据获取指令生成条件,从而生成一个应用数据获取指令并发送至用户端,从而触发在用户端中获取应用界面截图或应用功能模块代码的流程。
S210、接收应用待检测数据,对所述应用待检测数据进行合法性验证,得到验证结果。
在本实施例中,例如当基于应用数据获取指令获取的图片返回到服务器的时候,服务器根据获取到的图片进行大数据图形识别,并与预先放入的图片来判定是否是属于自己的页面还是被篡改的页面。
或者是当基于应用数据获取指令获取的应用功能模块代码,并与原本的代码进行比对来判定是否是属于自己的页面还是被篡改的页面。
当所述应用待检测数据为验证通过时,则得到验证通过的验证结果。当所述应用待检测数据为验证未通过时,则得到验证未通过的验证结果。
S211、若确定验证结果为验证未通过时,将应用验证未通过通知信息及应用禁用指令发送至用户端。
在本实施例中,若确定验证结果为验证未通过时,表示应用程序有被篡改,此时为了及时保护用户数据安全,将应用验证未通过通知信息及应用禁用指令发送至用户端以实现对应用程序的及时禁用。
该方法实现了在应用程序的资源更新过程中需要将若干个目标拆分子公钥进行组合后得到公钥对加密后资源包进行解密从而得到待更新资源包,而且还可以获取此次更新得到的随机标识符用于本次更新的双方验证,提高了应用程序更新资源的过程中数据安全性。
本发明实施例还提供一种资源数据防篡改系统,该资源数据防篡改系统包括用户端及服务器,用户端用于执行前述资源数据防篡改方法中步骤S101~S107记载的实施例,服务器用于执行前述资源数据防篡改方法中步骤S201~S208记载的实施例。具体地,请参阅图4,图4是本发明实施例提供的资源数据防篡改系统的示意性框图。
如图4所示,资源数据防篡改系统10包括:用户端100及服务器200。
其中,如图4所示,用户端100包括第一重加密单元101、第二重加密单元102、加密核心数据发送单元103、第一接收单元104、第二接收单元105、公钥解密单元106、通知信息生成单元107。
第一重加密单元101,用于响应于应用更新指令,根据所述应用更新指令获取用户端核心数据,将所述用户端核心数据中的每一个子数据通过预设的第一私钥进行加密,得到第一重加密数据;其中,所述用户端核心数据包括更新包包名、用户签名、用户唯一识别信息、用户端终端型号,所述第一重加密数据中的第一重加密子数据与所述用户端核心数据中的子数据一一对应。
在本实施例中,当用户为了对用户端上安装的应用程序(如采用混合式开发方式开发的应用程序,该混合式开发方式中一般包括含h5,ReactNative,Weex开发等)进行应用更新时,为了提高数据安全性,可以是先获取用户端核心数据,将所述用户端核心数据中的每一个子数据进行加密,得到第一重加密数据。
具体的,所述用户端核心数据包括更新包包名、用户签名、用户唯一识别信息、用户端终端型号。这些信息均可以在用户端本地的so库中获取(so库对应的.so文件是一种二进制文件,一般存在于Android Studio工程的main/jniLibs/ABI目录中)。为了提高数据安全性,可以通过同一个私钥(如第一私钥)对更新包包名、用户签名、用户唯一识别信息、用户端终端型号分别进行加密,得到对应个数的第一重加密子数据,从而组成第一重加密数据。例如,所述用户端核心数据包括更新包包名、用户签名、用户唯一识别信息、用户端终端型号中包括4个子数据,将这4个子数据均通过第一私钥进行加密得到4个第一重加密子数据,从而由4个第一重加密子数据组成。
第二重加密单元102,用于将所述第一重加密数据根据动态组合私钥进行加密,得到第二重加密数据;其中,所述动态组合私钥包括用户端终端型号的局部数据、和用户端联系号码的局部数据。
在本实施例中,继续参照上述列举的实例可知,第一重加密数据由4个第一重加密子数据组成,更具体是按照一定的数据格式拼接而成,可以形象的理解为第一重加密数据有一个数据body,在该数据body中容纳了4个第一重加密子数据,此时还可以基于动态组合私钥对所述第一重加密数据进行第二次加密,得到第二重加密数据。
在一实施例中,用户端100还包括:
动态组合私钥获取单元,用于获取所述用户端终端型号的前N1位并获取所述用户端联系号码的前N2位,组成动态组合私钥;;其中,N1为预设的第一位数值,N2为预设的第二位数值。
具体的,为了更快速的获取动态组合私钥,可以从用户端终端型号选取局部数据(例如用户端终端型号的前4位),同时从用户端联系号码选取局部数据(例如用户端联系号码的前4位),由用户端终端型号的局部数据和用户端联系号码的局部数据拼接成动态组合私钥,以对所述第一重加密数据进行第二次加密,得到第二重加密数据。
加密核心数据发送单元103,用于将所述第二重加密数据作为加密核心数据发送至服务器。
在本实施例中,当在用户端中完成了对用户端核心数据的双重加密得到第二重加密数据后,将所述第二重加密数据作为加密核心数据发送至服务器,通过发送第二重加密数据作为对应用更新指令的响应。
第一接收单元104,用于接收并存储服务器发送的第一目标拆分子公钥。
在本实施例中,当在服务器中完成了对公钥的拆分后,先是将其中的第一目标拆分子公钥先发送至用户端,以由用户端对第一目标拆分子公钥进行存储。之后再继续检测是否接收到第二目标拆分子公钥,即可进一步判断是否能在用户端中基于第一目标拆分子公钥和第二目标拆分子公钥重新组合为公钥,从而实现对加密后资源包进行解密。
第二接收单元105,用于若接收到更新后目标拆分子公钥和加密后更新资源包,获取所述更新后目标拆分子公钥中包括的随机标识符与第二目标拆分子公钥。
在本实施例中,当用户端接收到服务器发送的所述更新后目标拆分子公钥和所述加密后更新资源包后,此时无需先对加密后更新资源包进行解密,这是因为还缺少完整的公钥对其进行解密。此时,在用户端中是先获取所述更新后目标拆分子公钥中包括的随机标识符与第二目标拆分子公钥,由于之前用户端接收并存储了公钥的另一部分(即第一目标拆分子公钥),故可以在用户端中根据所述第一目标拆分子公钥与所述第二目标拆分子公钥进行下一步的公钥组合处理,以得到完整的公钥。
公钥解密单元106,用于将所述第一目标拆分子公钥与所述第二目标拆分子公钥进行组合得到公钥,通过所述公钥对所述加密后资源包进行解密,得到待更新资源包。
在本实施例中,在用户端中可以所述第一目标拆分子公钥置于所述第二目标拆分子公钥之前的顺序进行拼接组合,从而还原得到公钥。通过所述公钥即可实现对所述加密后资源包进行解密,得到待更新资源包,通过所述待更新资源包在用户端中对应进行应用程序中某一个或多个功能模块的更新。
通知信息生成单元107,用于当检测到已根据所述待更新资源包完成更新时,生成更新完成通知信息,将所述随机标识符和所述更新完成通知信息发送至服务器。
在本实施例中,当在用户端中根据所述待更新资源包完成更新时,生成更新完成通知信息,这一更新完成通知信息并不是单独发送至服务器,而是与之前用户端接收到的所述随机标识符和所述更新完成通知信息一同发送至服务器。通过这一方式,可将随机标识符作为一个认证标识符来表示用户端此次更新的数据是基于服务器发送的,并没有被其他服务器或终端进行拦截和恶意篡改。
在一实施例中,用户端100还包括:
应用数据获取单元,用于当检测到应用数据获取指令时,根据所述应用数据获取指令获取应用待检测数据,将所述应用待检测数据发送至服务器;其中,所述应用数据获取指令用于获取应用界面截图或应用功能模块代码;
不可用状态切换单元,用于当检测到应用验证未通过通知信息时,将所述待更新资源包对应的应用切换为不可用状态。
在本实施例中,由于应用程序在上一次更新完成之后,在下一次更新之前,用户在使用应用程序的过程中还有可能存在代码或页面等资源被篡改的可能(例如用户端连接了某一植入了木马程序的热点),为了确保应用程序的数据安全,可以由服务器不定时的发起应用数据获取指令,或者是用户端本地不定时的发起应用数据获取指令。只要在用户端中检测到应用数据获取指令时,根据所述应用数据获取指令获取应用待检测数据,将所述应用待检测数据发送至服务器进行合法性验证。
一旦用户端上传的应用待检测数据经过服务器识别与正常的应用待检测数据不相同时,则可判定未通过验证,并将应用验证未通过通知信息发送至用户端。当用户端检测到应用验证未通过通知信息时,将所述待更新资源包对应的应用切换为不可用状态,实现对该应用程序的及时禁用以确保数据安全。
之后在服务器的角度描述技术方案。
如图4所示,服务器200包括动态组合公钥获取单元201、二次解密单元202、公钥拆分单元203、第一发送单元204、第二发送单元205、私钥加密单元206、加密资源发送单元207、通知信息存储单元208。
动态组合公钥获取单元201,用于当获取到加密核心数据时,缓存所述加密核心数据,并根据所述加密核心数据相应的用户端信息获取动态组合公钥;其中,所述动态组合公钥包括用户端终端型号的局部数据、和用户端联系号码的局部数据。
在本实施例中,当服务器接收到用户端因响应应用更新指令而发送的加密核心数据后,先是缓存该加密核心数据。由于服务器是可以根据与该用户端对应的历史访问信息而获取到用户端信息,从用户端信息中是可以提取出用户端终端型号和用户端联系号码,此时可以从从用户端信息中的用户端终端型号和用户端联系号码分别提取出前4位,组成与动态组合私钥相对应的动态组合公钥,从而可以用于加密核心数据的解密。
二次解密单元202,用于根据所述动态组合公钥和预先存储的第一公钥依次对所述加密核心数据进行二次解密,得到解密核心数据。
在本实施例中,由于加密核心数据是经过了两次加密的加密数据,此时对其进行解密时也是需要进行两次解密。
在一实施例中,二次解密单元202包括:
第一解密单元,用于通过所述动态组合公钥对所述加密核心数据进行第一次解密,得到第一次解密数据;
第二解密单元,用于通过预先存储的与第一私钥相对应的第一公钥对所述第一次解密数据进行第二次解密,得到解密核心数据。
在本实施例中,首先是通过所述动态组合公钥对所述加密核心数据进行第一次解密,得到第一次解密数据。然后通过预先存储的,与所述第一私钥相对应的第一公钥对所述第一次解密数据进行第二次解密,得到解密核心数据。此时在服务器中可以得到包括更新包包名、用户签名、用户唯一识别信息、用户端终端型号的解密核心数据。
公钥拆分单元203,用于获取已存储的公钥,将所述公钥根据预先存储的拆分策略进行公钥分拆,得到拆分公钥集合;其中,所述拆分公钥集合中包括至少2个拆分子公钥。
在本实施例中,为了提升服务器向用户端发送更新资源包的数据安全性,可以是采用公钥拆分策略对公钥进行拆分,也即通过将对待更新资源包进行加密的公钥(这一公钥是区别与之前的第一公钥)进行一个拆分,得到至少2个拆分子公钥,然后将这拆分得到的多个拆分子公钥中的其中1个拆分子公钥先发送至用户端进行存储,之后再将剩余的拆分子公钥与后续随机生成的随机标识符组合并与加密后的待更新资源包一同发送至用户端。
在一实施例中,所述拆分策略用于将所述公钥平均拆分为两个拆分子公钥,所述公钥拆分单元203还用于:
将所述公钥根据字符总个数进行平均拆分得到2个拆分子公钥,以组成拆分公钥集合。
在本实施例中,若所述公钥包括128个字符,则将其划分为2个64字符的拆分子公钥,更具体是所述公钥的前64个字符划分至第一拆分子公钥,所述公钥的后64个字符划分至第二拆分子公钥。通过这一公钥拆分操作,可以灵活的将公钥分为多次分别发送至用户端以提高数据的安全性。
第一发送单元204,用于随机获取所述拆分公钥集合的其中一个拆分子公钥作为第一目标拆分子公钥,将所述第一目标拆分子公钥发送至用户端;其中,所述拆分公钥集合中除第一目标拆分子公钥之外的其他拆分子公钥组成第二目标拆分子公钥。
在本实施例中,可以先从所述拆分公钥集合随机选取一个拆分子公钥作为第一目标拆分子公钥(例如上述举例的第一拆分子公钥),这样所述拆分公钥集合中剩余的数据组成第二目标拆分子公钥仍继续保存在服务器中暂不发送。此时,先被发送至用户端中的第一目标拆分子公钥是为了更方便与后续发送的第二目标拆分子公钥在用户端中完成重新组合。
第二发送单元205,用于若确定所述解密核心数据通过验证,随机生成随机标识符,并获取所述第二目标拆分子公钥,通过所述随机标识符与所述第二目标拆分子公钥组成更新后目标拆分子公钥。
在本实施例中,对所述解密核心数据进行验证时,是将所述解密核心数据中包括的用户唯一识别信息、用户端终端型号,与用户端信息中包括的用户唯一识别信息、用户端终端型号进行比对,若两者完全相同则可确定所述解密核心数据通过验证。
此时,可以通过随机算法生成一个随机标识符(例如随机标识符A),将其与之前得到的所述第二目标拆分子公钥,由随机标识符A+所述第二目标拆分子公钥组成更新后目标拆分子公钥。
私钥加密单元206,用于获取待更新资源包及已存储的私钥,将所述待更新资源包通过所述私钥进行加密,得到加密后更新资源包;其中,所述公钥可对通过所述私钥加密的数据进行解密。
在本实施例中,之前的数据处理均是针对密钥,此时需对服务器发送至用户端的待更新资源包进行处理,具体是将所述待更新资源包通过所述私钥进行加密,得到加密后更新资源包。此处的私钥与之前被拆分为多个拆分子公钥的公钥是相对应的,即所述公钥可对通过所述私钥加密的数据进行解密。此处无需对更新后目标拆分子公钥一同进行加密,是因为更新后目标拆分子公钥的数据安全性本身就已经较高,无需再进行一次加密,降低了加密的复杂程度。
加密资源发送单元207,用于将所述更新后目标拆分子公钥和加密后更新资源包发送至用户端信息相应的用户端。
在本实施例中,当通过私钥完成了对待更新资源包的加密而得到加密后更新资源包后,此时服务器可以将加密后更新资源包和所述更新后目标拆分子公钥同时发送至用户端,以使用户端在接收到更新资源包后进行应用程序的资源更新。
通知信息存储单元208,用于当已接收到用户端发送的随机标识符和更新完成通知信息,且确定用户端发送的随机标识符与本地的随机标识符相同,将所述更新完成通知信息进行存储。
在本实施例中,当在用户端中基于解密后的待更新资源包完成了应用更新时,用户端会在得到的随机标识符和更新完成通知信息一同发送至服务器。服务器在接收到了用户端发送的随机标识符和更新完成通知信息,且确定用户端发送的随机标识符与本地的随机标识符相同,则表示用户端此次更新所基于的待更新资源包是没有被拦截和恶意篡改,可将用于表示用户端完成此次更新的所述更新完成通知信息进行存储,以作为更新历史记录存储。
在一实施例中,服务器200还包括:
应用数据获取指令生成单元,用于若确定满足预设的应用数据获取指令生成条件时,生成应用数据获取指令并发送至用户端;其中,所述应用数据获取指令用于获取应用界面截图或应用功能模块代码。
在本实施例中,为了随时可对用户端中的应用程序代码或图片等核心资源数据是否发生篡改进行检测,可以在服务器中预先设置一个应用数据获取指令生成条件,例如将该应用数据获取指令生成条件设置为当前系统时间为中午12点整,这样每天一到中午12点整均会满足应用数据获取指令生成条件,从而生成一个应用数据获取指令并发送至用户端,从而触发在用户端中获取应用界面截图或应用功能模块代码的流程。
合法性验证单元,用于接收应用待检测数据,对所述应用待检测数据进行合法性验证,得到验证结果。
在本实施例中,例如当基于应用数据获取指令获取的图片返回到服务器的时候,服务器根据获取到的图片进行大数据图形识别,并与预先放入的图片来判定是否是属于自己的页面还是被篡改的页面。
或者是当基于应用数据获取指令获取的应用功能模块代码,并与原本的代码进行比对来判定是否是属于自己的页面还是被篡改的页面。
当所述应用待检测数据为验证通过时,则得到验证通过的验证结果。当所述应用待检测数据为验证未通过时,则得到验证未通过的验证结果。
禁用指令发送单元,用于若确定验证结果为验证未通过时,将应用验证未通过通知信息及应用禁用指令发送至用户端。
在本实施例中,若确定验证结果为验证未通过时,表示应用程序有被篡改,此时为了及时保护用户数据安全,将应用验证未通过通知信息及应用禁用指令发送至用户端以实现对应用程序的及时禁用。
该系统实现了在应用程序的资源更新过程中需要将若干个目标拆分子公钥进行组合后得到公钥对加密后资源包进行解密从而得到待更新资源包,而且还可以获取此次更新得到的随机标识符用于本次更新的双方验证,提高了应用程序更新资源的过程中数据安全性。
上述资源数据防篡改系统可以实现为计算机程序的形式,该计算机程序可以在如图5所示的计算机设备上运行。
请参阅图5,图5是本发明实施例提供的计算机设备的示意性框图。该计算机设备500是服务器,也可以是终端。服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。终端可以是智能手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等具有通信功能的电子设备。
参阅图5,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括存储介质503和内存储器504。
该存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032被执行时,可使得处理器502执行资源数据防篡改方法。
该处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。
该内存储器504为存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行资源数据防篡改方法。
该网络接口505用于进行网络通信,如提供数据信息的传输等。本领域技术人员可以理解,图5中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现本发明实施例公开的资源数据防篡改方法。
本领域技术人员可以理解,图5中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图5所示实施例一致,在此不再赘述。
应当理解,在本发明实施例中,处理器502可以是中央处理单元(CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在本发明的另一实施例中提供计算机可读存储介质。该计算机可读存储介质可以为非易失性的计算机可读存储介质,也可以为易失性的计算机可读存储介质。该计算机可读存储介质存储有计算机程序,其中计算机程序被处理器执行时实现本发明实施例公开的资源数据防篡改方法。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种资源数据防篡改方法,应用于用户端,其特征在于,包括:
响应于应用更新指令,根据所述应用更新指令获取用户端核心数据,将所述用户端核心数据中的每一个子数据通过预设的第一私钥进行加密,得到第一重加密数据;其中,所述用户端核心数据包括更新包包名、用户签名、用户唯一识别信息、用户端终端型号,所述第一重加密数据中的第一重加密子数据与所述用户端核心数据中的子数据一一对应;
将所述第一重加密数据根据动态组合私钥进行加密,得到第二重加密数据;其中,所述动态组合私钥包括用户端终端型号的局部数据、和用户端联系号码的局部数据;
将所述第二重加密数据作为加密核心数据发送至服务器;
接收并存储服务器发送的第一目标拆分子公钥;
若接收到更新后目标拆分子公钥和加密后更新资源包,获取所述更新后目标拆分子公钥中包括的随机标识符与第二目标拆分子公钥;
将所述第一目标拆分子公钥与所述第二目标拆分子公钥进行组合得到公钥,通过所述公钥对所述加密后资源包进行解密,得到待更新资源包;以及
当检测到已根据所述待更新资源包完成更新时,生成更新完成通知信息,将所述随机标识符和所述更新完成通知信息发送至服务器。
2.根据权利要求1所述的资源数据防篡改方法,其特征在于,所述当检测到已根据所述待更新资源包完成更新时,生成更新完成通知信息,将所述随机标识符和所述更新完成通知信息发送至服务器之后,还包括:
当检测到应用数据获取指令时,根据所述应用数据获取指令获取应用待检测数据,将所述应用待检测数据发送至服务器;其中,所述应用数据获取指令用于获取应用界面截图或应用功能模块代码;
当检测到应用验证未通过通知信息时,将所述待更新资源包对应的应用切换为不可用状态。
3.根据权利要求1所述的资源数据防篡改方法,其特征在于,所述将所述第一重加密数据根据动态组合私钥进行加密,得到第二重加密数据之前,还包括:
获取所述用户端终端型号的前N1位并获取所述用户端联系号码的前N2位,组成动态组合私钥;其中,N1为预设的第一位数值,N2为预设的第二位数值。
4.一种资源数据防篡改方法,应用于服务器,其特征在于,包括:
当获取到加密核心数据时,缓存所述加密核心数据,并根据所述加密核心数据相应的用户端信息获取动态组合公钥;其中,所述动态组合公钥包括用户端终端型号的局部数据、和用户端联系号码的局部数据;
根据所述动态组合公钥和预先存储的第一公钥依次对所述加密核心数据进行二次解密,得到解密核心数据;
获取已存储的公钥,将所述公钥根据预先存储的拆分策略进行公钥分拆,得到拆分公钥集合;其中,所述拆分公钥集合中包括至少2个拆分子公钥;
随机获取所述拆分公钥集合的其中一个拆分子公钥作为第一目标拆分子公钥,将所述第一目标拆分子公钥发送至用户端;其中,所述拆分公钥集合中除第一目标拆分子公钥之外的其他拆分子公钥组成第二目标拆分子公钥;
若确定所述解密核心数据通过验证,随机生成随机标识符,并获取所述第二目标拆分子公钥,通过所述随机标识符与所述第二目标拆分子公钥组成更新后目标拆分子公钥;
获取待更新资源包及已存储的私钥,将所述待更新资源包通过所述私钥进行加密,得到加密后更新资源包;其中,所述公钥可对通过所述私钥加密的数据进行解密;
将所述更新后目标拆分子公钥和加密后更新资源包发送至用户端信息相应的用户端;以及
当已接收到用户端发送的随机标识符和更新完成通知信息,且确定用户端发送的随机标识符与本地的随机标识符相同,将所述更新完成通知信息进行存储。
5.根据权利要求4所述的资源数据防篡改方法,其特征在于,所述当已接收到用户端发送的随机标识符和更新完成通知信息,且确定用户端发送的随机标识符与本地的随机标识符相同,将所述更新完成通知信息进行存储之后,还包括:
若确定满足预设的应用数据获取指令生成条件时,生成应用数据获取指令并发送至用户端;其中,所述应用数据获取指令用于获取应用界面截图或应用功能模块代码;
接收应用待检测数据,对所述应用待检测数据进行合法性验证,得到验证结果;
若确定验证结果为验证未通过时,将应用验证未通过通知信息及应用禁用指令发送至用户端。
6.根据权利要求4所述的资源数据防篡改方法,其特征在于,所述根据所述动态组合公钥和预先存储的第一公钥依次对所述加密核心数据进行二次解密,得到解密核心数据,包括:
通过所述动态组合公钥对所述加密核心数据进行第一次解密,得到第一次解密数据;
通过预先存储的与第一私钥相对应的第一公钥对所述第一次解密数据进行第二次解密,得到解密核心数据。
7.根据权利要求4所述的资源数据防篡改方法,其特征在于,所述拆分策略用于将所述公钥平均拆分为两个拆分子公钥,所述将所述公钥根据预先存储的拆分策略进行公钥分拆,得到拆分公钥集合,包括:
将所述公钥根据字符总个数进行平均拆分得到2个拆分子公钥,以组成拆分公钥集合。
8.一种资源数据防篡改系统,其特征在于,包括用户端及服务器,所述用户端用于执行如权利要求1至3任一项所述的资源数据防篡改方法,所述服务器用于执行如权利要求4至7任一项所述的资源数据防篡改方法。
9.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至3中任一项所述的资源数据防篡改方法,或是实现如权利要求4至7中任一项所述的资源数据防篡改方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行如权利要求1至3任一项所述的资源数据防篡改方法,或是执行如权利要求4至7任一项所述的资源数据防篡改方法。
CN202110874669.3A 2021-07-30 2021-07-30 资源数据防篡改方法、系统、计算机设备及存储介质 Active CN113591140B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110874669.3A CN113591140B (zh) 2021-07-30 2021-07-30 资源数据防篡改方法、系统、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110874669.3A CN113591140B (zh) 2021-07-30 2021-07-30 资源数据防篡改方法、系统、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN113591140A true CN113591140A (zh) 2021-11-02
CN113591140B CN113591140B (zh) 2023-10-03

Family

ID=78252926

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110874669.3A Active CN113591140B (zh) 2021-07-30 2021-07-30 资源数据防篡改方法、系统、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN113591140B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080240447A1 (en) * 2007-03-26 2008-10-02 Zhu Yunzhou System and method for user authentication with exposed and hidden keys
CN109902494A (zh) * 2019-01-24 2019-06-18 北京融链科技有限公司 数据加密存储方法、装置,以及文件存储系统
CN110266640A (zh) * 2019-05-13 2019-09-20 平安科技(深圳)有限公司 单点登录防篡改方法、装置、计算机设备及存储介质
CN110300112A (zh) * 2019-07-02 2019-10-01 石家庄铁道大学 区块链密钥分层管理方法
CN112733192A (zh) * 2021-01-22 2021-04-30 福州大学 基于联盟链和同态加密的司法电子证据系统及方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080240447A1 (en) * 2007-03-26 2008-10-02 Zhu Yunzhou System and method for user authentication with exposed and hidden keys
CN109902494A (zh) * 2019-01-24 2019-06-18 北京融链科技有限公司 数据加密存储方法、装置,以及文件存储系统
CN110266640A (zh) * 2019-05-13 2019-09-20 平安科技(深圳)有限公司 单点登录防篡改方法、装置、计算机设备及存储介质
CN110300112A (zh) * 2019-07-02 2019-10-01 石家庄铁道大学 区块链密钥分层管理方法
CN112733192A (zh) * 2021-01-22 2021-04-30 福州大学 基于联盟链和同态加密的司法电子证据系统及方法

Also Published As

Publication number Publication date
CN113591140B (zh) 2023-10-03

Similar Documents

Publication Publication Date Title
CN110881063B (zh) 一种隐私数据的存储方法、装置、设备及介质
CN106452770B (zh) 一种数据加密方法、解密方法、装置和系统
CN113691502B (zh) 通信方法、装置、网关服务器、客户端及存储介质
CN108989339B (zh) 一种具有策略隐藏功能的密文加密方法、系统及存储介质
CN111971929A (zh) 安全分布式密钥管理系统
CN111404892B (zh) 数据监管方法、装置和服务器
CN113449338A (zh) 基于区块链的信息加密存储方法及系统
CN117240625B (zh) 一种涉及防篡改的数据处理方法、装置及电子设备
CN113901520A (zh) 基于区块链的数据处理方法、装置、设备及介质
CN112199730A (zh) 一种终端上应用数据的处理方法、装置及电子设备
CN109302442B (zh) 一种数据存储证明方法及相关设备
CN111949996A (zh) 安全私钥的生成方法、加密方法、系统、设备及介质
CN113824713B (zh) 一种密钥生成方法、系统及存储介质
CN113726515B (zh) 一种基于ukey的密钥处理方法、存储介质及电子设备
CN113591140B (zh) 资源数据防篡改方法、系统、计算机设备及存储介质
CN115361198A (zh) 解密方法、加密方法、装置、计算机设备和存储介质
CN114553557A (zh) 密钥调用方法、装置、计算机设备和存储介质
CN114462088A (zh) 用于对共享数据进行去标识的方法及装置
CN110401533B (zh) 一种私钥加密方法及装置
CN116866029B (zh) 随机数加密数据传输方法、装置、计算机设备及存储介质
CN113194090B (zh) 鉴权方法、鉴权装置、终端设备及计算机可读存储介质
CN117499159B (zh) 一种基于区块链的数据交易方法、装置及电子设备
CN114567476B (zh) 一种数据安全防护方法、装置、电子设备及介质
CN113315749B (zh) 用户数据上链、用户数据使用方法、匿名系统和存储介质
CN116566744B (zh) 数据处理方法和安全校验系统

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
TA01 Transfer of patent application right

Effective date of registration: 20230904

Address after: Room 119, Shidai Zhigu Entrepreneurship Park, No. 14 Tianzhi Road, High tech Zone, Hefei City, Anhui Province, 230000

Applicant after: Anhui Taopo Information Technology Co.,Ltd.

Address before: 518000 Room 202, block B, aerospace micromotor building, No.7, Langshan No.2 Road, Xili street, Nanshan District, Shenzhen City, Guangdong Province

Applicant before: Shenzhen LIAN intellectual property service center

Effective date of registration: 20230904

Address after: 518000 Room 202, block B, aerospace micromotor building, No.7, Langshan No.2 Road, Xili street, Nanshan District, Shenzhen City, Guangdong Province

Applicant after: Shenzhen LIAN intellectual property service center

Address before: 518000 Room 201, building A, No. 1, Qian Wan Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretary Co., Ltd.)

Applicant before: PING AN PUHUI ENTERPRISE MANAGEMENT Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant