CN102624931A - Web客户端与服务器交互的方法、装置及系统 - Google Patents
Web客户端与服务器交互的方法、装置及系统 Download PDFInfo
- Publication number
- CN102624931A CN102624931A CN2012101188589A CN201210118858A CN102624931A CN 102624931 A CN102624931 A CN 102624931A CN 2012101188589 A CN2012101188589 A CN 2012101188589A CN 201210118858 A CN201210118858 A CN 201210118858A CN 102624931 A CN102624931 A CN 102624931A
- Authority
- CN
- China
- Prior art keywords
- program code
- script program
- script
- key
- page download
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 86
- 230000003993 interaction Effects 0.000 title claims abstract description 15
- 238000013515 script Methods 0.000 claims abstract description 201
- 230000004044 response Effects 0.000 claims abstract description 93
- 239000000284 extract Substances 0.000 claims description 31
- 230000005540 biological transmission Effects 0.000 claims description 18
- 238000004422 calculation algorithm Methods 0.000 claims description 11
- 230000007246 mechanism Effects 0.000 claims description 10
- 230000008569 process Effects 0.000 description 31
- 230000009286 beneficial effect Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 2
- 230000006854 communication Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000002224 dissection Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- 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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
-
- 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/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Technology Law (AREA)
- Multimedia (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Transfer Between Computers (AREA)
- Storage Device Security (AREA)
Abstract
发明实施例公开Web客户端与服务器交互的方法、装置及系统,其中,该方法,包括:向服务器发送网页下载请求;接收服务器返回的网页下载响应,所述网页下载响应包含网页内容,其中所述网页内容包含脚本语言程序代码;解析所述网页下载响应,从所述网页下载响应包含的网页内容中提取出所述脚本语言程序代码;当所述脚本语言程序代码被载入所述Web客户端的脚本引擎时,判断被载入所述Web客户端的脚本引擎中的所述脚本语言程序代码是否为密文形式的脚本语言程序代码,如果所述脚本语言程序代码是密文形式,则先调用解密模块对密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码,再由脚本引擎执行载入其中的明文形式的脚本语言程序代码。从而在减轻应用服务器端负担的同时,实现了较高的保密性。
Description
技术领域
本发明涉及计算机领域,具体涉及Web客户端与服务器交互的方法、装置及系统。
背景技术
Javascript、VBscript或flash脚本是广泛应用于Web客户端的网页开发脚本语言,可独立运行于用户的Web客户端上而不需要服务器的支持。随着Web2.0体系应用及HTML5技术的发展,javascript提供的网络套接字Websocket更是让Web客户端与服务器实现双向通信功能。脚本语言javascript的功能越来越强大,所以一些原来运行在服务器端的业务逻辑越来越多的被部署于Web客户端中使用脚本语言程序代码运行,以减少对服务器的负担,然而与此同时也带来了另一个问题:安全性,换言之,使用javascript这种明文作为业务载体的客户端/服务器C/S模式的发布就存在风险。
当包含脚本语言javascript程序的网页被下载到Web客户端后,用户使用插件等手段可以完全看见甚至修改网页的源代码包括脚本语言的程序代码,因此如果把业务逻辑移植在脚本语言程序中时就将暴露给使用Web客户端的用户,这给服务器端应用程序埋下了不安全的隐患,因此如何隐藏好网页中的脚本语言程序代码成为目前迫切需要解决的问题之一。
发明内容
本发明实施例提供一种Web客户端与服务器交互的方法、Web客户端及Web系统,在有效减轻应用服务器端负担的同时,实现较高的保密性。
本发明实施例提供以下技术方案:
一方面,本发明实施例提供一种网页Web客户端与服务器交互的方法,包括:
向服务器发送网页下载请求;
接收服务器返回的与所述网页下载请求对应的网页下载响应,所述网页下载响应包含网页内容,其中所述网页内容包含脚本语言程序代码;
解析所述网页下载响应,从所述网页下载响应包含的网页内容中提取出所述脚本语言程序代码;
当所述提取出的脚本语言程序代码被载入所述Web客户端的脚本引擎时,判断被载入所述Web客户端的脚本引擎中的所述脚本语言程序代码是否为密文形式的脚本语言程序代码,如果所述脚本语言程序代码是密文形式,则先调用解密模块对密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码,其中,明文形式的脚本语言程序代码被载入所述脚本引擎中,再由脚本引擎执行载入所述脚本引擎中的明文形式的脚本语言程序代码。
另一方面,本发明实施例提供一种网页Web客户端,包括:
接口模块,用于向服务器发送网页下载请求;接收所述服务器返回的与所述网页下载请求对应的网页下载响应,所述网页下载响应包含网页内容,其中所述网页内容包含脚本语言程序代码;
解析引擎,用于解析所述网页下载响应,从所述网页下载响应包含的网页内容中提取出所述脚本语言程序代码;
脚本引擎,用于当所述提取出的脚本语言程序代码被载入所述脚本引擎时,判断被载入所述脚本引擎中的所述脚本语言程序代码是否为密文形式的脚本语言程序代码,如果所述脚本语言程序代码是密文形式,则调用解密模块对所述密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码,其中,明文形式的脚本语言程序代码被载入所述脚本引擎中,以及用于执行载入所述脚本引擎中的明文形式的脚本语言程序代码;
解密模块,用于对所述密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码。
再一方面,本发明实施例提供一种网页Web系统,包括:应用服务器和本发明实施例的Web客户端,其中所述应用服务器用于接收Web客户端发送的网页下载请求,并向Web客户端返回对应的网页下载响应,所述网页下载响应包含网页内容,其中所述网页内容包含密文形式的脚本语言程序代码,或者,明文形式的脚本语言程序代码。
由上可见,本发明实施例中,Web客户端向服务器发送网页下载请求;接收服务器返回的网页下载响应,所述网页下载响应包含网页内容,其中所述网页内容包含脚本语言程序代码;解析所述网页下载响应,从所述网页下载响应包含的网页内容中提取出所述脚本语言程序代码;当所述脚本语言程序代码被载入所述Web客户端的脚本引擎时,判断被载入所述Web客户端的脚本引擎中的所述脚本语言程序代码是否为密文形式的脚本语言程序代码,如果所述脚本语言程序代码是密文形式,则先调用解密模块对密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码,再由脚本引擎执行明文形式的脚本语言程序代码,这样不仅保证了从服务器到Web客户端之间的传送过程中网页中的脚本语言程序代码是以密文进行,而且当下载到Web客户端后,由于在解密模块中进行完成解密过程、在脚本引擎中执行被载入其中的解密得到的明文形式的脚本语言程序代码,这样,网页中的脚本语言程序代码的解密过程及解密后明文形式的脚本语言程序代码的执行过程是对Web客户端用户所不可见,做到了真正将网页中脚本语言程序代码的业务逻辑对Web客户端用户隐藏,从而在有效减轻应用服务器端负担的同时,实现了较高的保密性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种Web客户端与服务器交互的方法的流程示意图;
图2-A是本发明实施例提供的另一种Web客户端与服务器交互的方法的流程示意图;
图2-B是本发明实施例提供的另一种Web客户端与服务器交互的方法的流程示意图;
图3是本发明实施例提供的另一种Web客户端与服务器交互的方法的流程示意图;
图4是本发明实施例提供的另一种Web客户端与服务器交互的方法的流程示意图;
图5是本发明实施例提供的一种Web客户端的结构示意图;
图6是本发明实施例提供的一种Web系统的结构示意图;
图7是本发明实施例提供的另一种Web系统的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本发明实施例提供一种在Web客户端与应用服务器交互的方法,装置以及系统。在Web客户端内引入解密模块和脚本引擎,当Web客户端程序下载网页后,Web客户端调用脚本引擎执行网页其中的脚本语言程序代码。脚本引擎在载入脚本语言程序代码时,判断脚本语言程序代码是否为密文形式,如果脚本语言程序代码为密文形式,调用解密模块对脚本语言程序代码解密,得到到解密过的明文形式的脚本语言程序,并将解密过的明文形式的脚本语言程序代码直接载入到脚本引擎中执行。
本发明实施例不仅保证了从应用服务器到Web客户端中间的传送过程中网页中的脚本语言程序代码是以密文进行,而且当下载到Web客户端后,由于在解密模块中进行完成解密过程、在脚本引擎中执行被载入其中的解密得到的明文形式的脚本语言程序代码,这样,网页中的脚本语言程序代码的解密过程及解密后网页中的脚本语言程序代码的执行也是对Web客户端用户所不可见,做到了真正将网页中脚本语言程序代码的业务逻辑对Web客户端用户隐藏,从而在有效减轻应用服务器端负担的同时,实现了较高的保密性,进而一定程度上克服了现有技术中应用服务器对网页中包含的脚本语言程序代码加密后,应用服务器会将脚本语言解密方法以明文插入到该网页中的某个位置,然后将网页返回给Web客户端,Web客户端接收到网页后则通过脚本引擎调用脚本语言解密方法解密网页,获取明文网页(同时也就获取了网页中包含的明文脚本程序代码),脚本引擎再运行网页中的明文脚本程序代码)所带来的如下三个问题:1)脚本语言解密方法以明文形式插入到网页中某个位置,再随网页下载到Web客户端,从而整个解密方法及过程暴露给使用Web客户端的用户。2)网页解密后其包含的脚本语言程序代码也将以明文形式交给Web客户端中的脚本引擎编译运行,Web客户端用户则能够获取该脚本语言程序代码,从而能够查看其中业务逻辑代码;3)Web客户端用户可进一步借助编辑插件等工具修改脚本语言程序代码,这给Web应用带来安全隐患。
参见图1,为本发明实施例提供的一种Web客户端与服务器交互的方法,需要说明的是,本发明实施例的方法的执行主体可以是Web客户端,需要说明的是,本发明实施例的Web客户端可以理解为Web程序的运行环境或运行容器,例如可以是Web浏览器、Web Widget运行容器、Web应用运行容器等等,本发明实施例包括但不限于此,该方法可以包括:
101、向服务器发送网页下载请求;
具体的,Web客户端通过加密(如https)或非加密(如http)方式向服务器发送网页下载请求;102、接收服务器返回的网页下载响应,所述网页下载响应包含网页内容,其中所述网页内容包含脚本语言程序代码;
具体的,接收服务器通过加密(如https)或非加密(如http)方式返回的网页下载响应;
应当理解的是,如果Web客户端与服务器之间通过加密(如https)方式进行通信,则可以保护通信通道的保密。
以及,应当理解的是,网页内容中包含的脚本语言程序代码可以是反映业务逻辑的脚本语言程序代码。例如,脚本语言程序代码直接包含在网页中,或者,包含脚本语言程序代码的脚本文件包含在网页中。
103、解析所述网页下载响应,从所述网页下载响应包含的网页内容中提取出所述脚本语言程序代码;
具体如何提取出网页中的脚本语言程序代码,可采用现有技术,这里不再赘述。
本发明实施例中涉及的脚本语言程序代码包括但不限于:javascript、VBScript或者flash脚本等等。
104、当所述脚本语言程序代码被载入所述Web客户端的脚本引擎时,由脚本引擎判断被载入所述Web客户端的脚本引擎中的脚本语言程序代码是否为密文形式的脚本语言程序代码,如果所述脚本语言程序代码是密文形式,则由脚本引擎先调用解密模块对密文形式的脚本语言程序代码进行解密,得到解密后的明文形式的脚本语言程序代码,再执行载入所述Web客户端的脚本引擎中的明文形式的脚本语言程序代码。
如果本发明实施例中使用对称加密算法来加密,在一种实现方式下,本发明实施例的方法还可以包括:步骤、调用解密模块根据预定的密钥协商机制生成密钥;
相应的,步骤101具体为:向服务器发送携带有所述密钥的网页下载请求。
相应的,步骤104中所述调用解密模块对密文形式的脚本语言程序代码进行解密的步骤为:调用解密模块采用所述生成的密钥对密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码。
或者,如果本发明实施例中使用非对称加密算法来加密,在一种实现方式下,本发明实施例的方法还包括步骤、调用解密模块根据预定的密钥协商机制生成密钥,所述密钥包括公钥和私钥;
相应的,步骤101具体为:向服务器发送携带有所述公钥的网页下载请求。
相应的,步骤104中所述调用解密模块对密文形式的脚本语言程序代码进行解密的步骤为:调用解密模块采用所述生成的私钥对密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码。
在另一种实现方式下,如果服务器采用密钥加密完脚本语言程序代码之后,向Web客户端返回网页下载响应,其中该网页下载响应包含网页内容(即请求的页面)以及密钥,其中所述网页内容包含密文形式的脚本语言程序代码,相应的,步骤101具体为:接收服务器返回的网页下载响应,所述网页下载响应进一步携带有密钥;
相应的,步骤104中所述调用解密模块对密文形式的脚本语言程序代码进行解密的步骤为:调用解密模块采用所述密钥或者由所述密钥转化而来的第N代密钥对密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码,N大于或等于2。
需要说明的是,如果N=2,则这里的第2代密钥是由所述网页下载响应中携带的密钥直接转化得到的;如果N=3,则这里的第3代密钥是由前述第2代密钥进一步转化得到的,如此类推,应当理解的是,不对本发明实施例造成限定。
由上可见,本实施例具有以下有益效果:
1)保密性好,网页中的脚本语言程序代码在应用服务器端加密后传输到Web客户端之后,直接被载Web客户端中的脚本引擎中,并通过Web客户端内的解密模块对载入Web客户端的脚本引擎中的脚本语言程序代码进行解密,将解密后的明文形式的脚本语言程序代码载入脚本引擎中执行,从服务器到Web客户端之间的整个传输过程中网页中的脚本语言程序代码以密文传输,而且当下载到Web客户端后,由于在解密模块中进行完成解密过程、在脚本引擎中执行被载入其中的解密得到的明文形式的脚本语言程序代码,这样,网页中的脚本语言程序代码的解密过程及解密后明文形式的脚本语言程序代码的执行过程是对Web客户端用户所不可见,实现了网页中的脚本语言程序在传输过程及Web客户端内解密运行的全过程的保密性,从而较好的保护了反映业务逻辑的脚本语言程序代码,消除了Web应用的安全隐患;
2)减轻了应用服务器负担,由于网页中的脚本语言程序代码真正实现了对Web客户端用户隐藏,一些运行在应用服务器端的业务逻辑可以移植到脚本语言程序中在Web客户端运行,因此能够有效减轻应用服务器端的负担。
参见图2-A,为本发明实施例提供的另一种Web客户端与服务器交互的方法,需要说明的是,本发明实施例的方法的执行主体可以是Web客户端,需要说明的是,Web客户端可以理解为Web程序的运行环境或运行容器,例如可以是Web浏览器、Web Widget运行容器、Web应用运行容器等等,本发明实施例对此不作限定,该方法可以包括:
200、开始;
201、向服务器发送第一网页下载请求;
202、接收服务器返回的第一密钥协商请求,所述第一密钥协商请求为服务器收到第一网页下载请求后所返回的;
202、调用解密模块根据所述第一密钥协商请求生成密钥;需要说明的是,本实施例中可以使用对称加密算法来加密。
204、向服务器发送第二网页下载请求,所述第二网页下载请求携带有所述密钥;
205、接收服务器返回的第二网页下载响应,所述第二网页下载响应包含网页内容,其中所述网页内容包含密文形式的脚本语言程序代码,或者明文形式的脚本语言程序代码;
需要说明的是,这里的所述第二网页下载响应包含的网页内容可以是加密后的网页内容,也可以是未加密的网页内容,具体根据实际应用场景或需求来实现。
应当理解的是,服务器根据策略来决定网页内容中的哪些脚本语言程序代码需要加密,而哪些脚本语言程序代码不需要加密。或者,服务器根据策略来决定哪些网页内容中的脚本语言程序代码需要加密,而哪些网页内容中的脚本语言程序代码不需要加密。具体情况根据实际应用来决定。
206、解析所述第二网页下载响应,从所述第二网页下载响应包含的网页内容中提取出脚本语言程序代码;
207、当所述提取出的脚本语言程序代码被载入所述Web客户端的脚本引擎时,由脚本引擎判断被载入所述Web客户端的脚本引擎中的所述脚本语言程序代码是否为密文形式的脚本语言程序代码;如果所述脚本语言程序代码是密文形式,执行步骤208,反之,如果所述脚本语言程序代码是明文形式,执行步骤209;
208、由脚本引擎先调用解密模块采用所述密钥对密文形式的脚本语言程序代码进行解密,得到解密后的明文形式的脚本语言程序代码,其中,解密后的明文形式的脚本代码被载入脚本引擎中。
209、由脚本引擎执行被载入其中的明文形式的脚本语言程序代码。
需要说明的是,步骤207中是直接提取出的脚本语言程序代码被载入所述Web客户端的脚本引擎中,步骤208中是解密后的明文形式的脚本语言程序代码被载入所述Web客户端的脚本引擎中。
210、结束。
由上可见,本实施例具有以下有益效果:
1)保密性好,网页中的脚本语言程序代码在应用服务器端加密后传输到Web客户端之后,直接被载入Web客户端中的脚本引擎中,并通过Web客户端内的解密模块对载入Web客户端的脚本引擎中的脚本语言程序代码进行解密,将解密后的明文形式的脚本语言程序代码载入脚本引擎中执行,从服务器到Web客户端之间的整个传输过程中网页中的脚本语言程序代码以密文传输,而且当下载到Web客户端后,由于在解密模块中进行完成解密过程、在脚本引擎中执行被载入其中的解密得到的明文形式的脚本语言程序代码,这样,网页中的脚本语言程序代码的解密过程及解密后明文形式的脚本语言程序代码的执行过程是对Web客户端用户所不可见,实现了网页中的脚本语言程序在传输过程及Web客户端内解密运行的全过程的保密性,从而较好的保护了反映业务逻辑的脚本语言程序代码,消除了Web应用的安全隐患;
2)减轻了应用服务器负担,由于网页中的脚本语言程序代码真正实现了对Web客户端用户隐藏,一些运行在应用服务器端的业务逻辑可以移植到脚本语言程序中在Web客户端运行,因此能够有效减轻应用服务器端的负担。
参见图2-B,为本发明实施例提供的另一种Web客户端与服务器交互的方法,需要说明的是,本发明实施例的方法的执行主体可以是Web客户端,需要说明的是,Web客户端可以理解为Web程序的运行环境或运行容器,例如可以是Web浏览器、Web Widget运行容器、Web应用运行容器等等,本发明实施例对此不作限定,该方法可以包括:
220、开始;
221、向服务器发送第三网页下载请求;
222、接收服务器返回的第三密钥协商请求,所述第三密钥协商请求为服务器收到第三网页下载请求后所返回的;
222、调用解密模块根据所述第三密钥协商请求生成成对的密钥,所述成对的密钥包括公钥和私钥;
需要说明的是,本实施例中可以使用非对称加密算法来加密。
应当理解的是加密解密的算法类别有很多:对称与非对称、动态与静态,等等,而这些加密解密算法均可以应用于本发明实施例中。
224、向服务器发送第四网页下载请求,所述第四网页下载请求携带有所述公钥;
225、接收服务器返回的第四网页下载响应,所述第四网页下载响应包含网页内容,其中所述网页内容包含密文形式的脚本语言程序代码,或者明文形式的脚本语言程序代码;
应当理解的是,服务器根据策略来决定网页内容中的哪些脚本语言程序代码需要加密,而哪些脚本语言程序代码不需要加密。或者,服务器根据策略来决定哪些网页内容中的脚本语言程序代码需要加密,而哪些网页内容中的脚本语言程序代码不需要加密。具体情况根据实际应用来决定。
226、解析所述第四网页下载响应,从所述第四网页下载响应包含的网页内容中提取出所述脚本语言程序代码;
227、当所述提取出的脚本语言程序代码被载入所述Web客户端的脚本引擎时,由脚本引擎判断被载入所述Web客户端的脚本引擎中的所述脚本语言程序代码是否为密文形式的脚本语言程序代码;如果所述脚本语言程序代码是密文形式,执行步骤228,反之,如果所述脚本语言程序代码是明文形式,执行步骤229;
228、由脚本引擎先调用解密模块采用所述私钥对密文形式的脚本语言程序代码进行解密,得到解密后的明文形式的脚本语言程序代码,其中,解密后的明文形式的脚本代码被载入脚本引擎。
229、由脚本引擎执行被载入其中的明文形式的脚本语言程序代码。
需要说明的是,步骤227中是提取出的脚本语言程序代码被载入所述Web客户端的脚本引擎中,步骤228中是解密后的明文形式的脚本语言程序代码被载入所述Web客户端的脚本引擎中。
230、结束。
由上可见,本实施例具有以下有益效果:
1)保密性好,网页中的脚本语言程序代码在应用服务器端加密后传输到Web客户端之后,直接被载入Web客户端中的脚本引擎中,并通过Web客户端内的解密模块对载入Web客户端的脚本引擎中的脚本语言程序代码进行解密,将解密后的明文形式的脚本语言程序代码载入脚本引擎中执行,从服务器到Web客户端之间的整个传输过程中网页中的脚本语言程序代码以密文传输,而且当下载到Web客户端后,由于在解密模块中进行完成解密过程、在脚本引擎中执行被载入其中的解密得到的明文形式的脚本语言程序代码,这样,网页中的脚本语言程序代码的解密过程及解密后明文形式的脚本语言程序代码的执行过程是对Web客户端用户所不可见,实现了网页中的脚本语言程序在传输过程及Web客户端内解密运行的全过程的保密性,从而较好的保护了反映业务逻辑的脚本语言程序代码,消除了Web应用的安全隐患;
2)减轻了应用服务器负担,由于网页中的脚本语言程序代码真正实现了对Web客户端用户隐藏,一些运行在应用服务器端的业务逻辑可以移植到脚本语言程序中在Web客户端运行,因此能够有效减轻应用服务器端的负担。
为便于理解,下面从Web客户端与应用服务器交互的角度来介绍本发明实施例的方法。
参见图3,为本发明实施例的一种Web客户端与应用服务器的交互方法,本发明实施例应用非对称加密算来加密,该方法可包括:
301a-301b、响应于用户访问网页的操作,Web客户端(例如接口模块)向应用服务器发送网页下载请求,以请求加载网页;
302、应用服务器判断请求的网页是否需要加密处理,当判断出请求的网页需要加密处理,则向Web客户端返回响应,以请求提供加密用的公钥;
303、在收到该响应后,接口模块请求或调用解密模块生成密钥;
303、解密模块基于密钥协商机制生成成对的密钥,包括公钥和私钥;
需要说明的是,公钥和私钥是成对生成,公钥在互联网上传输,而私钥由私钥生成方和解密方即Web客户端管理。
305、解密模块提供公钥给接口模块;
306、Web客户端(例如接口模块)重新向应用服务器发送网页下载请求,其中公钥携带在重新发送的网页下载请求中;
307、应用服务器请求或调用加密模块对请求网页中的脚本语言程序代码(这里的脚本语言程序代码可以是直接包含在网页中的脚本代码,或者是嵌入于网页中的脚本文件中包含的脚本代码,后文简称为脚本代码)进行加密;308、加密模块解析网页,提取出其中的脚本代码;309、加密模块使用公钥对提取出的脚本代码进行加密;
310、加密模块向应用服务器返回包含密文形式的脚本代码的网页;
311、应用服务器将包含密文形式的脚本代码的请求网页通过网页下载响应返回给Web客户端;
312、Web客户端(例如接口模块)请求或调用解析引擎对网页进行解析处理;
313、解析引擎解析该网页下载响应,提取出网页中的脚本代码;314、解析引擎将脚本代码载入脚本引擎;
315、脚本引擎判断被载入其中(即被载入所述脚本引擎中)的脚本代码是密文形式的脚本代码还是明文形式的脚本代码,如果载入其中的脚本代码是密文形式的脚本代码,则转步骤316;如果载入其中的脚本代码是明文形式的脚本代码,则转步骤319;
316、脚本引擎请求或调用解密模块解密该密文形式的脚本代码;
317、解密模块使用步骤303中生成的私钥对该密文形式的脚本代码进行解密;
318、解密模块将解密后的明文形式的脚本代码载入脚本引擎;
319、脚本引擎执行载入其中的明文形式的脚本代码;
320、脚本引擎向接口模块返回脚本代码的执行结果;
应当理解的是,可选的,接口模块将会向用户展示脚本代码的执行结果,还可以响应于用户对脚本代码的执行结果的进一步操作向应用服务器发起其他的网页下载请求。
由上可见,本实施例具有以下有益效果:
1)保密性好,网页中的脚本语言程序代码在应用服务器端加密后传输到Web客户端之后,直接被载入Web客户端中的脚本引擎中,并通过Web客户端内的解密模块对载入Web客户端的脚本引擎中的脚本语言程序代码进行解密,将解密后的明文形式的脚本语言程序代码载入脚本引擎中执行,从服务器到Web客户端之间的整个传输过程中网页中的脚本语言程序代码以密文传输,而且当下载到Web客户端后,由于在解密模块中进行完成解密过程、在脚本引擎中执行被载入其中的解密得到的明文形式的脚本语言程序代码,这样,网页中的脚本语言程序代码的解密过程及解密后明文形式的脚本语言程序代码的执行过程是对Web客户端用户所不可见,实现了网页中的脚本语言程序在传输过程及Web客户端内解密运行的全过程的保密性,从而较好的保护了反映业务逻辑的脚本语言程序代码,消除了Web应用的安全隐患;
2)减轻了应用服务器负担,由于网页中的脚本语言程序代码真正实现了对Web客户端用户隐藏,一些运行在应用服务器端的业务逻辑可以移植到脚本语言程序中在Web客户端运行,因此能够有效减轻应用服务器端的负担。
为便于理解,下面从Web客户端与应用服务器交互的角度来介绍本发明实施例的方法。
参见图4,为本发明实施例的另一种Web客户端与应用服务器的交互方法,本发明实施例应用对称加密算来加密,该方法可包括:
401a-401b、响应于用户访问网页的操作,Web客户端(例如接口模块)向对应的应用服务器发送网页下载请求,以请求加载网页;
402、应用服务器判断请求的网页是否需要加密处理,当判断出请求的网页需要加密处理,则向Web客户端返回响应,以请求提供加密用的密钥;
403、在收到该响应后,接口模块请求或调用解密模块生成密钥;
404、解密模块基于密钥协商机制生成密钥;
需要说明的是,密钥在互联网上传输,且密钥也由密钥生成方和解密方即Web客户端管理。
405、解密模块提供密钥给接口模块;
406、Web客户端(例如接口模块)重新向应用服务器发送网页下载请求,其中生成的密钥携带在重新发送的网页下载请求中;
需要说明的是,Web客户端重新发送网页下载请求,并发送密钥给应用服务器(通过https方式安全通信);
407、应用服务器请求或调用加密模块对请求网页中的脚本代码进行加密;
408、加密模块解析请求网页,提取出其中的脚本代码;
409、加密模块使用该密钥对提取出的脚本代码进行加密;
410、加密模块向应用服务器返回包含密文形式的脚本代码的网页;
411、应用服务器将包含密文形式的脚本代码的的网页通过网页下载响应返回给Web客户端;
412、Web客户端(例如接口模块)请求或调用解析引擎对网页进行解析处理;
413、解析引擎解析该网页下载响应,提取出网页中的脚本代码;
414、解析引擎将脚本代码载入脚本引擎;
414、脚本引擎判断被载入其中的脚本代码是密文形式的脚本代码还是明文形式的脚本代码,如果载入其中的脚本代码是密文形式的脚本代码,则转步骤416;如果载入其中的脚本代码是明文形式的脚本代码,则转步骤419;
416、脚本引擎请求或调用解密模块解密该密文形式的脚本代码;
417、解密模块使用步骤404中生成的密钥对该密文形式的脚本代码进行解密,得到明文形式的脚本代码;
418、解密模块将解密后的明文形式的脚本代码载入脚本引擎;
419、脚本引擎执行载入其中的明文形式的脚本代码;
420、脚本引擎向接口模块返回脚本代码的执行结果;
应当理解的是,可选的,接口模块将会向用户展示脚本代码的执行结果,还可以响应于用户对脚本代码的执行结果的进一步操作向应用服务器发起其他的网页下载请求。
由上可见,本实施例具有以下有益效果:
1)保密性好,网页中的脚本语言程序代码在应用服务器端加密后传输到Web客户端之后,直接被载Web客户端中的脚本引擎中,并通过Web客户端内的解密模块对载入Web客户端的脚本引擎中的脚本语言程序代码进行解密,将解密后的明文形式的脚本语言程序代码载入脚本引擎中执行,从服务器到Web客户端之间的整个传输过程中网页中的脚本语言程序代码以密文传输,而且当下载到Web客户端后,由于在解密模块中进行完成解密过程、在脚本引擎中执行被载入其中的解密得到的明文形式的脚本语言程序代码,这样,网页中的脚本语言程序代码的解密过程及解密后明文形式的脚本语言程序代码的执行过程是对Web客户端用户所不可见,实现了网页中的脚本语言程序在传输过程及Web客户端内解密运行的全过程的保密性,从而较好的保护了反映业务逻辑的脚本语言程序代码,消除了Web应用的安全隐患;
2)减轻了应用服务器负担,由于网页中的脚本语言程序代码真正实现了对Web客户端用户隐藏,一些运行在应用服务器端的业务逻辑可以移植到脚本语言程序中在Web客户端运行,因此能够有效减轻应用服务器端的负担。
本发明实施例还提供用于实施上述方法的相关装置和系统。
参见图5、本发明实施例提供一种网页Web客户端50,所述Web客户端50用于与应用服务器交互,下载网页并解析网页,以及执行网页中的脚本语言程序代码,可包括:接口模块51、解析引擎52、脚本引擎53和解密模块54,其中:
接口模块51,用于向服务器发送网页下载请求;接收所述服务器返回与所述网页下载请求对应的网页下载响应,所述网页下载响应包含网页内容,其中所述网页内容包含脚本语言程序代码;
解析引擎52,用于解析所述网页下载响应,从所述网页下载响应包含的网页内容中提取出所述脚本语言程序代码,并调用脚本引擎处理;
脚本引擎53,用于当所述提取出的脚本语言程序代码被载入所述脚本引擎53时,判断被载入所述脚本引擎53中的所述脚本语言程序代码是否为密文形式的脚本语言程序代码,如果所述脚本语言程序代码是密文形式,则调用解密模块54对密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码,其中,明文形式的脚本语言程序代码被载入所述脚本引擎中,以及用于执行载入所述脚本引擎中的明文形式的脚本语言程序代码;
解密模块54,用于对密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码。
在一种实现方式下,如果本发明实施例中使用对称加密算法来加密,而且由Web客户端主动生成密钥,相应的,解密模块54具体用于:根据预定的第一密钥协商机制生成密钥,以及,采用所述生成的密钥对密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码;
相应的,接口模块51具体用于向服务器发送携带有所述生成的密钥的网页下载请求;接收所述服务器返回与所述网页下载请求对应的网页下载响应,所述网页下载响应包含网页内容,其中所述加密后的网页内容包含脚本语言程序代码;应当理解的是,这里的脚本语言程序代码为密文形式的脚本语言程序代码,或者,明文形式的脚本语言程序代码;依据实际情况而定。
或者,在一种实现方式下,如果本发明实施例中使用非对称加密算法来加密,而且由Web客户端主动生成密钥,相应的,解密模块54具体用于:根据预定的第二密钥协商机制生成成对的密钥,所述密钥包括公钥和私钥;以及,采用所述生成的私钥对所述密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码;
相应的,接口模块51具体用于向服务器发送携带有所述生成的公钥的网页下载请求;接收所述服务器返回的与所述网页下载请求对应的网页下载响应,所述网页下载响应包含网页内容,其中所述加密后的网页内容包含脚本语言程序代码;应当理解的是,这里的脚本语言程序代码为密文形式的脚本语言程序代码,或者,明文形式的脚本语言程序代码;依据实际情况而定。
或者,在另一种实现方式下,如果服务器采用密钥加密完脚本语言程序代码之后,向Web客户端返回网页下载响应,其中该网页下载响应包含网页内容(即请求的页面)以及密钥(可选,如果脚本语言程序代码未被加密,则不包含密钥),其中所述网页内容包含密文形式的脚本语言程序代码,相应的,接口模块51具体用于向服务器发送网页下载请求;接收所述服务器返回与所述网页下载请求对应的网页下载响应,所述网页下载响应包含网页内容和密钥,其中所述网页内容包含密文形式的脚本语言程序代码;
相应的,解密模块54具体用于采用所述密钥或者由所述密钥转化而来的第N代密钥对密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码,其中,所述解密后的明文形式的脚本代码被载入所述脚本引擎中,N大于或等于2。
在另一种实现方式下,本发明实施例应用非对称加密算法或者对称加密算法来加密,而且由服务器主动请求公钥或密钥;
对称加密算法的情况下,接口模块51还用于在向服务器发送第一网页下载请求之后,接收服务器返回的第一密钥协商请求,所述第一密钥协商请求为服务器收到第一网页下载请求后所返回的;以及具体用于发送携带有所述解密模块54生成的密钥的网页下载请求;接收返回的与所述网页下载请求对应的网页下载响应,所述网页下载响应包含网页内容,其中所述网页内容包含密文形式的脚本语言程序代码,或明文形式的脚本语言程序代码;
相应的,所述解密模块54具体用于:根据收到的所述第一密钥协商请求生成密钥;以及,采用所述生成的密钥对所述密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码;
或者,
非对称加密算法的情况下,接口模块51还用于向服务器发送第三网页下载请求,以及接收服务器返回的第三密钥协商请求,所述第三密钥协商请求为服务器收到第三网页下载请求后所返回的;以及具体用于发送携带有所述解密模块生成的公钥的网页下载请求;接收返回的与所述网页下载请求对应的网页下载响应,所述网页下载响应包含网页内容,其中所述网页内容包含密文形式的脚本语言程序代码,或明文形式的脚本语言程序代码;
相应的,所述解密模块54具体用于:根据收到的所述第三密钥协商请求生成成对的密钥,所述成对的密钥包括公钥和私钥;以及,采用所述生成的私钥对所述密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码。
需要说明的是,使用非对称加密算法的情况下,解密模块54生成成对的公钥与私钥。公钥将被发送给应用服务器端加密用,私钥将被保留在Web客户端内用来对加密过的脚本语言程序解密。当对脚本语言程序解密得到的明文脚本语言程序代码直接交由脚本引擎来执行,其整个工作过程对Web客户端用户是不可见的。
需要说明的是,使用对称加密算法的情况下,密钥在互联网上传输,且密钥由密钥生成方和解密方即Web客户端管理。
较优的,本发明实施例中,脚本引擎53具体用于判断被载入所述脚本引擎中的所述脚本语言程序代码是否为密文形式的脚本语言程序代码,如果判断出被载入所述脚本引擎中的所述脚本语言程序代码是密文形式,则调用解密模块对密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码,以及执行载入脚本引擎53中的明文形式的脚本语言程序代码;如果判断出被载入所述脚本引擎中的所述脚本语言程序代码是明文形式,则直接执行被载入脚本引擎53中的明文形式的脚本语言程序代码。
进一步的,接口模块51还用于显示所述脚本引擎53对所述脚本语言程序代码的执行结果。
可以理解的是,本实施例的Web客户端可以理解为Web程序的运行环境或运行容器,例如可以是Web浏览器、Web Widget运行容器、Web应用运行容器等等,本发明实施例对此不作限定。本实施例的Web客户端其各个功能模块的功能可以根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可见,本实施例提出的一种Web客户端具有以下有益效果:
1)保密性好,网页中的脚本语言程序代码在应用服务器端加密后传输到Web客户端之后,直接被载Web客户端中的脚本引擎中,并通过Web客户端内的解密模块对载入Web客户端的脚本引擎中的脚本语言程序代码进行解密,将解密后的明文形式的脚本语言程序代码载入脚本引擎中执行,从服务器到Web客户端之间的整个传输过程中网页中的脚本语言程序代码以密文传输,而且当下载到Web客户端后,由于在解密模块中进行完成解密过程、在脚本引擎中执行被载入其中的解密得到的明文形式的脚本语言程序代码,这样,网页中的脚本语言程序代码的解密过程及解密后明文形式的脚本语言程序代码的执行过程是对Web客户端用户所不可见,实现了网页中的脚本语言程序在传输过程及Web客户端内解密运行的全过程的保密性,从而较好的保护了反映业务逻辑的脚本语言程序代码,消除了Web应用的安全隐患;
2)减轻了应用服务器负担,由于网页中的脚本语言程序代码真正实现了对Web客户端用户隐藏,一些运行在应用服务器端的业务逻辑可以移植到脚本语言程序中在Web客户端运行,因此能够有效减轻应用服务器端的负担。
参见图6,本发明实施例还提供一种Web系统,可包括:
Web客户端50,用于向服务器发送网页下载请求;接收服务器返回的网页下载响应,所述网页下载响应包含网页内容,其中所述网页内容包含密文形式的脚本语言程序代码,或者,明文形式的脚本语言程序代码;解析所述网页下载响应,从所述网页下载响应包含的网页内容中提取出脚本语言程序代码;判断被载入所述Web客户端的脚本引擎中的所述提取出的脚本语言程序代码是否为密文形式的脚本语言程序代码,如果所述脚本语言程序代码是密文形式,则由脚本引擎先调用解密模块对密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码,其中,明文形式的脚本语言程序代码被载入所述脚本引擎中,再由所述脚本引擎执行被载入所述脚本引擎中的明文形式的脚本语言程序代码;
应用服务器60,用于接收Web客户端50发送的网页下载请求,并向Web客户端50返回网页下载响应,所述网页下载响应包含网页内容,其中所述网页内容包含密文形式的脚本语言程序代码,或者,明文形式的脚本语言程序代码。
较优的,Web客户端50还用于如果判断出被载入所述脚本引擎中的所述提取出的脚本语言程序代码是明文形式,则调用脚本引擎直接执行载入所述脚本引擎中的脚本语言程序代码。
Web客户端50还用于当请求下载网页时,生成密钥,所述密钥包括公钥及私钥,并将公钥一同发送给应用服务器60。
应用服务器60还用于接受到网页下载请求后,调用加密模块提取网页中的脚本语言程序代码,使用收到公钥加密脚本语言程序代码。
需要说明的是,如图7所示,应用服务器提供一些应用服务,服务内容主要以网页形式传输。当需要对网页中包含的脚本语言程序代码加密时,应用服务器可以对脚本语言程序代码进行加密,并向Web客户端返回携带有密文形式的脚本语言程序代码的网页内容,例如,应用服务器可以调用应用服务器的加密模块或者外部的加密模块(如图7所示)解析网页,提取网页中的脚本语言程序,对网页中包含的脚本语言程序代码进行加密,并向Web客户端返回携带有密文形式的脚本语言程序代码的网页内容。
其中,加密模块用于解析网页,提取出网页中的脚本语言程序代码或脚本文件,并使用密钥对提取的脚本语言程序代码或脚本文件进行加密。这里的密钥可以是请求Web客户端返回的密钥(对称加密算法的情况下),或者请求Web客户端返回的公钥(非对称加密算法的情况下),或者,Web客户端与应用服务器预先协商好的密钥,包括但不限于此。
对于如图7所示的本实施例的Web系统中各组成部分的功能可以根据上述装置实施例中的内部功能模块具体实现,以及根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
需要说明的是,Web客户端与应用服务器之间可以采用http请求和响应,或者https请求和响应进行交互。
由上可见,本实施例提出的一种Web系统具有以下有益效果:
1)保密性好,网页中的脚本语言程序代码在应用服务器端加密后传输到Web客户端之后,直接被载Web客户端中的脚本引擎中,并通过Web客户端内的解密模块对载入Web客户端的脚本引擎中的脚本语言程序代码进行解密,将解密后的明文形式的脚本语言程序代码载入脚本引擎中执行,从服务器到Web客户端之间的整个传输过程中网页中的脚本语言程序代码以密文传输,而且当下载到Web客户端后,由于在解密模块中进行完成解密过程、在脚本引擎中执行被载入其中的解密得到的明文形式的脚本语言程序代码,这样,网页中的脚本语言程序代码的解密过程及解密后明文形式的脚本语言程序代码的执行过程是对Web客户端用户所不可见,实现了网页中的脚本语言程序在传输过程及Web客户端内解密运行的全过程的保密性,从而较好的保护了反映业务逻辑的脚本语言程序代码,消除了Web应用的安全隐患;
2)减轻了应用服务器负担,由于网页中的脚本语言程序代码真正实现了对Web客户端用户隐藏,一些运行在应用服务器端的业务逻辑可以移植到脚本语言程序中在Web客户端运行,因此能够有效减轻应用服务器端的负担。
需要说明的是,前述实施例描述中所采用的第一、第二、第三、第四的说法,没有限定顺序的意思,仅为方便区分而已。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器、随机存储器、磁盘或光盘等。
以上对本发明实施例所提供的虚拟化处理方法及相关装置和计算机系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。
Claims (14)
1.一种网页Web客户端与服务器交互的方法,其特征在于,包括:
向服务器发送网页下载请求;
接收服务器返回的与所述网页下载请求对应的网页下载响应,所述网页下载响应包含网页内容,其中所述网页内容包含脚本语言程序代码;
解析所述网页下载响应,从所述网页下载响应包含的网页内容中提取出所述脚本语言程序代码;
当所述提取出的脚本语言程序代码被载入所述Web客户端的脚本引擎时,判断被载入所述Web客户端的脚本引擎中的所述脚本语言程序代码是否为密文形式的脚本语言程序代码,如果所述脚本语言程序代码是密文形式,则先调用解密模块对密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码,其中,明文形式的脚本语言程序代码被载入所述脚本引擎中,再由脚本引擎执行载入所述脚本引擎中的明文形式的脚本语言程序代码。
2.如权利要求1所述的方法,其特征在于,
如果使用对称加密算法来加密,所述方法进一步包括:
调用解密模块根据预定的第一密钥协商机制生成密钥;
所述向服务器发送网页下载请求包括:向服务器发送携带有所述密钥的网页下载请求;
所述调用解密模块对密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码,包括:调用解密模块采用所述密钥对密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码;
或者,
如果使用非对称加密算法来加密,所述方法进一步包括:
调用解密模块根据预定的第二密钥协商机制生成密钥,所述密钥包括公钥和私钥;
所述向服务器发送网页下载请求包括:向服务器发送携带有所述公钥的网页下载请求;
所述调用解密模块对密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码,包括:调用解密模块采用所述私钥对密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码。
3.如权利要求1所述的方法,其特征在于,如果所述网页下载响应进一步携带有密钥,
所述调用解密模块对密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码,包括:调用解密模块采用所述密钥或者由所述密钥转化而来的第N代密钥对密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码,其中,N大于或等于2。
4.如权利要求1所述的方法,其特征在于,如果使用对称加密算法来加密,所述向服务器发送网页下载请求的步骤之前,进一步包括:
向服务器发送第一网页下载请求,
接收服务器返回的第一密钥协商请求,所述第一密钥协商请求为服务器收到第一网页下载请求后所返回的;
调用解密模块根据所述第一密钥协商请求生成密钥;
相应的,所述向服务器发送网页下载请求,包括:向服务器发送携带有所述密钥的网页下载请求;
所述调用解密模块对密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码包括:调用解密模块采用所述生成的密钥对密文形式的脚本语言程序代码进行解密,得到解密后的明文形式的脚本语言程序代码。
5.如权利要求1所述的方法,其特征在于,如果使用非对称加密算法来加密,所述向服务器发送网页下载请求的步骤之前,进一步包括:
向服务器发送第三网页下载请求,
接收服务器返回的第三密钥协商请求,所述第三密钥协商请求为服务器收到第三网页下载请求后所返回的;
调用解密模块根据所述第三密钥协商请求生成成对的密钥,所述成对的密钥包括公钥和私钥;
相应的,所述向服务器发送网页下载请求,包括:向服务器发送携带有所述公钥的网页下载请求;
所述调用解密模块对密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码包括:调用解密模块采用所述生成的私钥对密文形式的脚本语言程序代码进行解密,得到解密后的明文形式的脚本语言程序代码。
6.如权利要求1至5任一项所述的方法,其特征在于,所述方法还包括:
如果判断出被载入所述Web客户端的脚本引擎中的所述脚本语言程序代码是明文形式,则由脚本引擎直接执行载入所述脚本引擎中的脚本语言程序代码。
7.如权利要求1至5任一项所述的方法,其特征在于,所述脚本语言程序代码包括javascript、VBScript或flash脚本。
8.一种网页Web客户端,其特征在于,包括:
接口模块,用于向服务器发送网页下载请求;接收所述服务器返回的与所述网页下载请求对应的网页下载响应,所述网页下载响应包含网页内容,其中所述网页内容包含脚本语言程序代码;
解析引擎,用于解析所述网页下载响应,从所述网页下载响应包含的网页内容中提取出所述脚本语言程序代码;
脚本引擎,用于当所述提取出的脚本语言程序代码被载入所述脚本引擎时,判断被载入所述脚本引擎中的所述脚本语言程序代码是否为密文形式的脚本语言程序代码,如果所述脚本语言程序代码是密文形式,则调用解密模块对所述密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码,其中,明文形式的脚本语言程序代码被载入所述脚本引擎中,以及用于执行载入所述脚本引擎中的明文形式的脚本语言程序代码;
解密模块,用于对所述密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码。
9.如权利要求8所述的装置,其特征在于,
所述解密模块具体用于:根据预定的第一密钥协商机制生成密钥,以及,采用所述生成的密钥对密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码;
所述接口模块具体用于向服务器发送携带有所述生成的密钥的网页下载请求;接收所述服务器返回与所述网页下载请求对应的网页下载响应,所述网页下载响应包含网页内容,其中所述网页内容包含密文形式的脚本语言程序代码,或明文形式的脚本语言程序代码;
或者,
所述解密模块具体用于:根据预定的第二密钥协商机制生成成对的密钥,所述密钥包括公钥和私钥;以及,采用所述生成的私钥对所述密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码;
所述接口模块具体用于向服务器发送携带有所述生成的公钥的网页下载请求;接收所述服务器返回的与所述网页下载请求对应的网页下载响应,所述网页下载响应包含网页内容,其中所述网页内容包含密文形式的脚本语言程序代码,或明文形式的脚本语言程序代码。
10.如权利要求8所述的装置,其特征在于,如果所述网页下载响应进一步携带有密钥,
所述解密模块具体用于:采用所述密钥或者由所述密钥转化而来的第N代密钥对所述密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码,其中,所述解密后的明文形式的脚本代码被载入所述脚本引擎中,N大于或等于2。
11.如权利要求8所述的装置,其特征在于,
所述接口模块还用于向服务器发送第一网页下载请求,以及接收服务器返回的第一密钥协商请求,所述第一密钥协商请求为服务器收到第一网页下载请求后所返回的;以及具体用于发送携带有所述解密模块生成的密钥的网页下载请求;接收返回的与所述网页下载请求对应的网页下载响应,所述网页下载响应包含网页内容,其中所述网页内容包含密文形式的脚本语言程序代码,或明文形式的脚本语言程序代码;
所述解密模块具体用于:根据收到的所述第一密钥协商请求生成密钥;以及,采用所述生成的密钥对所述密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码。
12.如权利要求8所述的装置,其特征在于,
所述接口模块还用于向服务器发送第三网页下载请求,以及接收服务器返回的第三密钥协商请求,所述第三密钥协商请求为服务器收到第三网页下载请求后所返回的;以及具体用于发送携带有所述解密模块生成的公钥的网页下载请求;接收返回的与所述网页下载请求对应的网页下载响应,所述网页下载响应包含网页内容,其中所述网页内容包含密文形式的脚本语言程序代码,或明文形式的脚本语言程序代码;
所述解密模块具体用于:根据收到的所述第三密钥协商请求生成成对的密钥,所述成对的密钥包括公钥和私钥;以及,采用所述生成的私钥对所述密文形式的脚本语言程序代码进行解密,得到明文形式的脚本语言程序代码。
13.如权利要求8至12任一项所述的装置,其特征在于,所述脚本引擎还用于如果判断出被载入所述脚本引擎中的所述脚本语言程序代码是明文形式,则直接执行载入所述脚本引擎中的脚本语言程序代码。
14.一种网页Web系统,其特征在于,包括:应用服务器和如前述权利要求8至13任一项所述Web客户端,其中所述应用服务器用于接收Web客户端发送的网页下载请求,并向Web客户端返回对应的网页下载响应,所述网页下载响应包含网页内容,其中所述网页内容包含密文形式的脚本语言程序代码,或者,明文形式的脚本语言程序代码。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210118858.9A CN102624931B (zh) | 2012-04-21 | 2012-04-21 | Web客户端与服务器交互的方法、装置及系统 |
PCT/CN2013/071102 WO2013155887A1 (zh) | 2012-04-21 | 2013-01-30 | Web客户端与服务器交互的方法、装置及系统 |
US14/078,981 US20140068269A1 (en) | 2012-04-21 | 2013-11-13 | Method, apparatus, and system for interaction between web client and server |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210118858.9A CN102624931B (zh) | 2012-04-21 | 2012-04-21 | Web客户端与服务器交互的方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102624931A true CN102624931A (zh) | 2012-08-01 |
CN102624931B CN102624931B (zh) | 2015-02-25 |
Family
ID=46564613
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210118858.9A Active CN102624931B (zh) | 2012-04-21 | 2012-04-21 | Web客户端与服务器交互的方法、装置及系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20140068269A1 (zh) |
CN (1) | CN102624931B (zh) |
WO (1) | WO2013155887A1 (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103065078A (zh) * | 2013-01-04 | 2013-04-24 | 无锡矽鼎科技有限公司 | 安卓系统用openssl引擎加载客户端证书的方法 |
WO2013155887A1 (zh) * | 2012-04-21 | 2013-10-24 | 华为技术有限公司 | Web客户端与服务器交互的方法、装置及系统 |
CN103699535A (zh) * | 2012-09-27 | 2014-04-02 | 联想(北京)有限公司 | 网页加载方法及终端设备 |
CN104219198A (zh) * | 2013-05-30 | 2014-12-17 | 中国银联股份有限公司 | 一种WebApp的防篡改方法 |
CN105450662A (zh) * | 2015-12-25 | 2016-03-30 | 小米科技有限责任公司 | 加密方法及装置 |
CN106685905A (zh) * | 2015-11-10 | 2017-05-17 | 卡巴斯基实验室股份制公司 | 加密传输网页的系统和方法 |
CN107094261A (zh) * | 2017-03-17 | 2017-08-25 | 武汉斗鱼网络科技有限公司 | 视频播放的权限校验方法及装置 |
CN107733633A (zh) * | 2017-09-22 | 2018-02-23 | 成都知道创宇信息技术有限公司 | 一种基于算力的防爬虫方法 |
CN108667768A (zh) * | 2017-03-29 | 2018-10-16 | 腾讯科技(深圳)有限公司 | 一种网络应用指纹的识别方法及装置 |
CN111367505A (zh) * | 2020-03-02 | 2020-07-03 | 广州致远电子有限公司 | 一种JavaScript源代码保密方法、装置、设备及存储介质 |
TWI712304B (zh) * | 2015-01-12 | 2020-12-01 | 南韓商恩圖普股份有限公司 | 具有預定的統一資源定位符的安全通信方法及裝置 |
CN113992342A (zh) * | 2021-09-10 | 2022-01-28 | 南京南瑞信息通信科技有限公司 | 一种无损网络安全监测管控方法、装置及系统 |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10161838B2 (en) | 2013-02-13 | 2018-12-25 | Board Of Regents, The University Of Texas System | Sensor assembly, method, and device for monitoring shear force and pressure on a structure |
US9444795B1 (en) * | 2013-09-27 | 2016-09-13 | Amazon Technologies, Inc. | Robot mitigation |
US10691712B2 (en) | 2016-01-20 | 2020-06-23 | Oracle International Corporation | System and method for merging a mainframe data file to a database table for use by a mainframe rehosting platform |
US10331897B2 (en) * | 2016-01-20 | 2019-06-25 | Oracle International Corporation | System and method for protecting plain text scripting language programs in a mainframe rehosting platform |
US10379914B2 (en) | 2016-01-20 | 2019-08-13 | Oracle International Corporation | System and method for achieving specific behaviors by intercepting file access calls in a mainframe rehosting platform |
US10970277B2 (en) | 2016-01-20 | 2021-04-06 | Oracle International Corporation | System and method for dynamic conversion of database accessing scripts during runtime in a mainframe rehosting platform |
CN107342964B (zh) * | 2016-04-28 | 2019-05-07 | 华为技术有限公司 | 一种报文解析方法及设备 |
CA3023254A1 (en) * | 2016-05-06 | 2017-11-09 | Sitelock, Llc | Security weakness and infiltration detection and repair in obfuscated website content |
CN107094081A (zh) * | 2017-06-28 | 2017-08-25 | 济南浪潮高新科技投资发展有限公司 | 一种支持多浏览器的使用UsbKey进行数字签名的解决方法 |
US11042471B2 (en) | 2017-08-25 | 2021-06-22 | Oracle International Corporation | System and method for providing a test manager for use with a mainframe rehosting platform |
US10558788B2 (en) * | 2018-01-14 | 2020-02-11 | International Business Machines Corporation | Debuggable obfuscated script |
CN108494742B (zh) * | 2018-03-05 | 2023-10-27 | 杭州泰酷科技有限公司 | 一种应用于浏览器的web数据加密传输方式 |
CN110851754A (zh) * | 2018-07-27 | 2020-02-28 | 北京京东尚科信息技术有限公司 | 网页访问方法及系统、计算机系统和计算机可读存储介质 |
CN111031023A (zh) * | 2019-12-06 | 2020-04-17 | 苏州浪潮智能科技有限公司 | 一种b/s通信方法与装置 |
CN112182644B (zh) * | 2020-09-11 | 2023-05-12 | 华控清交信息科技(北京)有限公司 | 一种数据处理方法、装置和电子设备 |
US11632246B2 (en) * | 2020-12-30 | 2023-04-18 | International Business Machines Corporation | Hybrid key derivation to secure data |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1462940A (zh) * | 2002-05-29 | 2003-12-24 | 明日工作室股份有限公司 | 一种浏览器解密系统及方法 |
CN101321057A (zh) * | 2008-07-22 | 2008-12-10 | 北京航空航天大学 | 基于Web服务的电子公文安全传输方法 |
CN101610291A (zh) * | 2009-08-06 | 2009-12-23 | 杭州高达软件系统有限公司 | 基于第三方平台的数据上传方法、下载方法及系统 |
US20110004556A1 (en) * | 2007-04-20 | 2011-01-06 | Engelke Charles E | System and method of electronic information delivery |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6105012A (en) * | 1997-04-22 | 2000-08-15 | Sun Microsystems, Inc. | Security system and method for financial institution server and client web browser |
US20020166051A1 (en) * | 2001-05-03 | 2002-11-07 | Marvin Moser | Method, system, and apparatus for encrypting a web browser script |
US20060282884A1 (en) * | 2005-06-09 | 2006-12-14 | Ori Pomerantz | Method and apparatus for using a proxy to manage confidential information |
CN101541002A (zh) * | 2008-03-21 | 2009-09-23 | 展讯通信(上海)有限公司 | 一种基于Web服务器的移动终端的软件许可证下载方法 |
CN102624931B (zh) * | 2012-04-21 | 2015-02-25 | 华为技术有限公司 | Web客户端与服务器交互的方法、装置及系统 |
-
2012
- 2012-04-21 CN CN201210118858.9A patent/CN102624931B/zh active Active
-
2013
- 2013-01-30 WO PCT/CN2013/071102 patent/WO2013155887A1/zh active Application Filing
- 2013-11-13 US US14/078,981 patent/US20140068269A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1462940A (zh) * | 2002-05-29 | 2003-12-24 | 明日工作室股份有限公司 | 一种浏览器解密系统及方法 |
US20110004556A1 (en) * | 2007-04-20 | 2011-01-06 | Engelke Charles E | System and method of electronic information delivery |
CN101321057A (zh) * | 2008-07-22 | 2008-12-10 | 北京航空航天大学 | 基于Web服务的电子公文安全传输方法 |
CN101610291A (zh) * | 2009-08-06 | 2009-12-23 | 杭州高达软件系统有限公司 | 基于第三方平台的数据上传方法、下载方法及系统 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013155887A1 (zh) * | 2012-04-21 | 2013-10-24 | 华为技术有限公司 | Web客户端与服务器交互的方法、装置及系统 |
CN103699535A (zh) * | 2012-09-27 | 2014-04-02 | 联想(北京)有限公司 | 网页加载方法及终端设备 |
CN103065078A (zh) * | 2013-01-04 | 2013-04-24 | 无锡矽鼎科技有限公司 | 安卓系统用openssl引擎加载客户端证书的方法 |
CN104219198B (zh) * | 2013-05-30 | 2018-04-27 | 中国银联股份有限公司 | 一种WebApp的防篡改方法 |
CN104219198A (zh) * | 2013-05-30 | 2014-12-17 | 中国银联股份有限公司 | 一种WebApp的防篡改方法 |
TWI712304B (zh) * | 2015-01-12 | 2020-12-01 | 南韓商恩圖普股份有限公司 | 具有預定的統一資源定位符的安全通信方法及裝置 |
CN106685905A (zh) * | 2015-11-10 | 2017-05-17 | 卡巴斯基实验室股份制公司 | 加密传输网页的系统和方法 |
CN105450662A (zh) * | 2015-12-25 | 2016-03-30 | 小米科技有限责任公司 | 加密方法及装置 |
CN107094261A (zh) * | 2017-03-17 | 2017-08-25 | 武汉斗鱼网络科技有限公司 | 视频播放的权限校验方法及装置 |
CN108667768A (zh) * | 2017-03-29 | 2018-10-16 | 腾讯科技(深圳)有限公司 | 一种网络应用指纹的识别方法及装置 |
CN108667768B (zh) * | 2017-03-29 | 2022-04-29 | 腾讯科技(深圳)有限公司 | 一种网络应用指纹的识别方法及装置 |
CN107733633A (zh) * | 2017-09-22 | 2018-02-23 | 成都知道创宇信息技术有限公司 | 一种基于算力的防爬虫方法 |
CN111367505A (zh) * | 2020-03-02 | 2020-07-03 | 广州致远电子有限公司 | 一种JavaScript源代码保密方法、装置、设备及存储介质 |
CN113992342A (zh) * | 2021-09-10 | 2022-01-28 | 南京南瑞信息通信科技有限公司 | 一种无损网络安全监测管控方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102624931B (zh) | 2015-02-25 |
US20140068269A1 (en) | 2014-03-06 |
WO2013155887A1 (zh) | 2013-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102624931B (zh) | Web客户端与服务器交互的方法、装置及系统 | |
US11706026B2 (en) | Location aware cryptography | |
US10250573B2 (en) | Leveraging transport-layer cryptographic material | |
US10951595B2 (en) | Method, system and apparatus for storing website private key plaintext | |
CN109818741B (zh) | 一种基于椭圆曲线的解密计算方法及装置 | |
CN114584307B (zh) | 一种可信密钥管理方法、装置、电子设备和存储介质 | |
CN105307165A (zh) | 基于移动应用的通信方法、服务端和客户端 | |
CN107404469B (zh) | 一种会话安全处理系统、设备、装置及方法 | |
CN112532393A (zh) | 一种跨链交易的验证方法、中继链节点设备及介质 | |
CN104219054B (zh) | 一种基于nfc的点对点数据传输方法 | |
CN103036880A (zh) | 网络信息传输方法、设备及系统 | |
CN106375306A (zh) | 手机应用数据传输加密方法及系统 | |
CN109309566B (zh) | 一种认证方法、装置、系统、设备及存储介质 | |
CN114553590B (zh) | 数据传输方法及相关设备 | |
CN109068322A (zh) | 解密方法、系统、移动终端、服务器及存储介质 | |
CN110049032A (zh) | 一种双向认证的数据内容加密方法及装置 | |
WO2018014785A1 (zh) | 一种子账号信息处理系统、方法及装置 | |
CN103945348A (zh) | 一种非对称密钥短信加密方法和系统 | |
CN114615087B (zh) | 数据共享方法、装置、设备及介质 | |
CN104243291A (zh) | 一种可保障用户通讯内容安全的即时通讯方法及其系统 | |
CN103929722A (zh) | 一种短信加密方法和系统 | |
CN112713989B (zh) | 一种解密方法及装置 | |
CN111092866B (zh) | 基于Hadoop的密钥管理方法及装置 | |
CN108550036B (zh) | 一种建立安全基础设施的方法、终端及装置 | |
Shi et al. | Verification of LINE encryption version 1.0 using proverif |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |