CN101199181A - 用于先进的https数据处理的基于浏览器插件程序的方法 - Google Patents

用于先进的https数据处理的基于浏览器插件程序的方法 Download PDF

Info

Publication number
CN101199181A
CN101199181A CN200680019832.1A CN200680019832A CN101199181A CN 101199181 A CN101199181 A CN 101199181A CN 200680019832 A CN200680019832 A CN 200680019832A CN 101199181 A CN101199181 A CN 101199181A
Authority
CN
China
Prior art keywords
data
self
web browser
load data
http
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN200680019832.1A
Other languages
English (en)
Other versions
CN101199181B (zh
Inventor
阿克斯黑·南杜尔
阿吉特·塞恩
萨尔曼·阿赫迈德
大卫·兹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Maliki Innovation Co ltd
Original Assignee
JET DATA CO Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by JET DATA CO Ltd filed Critical JET DATA CO Ltd
Publication of CN101199181A publication Critical patent/CN101199181A/zh
Application granted granted Critical
Publication of CN101199181B publication Critical patent/CN101199181B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

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)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及实现针对HTTPS的基于浏览器插件程序的自定义数据处理方法。自定义数据处理可以包括数据压缩、自定义数据加密、数据监测、数据修改。有两种方法可以实现用于本主题发明的先进HTTPS数据处理的浏览器插件程序方法(BRAHDP)。在两种情况下,BPAHDP提供了进行与HTTP标准所支持的数据压缩、数据加密或其它类型的数据处理操作并存的自定义数据处理的选项。此外,两种BPAHDP方法确保了网络浏览器仍然实现和执行基本的SSL/TLS信道建立和加密操作。在BRAHDP的两种实施例中,最关键的功能是修改HTTP请求/响应报头和基于TLS/SSL信道发送的数据的能力。在通常的HTTP(基于TCP的HTTP)情况下,将报头和数据作为纯文本(也即作为未加密的数据)发送。因此,任何HTTP代理组件可以按照其选择来解释和修改报头/数据——允许实现自定义的数据处理操作(包括自定义的压缩操作)。对于HTTPS业务,对离开网络浏览器的数据进行加密。因此,代理不可以修改加密的数据,因此BPAHDP方法是新颖的。两种BRAHDP方法需要所描述的特定的实施方法。具体地,BRAHDP的两种实施例需要特定的技术以便于使用微软因特网浏览器作为具有BRAHDP能力的网络浏览器。利用微软COM(组件对象模型)接口和IE的可插入协议能力以满足两种BRAHDP实施例的所有需求。

Description

用于先进的HTTPS数据处理的基于浏览器插件程序的方法
技术领域
本发明涉及利用浏览器插件程序的新方法,该方法提供了用于拦截和进一步处理经由HTTPS协议发送的数据的技术。HTTP协议被定义为基于加密套接字层(SSL,Secure Socket Layer)的HTTP、或者基于传输层安全(TLS,Transport Layer Security)的HTTP。参见A.Freier,P.Karlton and P.Kocher,“Internet-Draft:The SSL Protocol Version 3.0,”Transport Layer Security Group,November 1996,for a discussion of SSL,and T.Dierks and C.Allen,“Request for Comments:2246-The TLSProtocol,”Network Working Group,January 1999。本主题方法的潜在应用可以是应用专用的数据压缩方法,用于减少HTTPS载荷数据的数据通信的量以及还可能用于减少数据传输时间。应该注意的是,在这种情况下,除了标准的内置的HTTPS压缩和编码手段(例如“内容编码”方法:gzip、压缩、缩小)之外,在论文“Request for Comments:2616,Hypertext Transfer Protocol-HTTP/1.1,”Network Working Group,June 1999,by R.Fielding,J,Mogul,H Frystyk,L.Masinter,P.Leach,andT.Berners-Lee的3.5节中描述的应用专用的数据处理的选项是可用的。
背景技术
当前,服务器计算机通过因特网向客户端计算设备(例如桌上型计算机、便携式计算机和使用称为“超文本传输协议(HTTP)”的通信协议的各种手持数字设备)传递大量的数据。HTTP协议严格地定义了发送对数据的请求的客户端设备与提供数据的服务器之间的交互。在向服务器发送对数据的请求之后,客户端等待服务器的响应,然后通常客户端一接收到数据就将数据传递给终端用户。在许多情况下,通过称为“网页浏览器”的软件组件来实现客户端。通常通过称为“网页服务器”的软件组件来实现服务器。
商业、银行业和直接消费者购物对因特网的使用的快速扩张导致了对用于在HTTP客户端和服务器之间发送加密的HTTP数据的标准手段的定义。Netscape首先将该手段(也称为HTTPS)实现为基于加密套接字层(SSL)TCP/IP连接的HTTP。HTTPS协议允许终端用户和企业通过因特网安全地发送信用卡和其它敏感信息。更具体地,HTTPS协议防止对客户端/服务器应用之间发送的HTTP数据的窃听、信息伪造和篡改。HTTPS的首次实施利用40比特的加密,而最新的标准(在E.Rescorla的文章“Request for Comments:2818,HTTP overTLS,”Network Working Group,May 2000,中描述的基于TLS的HTTP)便于使用强大的128比特的加密。
在A.Freier等人的论文和T.Dierks等人的论文中分别描述了SSL和TLS的基本的实现。尽管机制不同,SSL和TLS本质上都引入了数个共同的阶段:
1)网络浏览器和网络服务器之间的协议版本指示;
2)向网络浏览器传输网络服务器的公钥(已签名的公钥也称为证书);
3)网络浏览器通过与信任的实体通信(称为根证书授权)来检验该证书。这确保了网络浏览器与期望的网络服务器通信;
4)在网络浏览器与网络服务器之间协商和交换“对称加密密钥”;
5)然后使用对称加密密钥以建立网络浏览器与网络服务器之间的SSL或TLS信道;
6)基于该SSL/TLS信道对网络浏览器与网络服务器之间的所有HTTP载荷数据进行加密。
必须由网络浏览器来实现SSL和TLS功能,以便从网络浏览器直接建立SSL/TLS“信道”。这保证了对从网络浏览器产生和从网络服务器接收的所有HTTP数据的加密及其安全性。参考描述了上述场景的图1。
现在考虑对HTTPS数据(基于SSL或TLS信道发送的HTTP载荷数据)的压缩,以减少数据传输量。在HTTP标准(R.Fielding等人的论文的第3.5节)中原本存在的内容编码方法可以用于减少在HTTPS事务处理中发送的数据量。这些方法包括在网络浏览器和网络服务器中可以支持的一类无损压缩算法,例如gzip、压缩和缩小。
遗憾地是,HTTPS不能支持自定义的手段(例如私有数据压缩)或任何其它私有的或自定义的数据处理。HTTPS不提供便于自定义的数据压缩的标准接口或机制。更具体地,对HTTP数据的压缩实际上随机化了原始的源HTTP数据。在信息理论中,加密数据的熵大大高于原始的源数据。对源数据的大大随机化限制了数据压缩的有效性。加密的数据还使得难以进行诸多其它类型的期望的数据处理操作,例如数据记录、数据监测或数据更改。由于SSL和TLS被设计用于避免数据篡改或者“中间人”查看,提取原始的源HTTP数据是极为困难的。
发明内容
存在实现用于本主题发明的先进HTTPS数据处理的浏览器插件程序方法(BPAHDP,Browwer-Plugin Method for Advanced HTTPS DataProcessing)的两种不同的方法。在两种情况下,BPAHDP提供了进行包括HTTP标准所支持的数据压缩、数据加密或其它类型的数据处理操作的自定义数据处理操作的选项。此外,两种BPAHDP方法确保了网络浏览器仍然实现和执行基本的SSL/TLS信道建立和加密操作。在BRAHDP的两种实施例中,最关键的功能是修改HTTP请求/响应报头和基于TLS/SSL信道发送的数据的能力。在通常的HTTP(基于TCP的HTTP)情况下,将报头和数据作为纯文本(也即作为未加密的数据)发送。因此,HTTP代理(代表HTTP客户端组取得HTTP数据的媒介软件实体)组件可以按照其选择来解释和修改报头/数据——允许实现自定义的数据处理操作(包括自定义的压缩操作)。在文献:Request forComment 3135,Network Working Group,June 2001,作者J.Border,M.Kojo,J.Griner,G.Montenegro,and Z.Shelby,标题为“PerformanceEnhancing Proxies Intended to Mitigate Link-RelatedDegradations”,其中讨论了性能增强代理的主题。对于HTTPS业务,对离开网络浏览器的数据进行加密。因此,代理不可以修改加密的数据,因此说明BPAHDP方法是新的。两种BRAHDP方法需要特定的实施方法。具体地,BRAHDP的两种实施例需要特定的技术以便于使用微软因特网浏览器作为具有BRAHDP能力的网络浏览器。利用微软的COM(组件对象模型,Component Object Model)接口和IE的可插入协议能力以满足两种BRAHDP实施例的所有需求。
附图说明
图1是描述网络浏览器和网络服务器之间的SSL/TLS信道的图示;
图2是描述用于实现本文献中描述的方法“1”的程序块级体系结构的图示;
图3是描述用于实现本文献中描述的方法“2”的程序块级体系结构的图示。
具体实施方式
BPAHDP方法“1”的实施例
定义WSA为具有BPAHDP能力的网络服务器(实现了对HTTP载荷数据的“先进处理”或自定义数据处理的网络服务器),该网络服务器能够接受来自标准网络浏览器的HTTPS连接。此外,定义WBA为实现了BPAHDP所需要的以下功能并因此具有BPAHDP能力的网络浏览器。
1)在基于SSL/TLS信道发送的所有输出的HTTP请求上添加自定义的报头的能力。例如:
GET http:∥www.slipstream.com HTTP/1.0\r\n
Connection:Close\r\n
 \r\n
