CN111212057B - 资源包传输方法、装置、计算机设备和可读存储介质 - Google Patents
资源包传输方法、装置、计算机设备和可读存储介质 Download PDFInfo
- Publication number
- CN111212057B CN111212057B CN201911400377.5A CN201911400377A CN111212057B CN 111212057 B CN111212057 B CN 111212057B CN 201911400377 A CN201911400377 A CN 201911400377A CN 111212057 B CN111212057 B CN 111212057B
- Authority
- CN
- China
- Prior art keywords
- resource packet
- client
- communication channel
- encrypted
- test
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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/0478—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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/0435—Network 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 symmetric encryption, i.e. same key used for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/068—Network architectures or network communication protocols for network security for supporting key management in a packet data network using time-dependent keys, e.g. periodically changing keys
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/168—Implementing security features at a particular protocol layer above the transport layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种资源包传输方法、装置、计算机设备和可读存储介质,该方法包括:获取客户端发送的请求参数;根据请求参数,获取请求参数对应的Web资源包;对Web资源包进行压缩操作和加密操作,得到加密的压缩资源包;将加密操作的密码通过预设的通信信道下发至客户端;通信信道为采用全链路加密算法加密的信道;将加密的压缩资源包通过通信信道下发至客户端。该方法提高了下发Web资源包的安全性,避免了同时捕获加密操作的密码和加密的压缩资源包的风险,进一步地提高了下发加密的压缩资源包的安全性。
Description
技术领域
本发明涉及移动互联网手机APP应用开发,特别是涉及一种资源包传输方法、装置、计算机设备和可读存储介质。
背景技术
混合模式移动应用是指结合客户端原生开发技术和Web端开发技术的一种混合模式的客户端应用,目前大多数移动应用都是基于混合模式框架开发的混合模式移动应用。
混合模式移动应用中Web端提供的Web资源通常包括超文本标记语言html、层叠样式表css、编程语言javascript、图片等。传统技术中,Web端将Web资源打包后形成Web资源包,将Web资源包下发到原生客户端,原生客户端加载最新的资源包就实现了混合模式移动应用的热更新。
但是,传统技术中,下发Web资源包到原生客户端的过程中存在安全性较低的问题。
发明内容
基于此,有必要针对传统技术中,下发Web资源包到原生客户端的过程中存在安全性较低的问题,提供一种资源包传输方法、装置、计算机设备和可读存储介质。
第一方面,本发明实施例提供一种资源包传输方法,所述方法包括:
获取客户端发送的请求参数;
根据所述请求参数,获取所述请求参数对应的Web资源包;
对所述Web资源包进行压缩操作和加密操作,得到加密的压缩资源包;
将所述加密操作的密码通过预设的通信信道下发至所述客户端;所述通信信道为采用全链路加密算法加密的信道;
将所述加密的压缩资源包通过所述通信信道下发至所述客户端。
在其中一个实施例中,所述将所述加密操作的密码通过预设的通信信道下发至所述客户端之前,所述方法还包括:
获取所述客户端发送的测试请求参数和测试密文字符串;
根据所述测试请求参数,获取所述测试请求参数对应的测试Web资源包;
根据所述测试密文字符串对所述测试Web资源包进行加密操作,得到加密后的测试Web资源包;
通过所述通信信道将所述加密后的测试Web资源包下发至所述客户端;
接收所述客户端发送的验证消息;所述验证消息用于指示对所述通信信道的篡改验证和重放攻击验证的验证结果。
在其中一个实施例中,所述根据所述请求参数,获取所述请求参数对应的Web资源包之后,所述方法还包括:
对所述Web资源包中的资源进行混淆处理,得到混淆处理后的Web资源包;
所述对所述Web资源包进行压缩操作和加密操作,得到加密的压缩资源包,包括:
对所述混淆处理后的Web资源包进行压缩操作和加密操作,得到所述加密的压缩资源包。
在其中一个实施例中,所述方法还包括:
采用https通信机制,通过所述通信信道将所述加密操作的密码、所述加密的压缩资源包,下发至所述客户端。
第二方面,本发明实施例提供一种资源包传输方法,所述方法包括:
将请求参数通过预设的通信信道发送至服务器端;所述通信信道为采用全链路加密算法加密的信道;
接收所述服务器端通过所述预设的通信信道下发的密码和加密的压缩资源包;所述密码与所述加密的压缩资源包相对应;所述加密的压缩资源包为所述请求参数所对应的资源包进行压缩操作和加密操作得到的。
在其中一个实施例中,所述方法还包括:
采用动态生成密钥的方法,生成密文字符串,并将所述密文字符串发送给所述服务器端,以建立所述预设的通信信道。
在其中一个实施例中,所述采用动态生成密钥的方法,生成密文字符串,包括:
根据目标应用程序包文件生成主密钥;
利用所述主密钥和三重数据加密算法,对预设的随机数进行加密,得到过程密钥;
根据所述过程密钥和所述三重数据加密算法,对目标数据进行加密,生成所述密文字符串。
第三方面,本发明实施例提供一种资源包传输装置,所述装置包括:
第一获取模块,用于获取客户端发送的请求参数;
第二获取模块,用于根据所述请求参数,获取所述请求参数对应的Web资源包;
处理模块,用于对所述Web资源包进行压缩操作和加密操作,得到加密的压缩资源包;
第一下发模块,用于将所述加密操作的密码通过预设的通信信道下发至所述客户端;所述通信信道为采用全链路加密算法加密的信道;
第二下发模块,用于将所述加密的压缩资源包通过所述通信信道下发至所述客户端。
第四方面,本发明实施例提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取客户端发送的请求参数;
根据所述请求参数,获取所述请求参数对应的Web资源包;
对所述Web资源包进行压缩操作和加密操作,得到加密的压缩资源包;
将所述加密操作的密码通过预设的通信信道下发至所述客户端;所述通信信道为采用全链路加密算法加密的信道;
将所述加密的压缩资源包通过所述通信信道下发至所述客户端。
第五方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取客户端发送的请求参数;
根据所述请求参数,获取所述请求参数对应的Web资源包;
对所述Web资源包进行压缩操作和加密操作,得到加密的压缩资源包;
将所述加密操作的密码通过预设的通信信道下发至所述客户端;所述通信信道为采用全链路加密算法加密的信道;
将所述加密的压缩资源包通过所述通信信道下发至所述客户端。
上述实施例提供的资源包传输方法、装置、计算机设备和可读存储介质中,服务器端获取客户端发送的请求参数;根据请求参数获取请求参数对应的Web资源包;对Web资源包进行压缩操作和加密操作,得到加密的压缩资源包;将加密操作的密码通过预设的通信信道下发至客户端;通信信道为采用全链路加密算法加密的信道;将加密的资源压缩包通过通信信道下发至客户端。在该方法中,由于对Web资源包进行了压缩操作和加密操作,得到的资源包是加密的压缩资源包,将加密的压缩资源包下发到客户端,提高了下发Web资源包的安全性;另外,将对Web资源包加密操作的密码和加密的压缩资源包分别通过预设的采用全链路加密算法加密的通信信道下发至客户端,避免了同时捕获加密操作的密码和加密的压缩资源包的风险,进一步地提高了下发加密的压缩资源包的安全性。
附图说明
图1为一个实施例提供的资源包传输方法的应用环境图;
图2为一个实施例提供的资源包传输方法的流程示意图;
图3为另一个实施例提供的资源包传输方法的流程示意图;
图4为一个实施例提供的资源包传输方法的流程示意图;
图5为一个实施例提供的资源包传输装置结构示意图;
图6为一个实施例提供的资源包传输装置结构示意图;
图7为一个实施例提供的计算机设备的内部结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的资源包传输方法,可以适用于如图1所示的应用环境中。该应用环境中包括服务器端110和客户端120。其中,服务器端110与客户端120通过网络进行通信。可选的,服务器端110可以是服务器,也可以是云端或者远程服务器。可选的,客户端120可以是平板电脑、手机等等。
传统技术中,大多数移动应用(Application,APP)都是基于混合模式(原生Android/IOS+Web)框架开发的,Web资源通常包括超文本标记语言html、层叠样式表css、编程语言javascript、图片等,对Web资源打包后会以文件夹的形式下发到原生客户端,原生客户端加载最新的资源包就实现了混合模式APP的热更新,但是,目前大多数APP通信过程的安全措施不够到位,一方面中间人通过截取资源包后篡改资源包或者直接将假冒资源包推送至下载路径或加载路径,最终导致下发到客户端的APP执行了假冒资源里的代码,这些假冒资源包里面可能含有恶意代码,导致用户受到损失;另一方面中间人通过对资源包的逆向分析,破解资源文件(如图片等)和源代码,最终也导致了APP开发商的损失。为此,本发明实施例提供一种资源包传输方法、装置、计算机设备和可读存储介质,旨在解决传统技术的如上技术问题。
需要说明的是,本申请实施例提供的资源包传输方法,其执行主体可以是资源包传输装置,该资源包传输装置可以通过软件、硬件或者软硬件结合的方式实现成为计算机设备的部分或者全部。下述方法实施例中,均以执行主体是计算机设备为例来进行说明。
下面以具体的实施例对本发明的技术方案以及本发明的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
图2为一个实施例提供的资源包传输方法的流程示意图。本实施例涉及的是服务器端将加密操作的密码和加密的压缩资源包通过预设的通信信道下发至客户端的具体实现过程。如图2所示,该方法可以包括:
S201,获取客户端发送的请求参数。
具体的,服务器端通过与客户端之间的通信,获取客户端发送的请求参数。其中,客户端发送给服务器端的请求参数为客户端需要获取的Web资源包所对应的请求参数。可选的,服务器端可以实时地接收客户端发送的请求参数,也可以按照预设的时间间隔接收客户端发送的请求参数。可选的,服务器端可以是服务器,也可以是云端或者远程服务器;客户端可以是手机,也可以是平板电脑、智能手表、车载智能中控等。
S202,根据请求参数,获取请求参数对应的Web资源包。
具体的,服务器端根据客户端发送的请求参数,获取请求参数对应的Web资源包。可选的,服务器端可以根据预设的请求参数与Web资源包的对应关系,在存储Web资源包的数据库中,获取客户端发送的请求参数对应的Web资源包。
S203,对Web资源包进行压缩操作和加密操作,得到加密的压缩资源包。
具体的,服务器端对获取的Web资源包进行压缩操作和加密操作,得到加密的压缩资源包。可选的,服务器端可以通过2345好压压缩软件对Web资源包进行压缩操作和加密操作,也可以通过其他的压缩软件对Web资源包进行压缩操作和加密操作。可选的,服务器端可以在对Web资源包进行压缩操作的同时进行加密操作,也可以先对Web资源包进行压缩操作再对压缩后的资源包进行加密操作,得到加密的压缩资源包。
S204,将加密操作的密码通过预设的通信信道下发至客户端;通信信道为采用全链路加密算法加密的信道。
具体的,服务器端将加密操作的密码通过预设的通信信道下发至客户端,其中,预设的通信信道为采用全链路加密算法加密的信道。可选的,还可以预先在客户端中存放与服务器端对应的证书,在服务器端与客户端进行网络通信时,服务器端可以先获取客户端发送不同的证书rawID,以进行多域名证书校验,保证服务器端与客户端的通信安全,然后再通过预设的通信信道将加密操作的密码下发至客户端。
S205,将加密的压缩资源包通过通信信道下发至客户端。
具体的,服务器端将加密的压缩资源包通过上述预设的通信信道下发至客户端。需要说明的是,加密的压缩资源包与加密操作的密码是分开下发至客户端,可选的,服务器端可以先将加密操作的密码通过预设的通信信道下发至客户端,再将加密的压缩资源包通过预设的通信信道下发至客户端,也可以先将加密的压缩资源包通过预设的通信信道下发至客户端,再将加密操作的密码通过预设的通信信道下发至客户端。
在本实施例中,由于对Web资源包进行了压缩操作和加密操作,得到的资源包是加密的压缩资源包,将加密的压缩资源包下发到客户端,提高了下发Web资源包的安全性;另外,将对Web资源包加密操作的密码和加密的压缩资源包分别通过预设的采用全链路加密算法加密的通信信道下发至客户端,避免了同时捕获加密操作的密码和加密的压缩资源包的风险,进一步地提高了下发加密的压缩资源包的安全性。
在一些场景中,服务器端将加密操作的密码通过预设的通信信道下发至客户端之前,还需要对预设的通信信道进行篡改验证和重放攻击验证。图3为另一个实施例提供的资源包传输方法的流程示意图。本实施例涉及的是服务器端对预设的通信信道进行篡改验证和重放攻击验证的具体实现过程。如图3所示,在上述实施例的基础上,作为一种可选的实施方式,上述方法还包括:
S301,获取客户端发送的测试请求参数和测试密文字符串。
具体的,服务器端通过与客户端间的网络通信,获取客户端发送的测试请求参数和测试密文字符串。可选的,服务器端可以同时获取客户端发送的测试请求参数和测试密文字符串,也可以先获取客户端发送的请求参数再获取客户端发送的测试密文字符串,也可以先获取客户端发送的测试密文字符串再获取客户端发送的测试请求参数。可选的,服务器端接收的客户端发送的测试请求参数和测试密文字符串还可以是客户端对测试参数和测试密文字符串使用MD5加密算法进行加密后得到的加密的测试参数和加密的测试密文字符串,此时,服务器端接收到的除了加密后的测试参数、加密后的测试密文字符串还有MD5加密算法的加密值。
S302,根据测试请求参数,获取测试请求参数对应的测试Web资源包。
具体的,服务器端根据客户端发送的测试请求参数,获取测试请求参数对应的测试Web资源包。可选的,服务器端可以根据预设的请求参数与Web资源包的对应关系,在存储Web资源包的数据库中,获取客户端发送的测试请求参数对应的测试Web资源包。
S303,根据测试密文字符串对测试Web资源包进行加密操作,得到加密后的测试Web资源包。
具体的,服务器端根据测试密文字符串对测试Web资源包进行加密操作,得到加密后的测试Web资源包。可选的,服务器端可以根据接收的测试密文字符串和预设的加密算法对测试请求参数对应的测试Web资源包进行加密操作,可选的,服务器端可以采用对称式加密算法对测试请求参数对应的测试Web资源包进行加密操作,也可以采用非对称式加密算法对测试请求参数对应的测试Web资源包进行加密操作。
S304,通过通信信道将加密后的测试Web资源包下发至客户端。
具体的,服务器端通过上述预设的通信信道将加密后的测试Web资源包下发至客户端。可选的,若服务器端接收的是客户端对测试参数和测试密文字符串使用MD5加密算法进行加密后的测试参数和测试密文字符串,则服务器端还会将接收到的MD5加密算法的加密值与加密后的测试Web资源包一起下发至客户端。
S305,接收客户端发送的验证消息;验证消息用于指示对通信信道的篡改验证和重放攻击验证的验证结果。
具体的,服务器端将加密后的测试Web资源包下发至客户端后,客户端会将接收到的加密后的测试Web资源包的加密字符串与上述测试密文字符串进行比对,验证通信信道是否对测试密文字符串进行了篡改和重放攻击,并将得到的用于指示对通信信道的篡改验证和重放攻击验证的验证结果的验证消息通过与服务器端的网络通信发送给服务器端,服务器端接收客户端发送的该验证消息。可选的,若服务器端将接收到的MD5加密算法的加密值下发至客户端,则客户端还会对下发的MD5加密算法的加密值进行验证,验证接收的客户端下发的MD5加密算法的加密值是否合理,进一步地验证通信信道是否对测试密文字符串进行了篡改和重放攻击。
在本实施例中,服务器端将加密操作的密码通过预设的通信信道下发至客户端之前,还会通过客户端发送的测试请求参数和测试密文字符串对通信信道进行篡改验证和重放攻击验证,进一步地保证了通信信道的安全,提高了下发加密操作的密码以及加密的Web资源包的安全性。
在一些场景中,为了更进一步地确保下发的加密的压缩资源包的安全性还会对Web资源包中的资源进行混淆处理。在上述实施例的基础上,作为一种可选的实施方式,上述方法还包括:对Web资源包中的资源进行混淆处理,得到混淆处理后的Web资源包。
具体的,服务器端获取到接收的请求参数对应的Web资源包后,会对Web资源包中的资源进行混淆处理,打乱Web资源包中的资源,得到混淆处理后的Web资源包,经过该处理后上述S203包括:对混淆处理后的Web资源包进行压缩操作和加密操作,得到加密的压缩资源包。
在本实施例中,服务器端对获取的Web资源包中的资源进行混淆处理,打乱Web资源包中的资源,通过该处理增加了破解Web资源包中的资源的难度,进一步地确定了下发的Web资源包的安全性。
在上述实施例的基础上,作为一种可选的实施方式,上述方法还包括:采用https通信机制,通过通信信道将加密操作的密码、加密的压缩资源包,下发至客户端。
具体的,服务器端采用https通信机制,通过通信信道将加密操作的密码、加密的压缩资源包,下发至客户端。其中,https通信机制具有校验机制,服务器端与客户端通信过程中,一旦传输的资源包被篡改,服务器端与客户端会立刻发现。在本实施例中,服务器端采用https通信机制,通过预设的通信信道将加密操作的密码、加密的压缩资源包下发至客户端,通过https通信机制的校验机制,更进一步地确保了下发的加密操作的密码、加密的压缩资源包的安全性。
图4为一个实施例提供的资源包传输方法的流程示意图。本实施例涉及的是客户端通过预设的通信信道接收服务器端下发的加密操作的密码和加密的压缩资源包的具体实现过程。如图4所示,该方法可以包括:
S401,将请求参数通过预设的通信信道发送至服务器端;通信信道为采用全链路加密算法加密的信道。
具体的,客户端通过预设的通信信道将请求参数发送至服务器端。其中,客户端发送给服务器端的请求参数为客户端需要获取的Web资源包所对应的请求参数。可选的,客户端可以实时地向服务器端发送请求参数,也可以按照预设的时间间隔向服务器端发送请求参数。可选的,服务器端可以是服务器,也可以是云端或者远程服务器;客户端可以是手机,也可以是平板电脑、智能手表、车载智能中控等。
S402,接收服务器端通过预设的通信信道下发的密码和加密的压缩资源包;密码与加密的压缩资源包相对应;加密的压缩资源包为请求参数所对应的资源包进行压缩操作和加密操作得到的。
具体的,客户端接收服务器端通过预设的通信信道下发的密码和加密的压缩资源包。其中,客户端接收的密码是与加密的压缩资源包相对应的,加密的压缩资源包为对客户端发送的请求参数所对应的资源包进行压缩操作和加密操作得到的。可选的,客户端可以对接收的加密的压缩资源包以流的形式读入。
在本实施例中,客户端通过采用全链路加密算法加密的通信信道将请求参数发送至服务器端,通过预设的通信信道接收服务器端下发的密码和加密的压缩资源包,这样保证了传给服务器端的请求参数在传输过程中的安全性并保证了接收服务器端下发的密码和加密的压缩资源包的安全性。
在上述实施例的基础上,作为一种可选的实施方式,上述方法还包括:采用动态生成密钥的方法,生成密文字符串,并将密文字符串发送给服务器端,以建立预设的通信信道。
具体的,客户端采用动态生成密钥的方法,生成密文字符串,并将密文字符串发送给服务器端,以建立上述预设的通信信道。可选的,客户端可以根据目标应用程序包文件生成主密钥,利用主密钥和三重数据加密算法,对预设的随机数进行加密,得到过程密钥,根据过程密钥和三重数据加密算法,对目标数据进行加密,生成密文字符串。需要说明的是,对于Android应用程序包(Android application package Android apk),破解so库的难度要远大于反编译Java代码,对于IOS ipa,破解a库的难度要远远大于反编译OC代码,因此,客户端把通信过程中采用动态生成密钥的方法生成密文字符串的过程下沉到C或C++层实现,然后分别编译成.so库和.a库。而动态生成的密钥,除了需要在保证客户端与服务器端一致的前提下,动态生成的密钥既不能一成不变,也不能时刻都变,因此,选取一个折中的密钥生成入参极为重要,示例性地,客户端采用动态生成密钥的方法,生成密文字符串,并分别编译成.so库和.a库的过程可以包括:步骤S1:通过客户端自身apk文件生成密钥,这样密钥就会跟apk版本有关,每次当apk发布新版的时候,密钥也会变化。步骤S2:在C/C++层使用三重数据加密(3DES加密)算法,实现对称加密算法。具体步骤如下:步骤S2.1:对:"4字节软件版本号+4字节数据长度+*.apk文件的最后50K数据"(即目标应用程序包文件),进行MD5运算,得到主密钥;步骤S2.2:主密钥对预设的随机数进行3DES加密,得到16字节过程密钥,其中,随机数由:"4字节时间戳+4字节随机数+8字节随机数"组成;步骤S2.3:用过程密钥对需要加密的数据(即目标数据)进行3DES加密,并返回16字节随机数+"N字节明文数据"的密文(即密文字符串);步骤S3:将加密算法编译成.so库和.a库。
在本实施例中,客户端采用动态生成密钥的方法,生成密文字符串,并将密文字符串发送给服务器端,以建立预设的通信信道,通过该过程客户端与服务器端可以建立安全的通信信道,保证了客户端与服务器端传输请求参数和资源包的安全性。
应该理解的是,虽然图2-4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
图5为一个实施例提供的资源包传输装置结构示意图。如图5所示,该装置可以包括:第一获取模块10、第二获取模块11、处理模块12、第一下发模块13和第二下发模块14。
第一获取模块10,用于获取客户端发送的请求参数;
第二获取模块11,用于根据请求参数,获取请求参数对应的Web资源包;
处理模块12,用于对Web资源包进行压缩操作和加密操作,得到加密的压缩资源包;
第一下发模块13,用于将加密操作的密码通过预设的通信信道下发至客户端;通信信道为采用全链路加密算法加密的信道;
第二下发模块14,用于将加密的压缩资源包通过通信信道下发至客户端。
本实施例提供的资源包传输装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
在上述实施例的基础上,可选的,上述装置还包括:第三获取模块、第四获取模块、加密模块、第三下发模块和第四下发模块。
具体的,第三获取模块,用于获取客户端发送的测试请求参数和测试密文字符串;
第四获取模块,用于根据测试请求参数,获取测试请求参数对应的测试Web资源包;
加密模块,用于根据测试密文字符串对测试Web资源包进行加密操作,得到加密后的测试Web资源包;
第三下发模块,用于通过通信信道将加密后的测试Web资源包下发至客户端;
第四下发模块,用于接收客户端发送的验证消息;验证消息用于指示对通信信道的篡改验证和重放攻击验证的验证结果。
本实施例提供的资源包传输装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
在上述实施例的基础上,可选的,上述装置还包括:混淆处理模块。
具体的,混淆处理模块,用于对Web资源包中的资源进行混淆处理,得到混淆处理后的Web资源包;
则处理模块12,具体用于对混淆处理后的Web资源包进行压缩操作和加密操作,得到加密的压缩资源包。
本实施例提供的资源包传输装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
在上述实施例的基础上,可选的,上述装置还包括:通信模块。
具体的,通信模块用于采用https通信机制,通过通信信道将加密操作的密码、加密的压缩资源包,下发至客户端。
本实施例提供的资源包传输装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
图6为一个实施例提供的资源包传输装置结构示意图。如图6所示,该装置可以包括:发送模块20和接收模块21。
具体的,发送模块20,用于将请求参数通过预设的通信信道发送至服务器端;通信信道为采用全链路加密算法加密的信道;
接收模块21,用于接收服务器端通过预设的通信信道下发的密码和加密的压缩资源包;密码与加密的压缩资源包相对应;加密的压缩资源包为请求参数所对应的资源包进行压缩操作和加密操作得到的。
本实施例提供的资源包传输装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
在上述实施例的基础上,可选的,上述装置还包括:生成模块。
具体的,生成模块,用于采用动态生成密钥的方法,生成密文字符串,并将密文字符串发送给服务器端,以建立预设的通信信道。
本实施例提供的资源包传输装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
在上述实施例的基础上,可选的,上述生成模块包括:第一生成单元、加密单元和第二生成单元。
具体的,第一生成单元,用于根据目标应用程序包文件生成主密钥;
加密单元,用于根据目标应用程序包文件生成主密钥;
第二生成单元,用于根据过程密钥和三重数据加密算法,对目标数据进行加密,生成密文字符串。
本实施例提供的资源包传输装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
关于资源包传输装置的具体限定可以参见上文中对于资源包传输方法的限定,在此不再赘述。上述资源包传输装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器启动执行以上各个模块对应的操作。
本申请实施例提供的资源包传输方法,可以适用于如图7所示的计算机设备。该计算机设备包括通过***总线连接的处理器、存储器,该存储器中存储有计算机程序,处理器执行该计算机程序时可以执行下述方法实施例的步骤。可选的,该计算机设备还可以包括网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器,该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。可选的,该计算机设备可以是终端,可以是服务器,还可以是云端或者远程服务器,本申请实施例对计算机设备的具体形式并不做限定。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取客户端发送的请求参数;
根据请求参数,获取请求参数对应的Web资源包;
对Web资源包进行压缩操作和加密操作,得到加密的压缩资源包;
将加密操作的密码通过预设的通信信道下发至客户端;通信信道为采用全链路加密算法加密的信道;
将加密的压缩资源包通过通信信道下发至客户端。
上述实施例提供的计算机设备,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取客户端发送的请求参数;
根据请求参数,获取请求参数对应的Web资源包;
对Web资源包进行压缩操作和加密操作,得到加密的压缩资源包;
将加密操作的密码通过预设的通信信道下发至客户端;通信信道为采用全链路加密算法加密的信道;
将加密的压缩资源包通过通信信道下发至客户端。
上述实施例提供的计算机可读存储介质,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (13)
1.一种资源包传输方法,其特征在于,所述方法包括:
获取客户端发送的请求参数;
根据所述请求参数,获取所述请求参数对应的Web资源包;
对所述Web资源包进行压缩操作和加密操作,得到加密的压缩资源包;
将所述加密操作的密码通过预设的通信信道下发至所述客户端;所述通信信道为采用全链路加密算法加密的信道;
将所述加密的压缩资源包通过所述通信信道下发至所述客户端;所述加密的压缩资源包和所述加密操作的密码按先后顺序通过所述预设的通信信道分开下发至客户端。
2.根据权利要求1所述的方法,其特征在于,所述将所述加密操作的密码通过预设的通信信道下发至所述客户端之前,所述方法还包括:
获取所述客户端发送的测试请求参数和测试密文字符串;
根据所述测试请求参数,获取所述测试请求参数对应的测试Web资源包;
根据所述测试密文字符串对所述测试Web资源包进行加密操作,得到加密后的测试Web资源包;
通过所述通信信道将所述加密后的测试Web资源包下发至所述客户端;
接收所述客户端发送的验证消息;所述验证消息用于指示对所述通信信道的篡改验证和重放攻击验证的验证结果。
3.根据权利要求1所述的方法,其特征在于,所述根据所述请求参数,获取所述请求参数对应的Web资源包之后,所述方法还包括:
对所述Web资源包中的资源进行混淆处理,得到混淆处理后的Web资源包;
所述对所述Web资源包进行压缩操作和加密操作,得到加密的压缩资源包,包括:
对所述混淆处理后的Web资源包进行压缩操作和加密操作,得到所述加密的压缩资源包。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
采用https通信机制,通过所述通信信道将所述加密操作的密码、所述加密的压缩资源包,下发至所述客户端。
5.一种资源包传输方法,其特征在于,所述方法包括:
将请求参数通过预设的通信信道发送至服务器端;所述通信信道为采用全链路加密算法加密的信道;
接收所述服务器端通过所述预设的通信信道下发的密码和加密的压缩资源包;所述密码与所述加密的压缩资源包相对应;所述加密的压缩资源包为所述请求参数所对应的资源包进行压缩操作和加密操作得到的;所述加密的压缩资源包和所述密码按先后顺序通过所述预设的通信信道分开下发。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
采用动态生成密钥的方法,生成密文字符串,并将所述密文字符串发送给所述服务器端,以建立所述预设的通信信道。
7.根据权利要求6所述的方法,其特征在于,所述采用动态生成密钥的方法,生成密文字符串,包括:
根据目标应用程序包文件生成主密钥;
利用所述主密钥和三重数据加密算法,对预设的随机数进行加密,得到过程密钥;
根据所述过程密钥和所述三重数据加密算法,对目标数据进行加密,生成所述密文字符串。
8.一种资源包传输装置,其特征在于,所述装置包括:
第一获取模块,用于获取客户端发送的请求参数;
第二获取模块,用于根据所述请求参数,获取所述请求参数对应的Web资源包;
处理模块,用于对所述Web资源包进行压缩操作和加密操作,得到加密的压缩资源包;
第一下发模块,用于将所述加密操作的密码通过预设的通信信道下发至所述客户端;所述通信信道为采用全链路加密算法加密的信道;第二下发模块,用于将所述加密的压缩资源包通过所述通信信道下发至所述客户端;
所述第一下发模块与所述第二下发模块分别将所述加密的压缩资源包和所述加密操作的密码按先后顺序通过预设的通信信道分开下发至客户端。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
第三获取模块,用于获取所述客户端发送的测试请求参数和测试密文字符串;
第四获取模块,用于根据所述测试请求参数,获取所述测试请求参数对应的测试Web资源包;
加密模块,用于根据所述测试密文字符串对所述测试Web资源包进行加密操作,得到加密后的测试Web资源包;
第三下发模块,用于通过所述通信信道将所述加密后的测试Web资源包下发至所述客户端;
第四下发模块,用于接收所述客户端发送的验证消息;所述验证消息用于指示对所述通信信道的篡改验证和重放攻击验证的验证结果。
10.根据权利要求8所述的装置,其特征在于,所述装置还包括:
混淆处理模块,用于对所述Web资源包中的资源进行混淆处理,得到混淆处理后的Web资源包;
所述处理模块,还用于对所述混淆处理后的Web资源包进行压缩操作和加密操作,得到所述加密的压缩资源包。
11.根据权利要求8所述的装置,其特征在于,所述装置还包括:
通信模块,用于采用https通信机制,通过所述通信信道将所述加密操作的密码、所述加密的压缩资源包,下发至所述客户端。
12.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-7中任一项所述方法的步骤。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911400377.5A CN111212057B (zh) | 2019-12-30 | 2019-12-30 | 资源包传输方法、装置、计算机设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911400377.5A CN111212057B (zh) | 2019-12-30 | 2019-12-30 | 资源包传输方法、装置、计算机设备和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111212057A CN111212057A (zh) | 2020-05-29 |
CN111212057B true CN111212057B (zh) | 2022-09-27 |
Family
ID=70787677
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911400377.5A Active CN111212057B (zh) | 2019-12-30 | 2019-12-30 | 资源包传输方法、装置、计算机设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111212057B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113870416B (zh) * | 2021-09-24 | 2022-11-04 | 埃洛克航空科技(北京)有限公司 | 基于全链路加密的三维实景模型展示方法以及相关装置 |
CN114124914B (zh) * | 2021-09-29 | 2024-07-05 | 平安国际智慧城市科技股份有限公司 | 数据安全传输方法、装置、计算机设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102014136A (zh) * | 2010-12-13 | 2011-04-13 | 南京邮电大学 | 基于随机握手的p2p网络安全通信方法 |
CN104111856A (zh) * | 2014-07-29 | 2014-10-22 | 广东能龙教育股份有限公司 | 一种基于资源包的软件升级方法和*** |
CN106304040A (zh) * | 2015-05-25 | 2017-01-04 | 阿里巴巴集团控股有限公司 | 管理移动应用的方法、装置 |
CN106790250A (zh) * | 2017-01-24 | 2017-05-31 | 郝孟 | 数据处理、加密、完整性校验方法及身份鉴别方法及*** |
CN109062582A (zh) * | 2018-07-23 | 2018-12-21 | 北京云测信息技术有限公司 | 一种应用安装包的加密方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9134984B2 (en) * | 2012-05-11 | 2015-09-15 | Hobnob, Inc. | Virtual network adapter |
-
2019
- 2019-12-30 CN CN201911400377.5A patent/CN111212057B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102014136A (zh) * | 2010-12-13 | 2011-04-13 | 南京邮电大学 | 基于随机握手的p2p网络安全通信方法 |
CN104111856A (zh) * | 2014-07-29 | 2014-10-22 | 广东能龙教育股份有限公司 | 一种基于资源包的软件升级方法和*** |
CN106304040A (zh) * | 2015-05-25 | 2017-01-04 | 阿里巴巴集团控股有限公司 | 管理移动应用的方法、装置 |
CN106790250A (zh) * | 2017-01-24 | 2017-05-31 | 郝孟 | 数据处理、加密、完整性校验方法及身份鉴别方法及*** |
CN109062582A (zh) * | 2018-07-23 | 2018-12-21 | 北京云测信息技术有限公司 | 一种应用安装包的加密方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111212057A (zh) | 2020-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112019493B (zh) | 身份认证方法、身份认证装置、计算机设备和介质 | |
US10320556B2 (en) | Method, mobile terminal, device, and readable storage medium for preventing accessed data from being tampered with | |
CN107493291B (zh) | 一种基于安全元件se的身份认证方法和装置 | |
JP2019505887A (ja) | 信頼できる実行環境を有するモバイル装置 | |
CN111177749B (zh) | 加密源代码文件处理方法、装置、计算机设备和存储介质 | |
KR101744747B1 (ko) | 휴대 단말기, 단말기 및 보안쿠키를 이용한 인증 방법 | |
CN111107073B (zh) | 应用自动登录方法、装置、计算机设备和存储介质 | |
CN105320535B (zh) | 一种安装包的校验方法、客户端、服务器及*** | |
US8291227B2 (en) | Method and apparatus for secure communication | |
CN112800393B (zh) | 授权认证、软件开发工具包生成方法、装置及电子设备 | |
CN111193740B (zh) | 加密方法、装置、解密方法、计算机设备和存储介质 | |
CN109359977A (zh) | 网络通信方法、装置、计算机设备和存储介质 | |
CN111212057B (zh) | 资源包传输方法、装置、计算机设备和可读存储介质 | |
CN113141365B (zh) | 分布式微服务数据传输的方法、装置、***和电子设备 | |
CN111343170A (zh) | 电子签约方法及*** | |
CN113572743A (zh) | 数据加密、解密方法、装置、计算机设备和存储介质 | |
CN110941861B (zh) | 文件防护方法、装置、计算机设备及介质 | |
CN115409619A (zh) | 一种基于区块链的数据处理方法及区块链节点装置 | |
KR102282788B1 (ko) | 트랜잭션에 포함된 평문 데이터의 변경을 지원하는 블록체인 시스템 | |
CN109657170B (zh) | 网页加载方法、装置、计算机设备及存储介质 | |
CN111479265A (zh) | 信息传播方法、装置、计算机设备和存储介质 | |
CN112637307B (zh) | 文件更新方法、***、计算机设备及存储介质 | |
CN112115430A (zh) | 一种apk的加固方法、电子设备及存储介质 | |
WO2019019675A1 (zh) | 网站模拟登录方法、装置、服务端和可读存储介质 | |
CN114124440A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |