WO2020019477A1 - 通信数据加密方法和装置 - Google Patents
通信数据加密方法和装置 Download PDFInfo
- Publication number
- WO2020019477A1 WO2020019477A1 PCT/CN2018/107636 CN2018107636W WO2020019477A1 WO 2020019477 A1 WO2020019477 A1 WO 2020019477A1 CN 2018107636 W CN2018107636 W CN 2018107636W WO 2020019477 A1 WO2020019477 A1 WO 2020019477A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- parameter
- terminal device
- page
- encryption algorithm
- Prior art date
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
-
- 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]
Definitions
- the present application relates to the field of communication technologies, and in particular, to a method and an apparatus for encrypting communication data.
- a website is an application that relies on web technology. Every information exchange in a website application involves a web client and a web server. Among them, the main task of the web client is to display information content to users. It uses html language and script programs. , CSS, plug-in technology, etc. to achieve the corresponding web page display; the web server provides business support for the web client, which specifically uses PHP, ASP, JSP and other technologies to achieve the corresponding functions.
- the interaction process between the web server and the web client is generally: the web client sends a request to the web server, and the web server returns the data (such as html code) corresponding to the request to the web client based on the request sent by the web client.
- This application provides a communication data encryption method and device, which solves the problem of insufficient security of a website.
- a communication data encryption method including:
- a communication data encryption device including:
- An access request obtaining module configured to obtain an access request to a target page initiated by a terminal device
- a page data acquisition module configured to acquire the first page data corresponding to the target page from a background server corresponding to the target page according to the access request;
- An encryption module configured to encrypt the first page data by using a first encryption algorithm to obtain second page data
- a request response module configured to send a first response to the access request to the terminal device, so that the terminal device decrypts the second page data according to the first decrypted data to obtain the first page data,
- the first response includes the second page data and the first decrypted data, and the first decrypted data is data including the first encryption algorithm.
- another communication data encryption device including a processor, a memory, and a communication interface.
- the processor, the memory, and the communication interface are connected to each other.
- the communication interface is used to receive or send data.
- the memory The application program code for storing the communication data encryption device performing the above method, and the processor is configured to execute the method of the first aspect.
- a computer storage medium stores a computer program, where the computer program includes program instructions, and the program instructions, when executed by a processor, cause the processor to execute the foregoing first aspect. method.
- This technical solution can prevent a scanner, a crawler tool, and other tools that scan the page from directly acquiring the page data, thereby increasing the security of the website.
- FIG. 1 is a schematic structural diagram of a website system according to an embodiment of the present application.
- FIG. 2 is a schematic flowchart of a communication data encryption method according to an embodiment of the present application.
- FIG. 3 is a schematic flowchart of another communication data encryption method according to an embodiment of the present application.
- FIG. 4 is a schematic structural diagram of a communication data encryption device according to an embodiment of the present application.
- FIG. 5 is a schematic structural diagram of another communication data encryption device according to an embodiment of the present application.
- the technical solution of this application is applicable to a traditional website system that transmits data in plain text.
- the website system may include a website client and a website server.
- the website client is a user-facing client that provides services to users.
- the website client may be a general-purpose client, and the general-purpose client may provide services for multiple website servers, such as a browser; the website client may also be a specific client, and the specific client only uses To provide services for a specific website, such as a "Tencent Video" client.
- the website client runs on a user's terminal device.
- the terminal device includes, but is not limited to, a mobile phone, a computer, a tablet computer, an e-reader and other electronic devices with a website browsing function.
- the website server is used to manage and provide resources of the website system to the website client.
- the website server is used to provide various data to the website client so that the website client can display various pages to the user.
- the web server can consist of one or more servers.
- an encryption server is added to a traditional website system that transmits data in plain text, and the encryption server uses the encryption server to encrypt data exchanged between the website server and the website client, so as to achieve the purpose of ensuring website security.
- the architecture of the website system in the embodiment of the present application may be as shown in FIG. 1.
- the website system includes a website client running on the terminal device 101, an encryption server 102, and a website server 103.
- the encryption server 102 is configured to obtain The interaction data between the website client and the encrypted website server is encrypted.
- the method in the embodiment of the present application can be implemented on the system architecture shown in FIG. 1. The method in the embodiment of the present application is described below.
- FIG. 2 is a schematic flowchart of a communication data encryption method according to an embodiment of the present application. As shown in the figure, the method includes:
- S201 The terminal device initiates an access request to the target page, and the encryption server obtains an access request to the target page.
- the terminal device initiates an access request to a target page through a website client running in the terminal device, and the target page is one of the pages of the website system.
- the target page can be one page of any website system that the user wants to access; in the case where the website client is a specific client, the target page is One page of the website system corresponding to the website client.
- the target page corresponds to a uniform resource location (URL), the access request carries the URL, the URL points to an Internet protocol (IP) address, and the IP address is the address accessed by the access request.
- URL uniform resource location
- IP Internet protocol
- the IP address pointed to by the URL may have the following two designs:
- the IP address pointed to by the URL is the IP address of the encryption server.
- the IP address obtained by the terminal device performing domain name resolution system (DNS) analysis on the URL is the IP address of the encryption server.
- DNS domain name resolution system
- the terminal device initiates an access request for the target page to the encryption server according to the IP address of the encryption server, and the encryption server obtains the access request for the target page in a received manner.
- the IP address pointed to by the URL is the IP address of the background server.
- the IP address obtained by DNS resolution of the URL by the terminal device is the IP address of the background server.
- the terminal device initiates an access request to the target page to the background server according to the IP address of the background server, and the encryption server intercepts the access request to the target page by means of traffic hijacking to obtain the access request to the target page.
- the encryption server sends a resource acquisition request corresponding to the target page to the background server, and the background server receives a resource access request for the target page.
- the background server is the background server corresponding to the target page, that is, the background server of the website system containing the target page.
- the resource acquisition request corresponding to the target page is used to request the background server to return the first page data corresponding to the target page.
- the website client can display the target page.
- the encryption server sends the resource acquisition request corresponding to the target page to the background server in the following two cases:
- the IP address of the background server can be preset in the encryption server, and the IP of the background server can be set.
- the address is associated with the target access request.
- the encryption server obtains the target access request
- the resource of the page data corresponding to the target access request is determined on the background server according to the IP address associated with the target access request, so that the encryption server can
- the IP address corresponding to the target access request initiates a resource acquisition request corresponding to the target page to the background server.
- the target access request refers to an access request associated with the background server, that is, a related request of the website system.
- the domain name "pingan.com” corresponds to the IP address of the backend server in advance, and the IP address of the backend server is 192.168.11.32.
- the request carries the domain name "pingan.com” , For example, www.pingan.com/login, because this request carries "pingan.com", you can determine that the IP address of the back-end server corresponding to this request is 192.168.11.32, and the encryption server sends an IP address to 192.168.
- the background server of .11.32 initiates the resource request corresponding to the access request.
- the encryption server may The carried URL performs DNS resolution to obtain the IP address of the background server, and the encryption server may initiate a resource acquisition request corresponding to the target page to the background server according to the IP address of the background server obtained through analysis.
- the resource acquisition request corresponding to the target page may be the access request to the target page.
- the URL carried in the access request intercepted by the encryption server is www.pingan.com/login
- the encryption server parses the URL through DNS to obtain the IP address corresponding to the URL is 202.132.11.32. .11.32
- the server initiates a resource request corresponding to the target page.
- the background server sends the first page data corresponding to the target page, and the encryption server obtains the first page data corresponding to the target page.
- the background server finds the website file corresponding to the target page from the website directory according to the resource acquisition request corresponding to the target page, obtains the first page data from the website file, and then sends the first page data.
- the background server when the URL carried in the access request is the first design described above, the background server sends the first page data corresponding to the target page to the encryption server, and the encryption server obtains the target page corresponding by receiving The first page of data; in the case that the URL carried in the access request is the second design described above, the background server sends the first page of data corresponding to the target sending page to the terminal device, and the encryption server intercepts the data by means of traffic hijacking The first page data corresponding to the pair of target pages.
- the encryption server and the background server may communicate based on the HTTPS protocol.
- the encryption server may send a resource acquisition request corresponding to the target page to the background server based on the HTTPS protocol, and the encryption server may send the first page data corresponding to the target page to the encryption server based on the HTTPS protocol.
- the encryption server can be accessed only by the encryption server, that is, the access server's access whitelist includes only the encryption server's IP address or MAC address, etc. to prove the encryption server. Identity information.
- the communication security between the encryption server and the background server is ensured, which further enhances the security of the website system.
- the encryption server uses the first encryption algorithm to encrypt the first page data to obtain the second page data.
- the first encryption algorithm may be a symmetric algorithm or an asymmetric algorithm.
- the first encryption algorithm includes, but is not limited to, a data encryption standard (DES) algorithm, a 3DES algorithm, an RSA algorithm, and an advanced algorithm.
- Encryption Standard advanced encryption standard, AES
- AES advanced encryption standard
- the encryption server selects one of the keys from the key space corresponding to the first encryption algorithm as the first key, and performs an operation corresponding to the first encryption algorithm on the first key and the first page data, Get the second page of data.
- the encryption server sends a first response to the terminal device, and the terminal device receives the first response.
- the first response includes the second page data and the first decrypted data.
- the first response is a response to the access request of step S201.
- the first decrypted data may include two parts of data, the first part of the data is a second key, and the second part of the data is data that causes the terminal device to perform an operation corresponding to the first encryption algorithm.
- the first encryption algorithm is a symmetric algorithm
- the second key is the same as the key used by the encryption server when encrypting the first page data, that is, the second key is the first The key used when the page data is encrypted; if the first encryption algorithm is an asymmetric algorithm, if the first key used by the encryption server to encrypt the first page data is a public key, the The second key is the private key corresponding to the public key. If the first key used by the encryption server to encrypt the first page data is the private key, the second key is the public key corresponding to the private key. key.
- the data that causes the terminal device to perform operations corresponding to the first encryption algorithm may be a decryption script corresponding to the first encryption algorithm
- the encryption server sends the first response to the terminal device as follows: The encryption server determines the decryption script corresponding to the first encryption algorithm; the encryption server inserts the decryption script corresponding to the first encryption algorithm into the second page data, and carries the second page data after inserting the decryption script corresponding to the first encryption algorithm into The first response is sent to the terminal device.
- At least one encryption algorithm (referring to a computer program executing the encryption algorithm) can be preset on the encryption server, and a key space, an encryption script, and a decryption script can be preset in the encryption server, and then the key space and the encryption are encrypted.
- the script and decryption script correspond to the encryption algorithm.
- the encryption server may select a decryption script corresponding to the encryption algorithm and send it to the terminal device, which is described below in detail:
- an encryption algorithm is preset in the encryption server.
- the encryption server obtains the unique decryption script, inserts the unique decryption script in the second page data, and then inserts the decryption script.
- the second page data and the second key are sent to the terminal device.
- multiple encryption algorithms are preset in the encryption server.
- there are multiple encryption algorithms in the encryption server and there are multiple encryption scripts and decryption scripts.
- the encryption server can select the encryption algorithm corresponding to the first encryption algorithm according to the correspondence between the encryption algorithm and the encryption script and the decryption script.
- the decryption script serves as the target decryption script, and then inserts the target decryption script into the second page data, and then sends the second page data and the second key after inserting the target decryption script to the terminal device.
- the terminal device decrypts the second page data according to the first decrypted data to obtain the first page data.
- the terminal device obtains the second key from the first decrypted data and data that causes the terminal device to perform operations corresponding to the first encryption algorithm, and then uses the terminal device to perform operations with the first encryption algorithm.
- the data performs an operation corresponding to the first encryption algorithm on the second key and the second page data, and the obtained data is the first page data.
- the terminal device When the terminal device performs data corresponding to the first encryption algorithm to perform the decryption script corresponding to the first encryption algorithm, the terminal device runs the decryption script corresponding to the first encryption algorithm to the second key and the first encryption algorithm.
- the first page data is obtained by performing the operation corresponding to the first encryption algorithm on the two page data.
- S207 The terminal device displays the target page according to the first page data.
- the encryption server encrypts the page data corresponding to the access request initiated by the terminal device to the server, and sends the decrypted data corresponding to the encryption method to the terminal device together with the encrypted page data, so that the terminal device
- the decrypted data can be used to decrypt the encrypted page data so that the target page corresponding to the access request can be displayed.
- the page data is encrypted to encrypt the data returned by the background server to the terminal device, avoiding scanners and crawling tools Such general scanning tools can directly obtain page data and website information, which increases the security of the background server.
- the encryption server encrypts the page data returned by the background server to the terminal device.
- the terminal device submits it to the background server.
- the terminal device may encrypt the parameter information submitted by the terminal device to the background server.
- the encryption server may carry the encrypted data used to encrypt the parameter information to the terminal device corresponding to the target page and send it to the terminal device, that is, in the case where the target page is a parameter page to obtain a page, the first response may further include a first An encrypted data, the first encrypted data is data including a second encryption algorithm, and the first encrypted data may be used by the terminal device to encrypt the data.
- the first encrypted data may include two parts of data, the first part of data is a third key, and the second part of data is data that causes the terminal device to perform an operation corresponding to the second encryption algorithm.
- the second encryption algorithm may be a symmetric algorithm or an asymmetric algorithm.
- the third key is a symmetric key; when the second encryption algorithm is an asymmetric algorithm
- the second encryption key is an asymmetric key.
- the second encryption algorithm includes, but is not limited to, a DES algorithm, a 3DES algorithm, an RSA algorithm, and an AES algorithm.
- the second encryption algorithm and the third key can have the following situations:
- the second encryption algorithm is the same as the first encryption algorithm
- the third key is the same as the first key
- the second encryption algorithm is the same as the first encryption algorithm, and the third key is different from the first key.
- the second encryption algorithm is different from the first encryption algorithm, and the third key is the same as the first key.
- the second encryption algorithm is different from the first encryption algorithm, and the third key is the same as the first key.
- the remaining three cases can implement dynamic encryption of data exchanged between the terminal device and the background server.
- the data that causes the terminal device to perform operations corresponding to the second encryption algorithm may be an encryption script corresponding to the second encryption algorithm
- the encryption server may also send the first response to the terminal device.
- the method includes: the encryption server determines an encryption script corresponding to the second encryption algorithm; the encryption server inserts a decryption script corresponding to the second encryption algorithm into the second page data, and then inserts the decryption script corresponding to the first encryption algorithm and the second encryption algorithm The second page data after the encrypted script is carried in the first response and sent to the terminal device.
- the encryption script corresponding to the second encryption algorithm may be the same script as the decryption script corresponding to the first encryption algorithm.
- FIG. 3 is a schematic flowchart of another communication data encryption method according to an embodiment of the present application. The method may be executed after the foregoing step S207, and the method includes:
- the terminal device acquires the second parameter input by the user through the target page.
- the target page is a parameter acquisition page.
- the parameter acquisition page refers to a page where a user can input data and submit.
- the parameter acquisition page may specifically be a login page, a user information filling page, a user opinion submission page, and so on.
- the second parameter is the information entered by the user.
- the second parameter may be the user name, password, and verification code entered by the user through the login page.
- the second parameter may also be the name, gender, age, etc. that the user fills in through the user information page.
- the second parameter may also be a message or suggestion submitted by the user, and is not limited to the description here.
- the terminal device encrypts the second parameter according to the first encrypted data to obtain the first parameter.
- the terminal device may obtain the third key from the first encrypted data and data that causes the terminal device to perform operations corresponding to the second encryption algorithm, and then use the terminal device to perform the corresponding correspondence with the second encryption algorithm.
- the operation data corresponding to the second encryption algorithm is performed on the third key and the second parameter, and the operation data is the first parameter.
- the terminal device When the terminal device performs data corresponding to the second encryption algorithm to perform the encryption script corresponding to the second encryption algorithm, the terminal device runs the encryption script corresponding to the second encryption algorithm to the second key and the first encryption algorithm. The two parameters perform the operation corresponding to the second encryption algorithm to obtain the first parameter.
- the terminal device initiates a parameter submission request, and the encryption server obtains the parameter submission request.
- the parameter submission request includes a first parameter.
- the parameter submission request carries a URL, the URL pointing to an IP address, and the IP address is the address of the parameter submission request submission parameter.
- the IP address pointed to by the URL is the same as the IP address pointed to by the URL carried in the access request.
- the encryption server decrypts the first parameter to obtain a second parameter.
- the first encrypted data is sent by the encryption server to the terminal device.
- the parameter submission request carries the identification information of the terminal device in addition to the first parameter.
- the encryption server may The parameter submission request determines the identification information of the terminal device, then determines the first encrypted data according to the identification information of the terminal device, determines the second encryption algorithm based on the first encrypted data, and finally uses the second encryption algorithm to decrypt the first parameter to obtain the first Two parameters.
- the identification information of the terminal device may be session information or cookie information.
- the encryption server determines a fourth key corresponding to the third key in the first encrypted data in a key space corresponding to the third encryption algorithm.
- the fourth key is the third key
- the third key is an asymmetric key
- the fourth key is The key is the private key corresponding to the public key. If the third key is the private key, the fourth key is the public key corresponding to the private key.
- the encryption server The second parameter is obtained by performing the operation corresponding to the second encryption algorithm algorithm on the key and the first parameter.
- the encryption server sends the second parameter to the background server, and the background server receives the second parameter.
- the sending of the second parameter by the encryption server to the background server is similar to the resource acquisition request corresponding to the target page sent by the encryption server to the background server.
- the encryption server may submit the request to determine the parameter according to the parameter.
- the IP address corresponding to the parameter submission request and sends the second parameter to the background server according to the IP address corresponding to the parameter submission request;
- the encryption server parses the URL in the parameter submission request to obtain the background The IP address of the server, and then send the second parameter to the background service according to the parsed IP address.
- S306 The background server sends the third page data according to the second parameter, and the encryption server obtains the third page data.
- the background server sends the third page data according to the second parameter and the encryption server obtains the third page data
- the background server sends the first page data corresponding to the target page and the encryption server obtains the first page corresponding to the target page
- the description of the data is not repeated here.
- the encryption server and the background server may communicate based on the HTTPS protocol.
- the encryption server sends a second parameter to the background server based on the HTTPS protocol, and the encryption server sends the third page data to the encryption server based on the HTTPS protocol.
- the access mode of the encryption server may be that only the encryption server is allowed to access. The security of the communication process between the encryption server and the background server is ensured by security means, which further enhances the security of the website system.
- the encryption server uses the third encryption algorithm to encrypt the third page data to obtain the fourth page data.
- the encryption server sends a second response to the terminal device, and the terminal device receives the second response.
- the second response includes the fourth page data and the second decrypted data.
- S309 The terminal device decrypts the fourth page data according to the second decrypted data to obtain the third page data.
- S310 The terminal device displays a page corresponding to the third page data.
- steps S307 to S310 is similar to the specific implementation of steps S204 to S207 described above, and reference may be made to the description of steps S204 to S207 described above, which will not be repeated here.
- the encryption server sends the encrypted data to the page data corresponding to the parameter acquisition page and sends it to the terminal device, so that the terminal device can use the encrypted data to encrypt the parameters obtained through the parameter acquisition page, thereby avoiding these
- the parameters are acquired during the transmission process, ensuring the security and privacy of the parameters without changing the original website architecture.
- FIG. 4 is a schematic structural diagram of a communication data encryption device according to an embodiment of the present application.
- the device 40 may be the encryption server or the encryption server in the embodiment shown in FIG. 1 or FIG. 2 to FIG. 3 described above.
- the device 40 includes:
- An access request obtaining module 401 configured to obtain an access request for a target page initiated by a terminal device
- a page data acquisition module 402 configured to acquire the first page data corresponding to the target page from the background server corresponding to the target page according to the access request;
- An encryption module 403, configured to encrypt the first page data by using a first encryption algorithm to obtain second page data
- a request response module 404 configured to send a first response to the access request to the terminal device, so that the terminal device decrypts the second page data according to the first decrypted data to obtain the first page data
- the first response includes the second page data and the first decrypted data, and the first decrypted data is data including the first encryption algorithm.
- the first decryption data includes a decryption script corresponding to the first encryption algorithm, and when the decryption script is executed by the terminal device, the terminal device executes the first encryption algorithm to perform decryption;
- the request response module 404 is specifically configured to:
- the first response when the target page is a parameter acquisition page, the first response further includes first encrypted data, and the first encrypted data includes data corresponding to a second encryption algorithm.
- the device 40 further includes:
- the submission request obtaining module 405 is configured to obtain a parameter submission request initiated by the terminal device, where the parameter submission request includes a first parameter, where the first parameter is a second parameter that the terminal device performs according to the first encrypted data.
- a parameter obtained by performing encryption, and the second parameter is a parameter obtained by the terminal device through the target page;
- a decryption module 406, configured to decrypt the first parameter to obtain the second parameter
- the sending module 407 is configured to send the second parameter to the background server.
- the decryption module 406 is specifically configured to:
- the second parameter is obtained by decrypting the first parameter by using the second encryption algorithm.
- the page data acquisition 402 is further configured to acquire third page data returned by the background server according to the second parameter;
- the encryption module 403 is further configured to use a third encryption algorithm to encrypt the third page data to obtain fourth page data;
- the request response module 404 is further configured to send a second response to the parameter submission request to the terminal device, so that the terminal device decrypts the fourth page data according to the second decrypted data to obtain the first Three pages of data, the second response includes the fourth page data and the second decrypted data, and the second decrypted data is data including the third encryption algorithm.
- the sending module 407 is specifically configured to send the first parameter to the background server based on a secure socket layer Hypertext Transfer HTTPS protocol;
- the page data obtaining module 402 is specifically configured to obtain third page data returned by the background server according to the second parameter based on the HTTPS protocol.
- a general scanning tool such as a scanner can be prevented from directly obtaining page data and obtaining website information, thereby increasing the security of the background server.
- FIG. 5 is a schematic diagram of a composition structure of another communication data encryption device according to an embodiment of the present application.
- the device may be the encryption server or the encryption server in the embodiment shown in FIG. 1 or FIG. 2 to FIG. 3.
- the device 50 includes a processor 501, a memory 502, and a communication interface 503.
- the processor 501 is connected to the memory 502 and the communication interface 503.
- the processor 501 may be connected to the memory 502 and the communication interface 503 through a bus.
- the processor 501 is configured to support the communication data encryption device to perform a corresponding function of an encryption server in the communication data encryption method described in FIG. 2 to FIG. 3.
- the processor 501 may be a central processing unit (CPU), a network processor (NP), a hardware chip, or any combination thereof.
- the above-mentioned hardware chip may be an Application-Specific Integrated Circuit (ASIC), a Programmable Logic Device (PLD), or a combination thereof.
- the PLD may be a complex programmable logic device (Complex Programmable Logic Device, CPLD), a field programmable logic gate array (Field-Programmable Gate Array, FPGA), a universal array logic (Generic Array logic, GAL), or any combination thereof.
- the memory 502 is used to store program code and the like.
- the memory 502 may include volatile memory (Volatile Memory, VM), such as Random Access Memory (RAM); the memory 502 may also include non-volatile memory (Non-Volatile Memory, NVM), such as read-only Read-only memory (ROM), flash memory, hard disk drive (HDD), or solid-state drive (SSD); memory 502 may also include a combination of the above types of memories.
- the memory 502 is configured to store communications data encryption programs, various encryption scripts, decryption scripts, keys, and the like.
- the communication interface 503 is configured to send or receive data.
- the processor 501 may call the program code to perform the following operations:
- the first response includes the second page data and the first decrypted data, and the first decrypted data is data including the first encryption algorithm.
- each operation may also correspond to the corresponding description of the method embodiments shown in FIG. 2 to FIG. 3; the processor 501 may also cooperate with the communication interface 503 to perform other operations in the above method embodiments.
- An embodiment of the present application further provides a computer-readable storage medium.
- the computer-readable storage medium stores a computer program, where the computer program includes program instructions, and the program instructions, when executed by the computer, cause the computer to execute as described above.
- the computer may be a part of the communication data encryption device mentioned above. For example, it is the processor 501 described above.
- the program can be stored in a computer-readable storage medium.
- the program When executed, the processes of the embodiments of the methods described above may be included.
- the storage medium may be a magnetic disk, an optical disk, a read-only memory (Read-Only Memory, ROM), or a random access memory (Random, Access Memory, RAM).
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)
- Storage Device Security (AREA)
Abstract
本申请公开了通信数据加密方法和装置,其中,方法包括:获取终端设备发起的对目标页面的访问请求;根据所述访问请求从所述目标页面对应的后台服务器获取所述目标页面对应的第一页面数据;采用第一加密算法对所述第一页面数据进行加密得到第二页面数据;向所述终端设备发送对所述访问请求的第一响应,以使所述终端设备根据第一解密数据对所述第二页面数据进行解密得到所述第一页面数据,所述第一响应包括所述第二页面数据以及所述第一解密数据,所述第一解密数据为包含所述第一加密算法对应的解密数据。通过对后台服务器返回的页面数据进行加密,避免扫描器等通用扫描工具直接获取到页面数据,提高后台服务器的安全性。
Description
本申请要求于2018年07月27日提交中国专利局、申请号为2018108515165、申请名称为“通信数据加密方法和装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请涉及通信技术领域,尤其涉及通信数据加密方法和装置。
网站是依赖于web技术建立的应用,网站应用中的每一次信息交换都涉及web客户端和web服务端,其中,web客户端的主要任务是向用户展现信息内容,其具体利用html语言、脚本程序、CSS、插件技术等实现对应的web页面展示;web服务端为web客户端提供业务支持,其具体利用PHP、ASP、JSP等技术实现相应的功能。web服务端和web客户端的交互流程一般为:web客户端向web服务端发送请求,web服务端基于web客户端发出的请求向web客户端返回该请求对应的数据(如html代码等)。
为了提高网站的安全性,一般会采用一定的加密技术对网站的某些数据进行加密,在目前的一些加密设计中,主要是通过对网站的html代码进行加密以避免网站的内容结构被轻易读取。但是,目前还有一些网站的各个功能之间的交互参数(如通过post表单提交的用户名、密码等)是以明文的形式进行传输,面临被监听的风险,网站的安全性不够高。
发明内容
本申请提供通信数据加密方法和装置,解决网站安全性不够高的问题。
第一方面,提供一种通信数据加密方法,包括:
获取终端设备发起的对目标页面的访问请求;
根据所述访问请求从所述目标页面对应的后台服务器获取所述目标页面对应的第一页面数据;
采用第一加密算法对所述第一页面数据进行加密得到第二页面数据;
向所述终端设备发送对所述访问请求的第一响应,以使所述终端设备根据第一解密数据对所述第二页面数据进行解密得到所述第一页面数据,所述第一响应包括所述第二页面数据以及所述第一解密数据,所述第一解密数据为包含所述第一加密算法的数据。
第二方面,提供一种通信数据加密装置,包括:
访问请求获取模块,用于获取终端设备发起的对目标页面的访问请求;
页面数据获取模块,用于根据所述访问请求从所述目标页面对应的后台服务器获取所述目标页面对应的第一页面数据;
加密模块,用于采用第一加密算法对所述第一页面数据进行加密得到第二页面数据;
请求响应模块,用于向所述终端设备发送对所述访问请求的第一响应,以使所述终端 设备根据第一解密数据对所述第二页面数据进行解密得到所述第一页面数据,所述第一响应包括所述第二页面数据以及所述第一解密数据,所述第一解密数据为包含所述第一加密算法的数据。
第三方面,提供另一种通信数据加密装置,包括处理器、存储器以及通信接口,所述处理器、存储器和通信接口相互连接,其中,所述通信接口用于接收或发送数据,所述存储器用于存储通信数据加密装置执行上述方法的应用程序代码,所述处理器被配置用于执行上述第一方面的方法。
第四方面,提供一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面的方法。
本技术方案可以避免扫描器、爬虫工具等扫描页面的工具直接获取到页面数据,增加了网站的安全性。
图1是本申请实施例提供的一种网站系统的架构示意图;
图2是本申请实施例提供的一种通信数据加密方法的流程示意图;
图3是本申请实施例提供的另一种通信数据加密方法的流程示意图;
图4是本申请实施例提供的一种通信数据加密装置的组成结构示意图;
图5是本申请实施例提供的另一种通信数据加密装置的组成结构示意图。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的技术方案适用于传统的以明文形式传输数据的网站系统,网站系统可包括网站客户端和网站服务端。网站客户端为面向用户的客户端,用于为用户提供服务。该网站客户端可以是通用型的客户端,通用型的客户端可以为多个网站服务器提供服务,例如可以为浏览器;该网站客户端也可以特定的客户端,该特定的客户端只用于为某个特定网站提供服务,例如为“腾讯视频”客户端。一般情况下,该网站客户端运行在用户的终端设备上,其中,终端设备包括但不限于手机、电脑、平板电脑、电子阅读器等具备网站浏览功能的电子设备。网站服务端用于管理并向网站客户端提供该网站系统的资源,网站服务端用于向网站客户端提供各种数据使得该网站客户端可以向用显示各种页面。该网站服务端可以由一台或多台服务器组成。本申请实施例通过在传统的以明文形式传输数据的网站系统中增加加密服务器,利用加密服务器对网站服务端与网站客户端之间交互的数据加密,以实现保障网站安全的目的。示例性地,本申请实施例的网站系统的架构可以如图1所示,网站系统包括运行在终端设备101上的网站客户端、加密服务器102以及网站服务器103, 其中,加密服务器102用于获取网站客户端与加密网站服务端之间的交互数据并进行加密。
本申请实施例的方法可以实现在图1所示的系统架构上,下面介绍本申请实施例的方法。
参见图2,图2是本申请实施例提供的一种通信数据加密方法的流程示意图,如图所示,该方法包括:
S201,终端设备发起对目标页面的访问请求,加密服务器获取对目标页面的访问请求。
这里,终端设备通过运行在终端设备中的网站客户端发起对目标页面的访问请求,该目标页面为网站系统的其中一个页面。在该网站客户端为通用型的客户端的情况下,该目标页面可以为用户想要访问的任意一个网站系统的其中一个页面;在该网站客户端为特定的客户端的情况下,该目标页面为该网站客户端对应的网站系统的其中一个页面。
该目标页面对应一个统一资源定位符(uniform resource location,URL),该访问请求携带该URL,该URL指向一个互联网协议(Internet protocol,IP)地址,该IP地址为该访问请求访问的地址。
本申请实施例中,该URL指向的IP地址可以有以下两种设计:
第一种设计,该URL指向的IP地址为加密服务器的IP地址。当终端设备发起对该目标页面的访问请求时,终端设备对该URL进行域名解析系统(domain name system,DNS)解析得到的IP地址为该加密服务器的IP地址。终端设备根据该加密服务器的IP地址向加密服务器发起对目标页面的访问请求,加密服务器通过接收的方式获取该对目标页面的访问请求。
第二种设计,该URL指向的IP地址为后台服务器的IP地址。当终端设备发起对该目标页面的访问请求时,终端设备对该URL进行DNS解析得到的IP地址为该后台服务器的IP地址。终端设备根据该后台服务器的IP地址向后台服务器发起对目标页面的访问请求,加密服务器通过流量劫持的方式截取该对目标页面的访问请求从而获取该对目标页面的访问请求。
S202,加密服务器向后台服务器发送目标页面对应的资源获取请求,后台服务器接收对目标页面的资源访问请求。
这里,后台服务器为该目标页面对应的后台服务器,也即包含该目标页面的网站系统的后台服务器。目标页面对应的资源获取请求用于请求该后台服务器返回该目标页面对应的第一页面数据,该第一页面数据被终端设备中的网站客户端运行时可以使得该网站客户端显示该目标页面。
本申请实施例中,加密服务器向后台服务器发送目标页面对应的资源获取请求有以下两种情况:
第一种情况,在对目标页面的访问请求中携带的URL指向的IP地址为上述第一种设计的情况下,可以在加密服务器中预置该后台服务器的IP地址,并将后台服务器的IP地址与目标访问请求关联,当加密服务器获取到目标访问请求时,根据与该目标访问请求关联的IP地址确定该目标访问请求对应的页面数据的资源在该后台服务器上,从而加密服务器可以根据与该目标访问请求对应的IP地址向该后台服务器发起目标页面对应的资 源获取请求,其中,目标访问请求是指与该后台服务器关联的访问请求,即该网站系统的相关请求。
例如,预先将“pingan.com”这一域名与后台服务器的IP地址相对应,后台服务器的IP地址为192.168.11.32,当加密服务器接收到访问请求中携带“pingan.com”这一域名的请求时,例如为www.pingan.com/login,由于这个请求中携带有“pingan.com”,则可以确定与这个请求对应的后台服务器的IP地址为192.168.11.32,则加密服务器向IP地址为192.168.11.32的后台服务器发起该访问请求对应的资源请求。
第二种情况,在目标页面的访问请求中携带的URL指向的IP地址为上述第二种设计的情况下,加密服务器在截取到该对目标页面的访问请求后,可以对该访问请求中的携带的URL进行DNS解析得到该后台服务器的IP地址,加密服务器可以根据解析得到的后台服务器的IP地址向后台服务器发起目标页面对应的资源获取请求。具体地,该目标页面对应的资源获取请求可以为该对目标页面的访问请求。
例如,加密服务器截取到的访问请求中携带的URL为www.pingan.com/login,加密服务器通过DNS方式解析该URL得到该URL对应的IP地址为202.132.11.32,则加密服务器向IP地址为202.132.11.32的服务器发起目标页面对应的资源请求。
S203,后台服务器发送目标页面对应的第一页面数据,加密服务器获取目标页面对应的第一页面数据。
这里,后台服务器根据该目标页面对应的资源获取请求从网站目录中找到该目标页面对应的网站文件,从该网站文件中获取第一页面数据,然后发送该第一页面数据。
本申请实施例中,在该访问请求中携带的URL为上述第一种设计的情况下,后台服务器向该加密服务器发送目标页面对应的第一页面数据,加密服务器通过接收的方式获取目标页面对应的第一页面数据;在该访问请求中携带的URL为上述第二种设计的情况下,后台服务器向该终端设备发送目标发送页面对应的第一页面数据,该加密服务器通过流量劫持的方式截取该对目标页面对应的第一页面数据。
可选地,如果该访问请求中携带的URL为上述第一种设计,在第一种可能的实现方式中,加密服务器与后台服务器可以基于HTTPS协议进行通信。其中,加密服务器可以基于HTTPS协议向后台服务器发送目标页面对应的资源获取请求,加密服务器可以基于HTTPS协议向加密服务器发送该目标页面对应的第一页面数据。在第二种可能的实现方式中,该加密服务器的访问方式可以为只允许加密服务器访问,即该后台服务器的访问白名单中有且只有该加密服务器的IP地址或MAC地址等证明该加密服务器的身份信息。以一种安全的方式保证加密服务器与后台服务器之间的交互过程的通信安全,进一步增强了网站系统的安全性。
S204,加密服务器采用第一加密算法对第一页面数据进行加密得到第二页面数据。
本申请实施例中,第一加密算法可以是对称算法,也可以是非对称算法,其中,第一加密算法包括但不限于数据加密标准(data encryption standard,DES)算法、3DES算法、RSA算法、高级加密标准(advanced encryption standard,AES)算法。
具体实现中,加密服务器从第一加密算法对应的密钥空间中选择其中一个密钥作为第一密钥,对该第一密钥和该第一页面数据进行该第一加密算法对应的运算,得到第二页 面数据。
S205,加密服务器向终端设备发送第一响应,终端设备接收第一响应,第一响应包括第二页面数据和第一解密数据。
这里,第一响应为对步骤S201的访问请求的响应。第一解密数据可以包括两部分数据,第一部分数据为第二密钥,第二部分数据为使该终端设备进行该第一加密算法对应的运算的数据。在该第一加密算法为对称算法的情况下,该第二密钥与加密服务器对该第一页面数据进行加密时所使用的密钥相同,即该第二密钥为加密服务器对该第一页面数据进行加密时所使用的密钥;在该第一加密算法为非对称算法的情况下,如果加密服务器对该第一页面数据进行加密时所使用的第一密钥为公钥,则该第二密钥为该公钥对应的私钥,如果该加密服务器对该第一页面数据进行加密时所使用的第一密钥为私钥,则该第二密钥为该私钥对应的公钥。
在一种可能的方式中,该使终端设备进行与该第一加密算法对应的运算的数据可以为该第一加密算法对应的解密脚本,则该加密服务器向终端设备发送第一响应可以如下:加密服务器确定第一加密算法对应的解密脚本;加密服务器在第二页面数据中插入该第一加密算法对应的解密脚本,并将插入第一加密算法对应的解密脚本后的第二页面数据携带在第一响应中发送给终端设备。
具体实现中,可以在加密服务器预置至少一种加密算法(指执行该加密算法的计算机程序),并且在加密服务器中预置密钥空间、加密脚本以及解密脚本,然后将密钥空间、加密脚本、解密脚本与加密算法对应。在发送第一响应时,加密服务器可以选择与加密算法对应的解密脚本发送给终端设备,以下进行具体说明:
第一种情况,在加密服务器中预置一种加密算法。在这种情况下,加密服务器中加密算法对应的加密脚本和解密脚本均只有一个,加密服务器获取该唯一的解密脚本,在第二页面数据中插入该唯一的解密脚本,然后将插入解密脚本后的第二页面数据以及第二密钥发送给终端设备。
第二种情况,加密服务器中预置有多种加密算法。在这种情况下,加密服务器中加密算法有多种,加密脚本和解密脚本有多个,加密服务器可以根据加密算法与加密脚本以及解密脚本相互之间的对应关系选择与第一加密算法对应的解密脚本作为目标解密脚本,然后在第二页面数据中插入该目标解密脚本,然后将插入目标解密脚本后的第二页面数据以及第二密钥发送给终端设备。
S206,终端设备根据第一解密数据对第二页面数据进行解密得到第一页面数据。
具体实现中,终端设备从第一解密数据中分别获取第二密钥和使终端设备进行与该第一加密算法对应的运算的数据,然后通过该使终端设备进行与第一加密算法的运算的数据对该第二密钥和该第二页面数据进行该第一加密算法对应的运算,运算得到的数据为第一页面数据。
在使终端设备进行与该第一加密算法对应的运算的数据为第一加密算法对应的解密脚本的情况下,终端设备运行该第一加密算法对应的解密脚本对该第二密钥和该第二页面数据进行该第一加密算法对应的运算得到第一页面数据。
S207,终端设备根据第一页面数据显示目标页面。
本申请实施例中,加密服务器通过将终端设备向服务器发起的访问请求所对应的页面数据进行加密,并将加密方式所对应的解密数据连同加密后的页面数据一起发送给终端设备,使得终端设备可以采用该解密数据对加密后的页面数据进行解密从而能够显示该访问请求对应的目标页面,通过将页面数据加密的方式对后台服务器向终端设备返回的数据进行加密,避免了扫描器、爬虫工具等通用扫描工具能够直接获取到页面数据而获取到网站的信息,增加了后台服务器的安全性。
在上述图2对应的实施例中,加密服务器对后台服务器向终端设备返回的页面数据进行了加密,在一些可能的实现方式中,如果该目标页面为参数获取页面,在终端设备向后台服务器提交从目标页面获取到的参数信息的情况下,终端设备可以对终端设备向后台服务器提交的参数信息进行加密。加密服务器可以将用于加密该参数信息的加密数据携带在该目标页面对应的页面数据中发送给终端设备,即在该目标页面为参数页面获取页面的情况下,该第一响应还可以包括第一加密数据,该第一加密数据为包含第二加密算法的数据,该第一加密数据可以被终端设备用于加密数据。
第一加密数据可以包括两部分数据,第一部分数据为第三密钥,第二部分数据为使该终端设备进行与该第二加密算法对应的运算的数据。
第二加密算法可以为对称算法,也可以为非对称算法,在第二加密算法为对称算法的情况下,该第三密钥为对称密钥;在第二加密算法为非对称算法的情况下,该第二加密密钥为非对称密钥。第二加密算法包括但不限于DES算法、3DES算法、RSA算法、AES算法。
第二加密算法与第三密钥可以有以下几种情况:
一、第二加密算法与第一加密算法相同,第三密钥与第一密钥相同。
二、第二加密算法与第一加密算法相同,第三密钥与第一密钥不同。
三、第二加密算法与第一加密算法不同,第三密钥与第一密钥相同。
四、第二加密算法与第一加密算法不同,第三密钥与第一密钥相同。
在上述四种情况中,除第一种情况外,其余三种情况均可以实现对终端设备与后台服务器之间交互的数据的动态加密。
在一种可能的实现方式中,该使终端设备进行与该第二加密算法对应的运算的数据可以为该第二加密算法对应的加密脚本,则该加密服务器向终端设备发送第一响应还可以包括:加密服务器确定第二加密算法对应的加密脚本;加密服务器在第二页面数据中插入该第二加密算法对应的解密脚本,然后将插入第一加密算法对应的解密脚本和第二加密算法对应的加密脚本后的第二页面数据携带在第一响应中发送给终端设备。
在第一加密算法与第二加密算法为相同的加密算法的情况下,该第二加密算法对应的加密脚本可以与该第一加密算法对应的解密脚本可以为同一个脚本。
在将第一加密数据携带在第一响应中发送给终端设备后,终端设备可以利用该第一加密数据对从该目标页面获取到的参数信息进行加密。参见图3,图3是本申请实施例提供的另一种通信数据加密方法的流程示意图,该方法可以在上述步骤S207之后被执行,该方法包括:
S301,终端设备通过目标页面获取用户输入的第二参数。
本申请实施例中,目标页面为参数获取页面,参数获取页面是指用户可以输入数据并进行提交的页面,参数获取页面具体可以为登录页面、用户信息填写页面、用户意见提交页面,等等。第二参数为用户输入的信息,第二参数可以为用户通过登录页面输入的用户名、密码、验证码等,第二参数也可以为用户通过用户信息填写页面填写的姓名、性别、年龄等,第二参数还可以为用户提交的留言、建议等,不限于这里的描述。
S302,终端设备根据第一加密数据对第二参数进行加密得到第一参数。
具体实现中,终端设备可以从第一加密数据中分别获取第三密钥和使终端设备进行与该第二加密算法对应的运算的数据,然后通过该使终端设备进行与该第二加密算对应的运算的数据对该第三密钥和该第二参数进行该第二加密算法对应的运算,运算得到的数据为第一参数。
在使终端设备进行与该第二加密算法对应的运算的数据为第二加密算法对应的加密脚本的情况下,终端设备运行该第二加密算法对应的加密脚本对该第二密钥和该第二参数进行该第二加密算法对应的运算得到第一参数。
S303,终端设备发起参数提交请求,加密服务器获取参数提交请求,参数提交请求包括第一参数。
这里,参数提交请求中携带一个URL,该URL指向一个IP地址,该IP地址为该参数提交请求提交参数的地址。该URL指向的IP地址与访问请求中携带的URL指向的IP地址相同。终端设备发起参数提交请求以及加密服务器获取参数提交请求的具体实现方式可以参考前述终端设备发起访问请求以及加密服务器获取访问请求的描述,此处不再赘述。
S304,加密服务器对第一参数进行解密得到第二参数。
如前所述,第一加密数据由加密服务器发送给终端设备,当获取到该参数提交请求时,该参数提交请求中除了携带第一参数外,还携带终端设备的标识信息,加密服务器可以根据该参数提交请求确定终端设备的标识信息,然后根据终端设备的标识信息确定第一加密数据,根据第一加密数据确定第二加密算法,最后采用该第二加密算法对第一参数进行解密得到第二参数。其中,终端设备的标识信息可以为session信息或者cookie信息。
具体实现中,加密服务器在确定了第一加密数据后,在第三加密算法对应的密钥空间中确定与第一加密数据中的第三密钥对应的第四密钥,其中,在第三密钥为对称密钥的情况下,该第四密钥为该第三密钥,在第三密钥为非对称密钥的情况下,如果该第三密钥为公钥,则该第四密钥为该公钥对应的私钥,如果该第三密钥为私钥,则该第四密钥为该私钥对应的公钥;在确定第四密钥后,加密服务器对该第四密钥以及该第一参数进行该第二加密算法算法对应的运算得到第二参数。
S305,加密服务器将第二参数发送给后台服务器,后台服务器接收第二参数。
本申请实施例中,加密服务器将第二参数发送给后台服务器与加密服务器向后台服务器发送目标页面对应的资源获取请求类似,在一种可能的情况中,加密服务器可以根据该参数提交请求确定该参数提交请求对应的IP地址,根据该参数提交请求对应的IP地址向后台服务器发送该第二参数;在另一种可能的情况中,加密服务器对该参数提交请求中的URL进行解析得到该后台服务器的IP地址,然后根据该解析得到的IP地址向后台服务发送该第二参数。
S306,后台服务器根据第二参数发送第三页面数据,加密服务器获取第三页面数据。
这里,后台服务器根据第二参数发送第三页面数据以及加密服务器获取第三页面数据的方式可参考前述步骤S203后台服务器发送目标页面对应的第一页面数据以及加密服务器获取目标页面对应的第一页面数据的描述,此处不再赘述。
可选地,在该参数提交请求携带的URL为上述第一种设计的情况下,在在第一种可能的实现方式中,加密服务器与后台服务器可以基于HTTPS协议进行通信。加密服务器基于HTTPS协议向后台服务器发送第二参数,加密服务器基于HTTPS协议向加密服务器发送该第三页面数据。在第二种可能的实现方式中,该加密服务器的访问方式可以为只允许加密服务器访问。通过安全手段保证加密服务器与后台服务器之间的交互过程的通信安全,进一步增强了网站系统的安全性。
S307,加密服务器采用第三加密算法对第三页面数据进行加密得到第四页面数据。
S308,加密服务器向终端设备发送第二响应,终端设备接收第二响应,第二响应包括第四页面数据以及第二解密数据。
S309,终端设备根据第二解密数据对第四页面数据解密得到第三页面数据。
S310,终端设备显示第三页面数据对应的页面。
这里,步骤S307~S310的具体实现方式与上述步骤S204~S207的具体实现方式类似,可参考前述步骤S204~S207的描述,此处不再赘述。
本申请实施例中,加密服务器通过将加密数据携带在参数获取页面对应的页面数据中发送给终端设备,使得终端设备可以采用该加密数据对通过参数获取页面获取到的参数进行加密,从而避免这些参数在传输的过程中被获取到,在不需要改变原有网站架构的情况下保证了参数的安全性和隐私性。。
上面介绍了本申请实施例的方法,下面介绍本申请实施例的装置。
参见图4,图4是本申请实施例提供的一种通信数据加密装置的组成结构示意图,该装置40可以为上述图1或图2-图3所示的实施例中的加密服务器或加密服务器的一部分,该装置40包括:
访问请求获取模块401,用于获取终端设备发起的对目标页面的访问请求;
页面数据获取模块402,用于根据所述访问请求从所述目标页面对应的后台服务器获取所述目标页面对应的第一页面数据;
加密模块403,用于采用第一加密算法对所述第一页面数据进行加密得到第二页面数据;
请求响应模块404,用于向所述终端设备发送对所述访问请求的第一响应,以使所述终端设备根据第一解密数据对所述第二页面数据进行解密得到所述第一页面数据,所述第一响应包括所述第二页面数据以及所述第一解密数据,所述第一解密数据为包含所述第一加密算法的数据。
在一种可能的设计中,所述第一解密数据包括第一加密算法对应的解密脚本,所述解密脚本被所述终端设备运行时使终端设备执行所述第一加密算法以进行解密;
该请求响应模块404具体用于:
确定所述第一加密算法对应的解密脚本;
在所述第二页面数据中插入所述第一加密算法对应的解密脚本,并将插入所述第一加密算法对应的解密脚本后的第二页面数据携带在所述第一响应中发送给所述终端设备。
在一种可能的设计中,在所述目标页面为参数获取页面的情况下,所述第一响应还包括第一加密数据,所述第一加密数据为包含第二加密算法对应的的数据。
在一种可能的设计中,该装置40还包括:
提交请求获取模块405,用于获取所述终端设备发起的参数提交请求,所述参数提交请求包括第一参数,所述第一参数为所述终端设备根据所述第一加密数据对第二参数进行加密得到的参数,所述第二参数为所述终端设备通过所述目标页面获取到的参数;
解密模块406,用于对所述第一参数进行解密得到所述第二参数;
发送模块407,用于将所述第二参数发送给所述后台服务器。
在一种可能的设计中,所述解密模块406具体用于:
根据所述参数提交请求确定所述终端设备的标识信息;
根据所述终端设备的标识信息确定所述第一加密数据;
根据所述第一加密数据确定所述第二加密算法;
采用所述第二加密算法对所述第一参数进行解密得到所述第二参数。
在一种可能的设计中,所述页面数据获取402还用于获取所述后台服务器根据所述第二参数返回的第三页面数据;
所述加密模块403还用于采用第三加密算法对所述第三页面数据进行加密得到第四页面数据;
所述请求响应模块404还用于向所述终端设备发送对所述参数提交请求的第二响应,以使所述终端设备根据第二解密数据对所述第四页面数据进行解密得到所述第三页面数据,所述第二响应包括所述第四页面数据和所述第二解密数据,所述第二解密数据为包含所述第三加密算法的数据。
在一种可能的设计中,所述发送模块407具体用于:基于安全套接字层的超文本传输HTTPS协议将所述第一参数发送给所述后台服务器;
所述页面数据获取模块402具体用于获取所述后台服务器基于所述HTTPS协议根据所述第二参数返回的第三页面数据。
需要说明的是,图4对应的实施例中未提及的内容可参见方法实施例的描述,这里不再赘述。
本申请实施例中,可以避免扫描器等通用扫描工具直接获取到页面数据而获取到网站的信息,增加了后台服务器的安全性。
参见图5,图5是本申请实施例提供的另一种通信数据加密装置的组成结构示意图,该装置可以为上述图1或图2-图3所示的实施例中的加密服务器或加密服务器的一部分,如图所示,该装置50包括处理器501、存储器502以及通信接口503。处理器501连接到存储器502和通信接口503,例如处理器501可以通过总线连接到存储器502和通信接口503。
处理器501被配置为支持所述通信数据加密装置执行图2-图3所述的通信数据加密方法中加密服务器相应的功能。该处理器501可以是中央处理器(Central Processing Unit, CPU),网络处理器(Network Processor,NP),硬件芯片或者其任意组合。上述硬件芯片可以是专用集成电路(Application-Specific Integrated Circuit,ASIC),可编程逻辑器件(Programmable Logic Device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD),现场可编程逻辑门阵列(Field-Programmable Gate Array,FPGA),通用阵列逻辑(Generic Array Logic,GAL)或其任意组合。
存储器502存储器用于存储程序代码等。存储器502可以包括易失性存储器(Volatile Memory,VM),例如随机存取存储器(Random Access Memory,RAM);存储器502也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如只读存储器(Read-Only Memory,ROM),快闪存储器(flash memory),硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);存储器502还可以包括上述种类的存储器的组合。本申请实施例中,存储器502用于存储通信数据加密的程序、各种加密脚本、解密脚本、密钥等。
所述通信接口503用于发送或接收数据。
处理器501可以调用所述程序代码以执行以下操作:
通过通信接口503获取终端设备发起的对目标页面的访问请求;
通过通信接口503根据所述访问请求从所述目标页面对应的后台服务器获取所述目标页面对应的第一页面数据;
采用第一加密算法对所述第一页面数据进行加密得到第二页面数据;
通过通信接口503向所述终端设备发送对所述访问请求的第一响应,以使所述终端设备根据第一解密数据对所述第二页面数据进行解密得到所述第一页面数据,所述第一响应包括所述第二页面数据以及所述第一解密数据,所述第一解密数据为包含所述第一加密算法的数据。
需要说明的是,各个操作的实现还可以对应参照图2-图3所示的方法实施例的相应描述;所述处理器501还可以与通信接口503配合执行上述方法实施例中的其他操作。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被计算机执行时使所述计算机执行如前述实施例所述的方法,所述计算机可以为上述提到的通信数据加密装置的一部分。例如为上述的处理器501。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (20)
- 一种通信数据加密方法,其特征在于,包括:获取终端设备发起的对目标页面的访问请求;根据所述访问请求从所述目标页面对应的后台服务器获取所述目标页面对应的第一页面数据;采用第一加密算法对所述第一页面数据进行加密得到第二页面数据;向所述终端设备发送对所述访问请求的第一响应,以使所述终端设备根据第一解密数据对所述第二页面数据进行解密得到所述第一页面数据,所述第一响应包括所述第二页面数据以及所述第一解密数据,所述第一解密数据为包含所述第一加密算法的数据。
- 根据权利要求1所述的方法,其特征在于,所述第一解密数据包括第一加密算法对应的解密脚本,所述解密脚本被所述终端设备运行时使终端设备执行所述第一加密算法以进行解密;所述向所述终端设备发送对所述访问请求的第一响应包括:确定所述第一加密算法对应的解密脚本;在所述第二页面数据中插入所述第一加密算法对应的解密脚本,并将插入所述第一加密算法对应的解密脚本后的第二页面数据携带在所述第一响应中发送给所述终端设备。
- 根据权利要求1或2所述的方法,其特征在于,在所述目标页面为参数获取页面的情况下,所述第一响应还包括第一加密数据,所述第一加密数据为包含第二加密算法的数据。
- 根据权利要求3所述的方法,其特征在于,所述向所述终端设备发送对所述访问请求的第一响应之后,还包括:获取所述终端设备发起的参数提交请求,所述参数提交请求包括第一参数,所述第一参数为所述终端设备根据所述第一加密数据对第二参数进行加密得到的参数,所述第二参数为所述终端设备通过所述目标页面获取到的参数;对所述第一参数进行解密得到所述第二参数;将所述第二参数发送给所述后台服务器。
- 根据权利要求4所述的方法,其特征在于,所述对所述第一参数进行解密得到所述第二参数包括:根据所述参数提交请求确定所述终端设备的标识信息;根据所述终端设备的标识信息确定所述第一加密数据;根据所述第一加密数据确定所述第二加密算法;采用所述第二加密算法对所述第一参数进行解密得到所述第二参数。
- 根据权利要求4或5所述的方法,其特征在于,所述将所述第二参数发送给所述后台服务器之后还包括:获取所述后台服务器根据所述第二参数返回的第三页面数据;采用第三加密算法对所述第三页面数据进行加密得到第四页面数据;向所述终端设备发送对所述参数提交请求的第二响应,以使所述终端设备根据第二解密数据对所述第四页面数据进行解密得到所述第三页面数据,所述第二响应包括所述第 四页面数据和所述第二解密数据,所述第二解密数据为包含所述第三加密算法的数据。
- 根据权利要求6所述的方法,其特征在于,所述将所述第二参数发送给所述后台服务器包括:基于安全套接字层的超文本传输HTTPS协议将所述第二参数发送给所述后台服务器。所述获取所述后台服务器根据所述第二参数返回的第三页面数据包括:获取所述后台服务器根据所述第二参数基于所述HTTPS协议返回的第三页面数据。
- 一种通信数据加密装置,其特征在于,所述装置包括:访问请求获取模块,用于获取终端设备发起的对目标页面的访问请求;页面数据获取模块,用于根据所述访问请求从所述目标页面对应的后台服务器获取所述目标页面对应的第一页面数据;加密模块,用于采用第一加密算法对所述第一页面数据进行加密得到第二页面数据;请求响应模块,用于向所述终端设备发送对所述访问请求的第一响应,以使所述终端设备根据第一解密数据对所述第二页面数据进行解密得到所述第一页面数据,所述第一响应包括所述第二页面数据以及所述第一解密数据,所述第一解密数据为包含所述第一加密算法的数据。
- 根据权利要求8所述的装置,其特征在于,所述第一解密数据包括第一加密算法对应的解密脚本,所述解密脚本被所述终端设备运行时使终端设备执行所述第一加密算法以进行解密;请求响应模块具体用于:确定所述第一加密算法对应的解密脚本;在所述第二页面数据中插入所述第一加密算法对应的解密脚本,并将插入所述第一加密算法对应的解密脚本后的第二页面数据携带在所述第一响应中发送给所述终端设备。
- 根据权利要求8或9所述的装置,其特征在于,在所述目标页面为参数获取页面的情况下,所述第一响应还包括第一加密数据,所述第一加密数据为包含第二加密算法对应的数据。
- 根据权利要求10所述的装置,其特征在于,所述装置还包括:提交请求获取模块,用于获取所述终端设备发起的参数提交请求,所述参数提交请求包括第一参数,所述第一参数为所述终端设备根据所述第一加密数据对第二参数进行加密得到的参数,所述第二参数为所述终端设备通过所述目标页面获取到的参数;解密模块,用于对所述第一参数进行解密得到所述第二参数;发送模块,用于将所述第二参数发送给所述后台服务器。
- 根据权利要求11所述的装置,其特征在于,所述解密模块具体用于:根据所述参数提交请求确定所述终端设备的标识信息;根据所述终端设备的标识信息确定所述第一加密数据;根据所述第一加密数据确定所述第二加密算法;采用所述第二加密算法对所述第一参数进行解密得到所述第二参数。
- 根据权利要求11或12所述的装置,其特征在于,所述页面数据获取还用于获 取所述后台服务器根据所述第二参数返回的第三页面数据;所述加密模块还用于采用第三加密算法对所述第三页面数据进行加密得到第四页面数据;所述请求响应模块还用于向所述终端设备发送对所述参数提交请求的第二响应,以使所述终端设备根据第二解密数据对所述第四页面数据进行解密得到所述第三页面数据,所述第二响应包括所述第四页面数据和所述第二解密数据,所述第二解密数据为包含所述第三加密算法的数据。
- 根据权利要求13所述的装置,其特征在于,所述发送模块具体用于:基于安全套接字层的超文本传输HTTPS协议将所述第一参数发送给所述后台服务器;所述页面数据获取模块具体用于获取所述后台服务器基于所述HTTPS协议根据所述第二参数返回的第三页面数据。
- 一种通信数据加密装置,包括处理器、存储器以及通信接口,所述处理器、存储器和通信接口相互连接,其中,所述通信接口用于传输数据,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,执行以下操作:获取终端设备发起的对目标页面的访问请求;根据所述访问请求从所述目标页面对应的后台服务器获取所述目标页面对应的第一页面数据;采用第一加密算法对所述第一页面数据进行加密得到第二页面数据;向所述终端设备发送对所述访问请求的第一响应,以使所述终端设备根据第一解密数据对所述第二页面数据进行解密得到所述第一页面数据,所述第一响应包括所述第二页面数据以及所述第一解密数据,所述第一解密数据为包含所述第一加密算法的数据。
- 根据权利要求15所述的装置,其特征在于,所述处理器执行所述第一解密数据包括第一加密算法对应的解密脚本,所述解密脚本被所述终端设备运行时使终端设备执行所述第一加密算法以进行解密;所述处理器执行所述向所述终端设备发送对所述访问请求的第一响应的操作,包括:确定所述第一加密算法对应的解密脚本;在所述第二页面数据中插入所述第一加密算法对应的解密脚本,并将插入所述第一加密算法对应的解密脚本后的第二页面数据携带在所述第一响应中发送给所述终端设备。
- 根据权利要求15或16所述的装置,其特征在于,所述处理器还用于执行以下操作:所述第一响应还包括第一加密数据,所述第一加密数据为包含第二加密算法的数据。
- 根据权利要求17所述的装置,其特征在于,所述处理器还用于执行以下操作:获取所述终端设备发起的参数提交请求,所述参数提交请求包括第一参数,所述第一参数为所述终端设备根据所述第一加密数据对第二参数进行加密得到的参数,所述第二参数为所述终端设备通过所述目标页面获取到的参数;对所述第一参数进行解密得到所述第二参数;将所述第二参数发送给所述后台服务器。
- 根据权利要求18所述的装置,其特征在于,所述处理器执行所述对所述第一参数进行解密得到所述第二参数的操作,包括:根据所述参数提交请求确定所述终端设备的标识信息;根据所述终端设备的标识信息确定所述第一加密数据;根据所述第一加密数据确定所述第二加密算法;采用所述第二加密算法对所述第一参数进行解密得到所述第二参数。
- 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-7任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810851516.5A CN108965311A (zh) | 2018-07-27 | 2018-07-27 | 通信数据加密方法和装置 |
CN201810851516.5 | 2018-07-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020019477A1 true WO2020019477A1 (zh) | 2020-01-30 |
Family
ID=64466211
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2018/107636 WO2020019477A1 (zh) | 2018-07-27 | 2018-09-26 | 通信数据加密方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108965311A (zh) |
WO (1) | WO2020019477A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110362308A (zh) * | 2019-06-20 | 2019-10-22 | 平安科技(深圳)有限公司 | 页面生成方法、装置、计算机设备和存储介质 |
CN111291397A (zh) * | 2020-02-09 | 2020-06-16 | 成都神殿科技有限责任公司 | 一种网页数据防爬加密方法 |
CN111541758B (zh) * | 2020-04-17 | 2023-06-16 | 支付宝(杭州)信息技术有限公司 | 页面更新方法及装置 |
CN111885042A (zh) * | 2020-07-20 | 2020-11-03 | 北京沃东天骏信息技术有限公司 | 访问网站的处理方法、装置、设备及存储介质 |
CN112257094B (zh) * | 2020-11-11 | 2024-03-29 | 恩亿科(北京)数据科技有限公司 | 数据处理方法及装置 |
CN112738117A (zh) * | 2020-12-31 | 2021-04-30 | 青岛海尔科技有限公司 | 数据传输方法、装置、系统和存储介质及电子装置 |
CN113326519A (zh) * | 2021-06-09 | 2021-08-31 | 支付宝(杭州)信息技术有限公司 | 一种数据的获取方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105187389A (zh) * | 2015-08-07 | 2015-12-23 | 北京思特奇信息技术股份有限公司 | 一种基于数字混淆加密的网页访问方法及系统 |
CN106412024A (zh) * | 2016-09-07 | 2017-02-15 | 网易无尾熊(杭州)科技有限公司 | 一种页面获取方法和装置 |
CN107330336A (zh) * | 2017-05-23 | 2017-11-07 | 中国人民解放军信息工程大学 | Linux操作系统内存页面即时加解密方法和系统 |
CN107463840A (zh) * | 2016-06-02 | 2017-12-12 | 腾讯科技(深圳)有限公司 | 一种基于网站网页名称加密的防御cc攻击的方法及装置 |
CN107733633A (zh) * | 2017-09-22 | 2018-02-23 | 成都知道创宇信息技术有限公司 | 一种基于算力的防爬虫方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101635622B (zh) * | 2008-07-24 | 2013-06-12 | 阿里巴巴集团控股有限公司 | 一种网页加密和解密的方法、系统及设备 |
CN104580086A (zh) * | 2013-10-17 | 2015-04-29 | 腾讯科技(深圳)有限公司 | 信息传输方法、客户端、服务器及系统 |
US10331861B2 (en) * | 2016-11-28 | 2019-06-25 | Ricoh Company, Ltd. | Piecewise encryption for content in print jobs |
CN107508796B (zh) * | 2017-07-28 | 2019-01-04 | 北京明朝万达科技股份有限公司 | 一种数据通信方法和装置 |
-
2018
- 2018-07-27 CN CN201810851516.5A patent/CN108965311A/zh active Pending
- 2018-09-26 WO PCT/CN2018/107636 patent/WO2020019477A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105187389A (zh) * | 2015-08-07 | 2015-12-23 | 北京思特奇信息技术股份有限公司 | 一种基于数字混淆加密的网页访问方法及系统 |
CN107463840A (zh) * | 2016-06-02 | 2017-12-12 | 腾讯科技(深圳)有限公司 | 一种基于网站网页名称加密的防御cc攻击的方法及装置 |
CN106412024A (zh) * | 2016-09-07 | 2017-02-15 | 网易无尾熊(杭州)科技有限公司 | 一种页面获取方法和装置 |
CN107330336A (zh) * | 2017-05-23 | 2017-11-07 | 中国人民解放军信息工程大学 | Linux操作系统内存页面即时加解密方法和系统 |
CN107733633A (zh) * | 2017-09-22 | 2018-02-23 | 成都知道创宇信息技术有限公司 | 一种基于算力的防爬虫方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108965311A (zh) | 2018-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020019477A1 (zh) | 通信数据加密方法和装置 | |
WO2020019478A1 (zh) | 通信数据加密方法和装置 | |
US11647005B2 (en) | Systems and methods for application pre-launch | |
US10270758B2 (en) | Login method, server, and login system | |
US11349814B2 (en) | Automatic placeholder finder-filler | |
CN105376216B (zh) | 一种远程访问方法、代理服务器及客户端 | |
RU2584570C2 (ru) | Реализация защищенного обмена информацией в исполняющей системе | |
CA3112194C (en) | Systems and methods for integrated service discovery for network applications | |
US8984295B2 (en) | Secure access to electronic devices | |
WO2020140407A1 (zh) | 基于云安全的云桌面登陆方法、装置、设备和存储介质 | |
US10904227B2 (en) | Web form protection | |
US9485246B2 (en) | Distributed authentication with data cloud | |
US20110302410A1 (en) | Secure document delivery | |
US20170244555A1 (en) | Active authentication session transfer | |
CN105981009A (zh) | 加密内容的缓存 | |
CN111049832B (zh) | 一种反向代理方法及相关装置 | |
US11716374B2 (en) | Forced identification with automated post resubmission | |
KR102171377B1 (ko) | 로그인 제어 방법 | |
JP2023532976A (ja) | ユーザの身元の検証のための方法およびシステム | |
US11848964B2 (en) | Zero trust end point network security device | |
JP6167598B2 (ja) | 情報処理装置、情報処理方法、および、コンピュータ・プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18927837 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 21.06.2021) |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 18927837 Country of ref document: EP Kind code of ref document: A1 |