修改为:
GET http:∥www.slipstream.com HTTP/1.0\r\n
Connection:Close\r\n
X-BPAHDP:<control_info>\r\n
\r\n
2)存在将WBA标识为具有BRAHDP能力的X-BPAHDP报头。利用“control_info”域以标识BRAHDP版本(标识在网络浏览器中存在的所支持的数据处理操作)以及在自定义的数据处理操作期间所需要的任何其它相关的控制信息。
3)读取和修改WSA基于TLS/SSL信道返回的HTTP响应报头的能力。例如:
可以将
HTTP/1.0  200 OK\r\n
Content-Type:text/xml\r\n
Content-Lenqth:300\r\n
X-BPAHDP:<control_info>\r\n
\r\n
修改为:
HTTP/1.0 200 OK\r\n
Content-Type:text/html\r\n
Content-Length:200\r\n
\r\n
由于BPAHDP便于数据变换和过滤,可能需要对某些HTTP报头(内容类型和内容长度)的修改。此外,BPAHDP过滤方法可能需要解析和存储某些响应报头(在上文的示例中,在解压缩或一些其它数据处理操作期间可以使用<control_info>)。
4)读取和修改WSA基于SSL/TLS信道返回的HTTP载荷数据的能力。例如:
可以将
HTTP/1.0 200 OK\r\n
Content-Type:text/plain\r\n
Content-Length:16\r\n
X-BPAHDP:<control_info>\r\n
\r\n
″This is a test″
修改为:
HTTP/1.0 200 OK\r\n
Content-Type:text/plaih  \r\n
Content-Lenqth:20\r\n
\r\n
″This is not a test″
5)具有BRAHDP能力的网络浏览器必须能够针对HTTP和HTTPS数据与其它不具有BRAHDP能力的网络服务器通信。
方法“1”的系统架构和操作
本小节描述了用于基于先前在方法“1”中描述的能力执行针对HTTPS数据的自定义数据处理的程序块级体系结构和操作方法。本小节中的词语WBA和WSA与方法“1”中给出的定义相同。在本小节中所描述的方法中,WBA与WSA之间的基于HTTP的数据交换基于SSL/TLS信道发生。在图2中给出描述该操作的程序块级体系结构图示。
1)具有BRAHDP能力的网络浏览器(WBA)用于修改输出的HTTP请求报头,以向具有BRAHDP能力的网络服务器(WSA)指示请求的WBA能够执行某些自定义的数据处理(例如对使用被称为“X”的某种数据压缩算法压缩的数据进行解压缩的能力)。
2)如果WSA从WBA接收了关于具有BRAHDP能力和其相关能力的指示,WSA以仅能被拥有所指示的能力的WBA处理的形式向WBA发送HTTP响应数据。例如,如果WBA指示其能够对使用被称为“X”的某种数据压缩算法压缩的数据进行解压缩,则WSA使用该算法“X”对WSA的HTTP载荷数据进行压缩。如果WSA未接收到任何这种指示,或者如果WSA不具有BRAHDP能力,则WSA以针对常规网络浏览器的通常的方式在不使用算法“X”的情况下发送WSA的HTTP响应。
3)WBA使用WBA的修改HTTP响应报头和载荷的能力,以解释HTTP响应报头和数据,并应用自定义的数据处理操作,将其以常规的网络浏览器能够接受的格式呈现给网络浏览器。
方法“2”的实施例
定义WSA为具有BRAHDP能力的网络服务器(实现了对HTTP载荷数据的“先进数据处理”或自定义数据处理的网络服务器)并且能够从标准网络浏览器接受HTTPS连接。还定义CS为向WSA提供HTTP连接的标准HTTP/HTTPS网络服务器。
具有BRAHDP能力的网络服务器(WSA)满足以下需求:
1)经由HTTP或HTTPS与CS通信的能力;
2)执行针对HTTP载荷数据的压缩或过滤操作;
3)可以接收和接受来自WBA或来自不具有BRAHDP能力的网络浏览器的HTTPS请求。
此外,定义WBA为实现了BRAHDP所需要的以下功能的网络浏览器:
1)在基于SSL/TLS信道发送的所有输出的HTTP请求上添加自定义报头的能力。例如:
GET http:∥www.slipstream.com HTTP/1.0\r\n
Connection:Close\r\n
\r\n
修改为:
GET http:∥www.slipstream.com HTTP/1.0\r\n
Connection:Close\r\n
X-BPAHDP:<control_info>\r\n
\r\n
2)存在将WBA标识为具有BRAHDP能力的X-BRAHDP报头。利用<control_info>域以标识BRAHDP版本(表示网络浏览器中存在的所支持的自定义数据处理操作)以及在数据处理操作期间使用的任何其它相关的控制信息。
3)读取和修改WSA基于TLS/SSL信道返回的HTTP响应报头的能力。例如:
可以将
HTTP/1.0 200 OK\r\n
Content-Type:text/xml\r\n
Content-Lenqth:300\r\n
X-BPAHDP:<control_info>\r\n
\r\n
修改为:
HTTP/1.0 200 OK\r\n
Content-Type:text/html\r\n
Content-Length:200\r\n
\r\n
由于BRAHDP便于数据变换和过滤,可能需要对某些HTTP报头(内容类型和内容长度)的修改。此外,BRAHDP过滤方法可能需要对某些响应报头进行解析和存储(在上文的例子中,在解压缩或过滤操作期间可以使用<control_info>)。
4)读取和修改WSA基于SSL/TLS信道返回的HTTP载荷数据的能力。例如:
可以将
HTTP/1.0 200 OK\r\n
Content-Type:text/plain\r\n
Content-Length:16\r\n
X-BPACH:<control_info>\r\n
\r\n
″This is a test″
修改为:
HTTP/1.0 200 OK\r\n
Content-Type:text/plain \r\n
Content-Length:20\r\n
\r\n
″This is not a test″
5)修改原始目的地为CS的对象的HTTP URL(统一资源定位符)的能力。例如,为了将所有HTTP请求路由至WSA:
GET http:∥www.slipstreamCS.com HTTP/1.0\r\n
Connection:Close\r\n
\r\n
修改为:
GET http:∥www.slipstreamWSA.com HTTP/1.0\r\n
Connection:Close\r\n
X-BPAHDP:<control_info>\r\n
\r\n
6)具有BRAHDP能力的网络浏览器必须能够针对HTTP和HTTPS数据与其它不具有BRAHDP能力的网络服务器通信。
方法“2”的系统架构和操作:
在某些情况下,不可能使能目标内容服务器(CS)具有针对BRAHDP所需要的自定义的数据处理能力。在这种情况下,可以将原始目的是CS的HTTPS请求重定向至能够进行具有BRAHDP能力的网络浏览器(WBA)所期望的自定义的数据处理的另一服务器(WSA)。本小节描述了用于基于先前在方法“2”中描述的能力来针对HTTPS数据执行自定义的数据处理的系统架构和操作方法。本小节中的词语CS、WBA和WSA与方法“2”中给出的定义相同。在本小节中所描述的方法中,WBA和WSA之间的基于HTTP的数据交换基于SSL/TLS信道发生。对于WSA与CS之间的基于HTTP的数据交换,对SSL/TLS信道的使用是可选的。在图3中给出了描述该方法的操作的系统架构。
1)WBA使用方法“2”中的修改输出的URL的能力,以将基于SSL/TLS信道的原始目的为内容服务器CS的HTTP请求转向能够具有被方法“2”中的具有BRAHDP能力的网络浏览器所期望的数据处理能力的另一网络服务器WSA。
2)具有BRAHDP能力的网络浏览器修改基于SSL/TLS信道的输出的HTTP请求报头,以向WSA指示请求的WBA能够执行某些自定义数据处理(例如对使用被称为X的算法所压缩的数据进行解压缩的能力),WBA还在内容服务器CS处指定所请求的数据的URL。
3)WSA基于SSL/TLS信道从WBA接收请求,使用HTTP或HTTPS向内容服务器CS请求WBA所需要的响应数据,并从内容服务器CS接收该响应数据。
4)基于来自请求的WBA的关于其能力的指示,WSA基于SSL/TLS信道以仅能被拥有所指示的能力的WBA处理的形式向WBA发送HTTP响应数据。例如,如果WBA指示其能够对使用被称为“X”的数据压缩算法压缩的数据进行解压缩,则WSA使用该算法“X”对将被基于SSL/TLS信道发送的HTTP载荷数据进行压缩。如果WSA未接收到任何这种指示,则WSA基于SSL/TLS信道针对可以不具有BRAHDP能力的常规网络浏览器发送其HTTP响应。
5)WBA使用WBA的修改基于SSL/TLS信道的HTTP响应报头和载荷的能力,以解释HTTP响应报头和数据和应用自定义的数据处理操作,并将其以常规的网络浏览器能接受的格式呈现给网络浏览器。
使用BRAHDP方法对自定义的数据处理的实施
可以以两种方式在服务器侧完成对BRAHDP能力的实施以实现方法1或方法2所需要的WSA:(1)对实现了特定能力的自定义的网络服务器的实施,(2)经由数个网络服务器所支持的服务器侧插件程序的实施。
在客户端侧,用于实现方法1和方法“2”的准确的策略取决于用于实施的网络浏览器产品的应用编程接口(API)。针对该取决于情况的实施,有两种不同的策略:
(a)在网络浏览器的源代码可用的情况下,可应用该策略。在这种情况下,对输出的HTTP请求、输入的HTTP响应报头、HTTP载荷数据的解释是简单的编程任务。解释和修改发生在浏览器已经准备了HTTPS GET请求之后而在对请求数据进行加密之前。在解释之后,根据具体情况而定,可以应用方法“1”或方法“2”所需要的修改。
(b),对于某些网络浏览器,对源代码的访问是不可用的。在这种情况下,将使用可用的应用编程接口(API)。以下的小节描述了可以用于实现方法“1”和方法“2”的针对微软的因特网浏览器版本4.0和直到至今为止发布的版本的API。
微软因特网浏览器(IE)中的BRAHDP方法的实施例
定义COM为微软组件对象模型——微软的经由远程过程调用(RPC,Remote Procedure Calls)、函数参数编组和自动化的互联软件对象的实施。定义IE为微软因特网浏览器版本4.0和以上。定义可插入的程序为可以不考虑IE对特定网页模式的处理的COM对象。例如,http:∥可插入协议可以不考虑IE正常执行的完整的http:∥事务处理。
可以在IE中通过对因特网浏览器(IE)所暴露的COM接口的新颖的使用来满足BRAHDP的上述需求。对这些接口的使用便于对HTTP请求报头的修改、对HTTP响应报头的修改、对HTTP响应数据以及URL链接翻译的修改。定义BRAHDP-PP为包含在动态链接库(DLL)中的COM对象。将BRAHDP-PP注册为“https”可插入协议并实现所有的核心BRAHDP功能(报头修改、数据处理、URL翻译)。
随后执行以下步骤以在微软因特网浏览器(IE)中实现BRAHDP功能:
1)产生实现了IInternetProtocol、IInternetProtocolRoot和IHttpNegotiate接口的COM对象。该COM对象是BRAHDP-PP。
2)将该COM对象注册为用于“https”协议的可插入协议。这是通过将BRAHDP-PP的统一标识符(GUID)放置在微软视窗注册键-HKEY_CLASSES_ROOT\PROTOCOLS\Name-Space Handler\https中来实现的。
3)在BRAHDP-PP中,利用IInternetProtocolRoot::Start方法以实现BRAHDP的URL链接翻译需求。例如,在BRAHDP的方法2中,可以将IE网络浏览器请求的URL从www.slipstreamCS.com修改为www.slipstreamWSA.com。将将要取得的原始的URL作为函数参数传递至IInternetProtocolRoot::Start。因此,BRAHDP-PP可以对所取得的实际URL进行修改,这提供了IInternetProtocolRoot::Start的函数实现。
4)在BRAHDP-PP中,利用IHttpNegotiate::BeginningTransaction方法以对基于SSL/TLS信道发送的输出的HTTP请求进行修改。应当修改HTTP请求报头,以使得将IE网络浏览器标识为具有BRAHDP能力。例如,可以将
GET http:∥www.slipstreamWSA.com HTTP/1.0\r\n
Connection:Close\r\n
\r\n
修改为:
GET http:∥www.slipstreamWSA.com HTTP/1.0\r\n
Connection:Close\r\n
X-BRAHDP:<control_info>\r\n
\r\n
通过BPAHDP-PP对IHttpNegotiate::BeginningTransaction中的“pszAdditionalHeaders”函数参数进行修改,以包含将要在输出的HTTP请求中添加的任何自定义的HTTP报头。
5)在BPAHDP-PP中,利用IHttpNegotiate::OnResponse方法以对基于SSL/TLS信道接收的输入的HTTP响应报头进行修改。可以对该响应报头进行修改,以反映所实现的特定数据过滤操作。该操作可以改变数据的MIME类型(内容类型)以及总内容长度。此外,该响应报头可以包含用于在BPAHDP-PP中实现的过滤操作的特定控制信息。例如,
可以将
HTTP/1.0 200 OK\r\n
Content-Type:text/plain\r\n
Content-Length:16\r\n
X-BPACH:<control-info>\r\n
\r\n
″This is a test″
修改为:
HTTP/1.0 200 OK\r\n
Content-Type:text/plain\r\n
Content-Length:20\r\n
\r\n
″This is not a test″
IHttpNegociate::OnResponse中的“szResponseHeaders”函数参数包含具有BPAHDP能力的网络服务器所返回的整个HTTP响应报头。BPAHDP-PP还可以完全重写“szResponseHeaders”参数,以包含新的HTTP响应报头。
6)当IE网络浏览器请求BPAHDP-PP返回未过滤的(或未解码的)数据时,调用IInternetProtocol::Read方法。将数据写入名为“pv”的固定长度的缓存器函数参数,并将未过滤的数据的长度写回到参考参数“pcbRead”中。
应该理解的是,这里所描述的和在附图中示出的实施例仅旨在示例,而不应被作为对本发明的范围的限定。本领域的技术人员将理解,可以在不背离本发明的精神的情况下,在布局和细节上对所示例的实施例的元素进行修改。因此,这里描述的本发明意在在所附的权利要求或其等价物的范围内的所有这些实施例以及修改的实施例。

