BROWSER-PLUGIN BASED METHOD FOR ADVANCED HTTPS DATA PROCESSING
First Claim
1. A method for customized processing of Hypertext Transfer Protocol Secure ‘
- HTTPS’
data, the method comprising the steps of;
creating a HTTPS request at a web browser comprising a request header to be transmitted to a web server using HTTPS;
intercepting the HTTPS request before the HTTPS request is encrypted and modifying the request header to create a custom request header indicating that the web browser supports preselected customized processing operations, wherein the custom request header and the preselected customized processing operations are not defined in the HTTP/1.1 specifications; and
encrypting and sending the custom request header and the HTTPS request to the web server using HTTPS.
5 Assignments
0 Petitions
Accused Products
Abstract
The invention described here deals with implementing custom data processing of HTTPS based on a Browser-Plugin Method. Such custom data processing may include, but is not limited to, custom data compression, custom data encryption, data monitoring, data modification. There are two distinct methods to implement the Browser-Plugin Method for Advanced HTTPS Data Processing of the subject invention (BPAHDP). In both cases, BPAHDP provides the option of conducting custom data processing that co-exists with data compression, data encryption, or other types of data processing operations supported by the HTTP standard. Additionally, both BPAHDP methods ensure that the web-browser still implements and executes the underlying SSL/TLS channel setup and encryption operations. In both embodiments of BPAHDP, the most critical functionality is the ability to modify HTTP request/response headers and data sent over a TLS/SSL channel. In the regular HTTP case (HTTP over TCP) headers and data are sent as clear-text (i.e., as unencrypted data). Therefore, any HTTP proxy component can intercept and modify header/data as it chooses—allowing custom data processing operations (including a custom compression operation) to be implemented. For HTTPS traffic, the data leaving a web-browser is encrypted. Therefore, a proxy cannot modify encrypted data, hence the novelty of the BPAHDP methodology. Both methods require specific implementation methods that are described. In particular, both embodiments of BPAHDP require specific techniques to facilitate the use of Microsoft Internet Explorer as a BPAHDP enabled web-browser. Microsoft COM (Component Object Model) interfaces and IE'"'"'s Pluggable Protocol capabilities are utilized to meet all requirements of both BPAHDP embodiments.
-
Citations
18 Claims
-
1. A method for customized processing of Hypertext Transfer Protocol Secure ‘
- HTTPS’
data, the method comprising the steps of;creating a HTTPS request at a web browser comprising a request header to be transmitted to a web server using HTTPS; intercepting the HTTPS request before the HTTPS request is encrypted and modifying the request header to create a custom request header indicating that the web browser supports preselected customized processing operations, wherein the custom request header and the preselected customized processing operations are not defined in the HTTP/1.1 specifications; and encrypting and sending the custom request header and the HTTPS request to the web server using HTTPS. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
- HTTPS’
-
9. A method for customized processing of Hypertext Transfer Protocol Secure ‘
- HTTPS’
data, the method comprising the steps of;creating a first HTTPS request at a web browser comprising a request header to be transmitted to a content server using HTTPS; intercepting the first HTTPS request before the first HTTPS request is encrypted and modifying the request header to create a custom request header indicating that the web browser supports preselected customized processing operations, wherein the custom request header and the preselected customized processing operations are not defined in the HTTP/1.1 specifications; and encrypting and sending the custom request header and the first HTTPS request using HTTPS. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17)
- HTTPS’
-
18. A client-server system for custom processing of HTTPS data, the system comprising:
-
a client computing device for executing a customized web browser, wherein the customized web browser supports one or more preselected customized processing operations and has an end user interface for accessing and rendering content from the World-Wide Web, and the customized web browser is operable to; a) create a first HTTPS request, wherein the first HTTPS request comprises one or more request headers to be transmitted to a content server; b) intercept the first HTTPS request, before the first HTTPS request is encrypted, and modify the first HTTPS request to add a custom request header indicating that the customized web browser supports the one or more preselected customized processing operations, wherein the custom request header and the preselected customized processing operations are not defined in the HTTP/1.1 specifications; c) redirect the first HTTPS request originally intended for a content server to a second web server that supports the preselected customized processing operation and specifying within the first HTTPS request and the custom request header the location of the content server; d) encrypt and send the custom request header with the HTTPS request to a web server; e) receive from the web server and decrypt a HTTPS response comprising processed payload data and one or more HTTPS response headers correlatable therewith, wherein the processed payload data is created based on the HTTPS request by processing original payload data using the one or more preselected customized processing operations indicated in the custom request header to be supported by the customized web browser; f) modify the processed payload data utilizing the one or more preselected customized processing operations indicated in the one or more HTTPS response headers to create modified payload data indicative of the original payload data to be used for further processing; g) modify the HTTPS response to form a modified response, wherein the one or more HTTPS response headers are modified in the modified response to form one or more modified response headers corresponding to the original payload data; h) perform further processing on the modified response and the modified payload data; and
a server computer for executing a web server operable to;A) receive and decrypt the first HTTPS request and the custom request from the web browser; B) create a second Hypertext Transfer Protocol ‘
HTTP’
request or HTTPS request to be transmitted to the content server using HTTP or HTTPS, wherein the location of the content server is provided in the first HTTPS request and the custom request header from the web browser;C) send the second HTTP or HTTPS request to the content server using HTTP or HTTPS; D) receive at the second web server original payload data over HTTP or HTTPS from the content server; E) modify the original payload data based upon one or more of the customized processing operations indicated to be supported by the web browser to create processed payload data; F) create the HTTPS response comprising the processed payload data and the one or more HTTPS response headers correlatable therewith; G) encrypt and send the HTTPS response to the customized web browser; and
a content server for executing a web server operable to;respond to requests from the web server over HTTP or HTTPS.
-
Specification