Claims (20)

1.一种用于以自定义方式处理HTTPS数据的方法,包括以下步骤:
a)产生自定义请求报头,所述自定义请求报头表示网络浏览器支持预先选择的自定义的处理操作;
b)通过安全的通信信道,将所述自定义请求报头随HTTP请求发送至网络服务器;
c)通过所述安全的通信信道,从网络服务器接收处理过的载荷数据和与所述处理的载荷数据相关的HTTP响应报头,其中,通过基于所述网络浏览器所支持的一个或多个所述自定义的处理操作处理原始载荷数据,来产生所述处理过的载荷数据;
d)修改响应报头以产生修改的响应报头;
e)利用一个或多个所述自定义的处理操作修改所述处理过的载荷数据,以产生表示原始载荷数据的修改的载荷数据;以及
f)向网络浏览器呈现修改的报头和修改的载荷数据。
2.根据权利要求1所述的方法,还包括修改所述网络浏览器将通过所述安全的通信信道取得的对象的URL的步骤。
3.根据权利要求2所述的方法,其中所述对象是内容服务器的网络站点地址。
4.根据权利要求1所述的方法,其中所述安全的通信信道是加密套接字层(SSL)连接或传输层安全(TLC)连接。
5.根据权利要求1所述的方法,其中所述网络浏览器是标准的网络浏览器。
6.根据权利要求1所述的方法,其中所述自定义的处理操作包括或选自一组操作,所述一组操作包括压缩操作、解压缩操作、加密操作和解密操作。
7.一种用于以自定义方式处理HTTPS数据的方法,包括以下步骤:
a)通过安全的通信信道将自定义请求报头随HTTP请求发送至网络,其中所述自定义请求报头表示网络浏览器支持自定义的处理操作;
b)通过所述安全的通信信道从所述网络服务器接收处理过的载荷数据和与所述处理过的载荷数据相关的HTTP响应报头,其中,通过基于所述网络浏览器所支持的一个或多个所述自定义的处理操作处理原始载荷数据,来产生所述处理过的载荷数据;以及
c)利用一个或多个所述自定义的处理操作修改所述处理过的载荷数据,以产生表示原始载荷数据的修改的载荷数据。
8.根据权利要求7所述的方法,还包括修改所述网络浏览器将通过所述安全的通信信道取得的对象的URL的步骤。
9.根据权利要求7所述的方法,其中所述安全的通信信道是加密套接字层(SSL)连接或传输层安全(TLC)连接。
10.根据权利要求7所述的方法,其中所述自定义的处理操作包括或选自一组操作,所述一组操作包括压缩操作、解压缩操作、加密操作和解密操作。
11.一种具有以自定义方式处理HTTPS数据的能力的网络浏览器,包括用于执行以下步骤的装置:
a)产生自定义请求报头,所述自定义请求报头表示网络浏览器支持预先选择的自定义的处理操作;
b)通过安全的通信信道,将所述自定义请求报头随HTTP请求发送至网络服务器;
c)通过所述安全的通信信道,从网络服务器接收处理过的载荷数据和与所述处理过的载荷数据相关的HTTP响应报头,其中,通过基于所述网络浏览器所支持的一个或多个所述自定义的处理操作处理原始载荷数据,来产生所述处理过的载荷数据;以及
d)利用一个或多个所述自定义的处理操作修改所述处理过的载荷数据,以产生表示原始载荷数据的修改的载荷数据。
12.根据权利要求11所述的网络浏览器,还包括用于修改所述网络浏览器将通过所述安全的通信信道取得的对象的URL的装置。
13.根据权利要求11所述的网络浏览器,其中所述安全的通信信道是加密套接字层(SSL)连接或传输层安全(TLC)连接。
14.根据权利要求11所述的网络浏览器,其中所述自定义的处理操作包括或选自一组操作,所述一组操作包括压缩操作、解压缩操作、加密操作和解密操作。
15.一种用于使能网络浏览器从事对HTTPS数据以自定义方式处理的网络浏览器插件程序,包括用于修改网络浏览器以执行以下步骤的装置:
a)修改输出的请求报头,以产生表示网络浏览器支持预先选择的自定义的处理操作的自定义请求报头;
b)通过安全的通信信道,将所述自定义请求报头随HTTP请求发送至网络服务器;
c)通过所述安全的通信信道,从网络服务器接收处理过的载荷数据和与所述处理过的载荷数据相关的HTTP响应报头,其中通过基于所述网络浏览器所支持的一个或多个所述自定义的处理操作处理原始载荷数据,来产生所述处理过的载荷数据;
d)修改响应报头以产生修改的响应报头;
e)利用一个或多个所述自定义的处理操作修改所述处理过的载荷数据,以产生表示原始载荷数据的修改的载荷数据;以及
f)向网络浏览器呈现修改的报头和修改的载荷数据。
16.根据权利要求15所述的网络浏览器插件程序,其中所述安全的通信信道是加密套接字层(SSL)连接或传输层安全(TLC)连接。
17.根据权利要求15所述的网络浏览器插件程序,其中所述网络浏览器是因特网浏览器。
18.根据权利要求15所述的网络浏览器插件程序,其中所述自定义的处理操作包括或选自一组操作,所述一组操作包括压缩操作、解压缩操作、加密操作和解密操作。
19.一种使用计算机系统用于对HTTPS数据以自定义方式处理的计算机程序产品,所述计算机程序产品包括:
一种记录,用于记录指示所述计算机系统执行以下步骤的手段:
a)产生自定义请求报头,所述自定义请求报头表示网络浏览器支持预先选择的自定义的处理操作;
b)通过安全的通信信道,将所述自定义请求报头随HTTP请求发送至网络服务器;
c)通过所述安全的通信信道,从网络服务器接收处理过的载荷数据和与所述处理过的载荷数据相关的HTTP响应报头,其中通过基于所述网络浏览器所支持的一个或多个所述自定义的处理操作处理原始载荷数据,来产生所述处理过的载荷数据;
d)修改响应报头以产生修改的响应报头;
e)利用一个或多个所述自定义的处理操作修改所述处理过的载荷数据,以产生表示原始载荷数据的修改的载荷数据;以及
f)向网络浏览器呈现修改的报头和修改的载荷数据。
20.根据权利要求19所述的计算机程序产品,其中所述计算机程序产品是网络浏览器插件程序。
CN200680019832.1A 2006-03-23 2006-03-23 用于先进的https数据处理的基于浏览器插件程序的方法 Active CN101199181B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CA2006/000434 WO2007106967A1 (en) 2006-03-23 2006-03-23 A browser-pluqin based method for advanced https data processing

Publications (2)

Publication Number Publication Date
CN101199181A true CN101199181A (zh) 2008-06-11
CN101199181B CN101199181B (zh) 2012-03-28

Family

ID=38521963

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200680019832.1A Active CN101199181B (zh) 2006-03-23 2006-03-23 用于先进的https数据处理的基于浏览器插件程序的方法

Country Status (6)

Country Link
EP (1) EP1869861B1 (zh)
CN (1) CN101199181B (zh)
AT (1) ATE452500T1 (zh)
CA (1) CA2607568C (zh)
DE (1) DE602006011143D1 (zh)
WO (1) WO2007106967A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101436933B (zh) * 2007-11-16 2012-02-01 成都市华为赛门铁克科技有限公司 一种https加密访问方法、系统及装置
CN102752320A (zh) * 2012-08-03 2012-10-24 北京光泽时代通信技术有限公司 一种代理服务器主动压缩方法及代理服务器
CN103368783A (zh) * 2012-03-27 2013-10-23 阿里巴巴集团控股有限公司 一种网络通信过程的监听方法、系统和设备
CN103929449A (zh) * 2013-01-14 2014-07-16 华为终端有限公司 一种数据传输方法及网站服务器、终端
WO2016095729A1 (zh) * 2014-12-16 2016-06-23 阿里巴巴集团控股有限公司 一种消息处理方法、装置及系统

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7634572B2 (en) 2004-12-22 2009-12-15 Slipstream Data Inc. Browser-plugin based method for advanced HTTPS data processing
US10425446B2 (en) 2014-09-29 2019-09-24 Akamai Technologies, Inc. HTTPS request enrichment
CN110582083B (zh) * 2019-08-13 2023-07-11 河北上通云天网络科技有限公司 一种移动端的server服务器系统
CN111245814B (zh) * 2020-01-07 2022-08-09 深信服科技股份有限公司 一种数据审计方法、装置、电子设备及存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6185598B1 (en) * 1998-02-10 2001-02-06 Digital Island, Inc. Optimized network resource location
US6658006B1 (en) * 1999-06-03 2003-12-02 Fujitsu Network Communications, Inc. System and method for communicating data using modified header bits to identify a port
US20020002611A1 (en) * 2000-04-17 2002-01-03 Mark Vange System and method for shifting functionality between multiple web servers
US20030196120A1 (en) * 2000-08-28 2003-10-16 Contentguard Holdings, Inc. Method and apparatus for automatic deployment of a rendering engine
US7720958B2 (en) * 2001-03-09 2010-05-18 International Business Machines Corporation Method and system for embedding correlated performance measurements for distributed application performance decomposition
US6981195B2 (en) * 2002-08-02 2005-12-27 Analog Devices, Inc. Cyclic redundancy check with efficient re-computation of error detection code
US20040088408A1 (en) * 2002-11-01 2004-05-06 Igor Tsyganskiy Methods and systems for routing requests at a network switch
US7979694B2 (en) * 2003-03-03 2011-07-12 Cisco Technology, Inc. Using TCP to authenticate IP source addresses

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101436933B (zh) * 2007-11-16 2012-02-01 成都市华为赛门铁克科技有限公司 一种https加密访问方法、系统及装置
CN103368783A (zh) * 2012-03-27 2013-10-23 阿里巴巴集团控股有限公司 一种网络通信过程的监听方法、系统和设备
CN103368783B (zh) * 2012-03-27 2017-04-12 阿里巴巴集团控股有限公司 一种网络通信过程的监听方法、系统和设备
CN102752320A (zh) * 2012-08-03 2012-10-24 北京光泽时代通信技术有限公司 一种代理服务器主动压缩方法及代理服务器
CN102752320B (zh) * 2012-08-03 2015-07-01 北京光泽时代通信技术有限公司 一种代理服务器主动压缩方法及代理服务器
CN103929449A (zh) * 2013-01-14 2014-07-16 华为终端有限公司 一种数据传输方法及网站服务器、终端
CN103929449B (zh) * 2013-01-14 2017-07-28 华为终端有限公司 一种数据传输方法及网站服务器、终端
WO2016095729A1 (zh) * 2014-12-16 2016-06-23 阿里巴巴集团控股有限公司 一种消息处理方法、装置及系统
CN105763507A (zh) * 2014-12-16 2016-07-13 阿里巴巴集团控股有限公司 一种消息处理方法、装置及系统

Also Published As

Publication number Publication date
CA2607568A1 (en) 2007-09-27
CA2607568C (en) 2012-05-29
EP1869861A4 (en) 2008-05-28
EP1869861B1 (en) 2009-12-16
WO2007106967A1 (en) 2007-09-27
CN101199181B (zh) 2012-03-28
DE602006011143D1 (de) 2010-01-28
EP1869861A1 (en) 2007-12-26
ATE452500T1 (de) 2010-01-15

Similar Documents

Publication Publication Date Title
CN101199181B (zh) 用于先进的https数据处理的基于浏览器插件程序的方法
US7634572B2 (en) Browser-plugin based method for advanced HTTPS data processing
US6970918B2 (en) System and method for transcoding support of web content over secure connections
US6988085B2 (en) System and method for real-time electronic inquiry, delivery, and reporting of credit information
US7133935B2 (en) System and method for real-time electronic inquiry, delivery, and reporting of credit information
US6937731B2 (en) End to end real-time encrypting process of a mobile commerce WAP data transmission section and the module of the same
US20070162385A1 (en) Relay server, relaying method and payment system
EP1533982A2 (en) System and method for pre-fetching secure content in a proxy architecture via transparent secure connections
GB2379039A (en) Transaction processing in a distributed data processing system
US11893610B2 (en) System and method for network interaction between computing devices
Kumar et al. WAP: present and future
US20080306875A1 (en) Method and system for secure network connection
US8520840B2 (en) System, method and computer product for PKI (public key infrastructure) enabled data transactions in wireless devices connected to the internet
CN105591959A (zh) 一种利用ssl会话重用进行负载均衡的系统及方法
Hall et al. WPP: A secure payment protocol for supporting credit-and debit-card transactions over wireless networks
EP1091276A1 (en) Authentication of hypertext kind of resources through signature handling protocol
JP5649627B2 (ja) アクセス認可装置及び方法、サービス提供装置及びシステム
Gaitatzis Learn REST APIs
TWI224455B (en) End-to-end encryption procedure and module of M-commerce WAP data transport layer
US9137296B2 (en) Portable data carrier as a web server
JP6125196B2 (ja) ネットワークシステム、ネットワークシステム用電子データの管理方法、そのためのプログラム及び、プログラムの記録媒体
KR20010017849A (ko) 월드와이드웹에서의 보안 기능 지원을 위한 데이터 송수신 방법
EP1465092B1 (en) System and method for secure electronic commerce
JP2003167814A (ja) データ処理システム及びデータ処理方法
Itani et al. NISp1-09: PRIDE: Policy-Driven Web Security for Handheld Wireless Devices

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

Effective date of registration: 20211202

Address after: Ontario, Canada

Patentee after: BlackBerry Ltd.

Address before: Ontario, Canada

Patentee before: Jet Data Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240523

Address after: Ai Erlandubailin

Patentee after: Maliki Innovation Co.,Ltd.

Country or region after: Ireland

Address before: Ontario, Canada

Patentee before: BlackBerry Ltd.

Country or region before: Canada

TR01 Transfer of patent right