CN1781087A - 安全访问带有客户端接收的专用网的方法和系统 - Google Patents

安全访问带有客户端接收的专用网的方法和系统 Download PDF

Info

Publication number
CN1781087A
CN1781087A CNA2004800113771A CN200480011377A CN1781087A CN 1781087 A CN1781087 A CN 1781087A CN A2004800113771 A CNA2004800113771 A CN A2004800113771A CN 200480011377 A CN200480011377 A CN 200480011377A CN 1781087 A CN1781087 A CN 1781087A
Authority
CN
China
Prior art keywords
server
network
request
intermediate server
client
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
CNA2004800113771A
Other languages
English (en)
Other versions
CN100437530C (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.)
Pulse Secure LLC
Original Assignee
Jungle Network
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 Jungle Network filed Critical Jungle Network
Publication of CN1781087A publication Critical patent/CN1781087A/zh
Application granted granted Critical
Publication of CN100437530C publication Critical patent/CN100437530C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies
    • 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/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above 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/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/561Adding application-functional data or data for application control, e.g. adding metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/564Enhancement of application control based on intercepted application data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/102Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measure for e-commerce
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Abstract

公开了用于安全访问在专用网上保存的资源的改进的方法。通过使用客户端-服务器软件的客户软件和/或通过文件系统软件可以安全访问专用网。多个远端用户能够通过共同接入点,如远端网络的中间服务器,获得对于专用网的至少一部分的限制的和控制的访问。

Description

安全访问带有客户端接收 的专用网的方法和系统
相关专利申请的相互参考
本专利申请是2002年1月29日提交的美国专利申请No.10/060792的继续申请,它要求2001年11月2日提交的美国临时专利申请No.60/060792的优先权。
技术领域
本发明涉及客户端-服务器运算,以及更具体地,涉及用于安全访问网络上的资源的客户端-服务器运算。
背景技术
网络浏览器(浏览器应用程序),如Netscape Navigator或Microsoft Explorer,允许客户机的用户经由互联网请求和检索来自远端的服务器机的资源。这些网络浏览器可以显示或呈现由位于远端的服务器机提供的超文本标记语言(HTML)文件。另外,浏览器能够执行被嵌入在HTML文件中的描述语句,以提供某些本地功能。
传统上,网络浏览器被使用来访问诸如互联网那样的公共网。专用网通常由防火墙保护,以使得位于专用网外部的计算机上的网络浏览器不能访问专用网上的任何资源。
虽然防火墙在防止外部访问专用网方面是有效的,但常常需要外面的个人或公司能够至少有限地访问其它个人或公司的专用网。例如,供应给公司客户的零件供应商通过访问该公司客户的专用网上的信息(例如,库存水平或定单)而能够更好地服务于它们的公司客户。一个惯用的方法是允许供应商的机器经由公共网络通过防火墙访问专用网。这给防火墙造成一个“漏洞”,它严重地损害专用网的安全。因此,如果安全是一个重要的关心的问题,则不允许这样的惯用的方法。另一个惯用的方法是用供应商的机器建立虚拟专用网(VPN)。这里,供应商的机器也能够通过公共网和防火墙访问专用网,但所有的数据传输被加密。某些防火墙支持VPN,以及可以使用提供加密的通信的协议,如点对点通道协议(PPTP)。虽然VPN提供远程安全访问,但它们很难安排、配置和管理。每个VPN也必须被提供给每个外部个人或公司以访问专用网。另外,VPN的开销很大,并且每个VPN提供暴露在整个专用网下的某些安全性。
因此,需要提供安全远程访问专用网上保存的资源的改进的方法。
发明内容
本发明涉及用于安全访问专用网上保存的资源的改进的方法。安全访问可以通过公共网络使用客户端-服务器软件的客户端软件和/或用文件系统来提供。多个远端用户能够通过公共接入点--如远端网络的中间服务器--受限并受控地访问专用网的至少一部分。远端网络的一个例子是专用网。
本发明可以以多种方式来实施,包括系统、方法、设备、和计算机可读的媒体。下面讨论本发明的几个实施例。
在一个方法实施例中,接收网络连接请求,重新引导网络连接请求,以及发送数据到中间服务器。该方法可以允许安全远程访问远端网络。
网络连接请求可以在本地网在计算机上被接收。网络连接请求可以由客户端-服务器应用程序中的客户端应用程序发起。客户端应用程序可以是在计算机上。网络连接请求可包括在远端网络上的目的地。客户端-服务器应用程序中的服务器应用程序可以是在远端网络上。
网络连接请求可以在计算机上在视窗套接层内被重新引导。这可包括重新引导具有名称空间供应程序(例如,被利用于在远端网络上的域名业务查找)和分层业务供应程序(例如,用于把客户端应用程序的数据从本地网重新引导到远端网络)的网络连接请求。网络连接请求可被重新引导到远离计算机的输送业务供应程序(例如,TCP/IP输送业务供应程序)。网络连接请求可被重新引导到远端网络的中间服务器。中间服务器可以代表计算机执行网络连接请求。重新引导可以基于以下的一项或多项:客户端应用程序的名称、客户端应用程序的检验和、客户端应用程序的版本、目的地的服务器、和目的地的端口。在重新引导之前,网络请求可以传送到以下的一项或多项:Winsock动态链路库和Winsock 2动态链路库。网络连接请求可以经由计算机上的至少一个代理服务器被重新引导到远端网络的中间服务器。
客户端应用程序的数据可以从计算机被发送到中间服务器。安全套接层(SSL)可以加密在计算机与中间服务器之间的通信。客户端应用程序的数据可以从中间服务器被发送到服务器应用程序。各种不同的实施例把客户端应用程序的数据从中间服务器发送到服务器应用程序,或允许通过在实施例外面的软件或硬件来做到这一点。客户端应用程序的数据可以在将客户端应用程序的数据发送到中间服务器之前发送到至少本地地址和计算机的本地部分。
在某些实施例中,可以提供可见的记号来表示在客户端应用程序与中间服务器之间的安全连接。名称空间供应程序和分层业务供应程序可被自动安装在计算机上和/或从计算机被卸载。
在另一个方法实施例中,接收网络连接请求,重新引导网络连接请求,以及从中间服务器接收数据。该方法可以允许安全远程访问远端网络。
网络连接请求可以在本地网的计算机处被接收。网络连接请求可被发起到远端网络的文件系统。网络连接请求可包括文件系统的名称。
网络连接请求可以通过使用计算机上的输送驱动程序接口被重新引导,以及还可使用名称空间供应程序。重新引导可以获取网络文件系统业务。网络连接请求可被重新引导到远离计算机上的输送驱动程序(例如,TCP/IP输送驱动程序)。网络连接请求可被重新引导到远端网络的中间服务器。中间服务器代表计算机执行网络连接请求。重新引导是基于以下的一项或多项:目的地服务器和目的地端口。在重新引导之前,网络连接请求可传送经过至少输送驱动程序接口过滤器。
在计算机上可以接收来自中间服务器的文件系统数据。安全套接层(SSL)可以加密在计算机与中间服务器之间的通信。文件系统的数据可以在中间服务器与远端网络的文件系统之间传送。各种不同的实施例在中间服务器与文件系统之间传送文件系统的数据,或允许通过在实施例外面的软件或硬件来做到这一点。
在某些实施例中,输送驱动程序接口可被自动安装在计算机上和/或从计算机被卸载。
以上描述的某些实施例的各种不同的方面、特性、实施例或实施方式可以单独地或以各种组合被使用。
某些实施例可以以软件被实施,但可以以硬件或硬件与软件的组合被实施。本发明的某些实施例可被体现为在计算机可读的媒体上的计算机可执行的代码。计算机可读的媒体是可以存储数据的任何数据存储装置,这些数据此后可以被计算机系统读出。计算机可读的媒体的例子包括只读存储器、随机访问存储器、CD-ROM、DVD、磁带、光盘存储装置、和载体。计算机可读的媒体页可以分布在网络耦合的计算机系统,以使得计算机可执行的代码以分布式的方式被存储和执行。
在各种不同的实施例中的计算机代码可以以硬件、软件或硬件与软件的组合被实施。
当结合作为例子显示本发明的原理的附图阅读以下的详细说明时本发明的其它方面和优点将会更为清楚。
附图说明
通过结合附图的以下的详细说明将容易理解本发明,其中相同的附图标记表示相同结构的单元,以及其中:
图1A是按照本发明的一个实施例的信息检索系统的框图。
图1B是按照本发明的另一个实施例的信息检索系统的框图。
图2A是按照本发明的一个实施例的中间服务器的框图。
图2B是按照本发明的一个实施例的远程访问系统的框图。
图3是按照本发明的一个实施例的请求处理过程的流程图。
图4是按照本发明的一个实施例的鉴权处理过程的流程图。
图5是按照本发明的一个实施例的访问特许处理过程的流程图。
图6是按照本发明的一个实施例的操作特许处理过程的流程图。
图7是按照本发明的一个实施例的详细的外部鉴权处理过程的流程图。
图8A和8B是按照本发明的一个实施例的文件访问请求处理过程的流程图。
图9A-9C是按照本发明的一个实施例的web资源请求处理过程的流程图。
图10显示按照本发明的一个实施例的信息检索系统的图。
图11是按照本发明的一个实施例的URL修正处理过程的流程图。
图12是按照本发明的一个实施例的描述语句修正处理过程的流程图。
图13A和13B是按照本发明的另一个实施例的描述语句修正处理过程的流程图。
图14是按照本发明的一个实施例的电子邮件请求处理过程的流程图。
图15是按照本发明的一个实施例的电子邮件操作处理过程的流程图。
图16是按照本发明的一个实施例的鉴权处理过程的流程图。
图17A和17B显示可以按照本发明的某些实施例使用的计算机系统的例子。
图18是按照本发明的一个实施例的安全应用管理程序的某些实施例的框图。
图19显示按照本发明的一个实施例的Winsock应用程序和视窗套接层的框图。
图20显示按照本发明的一个实施例的Winsock应用程序和视窗套接层的另一个框图。
图21显示按照本发明的一个实施例的在安全应用管理程序代理与Winsock应用程序之间的队列的框图。
图22显示按照本发明的一个实施例的安装封装的框图。
图23显示按照本发明的一个实施例的、在本地网的客户计算机上的应用和输送驱动程序接口的框图。
图24显示按照本发明的一个实施例的、用于重新引导文件系统网络连接请求的通用操作模式的框图。
图25显示按照本发明的一个实施例的、用于重新引导文件系统网络连接请求的定制的处理机的模式的框图。
图26显示按照本发明的一个实施例的、用于重新引导网络连接请求的流程图。
图27显示按照本发明的另一个实施例的、用于重新引导网络连接请求的流程图。
具体实施方式
本发明涉及用于提供安全访问专用网上保存的资源的改进的方法。安全访问可以通过使用标准网络浏览器通过公共网来提供。多个远端用户能够通过公共接入点受限和受控地访问专用网的至少一部分。
该解决方案可以使得用户,诸如雇员、承包人或合伙人能够以安全方式访问位于专用网的资源而同时远离到专用网的直接连接。由本发明的某些实施例提供的解决方案不仅易于建立,而且还能够以开销低廉的方式支持多个远端用户。
下面参照图1A-27讨论本发明的这个方面的实施例。然而,本领域技术人员将很容易理解,这里对于这些图给出的详细说明是用于说明的目的,因为本发明可以扩展到这些有限的实施例以外。
图1A是按照本发明的一个实施例的信息检索系统100的框图。信息检索系统100包括网络102、客户机104和106、中间服务器108、远端服务器110和112、专用网114、以及专用服务器116和118。网络102用作为通信媒体,中间服务器108以及远端服务器110和112可以通过该网络进行通信。网络114也是数据网。专用网114常常与实体相联系,因此操作专用网114上的计算设备的雇员能够与专用服务器116和118通信。例如,专用网114可以被称为合作网络或内部网。然而,由外部计算设备访问专用网114,典型地受防火墙(未示出)限制。中间服务器108被许可通过防火墙与专用网114通信。这里,就客户机(请求者)是被授权的和被许可的来说,中间服务器108代表客户机(请求者)与专用网114通信。中间服务器108实际上控制它允许外部计算设备访问专用网114的程度。
按照本发明的某些实施例,可以从客户机104和106接收对于位于专用服务器116和118的内容的请求。正如这里使用的,“内容”是可被存储在服务器和被客户检索的任何信息或资源。典型地,内容被体现为电子文件以及包含文本和/或图像。通常,客户机104和106操作浏览器应用程序,便于请求和检索网络102与专用网114上的内容。在这样的情形下,内容常常被返回到浏览器应用程序作为浏览器可看见的文件(例如,标记语言文件、网页等等),这样,浏览器应用程序可以显示该文件。客户机104和106与中间服务器108通信。最初,中间服务器108确定寻求内容的客户机104和106是否被鉴权和被许可这样地访问专用网114。在成功的认证和许可验证以后,中间服务器108又代表客户机104和106访问位于专用网114的专用服务器116和118。一旦中间服务器108得到来自专用服务器116和118的请求的内容,中间服务器108就把请求的内容直接返回到客户机104和106或可以首先修正请求的内容,然后把它传递到客户机104和106。
由中间服务器108对于请求的内容的修正可以采取各种不同的形式。作为一个例子,中间服务器108可以在把请求的内容传递到客户机104和106之前把工具条插入到请求的内容。作为另一个例子,中间服务器108可以改变在请求的内容内的超链,以便指向中间服务器(例如,中间服务器108)。可以由中间服务器108对于请求的内容执行各种各样的其它任务。另外,信息检索系统100也可以支持集中存储服务器存储的信息到中间服务器108。服务器存储的信息常常称为“cookies”,虽然cookies在传统上被存储在客户机。
虽然如图1A所示的信息检索系统100只画出一对客户机、一对远端服务器、单个中间服务器、和一对专用服务器,但应当看到,信息检索系统100可以支持多个客户机和多个服务器机器。还应当看到,信息检索系统100还可以支持多个中间服务器。
图1B是按照本发明的一个实施例的信息检索系统150的框图。信息检索系统150例如是图1A所示的信息检索系统100的更详细的实施方式。
信息检索系统150利用互联网152和客户机154与156,这些客户机通过有线或无线装置被耦合到互联网152。典型地,客户机154与156操作客户端应用,诸如网络浏览器或电子邮件应用。当客户机154与156的请求者(用户)想要访问远端资源时,从客户机154与156通过互联网152发送资源请求到中间服务器158。典型地,在客户机154与156和中间服务器158之间的通信通过加密技术(例如,安全套接层(SSL))被保密。中间服务器158提供访问内部网160。资源由位于内部网160内的客户机154和156请求。由于防火墙典型地限制或阻止外部访问内部网160,所以必须允许中间服务器158通过防火墙162与内部网通信。内部网160典型地包括可以通过电子方式访问的各种不同的资源。典型地,这些资源被存储在服务器机器,它耦合到内部网或形成内部网的一部分。如图1B所示,内部网160耦合到,或包括,鉴权服务器164、web服务器166、电子邮件服务器168、文件服务器170、和登录服务器172。因此,一个给定的客户机可以通过中间服务器158访问位于内部网160内或在内部网160上的任何一个服务器164-172。因此,一个给定的客户机可以通过使用网络浏览应用程序请求和接收位于web服务器上的资源。作为另一个例子,给定的客户机可以通过使用客户端电子邮件应用程序访问电子邮件资源。作为另一个例子,给定的客户机可以访问位于内部网160内或在内部网160上的文件服务器170,得到、存储或观看其上的电子文件。
中间服务器158被配置成保证经由中间服务器158到内部网160的访问仍旧是被保护的。在这方面,寻求访问位于内部网160上的资源或内容的请求者必须被鉴权。鉴权可以利用位于内部网160内或在内部网160上的鉴权服务器164。在这方面,在中间服务器158处在鉴权请求者时可以使用由内部网160利用的原来的鉴权技术。再者,中间服务器158可以被管理员配置成使得对于在内部网160内或在内部网160上的不同的资源(例如,服务器)可以给不同的请求者(例如,客户机的用户)以不同的访问特许权。登录服务器172允许存储有关对内部网160的访问请求的登录信息在中间服务器158。登录信息可以按应用级别被提供,以使得它是用户更可鉴别的。
图2A是按照本发明的一个实施例的中间服务器200的框图。中间服务器200例如适合于用作为图1所示的中间服务器108。中间服务器也可被称为居中的服务器。
中间服务器200包括各种不同的处理模块,典型地通过由中间服务器使用的处理设备执行的计算机程序代码来实现。更具体地,中间服务器200的处理模块包括web服务器202和协议处理机204。web服务器202通过链路206(经由网络)耦合到客户机,并且协议处理机204通过链路208(经由网络)耦合到远端服务器。web服务器202和协议处理机204也互相通信以及与各种支持模块和数据存储装置210通信。数据存储装置210对于由中间服务器200保持的各种数据项提供永久的或非易失性存储。典型地,对于与客户机有关的每个用户或请求者,数据存储装置提供单独的存储。
处理模块包括鉴权管理程序212和访问管理程序214。鉴权管理程序212管理鉴权处理,鉴权处理用来确定请求者是否为他们所说的那样的人。鉴权处理可以是本地的或是在中间服务器200的外部。例如,外部鉴权可以由专用网内的鉴权服务器(例如,鉴权服务器164)提供。访问管理程序214提供对于专用网上的各种资源的访问限制。即,不同的请求者可被分配以访问特许权的不同的级别、类型或区域。例如,请求者A可以访问服务器X而不能访问服务器Y和Z,以及请求者B可以访问服务器Y但只能读出,而不能访问服务器X和Z。
中间服务器200还包括内容变换器216,它是另一个处理模块并且用来分析从远端服务器接收的请求的内容,然后按预定的方式修正内容。
中间服务器200可包括的另一个处理模块是cookie管理程序218。cookie管理程序管理“cookies”,这样,从远端服务器接收的那些“cookies”被存储在数据存储装置210以及先前被存储在数据存储装置210中的那些“cookies”在适当的时间被传递到远端服务器。更一般地,“cookies”是指服务器存储的信息。这样的服务器存储的信息常常被远端服务器设置,以及被使用于会话、状态或识别目的。
图2B是按照本发明的一个实施例的远程访问系统250的框图。远程访问系统250工作在客户端-服务器环境,允许客户端的用户获得访问远端服务器处的资源。具体地,远程访问系统250包括网络浏览器254和电子邮件客户256。网络浏览器254和电子邮件客户256是工作或运行在客户机上的客户端应用程序。典型地,用户或请求者将与这些一个或多个客户程序互动,请求位于远端服务器上的资源。网络浏览器254和电子邮件客户256通过安全链路或连接耦合到中间服务器252。中间服务器252还通过安全或非安全链路或连接耦合到远端服务器。中间服务器252可以支持到各种不同的服务器的连接,诸如在专用网上找到的服务器。专用网的一个例子是合作网络。图2B所示的服务器包括web服务器258、电子邮件服务器260、视窗文件服务器262、UNIX文件服务器264、鉴权服务器266、和登录服务器268。
中间服务器252包括安全套接层(SSL)272,它在客户端应用程序到达前端协议处理机层270之前为与客户端应用程序的连接或链路提供加密处理。前端协议处理机层270包括多个协议处理机,用来处理可被各种不同的客户端应用程序利用的不同类型的接入的协议。如图2B所示,前端协议处理机层270包括用于HTTP、IMAP、SMTP、POP和MAPI的协议的分开的协议处理机。在适当的协议处理机被用于进入的请求后,可以利用中间服务器252内的其它的功能模块。具体地,访问管理程序274可以确定是否许可与进入的请求有关的请求者请求这种类型的接入。鉴权管理程序276可以确定请求者是否能被鉴权。内容变换器278可以执行所接收的请求的内容或由远端服务器提供的请求的响应的变换。系统管理员管理程序280允许系统管理员与中间服务器252互动,配置访问特许权、系统结构和逻辑特性。
网络连接请求252还包括后端协议处理机282。后端协议处理机282提供用于相对于特定的服务器的发出和进入的通信的适当的协议。图2B所示的后端协议处理机的层包括用于HTTP、IMAP、SMTP、POP、SMB、NFS、NIS、RADIUS、LDAP和NT的协议的协议处理机。就对于中间服务器252的进入的协议不同于从中间服务器252向外输出的协议来说,内容变换器278可以执行协议变换(例如,转换)。再者,中间服务器252包括数据存储器284、登录管理程序286、和数据同步管理程序288。数据存储器284为中间服务器252的各种不同的部件提供临时的或半永久的数据存储。例如,用于对于每个客户或请求者的鉴权的本地记录可被存储在数据存储器284。数据同步管理程序288是使得一个中间服务器能够与另一个中间服务器相耦合以提供容错模块。因此,如果一个中间服务器失效,则通过链路290,失效的中间服务器可以耦合到工作的中间服务器,以提供典型地与中间服务器相关的某些或全部操作。提供登录管理程序286,从而能够进行由中间服务器252作出的各种访问请求的应用级别登录。由登录管理程序286形成的登录被存储在登录服务器268。
图3是按照本发明的一个实施例的请求处理过程300的流程图。无论何时来自请求者的请求被中间服务器--诸如图1A所示的中间服务器108、图1B所示的中间服务器158、图2A所示的中间服务器200、或图2BA所示的中间服务器252--接收时就调用请求处理过程300。
请求处理过程300从确定接收的请求是否为系统登录请求的判断302开始。当判断302确定接收的请求是系统登录请求时,请求处理过程300试图对请求者进行鉴权304。鉴权可以本地或远程地执行。关于鉴权的附加的细节在下面提供。此后,判断306确定请求者是否被鉴权。当判断306确定请求者不能被鉴权时,登录企图失败以及可以把登录页返回308给请求者。登录页便于由请求者重新尝试登录。对于登录请求失败的情形,在操作308后,请求处理过程300完成以及结束。
作为替代,当判断306确定请求者被鉴权时,把会话识别号返回310给请求者。请求者可以是指客户装置或客户装置的用户,这取决于内容。会话识别号在以后对于中间服务器请求时被使用,只要会话是工作的。另外,把初始访问页返回312给请求者。从初始访问页,请求者能够进入在专用网上可得到的各种资源。对于登录请求成功的情形,在操作312后,请求处理过程300完成以及结束。
除了登录请求的处理过程以外,请求处理过程300还经由中间服务器处理对于远端服务器的所有其它的请求。因此,当判断302确定接收的请求不是系统登录请求时,则判断314确定接收的请求是否具有有效的会话识别号。如果请求者已经被鉴权(即,登录到中间服务器),已经会话仍旧是有效的,则接收的请求具有有效的会话识别号。因此,当判断314确定与接收的请求有关的会话识别号是无效时,则到中间服务器的访问被拒绝以及登录页可被返回308给请求者。作为替代,当判断314确定会话识别号是有效时,则判断316确定会话是否超时。当判断316确定会话已超时时,则到中间服务器的访问被拒绝以及登录页可被返回308给请求者。这里,如果请求者具有无效的会话识别号或会话已超时,则请求者被迫使进行登录,以便被鉴权。
另一方面,当判断316确定会话没有超时时,则许可请求者经由中间服务器访问专用网。此后,取决于请求者正在寻求进行的访问的类型,执行附加的处理过程,以保证请求者只访问被认为适当的和所希望的那些资源。具体地,对于请求处理过程300,得到318与请求者有关的访问特许权。访问特许权表示请求者有资格访问那些资源。接着,判断320确定是否许可与接收的请求有关的特定的访问类型。当判断320确定不许可与接收的请求有关的访问类型时,则访问拒绝页返回322给请求者。作为替代,当判断320确定许可与接收的请求有关的访问类型时,则许可324处理接收的请求。这里,接收的请求的处理过程使得请求者能够访问(例如,观看、检索等等)来自专用网的受到保护的资源。在操作322和324后,请求处理过程300完成和结束,只有当访问被认为许可时接收的请求才被处理。
图4是按照本发明的一个实施例的鉴权处理过程400的流程图。鉴权处理过程400例如是与图3所示的鉴权操作304有关的处理过程。
鉴权处理过程400从确定是否存在对于请求者(用户)的本地记录的判断402开始。当判断402确定存在对于请求者的本地记录时,则判断404确定是需要本地鉴权还是外部鉴权。这里,本地记录表示应当执行本地鉴权还是外部鉴权。除了关于应当执行本地鉴权还是外部鉴权的表示以外,本地记录还可存储其它有用的信息,例如请求者(用户)的名字、上次登录的时间、帐户状态等等。当判断404确定要执行本地鉴权时,则在登录请求被处理时为鉴权提供的密码被散列406。散列是把一串字符变换成代表原先的串的被称为密钥的另一串字符。散列功能可以执行散列操作。散列常常是在加密和解密过程中被执行的。
接着,判断408确定散列的密码是否与存储的散列的密码相匹配。当判断408确定存在匹配时,则鉴权被认为是成功的410。作为替代,当判断408确定不存在匹配时,则鉴权被认为是失败的412。而且,当判断408确定没有匹配时,则访问失败也可被登录414在登录记录中。在一个实施例中,登录记录可以由登录服务器提供。访问失败的登录414可以提供应用级别信息,以便于在以后观看登录记录时了解所发生的访问失败的性质。在操作410和414后,鉴权处理过程400完成和结束,鉴权或者成功或者失败,取决于登录请求是否包含正确的密码。
另一方面,当判断402确定不存在对于请求者的本地记录时,则判断416确定是否需要本地设置值。系统设置值可被使用来表示是否需要本地记录。管理当局可以使用这样的系统设置值来限制访问仅仅具有本地记录的那些用户。当判断416确定需要本地设置值时,则鉴权被认为是失败的412,因为没有可用的本地记录。另外,访问失败可被登记414。作为替代,当判断416确定不需要本地设置值时,或当判断404确定要执行外部鉴权时,则得到418要被使用于鉴权的外部鉴权服务器(EAS)的地址和类型。对于不同的类型的外部鉴权服务器,典型地执行不同的处理过程。通常,在专用网内已提供有这些外部鉴权服务器用于执行鉴权。典型地,有系统设置值,表示要被使用的特定的外部鉴权服务器。因此,鉴权处理过程利用由这样的外部鉴权服务器提供的原来的鉴权。下面关于图7的讨论提供不同类型的外部鉴权的附加的细节。
接着,判断420确定外部鉴权是否成功。这里,外部鉴权是根据已表示的外部鉴权的特定的类型被执行的。当判断420确定外部鉴权不成功时,则认为鉴权是失败的412。另外,访问失败可以如以前讨论的那样被登录。另一方面,当判断420确定外部鉴权成功时,则认为鉴权是成功的422。在操作422后,鉴权处理过程400完成和结束,请求者已被鉴权。
图5是按照本发明的一个实施例的访问特许处理过程500的流程图。访问特许处理过程500例如是由图3的判断320执行的处理过程。即,访问特许处理过程500确定是否许可由特定的请求者所请求的访问类型。事实上,访问类型提供各种不同的准则,可被使用来限制由请求者的访问。对于图5所示的实施例,准则包括源互联网协议(IP)地址、日期时间、和操作。
访问特许处理过程500从确定与接收的请求有关的源IP地址(即,请求者)是否被授权的判断502开始。当判断502确定与接收的请求有关的源IP地址没有被授权时,则访问特许处理过程500拒绝访问504。这里,为了减小非法访问的风险,访问特许处理过程500保证只有已知的请求者的那些IP地址能够访问专用网。
当判断502确定源IP地址已被授权时,则判断506确定作出请求的时间是否满足日期时间访问限制。典型地,这种限制可以对于所有的请求者或分开地对于每个请求者被配置。这里,如果想要的话,中间服务器可被配置成只在某些时间间隔期间才许可访问专用的资源。例如,这只在办公时间或其它限制的时间期间才许可访问。当判断506确定接收的请求的时间不是在许可的日期时间内时,则访问特许处理过程500拒绝访问504。
当与接收的请求有关的时间被确定506为在许可的日期时间内时,判断508确定是否许可与接收的请求有关的特定的操作。这里,进入的请求可以请求相对于专用资源执行的各种不同的操作。这些各种不同的操作趋于随所提供的应用的类型而变化。判断508可以用来限制被许可由不同的请求者使用的操作。当判断508确定不许可所请求的操作时,则访问被拒绝504。另一方面,当判断508确定许可所请求的操作时,则访问被许可510。在操作504和510后,访问特许处理过程500完成和结束。
图6是按照本发明的一个实施例的操作特许处理过程600的流程图。操作特许处理过程600例如由图5所示的判断508执行。还应当指出,当请求的操作被确定为许可时,操作特许处理过程600执行该请求的操作,因此,它可以是与图3的操作320和324有关的。
操作特许处理过程600从确定是否已请求文件浏览操作的判断602开始。当判断602确定已请求文件浏览操作时,则判断604确定对于请求者是否使能进行文件浏览。当判断604确定对于请求者不能进行文件浏览时,则访问被拒绝606,因此操作特许处理过程600结束。作为替代,当判断604确定对于请求者能够进行文件浏览时,则判断608确定是否请求读或写操作。当判断608确定请求写操作时,则判断610确定是否许可写访问。在一个实施例中,判断610确定是否由作出请求的特定的请求者许可写访问。当判断610确定不许可写访问时,则访问被拒绝606,因此操作特许处理过程600结束。作为替代,当判断610确定许可写访问时,则执行612写请求处理过程,实行接收的请求。在操作612后,操作特许处理过程600结束,已经执行请求的操作。
另一方面,当判断608确定正在请求读操作时,判断614确定是否许可读访问。在一个实施例中,判断614确定读访问是否由进行请求的特定的用户许可。当判断614确定不许可读访问时,访问被拒绝606。作为替代,当判断614确定许可读访问时,则执行616读请求处理过程,实行请求的操作。在操作616后,操作特许处理过程600结束,已经执行请求的操作。
另一方面,当判断602确定请求的操作不是文件浏览操作时,则判断618确定请求的操作是否为web浏览操作。当判断618确定请求的操作是web浏览操作时,判断620确定与web浏览操作有关的服务器是否对于请求者是可访问的。当判断620确定该服务器对于请求者是不可访问时,则访问被拒绝606。在一个实施例中,中间服务器可以保存可被特定的请求者访问的服务器的名单。这使得中间服务器能够控制特定的请求者能够通过服务器名称浏览的资源。例如,虽然专用网可包括多个服务器,但请求者能够被分别限于只访问某些服务器。作为替代,当判断620确定与web浏览操作有关的服务器对于请求者是可访问时,则执行622web浏览请求处理过程。换句话说,执行622请求的web浏览操作,因为请求者有资格访问特定的服务器。在操作622后,操作特许处理过程600结束,已经执行请求的操作。
另一方面,当判断618确定请求的操作不是web浏览操作时,则判断624确定请求的操作是否为电子邮件操作。当判断624确定请求的操作是电子邮件操作时,则判断626确定对于请求者是否能够操作电子邮件。当判断626确定对于请求者不能操作电子邮件时,则访问被拒绝606。这里,中间服务器能够控制由特定的请求者到电子邮件的访问。作为替代,当判断626确定对于请求者能够操作电子邮件时,则执行628电子邮件请求处理过程。换句话说,请求的电子邮件操作被执行,因为请求者具有执行该操作的适当的特许权。在操作628后,操作特许处理过程600结束,已经执行请求的操作。
再者,当判断624确定请求的操作不是电子邮件操作时,则判断630确定请求的操作是否为由中间服务器许可的某些其它操作。这里,其它操作可以是由中间服务器实行的任何适当的操作。实际上,其它操作可代表在中间服务器上可得到的一般操作。其它操作也可以是指由中间服务器执行的本地操作而不用访问专用网。本地操作的例子可以广泛地变化,但可包括:添加书签,加上、编辑或删除本地记录,改变文件共享等等。然而,其它操作也可以是在专用网内执行的操作。当判断630确定请求的操作是其它操作之一时,则判断632确定该其它操作是否许可的。当判断632确定请求的操作不是被许可的其它操作之一时,则访问被拒绝606。作为替代,当判断632确定该其它操作是许可时,则执行634其它请求处理过程。在操作634后,操作特许处理过程600结束,已经执行其它类型的操作。
另一方面,当判断630确定请求的操作不是被(请求者)许可的其它操作之一时,则操作特许处理过程600结束,没有执行请求的操作。这里,因为请求的操作不被操作特许处理过程600支持,所以请求的操作在中间服务器处不被处理(即,它被阻挡)。
图7是按照本发明的一个实施例的详细的外部鉴权处理过程700的流程图。详细的外部鉴权处理过程700例如是与图4所示的判断420有关的详细的处理过程。详细的外部鉴权处理过程700支持各种各样的不同类型的外部鉴权系统,包括:网络信息系统(NIS)、远程鉴权拨号用户业务(RADIUS)、轻量目录访问协议(LDAP)、和NT域。因此,对于中间服务器执行的外部鉴权可以使用专用网可提供的任何的各种各样的原来的鉴权方法。
详细的外部鉴权处理过程700从确定外部鉴权服务器(EAS)是否为NIS的判断702开始。当外部鉴权服务器是NIS时,则读出704NIS记录。然后散列706随登录请求被提供的密码。把散列的密码与NIS记录内提供的密码进行比较708。然后判断710确定散列的密码是否匹配。当密码匹配时,鉴权成功712。当密码不匹配时,鉴权失败714。
另一方面,当判断702确定外部鉴权服务器不是NIS时,判断716确定外部鉴权服务器是否为RADIUS。当外部鉴权服务器是RADIUS时,则通过使用RADIUS共享的秘密来加密718随登录请求被提供的用户名称和密码。然后,加密的数值被发送720到RADIUS服务器用于鉴权。然后判断722确定是否接收到来自RADIUS服务器的响应。该响应在被接收时表示724鉴权成功还是失败。
另一方面,当判断716确定外部鉴权服务器不是RADIUS时,则判断726确定外部鉴权服务器是否为LDAP。当判断726确定外部鉴权服务器是LDAP时,则把随登录请求被提供的用户名称和密码发送728到LDAP服务器用于鉴权。然后判断730确定是否接收到来自LDAP服务器的响应。该响应在被接收时表示732鉴权成功还是失败。
另一方面,当判断726确定外部鉴权服务器不是LDAP时,则判断734确定外部鉴权服务器是否为NT域(NT域服务器)。当判断734确定外部鉴权服务器是NT域时,则从NT域服务器得到736一个随机数。然后,把随登录请求被提供的密码与该随机数散列。接着,把散列的数值发送740到NT域服务器用于鉴权。然后判断742确定是否接收到来自NT域服务器的响应。该响应表示744鉴权成功还是失败。
图8A和8B是按照本发明的一个实施例的文件访问请求处理过程800的流程图。文件访问请求处理过程800例如是当web浏览操作被请求者请求时执行的处理过程。换句话说,文件访问请求处理过程800例如可以是由图6的方块622的一个实施例执行的处理过程。
文件访问请求处理过程800从确定是否发现服务器的判断802开始。当判断802确定已经发现服务器时,则判断804确定文件访问请求是否寻求观看文件夹内容。当判断804确定文件访问请求确实想要观看文件夹内容时,则文件夹的内容被检索806。检索的内容然后被发送808给请求者。
另一方面,当判断804确定文件访问请求不寻求观看文件夹内容时,则判断810确定文件访问请求是否请求新的文件夹。当判断810确定文件访问请求寻求请求新的文件夹时,则促使812请求者给出新的文件夹名称。然后判断813确定是否接收到文件夹名称。当判断813确定还没有接收到文件夹名称时,文件访问请求处理过程800等待文件夹名称。一旦判断813确定接收到文件夹名称,就创建814新的文件夹。
作为替代,当判断810确定文件访问请求不想要创建新的文件夹时,则判断816确定文件访问请求是否想要下载文件。当判断816确定文件访问请求想要下载文件时,则把请求的文件下载818给请求者。另一方面,当判断816确定文件访问请求不想要下载文件时,则判断820确定文件访问请求是否想要上传文件。当判断820确定文件访问请求想要上传文件时,则把请求的文件上传822给请求者。作为替代,当判断820确定文件访问请求不想要上传文件时,则可以处理附加的类型的文件访问请求,虽然图8A上没有显示出。因此,在文件访问请求不想要上传文件(以及不支持附加的类型的文件访问请求)时的判断820后,文件访问请求处理过程800完成和结束,不执行文件访问操作。在方块808、814、818、和822后,文件访问请求处理过程800也完成和结束,但执行请求的文件访问操作。
再者,当判断802确定没有发现服务器时,文件访问请求处理过程800执行图8B所示的处理过程。在这种情形下,一开始发现824可用的服务器的名单。然后,判断826等待由请求者选择一个可用的服务器。一旦判断826确定已接收到服务器选择,就检索828用于选择的服务器的共享信息。在一个实施例中,共享信息表示被存储在选择的服务器上的、能够被诸如远端请求者那样的第三方共享的那些文件夹。判断830然后确定有关服务器的信息是否应当被作为永久的。当判断830确定有关服务器的信息应当被作为永久时,则服务器信息被保存832。通过保存服务器信息,服务器被作为“可用的服务器”,这样,不需要通过以后登录到系统来发现服务器的可用性。另一方面,当判断830确定有关服务器的信息不应当被作为永久时,则方块832被旁路。无论如何,当服务器信息要被做成永久时的方块830后,以及当服务器信息要被作为永久时的方块832后,发现服务器的处理过程完成,因此文件访问请求处理过程800返回到重复进行判断802和以后的操作。
图9A-9C是按照本发明的一个实施例的web资源请求处理过程900的流程图。web资源请求处理过程900例如由诸如图1A所示的中间服务器108或图1B所示的中间服务器158那样的中间服务器执行。web资源请求处理过程900被执行来处理web资源请求。
一开始,得到902用于适当的远端服务器的主机名称。在一个实施例中,可以从存储器得到主机名称。这里,存储器可以是图2A所示的数据存储装置214。在另一个实施例中,可以从与web资源请求有关的URL得到主机名称。在得到902用于适当的远端服务器的主机名称后,执行主机名称查找904,得到适当的远端服务器的IP地址。然后打开906(或如果已打开就保持)到远端服务器的连接。接着,在中间服务器与远端服务器之间执行安全握手,如果需要的话。然后得到910与所得到的主机名称有关的任何“cookies”。在操作910后,在中间服务器处的web资源请求的预处理过程完成,以及现在能够把该请求转发到远端服务器。在这时,对于与“cookies”有关的web资源的请求被发送912到远端服务器。
然后判断914确定是否接收到响应。当判断914确定还没有接收到响应时,则web资源请求处理过程900等待这样的响应。一旦判断914确定接收到响应时,则判断916就确定在响应中是否存在“cookies”。当判断916确定在响应中存在“cookies”时,则从该响应中提取918“cookies”。该提取的“cookies”然后被保存920。典型地,“cookies”被存储在中间服务器内提供的中心存储器或与中间服务器有关的或被耦合到中间服务器的其它存储器。在操作920后,以及当确定在响应中不存在“cookies”时的判断916后,在响应的标题内的URL被修正922。
然后判断924确定该响应是否是要被修正的一种类型。这里,通常,响应可以是具有各种各样的形式,诸如HTML、图形、pdf、MPEG或其它格式。当判断924确定该响应是不能被修正的一种类型时(例如。图形),则响应可以立即被发送(或转发)926给请求者。然后,判断928确定响应是否完成。当判断928确定响应是完成时,web资源请求处理过程900返回到重复进行判断914和以后的操作,这样,可以处理附加的WEB资源请求。作为替代,当判断928确定至今只要一部分响应被发送到请求者时,web资源请求处理过程900返回到重复进行判断914和以后的操作等等,这样,响应的以后的部分可以类似地被处理。
另一方面,当判断924确定该响应可被修正的一种类型时(例如,HTML),则响应在把它返回到请求者之前被处理,以便修正响应。图9C上显示的处理过程代表可被执行来修正响应的处理过程的一个实施例。具体地,判断932确定工具条是否为想要的。中间服务器可被配置成总是、有时、或决不插入工具条。工具条可被标准化或由中间服务器定做。当判断932确定工具条是想要时,把工具条HTML插入到响应中。由工具条HTML产生的工具条可以提供被加到最终得到的响应的控制或内容,以便实现由中间服务器提供的特性或功能。
接着,可以修正936在响应的HTML部分内的某些URL。在一个实施例中,对于某些URL的修正可以通过修正在最终得到的HTML的某些标签内的URL的主机名称部分而实现。在另一个实施例中,对于某些URL的修正可以通过给某些URL添加下标而实现。下标因此用来允许URL承载附加信息。而且,由在最终得到的HTML内的描述语言部分提供的或产生的某些URL可被修正938。描述语言的例子包括JavaScript和Vbscript。在一个实施例中,由在最终得到的HTML内的描述语言部分提供的或产生的某些URL的主机名称部分可被修正938。在另一个实施例中,由描述语言部分提供的或产生的某些URL被修正938成包括带有补充信息的下标。有关修正描述语言部分的附加的细节在下面参照图13A和13B被提供。此后,把修正的响应发送940到请求者。
然后,判断942确定请求是否完成。当判断942确定请求已完成时,则web资源请求处理过程900完成和结束。另一方面,当判断942确定请求还没有完成时,则web资源请求处理过程900返回到重复进行判断914和以后的操作,以使得处理过程的其余部分可以在接收后类似地处理。web资源请求处理过程900因此可运行来处理对于在多个数据段或块中的资源请求的单个响应。在这样的情形下,web资源请求处理过程900可以在来自远端服务器的响应到达时处理该响应,以使得不妨碍对请求者的响应。在这方面,web资源请求处理过程900使得对于与响应有关的每个数据段或块重复进行操作914-942。
图10显示按照本发明的一个实施例的信息检索系统1000的图。信息检索系统1000通常类似于图1A的信息检索系统100或图1B的信息检索系统150。下面对于显示按照一个实施例的它的操作的代表性例子讨论信息检索系统1000的操作。信息检索系统1000包括客户1002、带有数据存储器1006的中间服务器1004、和远端服务器1008。假设图3的请求处理过程300已经执行,以及允许请求者已寻求的方式访问请求的资源。
代表性例子涉及到安全请求,它可以通过用户在web浏览请求的内容中在显示的网页上选择超链而被发起。选择的超链假设为:https://secure.danastreet.com/quote/msft:danainfo:host=www.xyz.com其中“https”是使用安全套接层(SSL)的协议,“secure.danastreet.com”是主机名称,“danastreet.com”是域,而“secure”是子域,“quote/msft”是到通过超链选择而请求的特定的资源的路径,“danainfo”是关键字,以及“www.xyz.com”是被请求的资源所处的主机。因此,主机名称“secure.danastreet.com”的域名查找被分解为danastreet.com的IP地址,它例如是中间服务器1004。该请求然后从客户1002发送到中间服务器1004。该请求例如为如下:
得到/quote/msft:danainfo:host=www.xyz.com HTTP/1.0
     Host:secure.danastreet.com
     Cookie:DSID=123xyzxbc
其它信息可被包括在请求内,诸如附加cookies,编码接受的,等等。cookies在本例中是会话cookies(会话识别号)以及在确定客户1002是否被审定用于中间服务器1004中被使用。
在安全请求的情形下,在请求内的主机名称不能直接识别请求基本上要被传递到的远端服务器1008。然而,用于远端服务器1008的主机名称是从随请求一起被提供的信息得到的。更具体地,信息(即,主机变量)作为下标随请求被提供。在本例中,下标包括远端服务器1008的主机名称是“www.xyz.com”的信息。一旦得到适当的主机名称,就执行主机名称(“www.xyz.com”)的域名查找。接着,打开来自中间服务器1004和远端服务器1008的连接(或如果已经打开则保持),以及可任选地执行安全握手。然后可以得到在与主机名称和请求者有关的数据存储器1006中的任何的cookies。接着,由中间服务器1004发送请求到远端服务器1008。该请求例如为如下:
得到/quote/msft HTTP/1.0
     Host:www.xyz.com
     Cookie:xyzUserID=sam
其它信息也可被包括在请求内。应当指出,随原先的请求一起提供的cookies涉及到中间服务器1004,因此不随请求一起被转发到远端服务器1008。
远端服务器1008接收请求,以及返还一个响应标题和请求的资源的某些或全部内容。示例性响应可以具有以下的格式:
HTTP/1.0200 OK
设置cookie:xyzuserID=Samual,有效期=01-Jul-2002
内容类型:文本/html
内容长度:2000
位置:https://www.xyz.com/quote/msft
<HTML>
**
</HTML>
由于响应包括要被设置的cookie,设置cookie命令从响应中去除,然后被保存到数据存储器1006。接着,如果它们存在,则在标题内的URL被修正为指向中间服务器1004。在本例中,位置标题包括全部路径(包括主机名称),即,https://www.xyz.com/quote/msft,它因此被修正为https://secure.danastreet.com/quote/msft:danainfo:host=www.xyz.com,SSL。在本例中,不仅主机名称被修正,而且变量也被加到URL的末尾(即,下标)。被加上的变量信息是主机服务器具有请求的资源的指示和SSL指示符。通过本例,相对的URL需要被修正为包括在相对的URL的末尾处的变量信息(“danainfo:host=www.xyz.com”)。用于相对的URL的主机名称被工作在客户端1002的浏览应用程序适当地提供,这使得当前的主机名称(“secure.danastreet.com”)被使用于这样的路径。如果想要的话,可以把工具条插入到HTML数据中,实现由中间服务器1004支持的操作或功能。再者,在最终得到的HTML内某些标签内的URL或由描述语言产生的那些URL被修正为指向中间服务器1004。
例如,如果HTML数据包括以下的超链:
      <a ref=https://www.xyz.com/quote/msft>
则超链可被修正为如下:
      <a ref=https:Hsecure.danastreet.com
      /quote/msft:danainfo:host=www.xyz.com,SSL>
另外,如果HTML数据包括以下的相对超链:
      <a ref=a.html>
则超链可被修正为如下:
     <a ref=a.html:danainfo:host=www.xyz.com,SSL>
应当指出,在URL的末端(即,下标)提供的变量信息不需要在实际的末端。这里,下标被使用来通常表示域名的右面。事实上,变例信息可被放置在URL中各种不同的位置(甚至在域名的左面)。例如,如果原先的超链本身具有诸如跟随在字符“?”或“#”后面的变量,则变例信息(“danainfo:host=www.xyz.com”)在一个例子中可被放置在表示原先的变量的字符“?”或“#”的前面。例如,如果HTML数据包括以下的超链:
<a ref=https://www.xyz.com/quote/msft?color=red>
则超链可被修正为如下:
     <a ref=https:Hsecure.danastreet.com
/quote/msft:danainfo:host=www.xyz.com?color=red>
另外,如果HTML数据包括以下的相对超链:
     <a ref=a.html?x=1234>
则超链将被修正为如下:
     <a ref=a.html:danainfo:host=www.xyz.com?x=1234>
作为再一个例子,如果HTML数据包括以下的相对超链:
     <a ref=a.html,port=1234>
则超链将被修正为如下:
     <a ref=a.html:danainfo:host=www.xyz.com,port=1234>
图11是按照本发明的一个实施例的URL修正处理过程1100的流程图。URL修正处理过程1100例如是由图9C的操作936执行的处理过程。URL修正处理过程1100例如可以由图2A所示的内容变换器216或图2B所示的内容变换器278执行。
URL修正处理过程1100从选择1102在响应的HTML部分(例如,网页)内的目标URL开始。典型地,一个或多个目标URL以前通过扫描HTML数据被识别。然后,判断1104确定目标URL是否为相对URL。相对的URL呈现它的源URL的特性。源URL是与包括目标URL的网页(包括最终得到的HTML)有关的URL。当判断1104确定目标URL是相对URL时,则来自源URL的主机名称和/或下标被附着1106到目标URL上。
作为替代,当判断1104确定目标URL不是相对URL时,则判断1108确定目标URL是否与源请求(例如,HTTPS)有关。当判断1108确定对于目标URL的请求是源请求时,则把源指示符(例如,HTTPS)加到1110目标URL。另一方面,当判断1108确定目标URL与源请求无关时,则操作1110被旁路。
在操作1110后以及直接在当目标URL与源请求无关时的判断1108后,则随目标URL一起提供的主机名称被加到目标URL的另外地方。例如,随目标URL一起提供的主机名称被附着到目标URL。然后,随目标URL一起提供的原先的主机名称用预定的主机名称代替1114。换句话说,为目标URL原先提供的主机名称实际上被重写,以使得原先的主机名称用预定的主机名称代替,但原先的主机名称保持目标URL的部分。例如,预定的主机名称是用于适当的中间服务器的主机名称。
接着,判断1116确定端口号是否在目标URL中规定的。当判断1116确定端口号是在目标URL中规定时,则端口号下标被加到1118目标URL。跟随在主机名称后面的、在目标URL中原先规定的端口号被去除1120。
在操作1120后,URL修正处理过程1100执行判断1122。另外,当判断1116确定端口号不是在目标URL中规定时,不需要端口号处理,然后执行判断1122。判断1122确定是否还有要处理的目标URL。正如以前指出的,这些目标URL以前通过扫描最终得到的HTML数据被识别。当判断1122确定还有目标URL时,则URL修正处理过程1100返回重复进行操作1102和以后的操作,这样,附加的目标URL可被处理。作为替代,当判断1122确定不再有目标URL时,则URL修正处理过程1100完成和结束。
图12是按照本发明的一个实施例的描述语句修正处理过程1200的流程图。描述语句修正处理过程1200例如通过图9C所示的操作938被执行。通常,描述语句修正处理过程1200用来修正在最终得到的HTML内的描述语句部分。
描述语句修正处理过程1200一开始扫描1202HTML数据(例如,最终得到的HTML的)寻找<script>标签。然后判断1204确定是否找到<script>标签。当判断1204确定没有找到<script>标签时,则判断1206确定是否还有要扫描的HTML数据。当判断1206确定还有要扫描的HTML数据时,则描述语句修正处理过程1200返回重复进行操作1202和以后的操作。作为替代,当判断1206确定不再有要扫描的HTML数据时,则描述语句修正处理过程1200完成和结束。
另一方面,当判断1204确定找到<script>标签时,则搜索1208该描述语句,以定位后面跟随主机名称的文本串“http://”或“https://”。然后,判断1210确定通过搜索1208描述语句是否找到URL主机名称。当判断1210确定没有找到URL主机名称时,则判断1212确定是否到达描述语句的末尾。当判断1212确定还没有到达描述语句的末尾时,则描述语句修正处理过程1200返回重复进行操作1208和以后的操作。作为替代,当判断1212确定已到达描述语句的末尾时,则描述语句修正处理过程1200返回重复进行操作1202和以后的操作,这样,可以找到和处理附加的描述语句。
另一方面,当判断1210确定找到URL主机名称时,则产生1214重写的主机名称。在描述语句内提供的主机名称然后用重写的主机名称代替1216。在操作1216后,描述语句修正处理过程1200返回重复进行操作1208和以后的操作,这样,可以类似地处理描述语句内的附加的主机名称。
图13A和13B是按照本发明的另一个实施例的描述语句修正处理过程1300的流程图。描述语句修正处理过程1300例如通过图9C所示的操作938被执行。通常,描述语句修正处理过程1300用来修正在最终得到的HTML内的描述语句部分。
描述语句修正处理过程1300一开始扫描1301 HTML数据(例如,最终得到的HTML的)寻找<script>标签。然后判断1302确定是否找到描述语句。当判断1302确定找到描述语句时,则分析该描述语句,以确定或定位与该描述语句有关的预定的特性和功能。然后判断1306确定在描述语句中是否找到至少一个特性或功能。当判断1306确定已找到至少一个特性或功能时,则描述语句修正处理过程1300继续进行,描述语句相对于在描述语句内找到的特性或功能被修正,这样,即使在中间服务器被插入在客户装置与远端服务器之间时,描述语句仍按所希望的那样操作。
具体地,对于在描述语句内找到的每个特性或功能,处理过程为如下。判断1308确定在描述语句内找到的选择的特性或功能是否涉及到cookie特性的读出。当判断1308确定所识别的特性或功能确实涉及到cookie特性的读出时,则cookie特性的读出用得到cookie功能调用代替1310。作为替代,当判断1308确定所识别的特性或功能不是cookie特性的读出时,以及在操作1310后,判断1312确定识别的特性或功能是否涉及到cookie特性的写入。当判断1312确定识别的特性或功能确实涉及到cookie特性的写入时,cookie特性的写入用设置cookie功能调用代替1314。
另一方面,当判断1312确定所识别的特性或功能与cookie特性的写入无关时,以及在操作1314后,判断1316确定识别的特性或功能是否涉及到发起请求的特性的写入。当判断1316确定识别的特性或功能确实涉及到发起请求的特性的写入时,则发起(引起)请求的特性的写入用设置URL功能调用代替1318。作为替代,当判断1316确定识别的特性或功能不涉及到发起请求的特性的写入时,以及在操作1318后,判断1320确定识别的特性或功能是否涉及到从返回URL的特性的读出。当判断1320确定识别的特性或功能确实涉及到从返回URL的特性的读出时,则从返回URL的特性的读出用适当的字符串代替1322。
而且,在当识别的特性或功能不涉及到从返回URL的特性的读出时的判断1320后,以及在操作1322后,判断1324确定在描述语句中是否还找到仍旧需要被处理的特性或功能。当找到需要处理的附加的特性或功能时,描述语句修正处理过程1300返回到重复进行判断1308和以后的操作,以使得附加特性或功能可被类似地处理。另一方面,当判断1324确定在描述语句内找到的所有的特性或功能已被处理时,则描述语句修正处理过程1300执行判断1326。当判断1302确定没有找到描述语句时,也执行判断1326。判断1326确定是否还有要扫描的HTML数据。当判断1326确定还有要扫描的HTML数据时,则描述语句修正处理过程1300返回到重复进行操作1301和以后的操作。作为替代,当判断1326确定不再有要扫描的HTML数据时,则描述语句修正处理过程1300完成和结束。
下面提供得到cookies功能、设置cookies功能、设置URL功能、和字符串替换的代表性例子。这些例子被提供来帮助了解,因此不应当在本发明的任何方面被看作为限制。以下的例子使用JavaScript作为描述语言。
关于得到cookies功能和操作1310的第一例为如下。在本例中,描述语句包括描述语句指令
    var c=document.cookie;
它把与文件(页)有关的cookies指定给变量c。这个描述语句指令可以用以下指令代替
    var c=get cookies(“othercookie=abc”);
它指定在中间服务器上存在的cookies,用于文件(页)的特定的域和特定的用户(例如,“othercookie=abc”)。另外,得到cookies功能取来自中间服务器的cookies作为它的自变量,以及把由描述语句设置的其它cookies加到它上面。
关于设置cookies功能和操作1314的第二例为如下。在本例中,描述语句包括描述语句指令
   document.cookie=“selection=ijk;expires=...”;
它把与文件(页)有关的cookies存储在浏览器。这个描述语句指令(表述)用以下指令代替
document.cookie=set_cookie(“<domain>”,“selection=ijk;expires=...”;);
它把与文件(页)有关的cookies存储在浏览器,并且还存储在中间服务器。设置cookie功能包括两个自变量(arguments)。第一自变量表示具有描述语句的页的域。第二自变量是原先被指定给document.cookie特性的数值。设置cookie功能组合这两个自变量,以及设置没有有效期的被称为servercookieX的cookie,其中X代表区分的数字值。浏览器使得这个cookie被发送到中间服务器。中间服务器然后把cookie合并到用于用户的cookie存储装置。cookie也可被使用来使得在用于用户的cookie存储装置中的现有的cookie期限终了。一旦cookie被存储在中间服务器,该中间服务器返回的下一页就将使得servercookieX超时,因为不再需要它。对于设置cookie功能的任何调用也将添加在servercookieX内提供的任何cookie数值。
为了进一步说明,考虑以下的例子,其中来自www.xyz.com的页具有以下描述语句:
document.cookie=“a=b”;
var c=document.cookie;
还假设服务器以前把cookie返回到具有带有数值“sam”的名称“id1”的中间服务器。以上的代码将被变换成:
document.cookie=set cookie(“www.xyz.com”,“a=b”);
var c=get cookie(“id 1=sam”);
第一行将使得cookie“servercookie0”被设置为具有数值“a=b-domain=www.xyz.com”,因此整个cookie将是:
servercookie0=a=b-domain=www.xyz.com.
应当指出,servercookie0的域部分纯粹被中间服务器使用,这样。它知道哪个域正在设置cookie。第二行调用得到cookie功能,取它的第一自变量(在描述语句被重写时由中间服务器填入),以及检查在浏览器处的所有的servercookie0的cookie。它级联第一自变量与任何的servercookie0cookie,以及返回结果:
id 1=sam;a=b.
应当指出,如果它没有被重写则这是从原先的页返回的相同的结果。
关于设置URL功能和操作1318的第三例为如下。设置URL功能用来修正引起请求的特性。在本例中,描述语句包括描述语句指令
   document.location=“http://www.xyz.com/foo.html”;
它把浏览器引导到新的页。这样的描述语句指令可以用以下指令代替
   document.location=set URL
  “”,“http://www.xyz.com/foo.html”);
设置URL功能调用取两个自变量。第一自变量由中间服务器填入,在描述语句被重写和包含跟随在URL后的、通常被提供在下标(例如,“danainfo”)中的任何参数。它并不总是需要的,正如下面说明的。第二自变量是URL,虽然它实际上可以是装配或返回URL的描述语句表示式(例如,功能调用)。
设置URL功能检查被设置的URL,以及把它重写成把浏览器引导到中间服务器的形式。如上所述,对URL的修正可以通过各种不同的技术达到。
如果页使用主机名称修正技术,则相对URL不需要被修正,因为主机名称安全必须的信息。如果URL是全URL,则设置URL功能具有它需要变换URL的所有的信息。例如,可以把下标(如“:danaInfo:host=xxx”)附着到URL。因此,如果描述语句出现在其上的页使用主机名称修正技术,则设置URL功能不需要第一自变量。
作为替代,如果其上存在描述语句的页使用URL下标技术,则被传送到设置URL功能的相对URL需要具把同的下标加到它上面。在这种情形下,中间服务器将把需要被传送的任何自变量作为设置URL功能的第一自变量插入在下标中。例如,如果页的URL是:https://secure.danastreet.com/quote/msft:danaInfo:host=www.xyz.com以及在页上的描述语句指令包括:
   document.location=“/quote/ibm”;
则重新写的描述语句指令将为:
document.location=set URL(“Host=www.xyz.com”,“/quote/ibm”);
以及从设置URL功能返回的结果是:
   /quote/ibm:danaInfo:host=www.xyz.com
这将导致来自浏览器的对于以下的请求:
https://secure.danastreet.com/quote/ibm:danaInfo:host=www.xyz.com
作为替代,如果描述语句指令被代替:
   document.location=“https://www.abc.com/info/msft”;
则重写的描述语句指令将为:
document.location=set URL(“Host=www.xyz.com”,
“https://www.abc.com/info/msft”);
以及从设置URL功能返回的结果是:
https://secure.danastreet.com/info/msft:danaInfo:host=www.abc.com.
应当指出,在这种情形下,不需要对于设置URL功能的第一自变量,因为第二自变量是完整的URL,包含了对于构建最后的URL必须的所有的信息。
应当指出,有许多功能或特性,当被写入时,可以使得浏览器获取URL。某些例子包括:
window.open(‘url’,...)
form.action=‘url’;
document.location=‘url’;
document.location.replace(‘url’);
image.src=‘url’;
关于得到字符串替换和操作1322的第四例为如下。字符串替换用来修正返回URL的特性。这里,从返回URL的特性读出的描述语句指令用恒定的字符串代替。在本例中,如果描述语句包括
    var url=document.location;
则将用以下指令代替
    var url=“http://www.yahoo.com/foo.html”;
这个操作用来保证检查它的环境的任何的描述语句不会被以下事实弄混淆:页的实际的URL与它预期的样子不同。应当指出,有一个以上的需要修正的特性。可被这样修正的特性的某些例子包括:
document.location(返回全部URL)
document.domain(只返回URL的主机名称部分)
图14是按照本发明的一个实施例的电子邮件请求处理过程1400的流程图。电子邮件请求处理过程1400例如适合于用作为图6的方块628执行的电子邮件请求处理过程。
电子邮件请求处理过程1400一开始接受1402与邮件客户的安全连接。这里,在邮件客户与中间服务器之间的、正在被接受的安全连接例如可以通过使用安全套接层(SSL)被作为安全的。接着,促使1404请求者被鉴权。典型地,促使1404请求者输入可被使用来鉴权请求者的至少一个密码。然后,判断1406确定是否接收到密码。典型地,但不是必须地,所接收的密码以某种方式被编码。例如,常常利用以64为基的编码。当判断1406确定已接收到密码时,则密码可被分离1408成邮件服务器密码和鉴权服务器密码。作为例子,接收的密码可包括由密码分隔符分开的邮件服务器密码和鉴权服务器密码。
接着,电子邮件服务器试图验证1410邮件服务器密码。大约同时,鉴权服务器密码可以由鉴权服务器试图进行验证1412。接着,判断1414确定方块1410和1412的验证是否成功。当判断1414确定两个验证是成功时,则存储1416密码的散列版本。然后执行与电子邮件请求有关的邮件操作处理过程1418。另一方面,当判断1414确定两个验证是不成功时,则电子邮件请求被拒绝1420。在操作1418和1420后,电子邮件请求处理过程1400完成和结束。
图15是按照本发明的一个实施例的邮件操作处理过程1500的流程图。邮件操作处理过程1500例如是可以由图14所示的方块1418执行的处理过程的一个例子。
邮件操作处理过程1500从确定连接是否过时或关闭的判断1502开始。这里,连接是指在邮件客户与中间服务器之间的安全连接。当判断1502确定安全连接已过时或关闭时,则到邮件服务器的邮件访问被拒绝1504。因此,在方块1504后,当安全连接已过时或关闭时邮件操作处理过程完成和结束。然而,处理过程可以继续返回登录页给请求者,迫使请求者登录和被鉴权,以便达到访问邮件服务器。
另一方面,当判断1502确定现有的连接没有过时或关闭时,则判断1506确定是否接收到来自邮件客户的命令。当判断1506确定没有接收到来自邮件客户的命令时,则邮件操作处理过程1500返回到重复进行判断1502和以后的操作,直至接收到来自邮件客户的命令为止或直至连接已过时或被关闭为止。
一旦判断1506确定接收到来自邮件客户的命令,则该命令就被转发1508到邮件服务器。接着,判断1510确定是否从邮件服务器接收到响应。当判断1510确定还没有从邮件服务器接收到响应时,则邮件操作处理过程1500等待这样的响应。一旦判断1510确定已接收到响应,则在响应内的某些通用资源定位器(URL)被修正1512。例如,作为内容变换的一部分,链路或URL能够被修正来重新引导通过中间服务器的链路。接着,响应被发送1514到邮件客户。这里,响应通过使用在邮件客户端与中间服务器之间存在的连接被发送到邮件客户。在方块1514后,邮件操作处理过程1500返回到重复进行判断1502和以后的操作,以使得可以对于邮件服务器处理附加命令。
图16是按照本发明的一个实施例的鉴权处理过程1600的流程图。鉴权处理过程1600代表图14所示的方块1412的一个实施例。在这个实施例中,当某些条件满足时,中间服务器能够旁路或避免用鉴权服务器实际验证密码。通过这样做,在许多情形下,可以非常快速地执行鉴权,而不需要麻烦或打扰请求者。
鉴权处理过程1600从确定存储的散列的密码是否可用的判断1602开始。当散列的密码以前被存储时(图14的操作1416),散列的密码以后可以在这方面被检索和使用。因此,当判断1602确定存储的散列的密码是可用时,则存储的散列的密码、上次被鉴权的时间和上次使用密码的时间被检索1604。典型地,这些数值被存储在与中间服务器有关的数据存储器,以及是对于请求者特定的存储的数值。
接着,判断1606确定接收的密码的散列是否等于存储的散列的密码。当判断1606确定接收的密码的散列等于存储的散列的密码时,则请求者实际上被鉴权,因为在会话早期它们输入可被鉴权的正确的密码。而且,判断1610确定自从上次被鉴权以来的时间是否大于最大会话持续时间。这里,把表示自从上次鉴权以来消逝的持续时间的变量与最大会话持续时间进行比较。典型地,最大会话持续时间被请求者设置或被中间服务器的系统管理员设置。
无论如何,当判断1610确定自从上次被鉴权以来的时间没有超过最大会话持续时间时,则判断1612确定自从上次使用密码的时间以来的时间是否超过最大空闲时间。这里,把表示自从上次使用密码的时间以来消逝的持续时间的变量与最大空闲时间进行比较。当判断1612确定自从上次使用密码的时间以来的时间超过最大空闲时间时,则由鉴权服务器进行的鉴权1614被认为是成功的,而不必与鉴权服务器互动。因此,当接收的密码的散列等于存储的散列的密码时,只要自从上次鉴权以来的时间不超过最大会话持续时间以及只要自从上次使用密码的以来的时间不超过最大空闲时间,相对于鉴权服务器的鉴权能够被旁路。
另一方面,当指定的条件不存在时,密码用鉴权服务器验证1608。例如,当判断1602确定存储的散列的密码是不可用时,则执行用鉴权服务器的验证1608。同样地,当判断1606确定接收的密码的散列不等于存储的散列的密码时,则也需要执行用鉴权服务器对于密码的验证1608。再者,当判断1610确定自从上次被鉴权以来的时间超过最大会话持续时间时,或当判断1612确定自从上次使用密码以来的时间超过最大空闲时间时,则需要用鉴权服务器验证1608密码。
在操作1608和1614后,鉴权处理过程1600返回到执行其它处理过程,即,返回到图14所示的操作1414。因此,当因为上述的专门条件存在,验证1608能够被旁路时,鉴权处理过程被大大地简化,以及常常避免相对于鉴权服务器执行复杂的鉴权处理过程或促使请求者输入鉴权信息的需要。
图17A和17B显示可以按照本发明的某些实施例被使用的计算机系统的例子。计算机系统例如相应于客户机、中间服务器、或远端或专用服务器的任一项。图17A显示包括显示器1723、屏幕1725、机柜1727、键盘1729和鼠标1731的计算机系统1721。鼠标1731可以具有一个或多个按钮,用于与图形用户接口互动。机柜1727装载可拆卸的媒体(例如,CD-ROM)驱动器1733、系统存储器和硬盘驱动器(见图17B),它们可被用来存储和检索引用实施本发明的某些实施例的计算机代码的软件程序、用于本发明的某些实施例的数据等等。虽然CD-ROM 1735被显示为示例性计算机可读的存储媒体,但可以利用包括软盘、磁带、DVD、快闪存储器、系统存储器和硬盘驱动器的其它计算机可读的存储媒体。另外,在载体中(例如,在包括互联网的网络中)体现的数据信号可以是计算机可读的存储媒体。在一个实施例中,用于计算机系统1721的操作系统被提供在系统存储器、硬盘驱动器、CD-ROM 1735或其它计算机可读的存储媒体,以及用来引用实施本发明的某些实施例的计算机代码。
图17B显示被使用来执行本发明的实施例的处理过程的计算机系统1721的系统框图。如图17A所示,计算机系统1721包括监视器1723、键盘1729、和鼠标1731。计算机系统1721还包括诸如中央处理器1751、系统存储器1753、固定存储装置1755(例如,硬盘驱动器)、可拆卸的存储装置1757(例如,高密度盘)、显示适配器1759、声卡1761、扬声器1763、和网络接口1765那样的子系统。中央处理器1751例如可以执行计算机程序代码(例如,操作系统),以实施本发明的某些实施例。操作系统在它执行期间通常,但不是必须地,位于系统存储器1753。适合于本发明的某些实施例使用的其它计算机系统可包括附加的或较少的子系统。例如,另一个计算机系统可包括一个以上的处理器1751(即,多处理器系统)或超高速存储器。
计算机系统1721的系统总线结构由箭头1767代表。然而,这些箭头是说明用来链接子系统的任何互联方案。例如,本地总线可被利用来把中央处理器连接到系统存储器和显示适配器。图17A所示的计算机系统1721仅仅是适合于本发明的某些实施例使用的计算机系统的例子。也可以利用具有不同的子系统配置的其它计算机结构。
虽然所描述的实施例是指信息检索系统内单个中间服务器的使用,但应当看到,信息检索系统也可以包括多个中间服务器。各种不同的中间服务器可以各个地接收来自客户机的请求和把它们转发到适当的服务器以及把响应通过中间服务器返回到客户机。通过具有多个服务器,不单可以得到附加的处理功率,而且也可以解决负荷平衡、容错和本地化问题。
图18是某些实施例的框图。某些实施例包括至少客户端部分,某些实施例包括至少服务器端部分,以及某些实施例包括每个部分的至少一个部分。图18显示客户网络1810,它在本例中包括客户机、远端网络1840、--它在本例中包括操作特许服务器--和耦合客户网络1810与远端网络1840的互联网1890。客户机包括1810包括客户端-服务器应用程序中的客户端应用程序1812,诸如Win32应用程序;分层业务供应程序(LSP)1814;名称空间供应程序(NSP)1815;会话管理程序1816;和Winsoek API 1818。移动网络1840包括客户端-服务器应用程序中的服务器应用程序1842;DNS服务器1844、和中间服务器1846。中间服务器1846包括daemon 1848。会话管理程序1816和daemon 1848通过互联网1890经由通信协议1850(例如,通过端口)通信。会话管理程序1816可被称为通信协议客户。在许多实施例中,中间服务器可被看作为远端网络的端口。
某些实施例被称为安全应用管理程序。安全应用管理程序的某些实施例在客户与操作特许资源之间在网络级别上分开,所以更加安全。
安全应用管理程序的某些实施例包括客户软件,例如基于Win32的软件,它可以安全地通过中间服务器按每个应用和/或按主机透明地重新引导网络连接到企业客户/服务器应用程序资源。例如中间服务器的管理员可以配置某些实施例,保护某些或所有的访问来自客户端应用程序的操作特许资源。客户端应用程序的某些例子是电子邮件应用、合同管理应用、或预订应用,诸如Outlook;客户端企业资源规划应用程序,诸如SAP R/3客户端;客户端应用业务软件,诸如Citrix ICA;浏览器,诸如Internet Explorer等等。
某些实施例重新引导视窗套接层内的网络连接请求,它可包括一个或多个以下项:Winsock动态链路库、Winsock 2动态链路库、应用编程接口、分层业务供应程序(LSP)、用于分层业务供应程序的业务供应程序接口、名称空间供应程序(NSP)、名称空间供应程序接口、输送业务供应程序接口、和输送业务供应程序。
图19显示包括Winsock应用程序和视窗套接层的实施例。图19显示Winsock应用程序1910、Winsock API 1915、Winsock DLL 1920、Winsock输送SPI和名称空间SPI 1930、LSP SPI 1935、LSP 1836和1938、输送业务供应程序1945(显示的TCP/IP输送业务供应程序和IPX/SPX输送业务供应程序)、和名称空间供应程序1955(显示的DNS名称空间供应程序和IPX名称空间供应程序)。
图20显示包括Winsock应用程序和视窗套接层的另一个实施例。图20显示Winsock 2应用程序2010、Winsock 2 API 2015、Winsock2 DLL 2020、Winsock 2输送SPI 2030、Winsock 2名称空间SPI 2040、输送业务供应程序2050、和名称空间供应程序2060。
客户软件可被下载和被发送(例如,从可以在中间服务器上存在的Active-X控制)。LSP和NSP可被安装在系统中。源应用管理程序代理可被下载和发送(例如,由Active-X控制)。
在1990年代早期,几个软件销售商共同合作和购买第一个标准化的与视窗的TCP/IP连接性,熟知地称为Winsock。通过这个软件的成功,销售商发现许多应用,用于挂钩到网络业务流,以及开始挂钩、链接、和代替Winsock DLL。这提供用于监视、修正或重新引导网络业务的解决方案。然而,缺乏做到这一点的标准方法造成视窗平台上许多兼容性问题。
在1990年代中期,Winsock论坛创建了Winsock 2技术规范。这个新的API的某些目标是:支持更多的Win 32 I/O机制,诸如重叠的和基于事件的I/O,协议依赖性,这样,多个销售商可以插入任何类型的与Winsock API的网络协议,以及用于挂钩Winsock调用(LSP)的机制标准化。
微软在1996年随着Windows NT 4.0发布了第一个采用Winsock-2的OS,以后发布了Windows 98,发布Windows 95更新,把较老的系统升级为Winsock2。
起初Winsock-2和销售商LSP实施方式是轻便型的,以及基于这些的产品具有很有限的成功。今天在2003年,Winsock-2框架已稳定,以及基于LSP的几个产品证明了这种技术。
Winsock-2不单将应用编程接口(API)标准化,而且将用于输送和名称空间供应程序的业务供应程序接口(SPI)标准化。另外,框架支持输送供应程序的分层,aka.LSP。实际的Winsock DDL由微软实施,以及任何销售商免费实施输送和名称空间供应程序和把它们安装到系统。被写入到传统的Winsock-1 API(例如,winsock.dll,wsock32.dll,二者被称为Winsock动态链路库)的应用被转换成新的Winsock-2API(ws2 32.dll,也称为Winsock动态链路库)。
分层的业务供应程序(LSP)可以在视窗中使用,它提供LSP结构,允许应用把传统的输送业务延伸到TCP/IP堆栈。如果有被安装在客户机上的LSP业务,则在客户机上运行的Win32应用程序可自动装载LSP业务。LSP业务然后可以截取某些或所有的调用到Winsock调用,以及可以加上附加的定制的输送机制。它可以监视、修正、和/或重新引导网络数据和/或来自Winsock API的事件。通过获取在这个级别上的网络业务,LSP可用留存在调用的应用方面,以及可以完全访问它的处理信息。可以有访问应用级别数据,而没有TCP和/或IP级别标题信息。
LSP业务可截取业务,诸如来自配置的应用表(例如,在中间服务器)的某些或所有的套接连接调用,以及通过会话管理程序,诸如通过使用通信协议的HTTPS安全地发送例如惯用的或标准协议。类似地,NSP可管理用于来自来自配置的应用表(例如,在中间服务器)的目的地主机名称的DNS队列,以及通过会话管理程序,诸如通过使用通信协议的HTTPS安全地发送例如定制的或标准的协议。
为了管理会话时间到和/或同时管理其它访问机制,LSP业务可自动选择忽略(把它直接传送到Winsock API)打算给主机的业务,它可以是从其下载客户侧部分的主机的IP地址,即使在浏览器被配置成经由安全应用管理程序被保护的应用时。
某些实施例包括动态链路库,诸如可输出函数WSPStartup()的Win32 DLL。安装器可以登记LSP和描述分层的协议和相对于其它LSP的次序的一个或多个协议链。当应用装载Winsock库时,Winsock可调用LSP的WSPStartup()函数。这时,LSP可以把它的SPI输入点返回到Winsock目录或以上被放置在链中的LSP。LSP可以把下一个供应程序装载到链中,以及执行相同的输入点交换。链可以在被称为基本输送供应程序的输送供应程序处结束。这时,可以把调用分发到和来自核心中的TDI协议驱动程序。
LSP可以基于由微软提供的参考实施方式。
LSP协议键安装/卸载码可以通过使用易于合并到安装器的自登记函数DIIRegisterServer()和DIIUnregisterServer()被实施在同一个DLL。其它实施例可以在多个DLL中被实施。
名称空间供应程序(NSP)可以对于给定的名称空间执行名称分辨。对于TCP/IP名称空间,微软实施方式可以执行DNS分辨。NSP包括动态链路库,诸如可输出函数NSPStartup()的Win32 DLL。类似地,安装器可以登记NSP。Winsock可以按需要装载NSP以及交换输入点。当NSP被分层时,例如多个NSP被安装共享相同的名称空间,在Winsock-2中性能是未规定的。
NSP可以截取DNS查找表,把DNS请求中继到安全的远端网络。LSP可以截取Winsock connect()调用,以重新引导某些或全部外出的TCP连接到安全应用管理程序代理。安全应用管理程序可以具有多个操作模式。在一个模式中,诸如应用代理模式,LSP装载到行政管理当局选择的应用组,以及把在这些应用内的某些或所有的连接重新引导到中间服务器。在另一个模式,诸如目的地代理模式,LSP装载到某些或所有的处理,以及根据行政管理当局选择的目的地主机、地址和/或端口的名单重新引导。
NSP可以被安装以及与微软DNS供应程序共存。安全应用管理程序NSP可以安全地将DNS请求中继发送到远端网络。微软Winsock-2实施方式以它们在登记中枚举的次序调用每个供应程序。返回导致询问的非空项的第一个供应程序结束循环,以及认为它是正确的响应。NSP可以通过使用Winsock-2配置API已特定的方式被安装,以及可以通过交换在登记中枚举的密钥的名称而在寄存器中重新排序。
微软可以改变这种表现的方式。另一个实施例分析和欺骗DNS请求。然而,分析和欺骗来自LSP的原始的DNS业务,将增加跟踪哪个应用正在发出DNS请求的困难以及损害按每个应用执行主机名称查找的能力。
NSP输入点可以在与LSP相同的DLL中被实施,以保持安装简单和轻便。其它实施例实施多个DLL。
NSP安装/卸载码可以通过使用易于合并到安装器的自登记函数DIIRegisterServer()和DIIUnregisterServer()被实施在同一个DLL。其它实施例实施多个DLL。
安全应用管理程序可以是非视窗的Win32应用程序,它可以执行一个或多个以下的操作:管理到中间服务器的连接、执行对于NSP的DNS请求、管理端口用于LSP的端口映射、从中间服务器检索安全应用管理程序配置数据、以及保持重新引导表。
会话管理程序(通信协议客户端)例如可以是诸如Win32客户端那样的客户端(在某些情形下,基于Active-X),它可以接受来自LSP业务的某些或所有的业务和/或可以通过使用通信协议把业务转发到中间服务器。会话管理程序例如在查找表地址(127.0.0.1,127.0.0.2等等)上收听经由LSP业务安全的、一个、某些、或全部目的地主机。
会话管理程序可以在系统架中运行,以及可以把安全应用的名单显示在客户端应用程序上。对于每个工作的应用,会话管理程序也可以类似于现在已有的会话管理程序显示诸如发送/接收的字节数的会话的状态。
通信协议可以通过使用HTTPS会话仿真TCP套接连接。每个套接连接可以通过使用两个半双工HTTPS会话(上游和下游)被仿真。通信协议可以允许会话管理程序保护在SSL上从客户/服务器应用程序发起的某些或所有的业务。通过在HTTPS上发送,通信协议可以通过代理和防火墙工作。
单工作者线程(在一个实施例中,多线程或处理)可以处理这些任务,而分开的请求线程(在另一个实施例中,相同的线程或不同的处理)可以处理从LSP和/或NSP进入的请求。请求线程可使得响应时间最小化,避免在作出请求的客户端应用程序中的不必要的阻塞。由工作者线程执行的某些或全部任务可以是不同步的,使得一个线程对于所有的任务是足够的。如果由于单个线程处理任务而引起任何性能问题,则某些任务可被卸载,诸如到不同的工作者线程。
安全应用管理程序可以例如在中间服务器从被嵌入在网页中的Active-X控制被发出。SSL会话鉴权可以由诸如Internet Explorer那样的浏览器处理。当安全应用管理程序代理被发出时,它可以试图建立到中间服务器的连接。它可以通过中间服务器主机的名称和当前的会话cookie来完成这一工作。Active-X控制可以通过使用例如具有对于存储器和mutex的以下的名称的存储器映射文件把主机和cookie写入到共享的存储器区域。
<name><communication protocol>:PageInformation:SharedMemory
<name><communication protocol>:PageInformation:Mutex
当得到这个共享的存储器区域时,被存储在位置处的数据具有一种格式,诸如:
数据格式:<session cookie>+‘\0’+<ivehostname>+‘\0’
数据参数可被传送到通信协议API,用于建立通信协议会话。在会话时间到的情形下,通信协议API可以告知安全应用管理程序代理,它可以例如经由弹出最常见的会话框询问用户:用户是否希望重新连接还是退出安全应用管理程序。如果用户选择重新连接,则安全应用管理程序代理可以打开新的窗口,诸如Internet Explorer窗口,到安全应用管理程序页,它可迫使登录和重新发出安全应用管理程序代理的另一个事例。代理的新的事例可以检测以前的事例和通知它,告诉它重新连接到中间服务器。新的事例可以在通知以前的事例后退出。
通过建立的中间服务器会话,安全应用管理程序代理可以通过新的通信协议命令下载配置数据。数据可以以诸如由‘;’分开的名称=数值对那样的形式下载到安全应用管理程序代理。示例性的配置字符串可以看起来像:
“opmode=0;exitmode=0;apps=outlook.exe|Microsoft Outlook|28cb48bd8f,telnet.exe,netscp*;dests=10.10.3.0/8”
如果安全应用管理程序可被配置成运行在目的地代理模式,IP地址/掩码/端口组合可被附着到用于静态重新引导的重新引导表。主机名称可以在运行时间被放置在分开的表,DNS查找结果可被放置在重新引导表,用于根据与主机有关的地址重新引导和/或把与IP地址有关的主机传送到通信协议连接调用。
工作者线程可以接收来自共享存储器队列的DNS请求以及把请求传送到中间服务器。当得到结果时,它可被返回到在请求中规定的LSP响应队列。如果中间服务器无法分辨主机名称,则可以从NSP返回空的结果,该NSP可以允许微软DNS提供者执行查找。
端口映射请求在它发起连接之前从LSP到达。安全应用管理程序代理可以找到可用的本地地址和端口,诸如返回环路地址和端口,以便联编和返回到LSP而同时记录联系。LSP然后可发起到这个返回环路地址和端口的连接。当安全应用管理程序代理接收连接指示时,它可发起到中间服务器的连接。当连接被成功地建立时,可用接受来自返回环路地址的进入的地址。一旦连接被建立。状态机就可以根据例如Winsock API和/或通信协议API的同步10特性处理端口映射的数据。
安全应用管理程序可以使用一系列用于端口映射的返回环路地址,在127.1.0.1开始和在127.1.255.254结束。有许多选择返回环路地址的方式。在一个实施例中,安全应用管理程序首先可以试图联编开始地址127.1.0.1和目的地端口。如果这个地址已在使用,则它可试图联编下一个地址127.1.0.2。这可继续进行,直至它找到要联编的可用的地址。在所有的65k地址在给定的端口上正在使用的情形下,它可以在127.1.0.1开始,试图联编到替换的端口号。
用户接口可被构建为分开的Win32。这个实施方式可以与安全应用管理程序代理断开,使得用户接口实施方式从无窗口安全应用管理程序代理的约束条件下释放。微软基础类别可以实施用户接口。它可作为带有系统架图标的隐藏的应用发出。选择(例如,右击图标)可以上拉菜单。用户接口可以通过选择(例如,双击图标,选择从右手点击菜单打开)被打开。
为了给予用户哪些应用是安全和不是安全的感知,DLL,诸如分开的DLL,可以使用Win32状态挂钩来解译用于每个处理过程的WMPAINT消息。挂钩可提供可见的记号,诸如通过例如把状态图标写入到每个窗口的右上方,表示应用是否安全地连接到中间服务器。状态信息可以来自于读出由安全应用管理程序代理创建的共享的存储器区域。
LSP可被正确地安装到系统,以便处理锁定的文件,版本,和/或卸载。
Active-X控制可以在从中间服务器服务的浏览器内运行。控制可以下载、解压缩、和/或运行程序和/或与安全应用管理程序有关的安装。它可被使用于网络连接和安全应用管理程序。它发出的应用可以是可以描述语句的;例如,Vbscript可以传送程序名称到用于下载、解压缩和/或发出的控制。
中间服务器daemon处理从会话管理程序接收的某些或所有的业务。daemon又可建立到企业中的目的地主机的套接连接和可以代表客户端应用程序发送/接收数据。daemon也可以联系DNS服务器,用于初始主机名称分辨用于运行在客户的LSP/会话管理程序。
中间服务器安全应用管理程序可以具有一个或多个功能。
1.所有的基于TCP的客户/服务器可被支持,诸如不包含服务器发起的连接的应用。
2.某些实施例可以支持应用程序,诸如Outlook,Lotus Notes,和/或NetBIOS代理(访问窗口映射的网络驱动)。
3.某些实施例可以在诸如Internet Explorer的视窗平台和浏览器上被支持。
4.某些实施例可以工作在诸如拨号、宽带和/或来自客户机的LAN情形的所有的互联网访问模式。
5.某些实施例可以通过客户端代理服务器和防火墙,诸如允许在端口443上的SSL业务,而工作。
6.某些实施例支持第三方端点安全性产品。具有应用级别访问的某些实施例可以从安全客户机被使用。某些实施例在发出工作级别访问会话之前通过个人防火墙,诸如完全安全性,Sygate等等工作。
中间服务器可以支持与在初始版本的“完全安全性”销售商的合并。规定的登记设置值可以在客户机上被检验,以确信某些处理过程在发出会话之前运行。
这里是用于支持“完全安全性”/ZoneAlarm合并的例子:
1.网络客户检验以下登记密钥的存在
HKEY_LOCAL_MACHINE\SOFTWARE\Zone Labs
HKEY_CURRENT USER\Software\Zone Labs
2.网络客户然后检验限于ZoneAlarm exe的运行处理过程。
某些实施例通常实施足够的合并,以使得管理员可以规定销售商名称和相关的登记密钥/处理过程名称,以及可被保密应用管理程序客户支持。
以下的一个或多个项目可以是管理员要求。
1.安全应用管理程序可以是组级别特性。管理员可以限制访问安全应用管理程序的用户,诸如,通过基于中间服务器组的政策。
2.管理员可以在模式中配置安全应用管理程序特性,诸如应用级别访问、只访问特定的目的地主机、和/或只访问特定的目的地主机和端口。
2.A.对于应用级别访问,管理员可以规定需要安全的应用名单,例如sapR3.exe,outlook.exe,ie.exe等等。NetBIOS代理可被处理为专门的应用,诸如具有关键字“netbios”。
对于一个或多个应用程序,管理员可以规定以下的一个或多个可执行的路径(例如,用于可执行的完全的路径,诸如“%systemRoot\Program Files\SAP\sap r3.exe”,友好的说明(例如,SAP R/3客户,和/或可执行的名称的缺省值)),对于由源应用管理程序LSP为了安全性原因强加的可执行应用程序的可任选的MD5校验和值名单,以及从客户端应用程序安全的可任选的目的地主机/端口名单。
2.B.对于只访问特定的目的地主机,管理员可以规定需要安全的目的地主机名单。安全应用管理程序可以自动安全打算用于在某些或所有的TCP端口、UDP端口、和/或应用版本号上的这些目的地主机的某些或所有的业务。
目的地主机可以由以下的一个或多个项目代表:单个IP地址或IP地址范围;目的地主机名称或主机名称表。主机名称可以使用通配符表示法,诸如*和?,其中*表示用于任何数目的字符的图案以及?表示用于单个字符的图案。如果IP地址被规定和有来自应用的对于主机名称的参考,则源应用管理程序可以检验主机表的IP地址在IP地址范围中。源应用管理程序可以支持对于主机名称的至少单向DNS查找支持。
目的地主机可以是主机名称或IP地址。对于主机名称,可以支持通配符。目的地主机可以用代表具有格式10.10.0.0/255.255.0.0的子网的掩码规定。
2.C.对于访问特定的目的地主机和端口,管理员可以规定需要安全的目的地主机和端口名单。安全应用管理程序可以自动安全打算用于这些目的地主机和端口的业务。
3.管理员可以选择访问用于同一个组的其它中间服务器功能,诸如网络浏览、文件、telnet/ssh等等。
4.管理员可以配置用于一个组的安全应用管理程序。Java对安全应用管理程序(例如,ActiveX)版本的配置可以根据客户操作系统(例如,非Windows到Windows)通过查看用户代理字符串被自动执行。
5.在某些实施例中,管理员可以为最终用户配置“自动发送”安全应用管理程序客户(诸如会话管理程序)。
6.管理员可以例如按组的原则选择“安全应用管理程序客户的自动完全清除(卸载)”。对于它的缺省值可被“禁止”,这可为最终用户提供卸载在安全应用管理程序会话管理程序上所有的部件的任选项。
7.管理员可以规定末端安全产品的合并,诸如“完整的安全性”。当被选择时,安全应用管理程序客户可以首先检验规定的软件包的存在以及查明白它在发送安全应用管理程序会话之前运行。如果用户机没有规定的软件或它没有在运行,则用户可以返回一个带有适当的说明的错误而不发送会话。
为了从LSP的每个事例向安全应用管理程序代理作出DNS和/或端口映射请求,必须有某种形式的处理过程间的通信。视窗具有许多带有依赖性的处理过程间通信类型。依赖于网络的处理过程间的通信可以造成重新进入LSP,以及创建无限环路。依赖于视窗的处理过程间的通信在对于它进入的线程和处理过程很少控制的LSP内可以是易于出错和锁死的。其余的选择不在许多微软平台上实施。
作为处理过程间的通信机制,存储器变换的文件可以没有依赖性,存在于许多平台上,以及可以是相当有效的。
为了执行从LSP到安全应用管理程序代理的在处理过程上的同步调用,可以使用多个队列(例如,两个队列)和Win32的NamedMutex。消息队列可以在存储器的相邻的块(存储器变换的文件)上实施。这个队列可以处理从头到尾的数据交换。队列可以具有一个发送者和一个接收者;两个这样的队列可被使用于请求/响应序列,诸如在具有已知的名称的系统上的请求队列的事例,每个具有独特的名称的LSP处理过程的响应队列的事例。Named Mutex可以处理到存储器的访问的同步。为了使得请求/响应序列同步,请求的线程当响应数据被排成队列时,可以等待来自响应于队列Mutex的信号。
图21显示多个队列。图22显示Winsock应用2110和LSP 2120、请求队列2130、响应队列2140、和安全应用管理程序代理2150。
存储器变换文件区域和/或Named Mutex每个需要已知的访问的名称。由于在同一个帐户下(或在例如Win9x的整个系统下)运行的处理过程可以访问这个存储器,如果名称是已知的话,所以可以设计额外的步骤使得它更难访问这个存储器。安全应用管理程序暴露的已知的存储器和Named Mutex名称可被使用来以加密格式存储真实的存储器和Named Mutex名称。真实的存储器和Named Mutex名称可以基于在运行时间生成的随机名称,诸如字符串‘:Shared Memory’和‘:Mutex’来表示它们各自的功能。
已知的共享存储器区域名称可被规定为如下:
<name>:AppProxy:StartupRequestQueue
<name>:AppProxy:DnsRequestQueue
<name>:AppProxy:PortmapRequestQueue
<name>:AppProxy:Statistics
<name>:AppProxy:APPTable
<name>:AppProxy:FlowTable
<name>:<communication protocol>:PageInfomationStartupRequestQueue、DnsRequestQueue、和PortmapRequestQueue的名称可以是在运行时生成的以及可以连同请求一起被传送的随机字符串。
一旦安全应用管理程序代理从<communication protocol>:PageInfomation区域读出会话cookie,它就可擦除cookie,以使得它不是总是“伸出”在存储器。
以下的伪代码显示安全应用管理程序代理可以如何从共享的存储器中读出会话cookie的一个方式。
               EnterReadLock("<name>:<communication
   protocol>:pageInformation:Mutex″)
        OpenSharedMemory("<name>:<communication
   protocol>:PageInformation:SharedMemory″)
        EncryptedMemoryName=ReadEncryptedMemoryName()
        CloseSharedMemory("<name>:<communication
   protocol>:PageInformation:SharedMemory″)
          LeaveReadLock ("<name>:<communication
     protocol>:PageInformation:Mutex″)
          DecryptedMemoryName=Decrypt(EncryptedMemoryName)
          EnterWriteLock(DecryptedMemoryName+":Mutex″)
          OpenSharedMemory(DecryptedMemoryName+":SharedMemory″)
          SessionCookie=ReadSes sionCookie()
          ClearSessionCookie
          CloseSharedMemory(DecryptedMemoryName+":SharedMemory″)
          LeaveWriteLock(DecryptedMemoryName+":Mutex″)
LSP可被安装在像通常的客户端应用程序的系统。如果LSP从Active-X下载区域被安装,则这些文件可以被Internet Explorer擦掉,留下破碎的网络结构。在重新引导情形下的锁定的文件和复制/删除可以像其它客户软件安装那样被处理。一个实施例的安装打包工具把LSP有关的文件压缩成自提取的exe。这个exe连同两个另外的一起可被转换为cab文件,用于Active-X下载器。
图22显示安装打包的例子。LSP,NSP和samsp.dll 2210、安装描述语句2214、和MS redist Sporder.dll 2218被压缩成self-extracting.EXE samsp.exe 2220,它被转换成samsp.cab 2230。SAMP代理samsve.exe 2240被转换成samsve.cab 2260。SAM UIsamui.exe 2250被转换成samui.cab 2270。标题条Tilterbar.exe 2280被cab成titlebar.cab 2290。
以下是安全应用管理程序的操作的一个例子。各种实施例可以加上、减去、重新安排、和/或修正操作的部分。
1.用户选择在中间服务器生成的网页上的安全应用管理程序。
a.Active-X控制下载和安装LSP、NSP
b.Active-X控制下载和发出安全应用管理程序代理
c.安全应用管理程序代理从中间服务器检索配置数据
d.如果在目的地模式操作,地址/掩码/端口组合可被写入到重新引导表。
2.用户通过处理过程发出新的应用,LSP,NSP负荷
a.应用从LSP发出StartupRequest(建立请求)到安全应用管理程序代理,以确定操作模式和/或这个应用是否应当被代理。
b.如果操作模式是应用代理以及这个应用没有列在表上,则LSP可以退出处理过程,NSP可以忽略DNS请求。
c.安全应用管理程序用户接口从application exe中提取图标和加到系统架中的表上。
3.应用程序发出DNS查找
a.NSP发出DNS请求到安全应用管理程序代理
b.安全应用管理程序代理发出DNS请求到中间服务器
i.如果这是中间服务器,则主机名称发出本地DNS查找,记录地址
c.DNS响应沿同一个路径返回,如果有的话
4.应用发出到IP地址的连接
a.LSP发出端口映射请求到安全应用管理程序代理
b.如果这个应用程序、相关的目的地主机名称、目的地地址/端口都处在重新引导表,则建立端口映射,以及返回本地地址/端口到LSP。
c.LSP发出由安全应用管理程序代理规定的到地址/端口的连接。
5.客户端应用程序关断连接和/或关闭套接字
a.安全应用管理程序代理接收Winsock关闭通知
b.安全应用管理程序代理关闭通信协议连接
c.安全应用管理程序代理关闭本地端口映射套接字
6.服务器关闭连接
a.安全应用管理程序代理接收通信协议关闭通知
b.安全应用管理程序代理关闭本地端口映射连接和套接
c.应用程序得到正常的Winsock关闭通知
7.退出应用程序
a.LSP发出ApplicationCleanup消息到安全应用管理程序代理,以便从工作表中去除当前的应用程序。
用户接口可包括部件,诸如系统架图标应用和Win32挂钩,用于显示诸如在每个应用的标题条中的安全应用管理程序状态。
某些实施例表征在最终用户的用户接口中的一个或多个以下项目。
1 根据基于中间服务器组的策略,最终用户仅仅在他们被允许时才可以在中间服务器中具有“安全客户端应用程序,,访问机制。安全客户端应用程序访问机制可以发出基于安全应用管理程序(诸如带有Active-X)的会话或Java会话管理程序,取决于管理员对于子组的配置。某些实施例许可最终用户诸如在Java与基于Active-X安全应用访问机制之间进行的选择,以及其它自动选择而不用用户选择。
2.用户可以选择其它中间服务器访问机制,诸如网络浏览、文件浏览、telnet/ssh等,连同安全应用管理程序,如果在中间服务器中这些对于用户的子组是能够进行的话。安全应用管理程序访问机制可以是在中间服务器上的附加访问机制。
3.安全应用管理程序客户下载可以是任何大小的。某些实施例在拨号连接时取约30秒或更小(诸如56Kbps)。安全应用会话管理程序的某些实施例在用户可以开始访问企业应用之前1分钟或更少的时间启动。
4.安全应用管理程序客户的安装合需要某些管理特许来安装部件。如果没有正确的特许,用户会被告知特许问题。用户合被促使提供正确的管理员凭证,以便安装安全应用管理程序客户部件。
5.安全应用管理程序会话管理程序可以显示统计特性,诸如由安全应用管理程序安全的客户表,和/或对于由安全应用管理程序安全的一个或多个客户端应用程序的状态。由安全应用管理程序安全的客户端应用程序表可以是管理员配置的、需要安全的应用的表。与这些客户端应用程序有关的图标可被显示。这些应用/图标可被选择(例如点击)来发出由客户端应用程序的安全版本。对于由安全应用管理程序安全的、一个或多个客户端应用程序,会话管理程序可以提供状态,诸如工作的(例如,用户发出应用),任选地具有用于这个应用的发送/接收字节数目,不工作的(例如,应用还没有发出),和错误(例如,会话的错误)。
6.安全应用管理程序会话管理程序可以在与发出安全应用管理程序的的用户相同的帐户特许下作为基础应用运行。用户可以选择(点击)系统架图标,观看安全应用管理程序会话的状态。
7.会话管理程序(例如,客户/服务器,安全应用管理程序会话管理程序,和/或网络连接)作为基础应用运行。
8.在客户端,在会话管理程序上的安全应用管理程序会话可以适度地关闭(关断和/或终结)。在关闭会话管理程序后,安全应用管理程序会话管理程序可以把机器自动恢复到清除状态。在某些情形下,在会话管理程序退出后,机器可被恢复到清除状态,在其它情形下,在机器被重新引导的下一个时间后,机器可被恢复到清除状态。
9.会话管理程序窗可以具有打开中间服务器窗口的任选项。
10.当用户会话时间到时,中间服务器用户经验可以类似于Java会话管理程序功能。安全应用管理程序会话管理程序可以显示诸如“错误”的状态以及可以有重新启动会话的任选项。选择(例如,点击)重新启动会话,例如可以打开新的浏览器,用于用户重新输入凭证。一旦用户登录到中间服务器,安全应用管理程序会话就可以被重新发送。在某些实施例中,会话管理程序可以促使用户通过打开登录的网页到中间服务器而在客户侧重新打印客户侧的凭证。用户可以继续进行现有的应用会话而不用关闭它们。
11.在安全应用管理程序客户端安装期间的错误,会话启动/恢复,和/或会话失败可以在诸如视窗事件记录(应用记录)的记录中和/或在会话管理程序的客户用户接口记录中被报告。
模块可以记录消息到文本文件,该文本文件可以位于与LSP相同的目录中(例如,%Program Files%\name\Application Prox\samlog.txt)。这个记录例如在来自系统架应用的要求后可被读出和显示。在卸载后,这个记录文件可被删除。
LSP可以以许多方式被更新。当前的LSP可被锁定到存储器以及不重新引导不可能用新的版本重写它。为了避免这种重新引导,如果安装器遇到锁定的文件,则它安装一个拷贝,许多被附着到末尾。例如,如果samsp.dll被锁定,则安装可以把samsp1.dll写入到安装目录,以及随之更新Winsock目录。老的dll可被加标志,用于在重新引导时删除。LSP的多个不同的版本可以在不同的应用内同时运行。
处理过程间通信消息通信和共享的存储器表标题可以包含版本号,用于在模块之间的后向兼容性。下载的、安装的、和/或运行的模块可以具有被嵌入在二进制文件中的版本号,用来确定何时需要升级。
许多视窗台式机软件不知道是安全环境,所以,大多数安全措施可以在中间服务器上执行。在客户侧可以努力防止用户把未授权的应用传送到安全环境。这方面的两个例子是任选的用于应用的校验和,和/或加密共享的存储器名称,以防止恶意的用户解译端口映射请求协议。
在用户接口中可以使用标准Win32本地化技术(例如,Unieode)。
因为连接可以通过诸如Internet Explorer的浏览器发起,某些实施例注意不尝试通过代理重新引导目的地为中间服务器的InternetExplorer业务。当安全应用管理程序代理被发出时,它例如可以从Active-X控制中检索中间服务器主机名称和/或地址。当应用发出DNS请求到网络连接请求主机名称时,可以执行本地DNS查找,以及结果被返回到应用。安全应用管理程序代理然后可以记录最终得到的地址。当应用发出到这些地址之一的连接时,某些实施例不重新引导这种连接。
为了LSP考虑影响和附着到处理过程。可以在LSP被安装到协议目录后发出应用的新的事例。中间服务器UI可以警告这个应用的用户。某些应用程序,诸如Internet Explorer,当窗口打开时,可能不总是创建新的处理过程。应用发出图标可被放置在系统架应用,以便发出Internet Explorer和保证创建新的处理过程。
如果LSP以前被安装在系统,则可以不必重新启动应用。
某些实施例依靠Active-X控制,该Active-X控制可能只通过基于Internet Explorer的浏览器起作用。其它实施例例如通过独立安装封装支持其它浏览器。
某些实施例支持安全的UDP和/或RAW IP业务。当安全应用管理程序运行在应用代理模式时,某些或所有的非TCP业务可以被LSP拒绝。
大多数联网的文件系统通过在核心中的文件系统驱动程序被实施,以及使用基于核心的TDI接口,用于重新引导文件系统请求到网络。这意味着LSP不明白这个业务。
微软为NetBIOS提供Winsock-2输送供应程序。如果应用是使用这个输送供应程序,则LSP可以明白NetBIOS业务。然而,视窗探索者不使用这个输送供应程序用于它的NetBIOS使用法。许多实施例具有LSP,它与其它基于LSP的产品互动。任何基于TCP的客户端-服务器应用程序将与安全应用管理程序的某些实施例一起工作。
通过返回环路地址的端口映射连接可以通过用于代理业务的某些实施例完成。网络数据造成额外的来回,从用户空间到核心和返回。某些视窗业务联系到Winsock不知道的返回环路地址和在核心中的端口。安全应用管理程序代理可以认为它成功地联系到返回环路地址和端口,而永不接收任何连接或数据,因为核心业务解译该请求。这方面的一个例子是微软远程台式机协议接手和控制127.0.0.1:3389,而不通知Winsock。
某些实施例创建在LSP与用于执行套接I/O的安全应用管理程序代理之间的处理过程间通信接口。这可以用Winsock-2输送供应程序数据和事件经由处理过程间通信通过另一个处理过程被实施。LSP然后可以用作为交换机,重新引导由安全应用管理程序安全的应用到新的输送供应程序。
安全应用管理程序可以支持网络浏览器,诸如Internet Explorer、Netscape、Opera等等。某些实施例使用Java或Netscape插入来从网页发出本来的Win32应用。
TDI挂钩驱动程序可以允许获取或重新引导某些或所有的NetBIOS业务。
通信协议可以支持基于UDP的应用。LSP和安全应用管理程序代理例如可以使用“UDP辅助”命令来建立在二者之间的UDP流。
通信协议可以支持进入的TCP连接。LSP和安全应用管理程序代理可以使用“联编的”命令来建立从代理到应用的进入的连接。
SOCKS可以支持UDP和进入的TCP连接。SOCKS可以在某些实施例中被支持。
一旦Active-X控制被下载和被安装到用于网络连接或安全应用管理程序的系统,网址就可以起草控制从它们本身的服务器下载和运行可执行文件。某些控制通过台址锁定控制,诸如通过限制它从特定的主机或域运行而处理这个问题。
某些实施例具有在控制与中间服务器之间的握手,以验证这是从真实的中间服务器起草的。
某些实施例执行一个或多个以下项目。下面的表单元可被修正、重新安排、添加和/或去除。
1.客户可以从网络浏览器登记到中间服务器。对于这个客户,中间服务器管理员可以通过使用基于中间服务器组的策略使能用于访问应用的中间服务器特性,为了说明起见,诸如SAP客户。
2.从客户选择发起会话,可以从中间服务器菜单发动安全应用管理程序会话。
3.安全应用管理程序客户(它可以是Active-X控制)可被下载,安装LSP业务在客户机上。在客户机上发动的新的应用可被装载以LSP业务。安全应用管理程序客户也可以作为系统架中的处理过程运行。如上所述,会话管理程序可以安全由用于配置的应用的LSP业务截取的某些或所有的业务。另外,会话管理程序可以显示某些或每个工作的安全应用管理程序会话的状态。
4.用户可以发动客户端应用程序,例如,SAP客户,连接到企业SAP应用资源。
5.当客户尝试连接到诸如sapserv1.mycompany.com的资源时,调用被NSP业务截取。
6.NSP业务然后通过通信协议把主机名称转发到中间服务器。
7.可以在中间服务器中运行的安全应用管理程序deamon(协议连接器业务),分辨在内部网络中主机名称,sapserv1.mycompany.com,以及把响应返回到安全应用管理程序客户。
8.安全应用管理程序客户根据来自中间服务器的成功的“分辨的”响应,可以例如通过自动供应可用的返回环路地址,诸如127.0.0.9自动配置端口转发信道。
9.安全应用管理程序客户然后把返回环路地址返回到应用。
某些实施例支持一个或多个以下项目:静止客户/服务器应用程序;基于动态和/或多端口TCP的客户/服务器应用程序;用于特定的客户/服务器应用程序的目的地主机名称、客户端口和/或服务器端口的表的技术规范;客户/服务器应用程序;客户/服务器端口转发;与制作端口、目的地主机地址等等的多余的技术规范的客户的合并;在单个端口和/或多个端口上的一个或多个应用和/或目的地主机;客户/服务器应用程序包括服务器发起的连接(例如,工作的FTP)和/或客户发起的应用;基于TCP和/或UDP的客户/服务器应用程序;企业流资源,诸如Window Media、Real、Quicktime、包括实况流;和企业实时合作应用程序和/或电子学习资源(诸如Netmeeting、同时音频/视频等等)。
安全应用管理程序可以定标为例如支持例如至少500或1000同时出现的用户。
某些实施例具有安全消息传送,诸如源MAPI和/或Lotus节点。
某些实施例安全客户/服务器应用程序,诸如静态端口客户/服务器应用程序。
安全使用TCP的某些或所有的客户/服务器应用程序和某些或所有的连接的安全应用管理程序的某些实施例从客户发起。
某些实施例具有集群支持,诸如操控会话时间到和/或同时操控其它中间服务器访问机制。LSP业务可自动选择忽略打算用于中间服务器主机(从其上下载安全应用管理程序的主机的IP地址)的业务,即使在IE被配置成经由安全应用管理程序被保密的应用时。
某些实施例具有对于基于UDP的应用和诸如SOCKS V5的协议的使用的支持,代替或除了通信协议以外。
某些实施例具有对于可包括诸如FTP的服务器发起的连接的、基于TCP的应用。诸如SOCKS V5的协议可被使用,代替或除了通信协议以外。
某些实施例具有与第三方销售商的合并,诸如病毒扫描和/或最终点安全产品。
对于进入的TCP连接的需要的一个例子是支持FTP n工作模式,它可以是在大多数实施方式中的缺省模式。这可以涉及到在客户机上的客户端应用程序。当应用在套接上收听时,它调用winsock API函数listen()。在LSP内,这个调用可被截取。发出一个请求到本地SAM代理,被称为“联编请求”。联编请求包括客户机被联系到的IP地址和端口。本地SAM代理又可发出联编请求到中间服务器,它可分配远端网络上的IP地址和端口,端口是由本地客户机上的客户端应用程序规定的端口。中间服务器可以收听在新分配的地址/端口上的进入的连接。当连接到达时,把进入的连接请求发回到客户机上的本地SAM代理,该本地SAM代理又把连接请求转发到客户正在收听的实际的地址和端口。在这个地址/端口(套接字)上来自远端网络的进入的数据然后被转发回客户的客户端应用程序以及反之亦然。如果在本地客户机上的客户端应用程序关闭TCP连接,则SAM代理可以把连接关闭消息发送到中间服务器,以断开连接。
如果在远端网络上的客户端应用程序关闭TCP连接,则中间服务器可以把连接关闭消息发送到本地机上的SAM代理,它又可断开与本地客户机上的服务器应用程序的TCP连接。
如果在客户机上的客户端应用程序关闭它正在收听的套接字,则分层的业务供应程序可以发送“联编关闭”消息到安全应用管理程序代理,它又可把请求转发到中间服务器,停止在该地址和端口上收听。
UDP应用可以是实时多媒体应用,诸如实时音频、cu-seeme、Voiceover IP等等。为了以通用方式支持UDP,UDP业务应当从客户发起。其它实施例支持非客户发起的UDP业务。
在LSP内,WSPSend()和WSPSendTo()调用可以在UDP套接上被截取。如果这是在这个地址/端口上看见的第一UDP业务,则可以从客户端应用程序发送“UDP流请求”到本地安全应用管理程序代理。本地安全应用管理程序代理又可把“UDP流请求”发到中间服务器。一旦这一过程完成,本地安全应用管理程序代理可分配本地返回环路地址和UDP端口用于客户端应用程序。在分层的业务供应程序内,一旦请求完成,新分配的地址在目的地参数上可以代替WSPSendTo()调用(或用于Winsock挂钩实施方式的sendto()),或在WSPConnect()调用期间用于连接的UDP套接API使用法(在Winsock挂钩实施方式中的connect())。
中间服务器可以实施UDP流定时器,如果在某个时间间隔后,在地址和端口上没有看见UDP业务,则它可断开它的“UDP流”客户联系。然后可以把发回到客户机上本地安全应用管理程序代理,它然后断开它的本地联系。由于UDP的无国籍特性,可以不发送通知到客户端应用程序。如果该应用在时间到时间间隔消逝后还要发送数据到UDP地址和端口,则可以发起新的UDP流请求。当数据在地址和端口上被发送时,UDP时间到时间间隔可被复位。
图23显示在本地网的客户计算机上的应用和输送驱动程序接口的框图。图23显示套接应用2310和NetBIOS应用2315。输送驱动程序接口客户包括套接仿真程序2330、NetBIOS仿真程序2334、和重新引导器、服务器2338等等。套接接口2320处在套接应用2310与套接仿真程序2230之间。NetBIOS接口2325处在NetBIOS应用2315与NetBIOS仿真程序2334之间。输送驱动程序(也称为输送供应程序)包括Appletalk输送驱动程序2350、NetBT输送驱动程序2352、Nbf输送驱动程序2354、TCP/IP输送驱动程序2356、和Nwlink输送驱动程序2358。输送驱动程序接口2340处在输送驱动程序接口客户与输送供应程序之间。
基于核心的TDI客户的某些例子是NetBIOS、NFS、MS远端台式协议、和微软互联网消息服务器。TDI客户可以使用Winsock用于名称分辨,在这种情形下,Winsock-2名称空间供应程序可以提供远端名称业务。其它网络应用,诸如NetBIOS,可以执行附加功能,诸如广播发现和/或在核心中生成的查找,在这种情形下,这些事件可以在核心中被截获和/或执行惯用处理。某些实施例可以具有一个或多个操作模式。一个模式可以是通用模式,在名称查找结果完成的情形下,Winsock名称空间供应程序可以把结果传送到驱动程序,用于滤除和重新引导。另一个模式可以具有对于应用或协议特定的定制的处理机。
图24显示通用操作模式。图上显示应用,诸如Explorer与IIS2410、名称空间供应程序2420、TCP/IP TDI客户,诸如NetBIOS和/或NFS 2430、TDI挂钩驱动程序2440、TCP/IP输送驱动程序2450、安全应用管理程序代理2460、和连到中间服务器的远端连接2470。
图25显示类似于图24的、但不牵涉名称空间供应程序的、具有定制的处理机的模式的框图。
如果应用程序在服务器上被标记为非Winsock应用程序,则可以执行DNS查找和/或把结果传送到TDI滤波器驱动程序。返回环路地址和端口可以被代理打开以及也被传送到驱动程序,这样,它可以修正目标地址,以重新将它的业务引导到中间服务器。
NetBIOS可被协议指定的处理器处理,因为它并不仅仅使用DNS。它可以执行使用WINS的广播发现(把UDP引导到服务器)和在LAN上的UDP广播。然后它可以通过使用WINS和/或UDP广播执行NetBIOS特定的主机名称分辨,后面是DNS。为了支持无接缝合并到微软视窗,协议特定的处理机可以在远端网络上执行网络发现请求。虽然NetBIOS在WINS和广播查找后会跌回DNS,但可以执行定制名称查找处理。通过定制名称查找处理,如果与等待时间到和跌回到DNS不同,而是使用NetBIOS名称分辨,则它是更有效的,以及NetBIOS DNS分辨可以通过在安全应用管理程序被用户发动之前启动的系统业务来执行,这会中断SAM的模型。
TDI挂钩驱动程序可以获取NetBIOS发现请求,制作请求的拷贝,和把它传送到安全应用管理程序代理,然后安全应用管理程序代理可以转发到中间服务器。从中间服务器返回的结果可在本地重发,以便客户发现结果。
中间服务器可以需要专门的协议处理机来支持广播发现和/或NetBIOS名称查找。处理机可以代表远端客户执行典型的NetBIOS任务和/或通过安全链路返还结果。
以下是NetBIOS的一个例子。这些步骤可被添加、去除、重新安排和/或修正。
1.管理员配置NetBIOS主机和/或要被远端地访问的地址
2.用户登录,配置被发送到客户
3.TDI挂钩驱动程序装载
4.安全应用管理程序代理装载,打开I/O信道给驱动程序
5.用户发出打开由NetBIOS名称共享的网络的请求
6.TDI挂钩驱动程序检测在已知的NetBIOS端口上的引导的WINS队列或广播请求
7.TDI挂钩驱动程序消费请求和经由ioctl传送到代理
8.代理通过滤波处理运行主机名称;如果找到匹配,则NetBIOS名称查找被转发到在中间服务器上的NetBIOS名称业务处理机。如果没有找到匹配,则在本地网上重发请求用于正常操作。
9.中间服务器执行WINS和/或广播名称查找,取决于远端网络配置。
10.代理接收NetBIOS名称查找响应
a.打开返回环路地址和端口,用于重新引导。
b.传递真实IP地址,端口+返回环路地址与端口到TDI过滤器驱动程序。
c.重发名称查找结果到客户端应用程序。
11.TDI过滤器检测在最终得到的目的地IP地址上的NetBIOS业务。
12.TDI过滤器用分配的返回环路地址和端口代替目的地IP地址,结果,TCP/IP堆栈发送数据到安全应用管理程序代理。
13.代理把NetBIOS转发到中间服务器。
图26显示方法实施例。在2610,接收网络连接请求。在2620,重新引导网络连接请求。在2630,把数据发送到中间服务器。方法可以允许安全远程访问远端网络。
网络连接请求可以在本地网上的计算机处被接收。网络连接请求可以由客户端-服务器应用程序中的客户端应用程序发起。客户端应用程序可以在计算机上。网络连接请求可包括在远端网络上的目的地。客户端-服务器应用程序中的服务器应用程序可以在远端网络上。
网络连接请求可以在计算机上的视窗套接层内被重新引导。这可包括通过名称空间供应程序(例如,被利用于在远端网络上的域名业务查找)和分层的业务供应程序(例如,被利用来从本地网络重新引导客户端应用程序的数据到远端网络)重新引导网络连接请求。网络连接请求可被重新引导到远离计算机的输送业务供应程序(例如,TCP/IP输送业务供应程序)。网络连接请求可被重新引导到远端网络中的中间服务器。中间服务器可以代表计算机执行网络连接请求。重新引导可以基于一个或多个以下项目:客户端应用程序的名称、客户端应用程序的校验和、客户端应用程序的版本、目的地的服务器、和目的地的端口。在重新引导之前,网络请求可以传递到以下的一个或多个:Winsock动态链路库和Winsock 2动态链路库。网络连接请求可以经由计算机上至少一个代理被重新引导到远端网络中的中间服务器。
客户端应用程序的数据可以从计算机被发送到中间服务器。安全套接层(SSL)可以加密在计算机与中间服务器之间的通信。客户端应用程序的数据可以从中间服务器被发送到服务器应用程序。各种实施例把客户端应用程序的数据从中间服务器发送到服务器应用程序,或通过实施例外面的软件或硬件而允许达到这一点。客户端应用程序的数据可以在发送客户端应用程序的数据到中间服务器之前至少通过计算机的本地地址和本地端口被发送。
在某些实施例中,可见的记号可被提供来表示在客户端应用程序与中间服务器之间的安全连接。名称空间供应程序和分层的业务供应程序可被自动安装在计算机上和/或从计算机卸载。
图27显示另一个实施例。在2710,接收网络连接请求。在2720,重新引导网络连接请求。在2730,从中间服务器接收数据。方法可以允许安全远程访问远端网络。
网络连接请求可以在本地网上的计算机处被接收。网络连接请求可以被发起到远端网络上的文件系统。网络连接请求可包括文件系统的名称。
网络连接请求可以通过使用在计算机上的输送驱动程序接口被重新引导,以及还可使用名称空间供应程序。重新引导可以获取网络文件系统业务。网络连接请求可被重新引导到远离计算机的输送驱动程序(例如,TCP/IP输送驱动程序)。网络连接请求可被重新引导到远端网络中的中间服务器。中间服务器代表计算机执行网络连接请求。重新引导可以基于一个或多个以下项目:目的地服务器和目的地端口。在重新引导之前,网络请求可以至少传递到输送驱动程序接口过滤器。
在计算机处可以接收来自中间服务器的文件系统的数据。安全套接层(SSL)可以加密在计算机与中间服务器之间的通信。文件系统的数据可以在中间服务器与远端网络的文件系统之间传送。各种实施例在中间服务器与文件系统之间传送文件系统的数据,或通过实施例外面的软件或硬件而允许达到这一点。
在某些实施例中,输送驱动程序接口可被自动安装在计算机上和/或从计算机卸载。
上述的某些实施例的各种方面、特性、实施例或实施方式可以单独地或以各种组合被使用。
某些实施例可以以软件被实施,但也可以以硬件或硬件与软件的组合被实施。本发明的某些实施例也可以被体现为在计算机可读的媒体上的计算机可执行的代码。计算机可读的媒体是可以存储数据的任何数据存储装置,这些数据可以在以后由计算机系统读出。计算机可读媒体的例子包括只读存储器、随机访问存储器、CD-ROM、DVD、磁带、光数据存储装置、和载体。计算机可读媒体也可被分布在网络耦合的计算机系统,这样,计算机可执行的代码以分布的方式被存储和被执行。
某些实施例的优点是多方面的。实施方式的不同的实施例可以产生一个或多个以下优点。某些实施例的一个优点是,中间服务器可被插入在远端服务器与客户端之间,以便进行安全访问。某些实施例的另一个优点是,由客户端请求的内容可被改变成把以后的客户请求引导到中间服务器,这又得到用于客户端请求的内容。某些实施例的再一个优点是,中间服务器可以通过使用由专用网提供的原来的鉴权来鉴权寻求访问专用网的资源的请求者。某些实施例的又一个优点是,安全远程访问专用网可以以合理的代价容易地提供给被授权的个人。
从上述说明可以看到某些实施例的许多特性和优点,从而得到所附权利要求所覆盖的本发明的某些实施例的所有这样的特性和优点。而且,由于许多修正和改变对于本领域技术人员是容易想到的,所以本发明并非限于如所显示和描述的精确的结构和操作。因此,所有的适用的修正方案和等价物可被限定在本发明的范围内。

Claims (39)

1.一种网络通信的方法,包括:
在本地网的计算机上接收网络连接请求,网络连接请求由客户端-服务器应用程序中的客户端应用程序发起,客户端应用程序在计算机上,网络连接请求包括在远端网络上的目的地,客户端-服务器应用程序中的服务器应用程序在远端网络上;
在计算机的视窗套接层内重新引导网络连接请求,网络连接请求被重新引导到远离计算机的输送业务供应程序,网络连接请求被重新引导到远端网络的中间服务器;以及
把客户端应用程序的数据从计算机发送到中间服务器,其中客户端应用程序的数据从中间服务器被发送到服务器应用程序。
2.权利要求1的方法,其中视窗套接层包括以下的一项或多项:Winsock动态链路库、Winsock 2动态链路库、应用编程接口、分层的业务供应程序、用于分层的业务供应程序的业务供应程序接口、名称空间供应程序、名称空间供应程序接口、输送业务供应程序接口、和输送业务供应程序。
3.权利要求2的方法,其中在视窗套接层内重新引导网络连接请求包括通过挂钩以下的一项或多项而重新引导网络连接请求:Winsock动态链路库和Winsock 2动态链路库。
4.权利要求2的方法,其中通过视窗套接层重新引导网络连接请求包括通过名称空间供应程序和分层业务供应程序重新引导网络连接请求。
5.权利要求1的方法,输送业务供应程序包括TCP/IP输送业务供应程序。
6.权利要求1的方法,还包括:
把客户端应用程序的数据从中间服务器发送到服务器应用程序。
7.权利要求4的方法,其中名称空间供应程序被利用来在远端网络上进行域名业务查找。
8.权利要求4的方法,其中分层业务供应程序被利用来把客户端应用程序的数据从本地网重新引导到远端网络。
9.权利要求1的方法,其中重新引导是基于以下的一项或多项:客户端应用程序的名称、客户端应用程序的检验和、客户端应用程序的版本、目的地的服务器、和目的地的端口。
10.权利要求9的方法,其中重新引导是至少基于客户端应用程序的名称。
11.权利要求9的方法,其中重新引导是至少基于客户端应用程序的检验和。
12.权利要求9的方法,其中重新引导是至少基于客户端应用程序的版本。
13.权利要求9的方法,其中重新引导是至少基于目的地的服务器。
14.权利要求9的方法,其中重新引导是至少基于目的地的端口。
15.权利要求2的方法,其中在重新引导之前,网络连接请求被传递到以下的一项或多项:Winsock动态链路库和Winsock 2动态链路库。
16.权利要求1的方法,其中网络连接请求经由计算机上的至少一个代理被重新引导到远端网络的中间服务器。
17.权利要求1的方法,其中客户端应用程序的数据在把客户端应用程序的数据发送到中间服务器之前通过计算机的至少本地地址和本地端口被发送。
18.权利要求1的方法,还包括:
提供可见的记号来表示在客户端应用程序与中间服务器之间的源连接。
19.权利要求4的方法,还包括:
将名称空间供应程序和分层的业务供应程序自动安装在计算机上。
20.权利要求4的方法,还包括:
从计算机自动卸载名称空间供应程序和分层的业务供应程序。
21.权利要求1的方法,其中该方法允许安全远程访问远端网络。
22.权利要求1的方法,其中安全套接层(SSL)加密在计算机与中间服务器之间的通信。
23.权利要求1的方法,其中中间服务器代表计算机执行网络连接请求。
24.一种网络通信的方法,包括:
在本地网的计算机上接收网络连接请求,网络连接请求被发起到远端网络的文件系统,网络连接请求包括文件系统的名称;
通过使用在计算机上的输送驱动程序接口重新引导网络连接请求,网络连接请求被重新引导到远离计算机的输送驱动程序,网络连接请求被重新引导到远端网络的中间服务器;以及
在计算机处接收来自中间服务器的文件系统的数据,其中文件系统的数据在中间服务器与远端网络的文件系统之间传送。
25.权利要求24的方法,其中网络连接请求的重新引导还使用名称空间供应程序。
26.权利要求24的方法,其中输送驱动程序包括TCP/IP输送驱动程序。
27.权利要求24的方法,其中在重新引导之前,网络连接请求至少通过输送驱动程序接口过滤器被传递。
28.权利要求24的方法,还包括:
在中间服务器与文件系统之间传送文件系统的数据。
29.权利要求24的方法,其中重新引导是基于以下的一项或多项:目的地服务器和目的地端口。
30.权利要求29的方法,其中重新引导是至少基于目的地服务器。
31.权利要求29的方法,其中重新引导是至少基于目的地端口。
32.权利要求24的方法,其中重新引导获取网络文件系统业务。
33.权利要求24的方法,还包括:
将输送驱动程序接口自动安装在计算机上。
34.权利要求33的方法,还包括:
从计算机自动卸载输送驱动程序接口。
35.权利要求24的方法,其中该方法允许安全远程访问远端网络。
36.权利要求24的方法,其中安全套接层(SSL)对在计算机与中间服务器之间的通信进行加密。
37.权利要求24的方法,其中中间服务器代表计算机执行网络连接请求。
38.一种用于网络通信的计算机代码,包括:
执行在本地网的计算机上接收网络连接请求的代码,网络连接请求由客户端-服务器应用程序中的客户端应用程序发起,客户端应用程序在计算机上,网络连接请求包括在远端网络上的目的地,客户端-服务器应用程序中的服务器应用程序在远端网络上;
执行在计算机的视窗套接层内重新引导网络连接请求的代码,网络连接请求被重新引导到远离计算机的输送业务供应程序,网络连接请求被重新引导到远端网络的中间服务器;以及
执行把客户端应用程序的数据从计算机发送到中间服务器的代码,其中客户端应用程序的数据被从中间服务器发送到服务器应用程序。
39.一种用于网络通信的计算机代码,包括:
执行在本地网的计算机上接收网络连接请求的代码,网络连接请求被发起到远端网络的文件系统,网络连接请求包括文件系统的名称;
执行通过使用在计算机上的输送驱动程序接口重新引导网络连接请求的代码,网络连接请求被重新引导到远离计算机的输送驱动程序,网络连接请求被重新引导到远端网络的中间服务器;以及
执行在计算机处接收来自中间服务器的文件系统的数据的代码,其中文件系统的数据在中间服务器与远端网络的文件系统之间传送。
CNB2004800113771A 2003-04-08 2004-04-08 安全访问带有客户端接收的专用网的方法 Expired - Fee Related CN100437530C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/410,619 2003-04-08
US10/410,619 US7631084B2 (en) 2001-11-02 2003-04-08 Method and system for providing secure access to private networks with client redirection

Publications (2)

Publication Number Publication Date
CN1781087A true CN1781087A (zh) 2006-05-31
CN100437530C CN100437530C (zh) 2008-11-26

Family

ID=33298314

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004800113771A Expired - Fee Related CN100437530C (zh) 2003-04-08 2004-04-08 安全访问带有客户端接收的专用网的方法

Country Status (5)

Country Link
US (3) US7631084B2 (zh)
EP (1) EP1616263B1 (zh)
JP (1) JP4734592B2 (zh)
CN (1) CN100437530C (zh)
WO (1) WO2004092905A2 (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101242336B (zh) * 2008-03-13 2010-12-01 杭州华三通信技术有限公司 远程访问内网Web服务器的方法及Web代理服务器
CN101436933B (zh) * 2007-11-16 2012-02-01 成都市华为赛门铁克科技有限公司 一种https加密访问方法、系统及装置
CN101582890B (zh) * 2009-06-09 2012-04-18 中国科学院计算技术研究所 实现x11客户端和x11服务器连接的方法及系统
CN103546574A (zh) * 2013-10-30 2014-01-29 中国航空工业集团公司第六三一研究所 一种基于静态配置表的机载嵌入式网络文件访问控制方法
CN103607374A (zh) * 2013-10-28 2014-02-26 中国航天科工集团第二研究院七〇六所 基于身份认证和数据包过滤技术的网络资源访问控制方法
CN105450674A (zh) * 2008-01-26 2016-03-30 思杰系统有限公司 用于配置和细粒度策略驱动web内容检测和重写的系统和方法
CN109587275A (zh) * 2019-01-08 2019-04-05 网宿科技股份有限公司 一种通信连接的建立方法及代理服务器
US10749972B2 (en) 2015-06-29 2020-08-18 Interdigital Ce Patent Holdings Method for locating a service and method for proposing a service and corresponding communication network devices, system, computer readable program products and computer readable storage mediums
CN112751870A (zh) * 2020-12-30 2021-05-04 湖南麒麟信安科技股份有限公司 一种基于代理转发的nfs安全传输装置及方法
CN113761401A (zh) * 2020-07-16 2021-12-07 北京沃东天骏信息技术有限公司 确定网站根域名的方法和装置

Families Citing this family (311)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
US7904187B2 (en) 1999-02-01 2011-03-08 Hoffberg Steven M Internet appliance system and method
US7774455B1 (en) * 2000-09-26 2010-08-10 Juniper Networks, Inc. Method and system for providing secure access to private networks
JP2002218218A (ja) * 2001-01-19 2002-08-02 Fuji Photo Film Co Ltd 画像合成装置
US7383329B2 (en) 2001-02-13 2008-06-03 Aventail, Llc Distributed cache for state transfer operations
US7360075B2 (en) 2001-02-12 2008-04-15 Aventail Corporation, A Wholly Owned Subsidiary Of Sonicwall, Inc. Method and apparatus for providing secure streaming data transmission facilities using unreliable protocols
US7353380B2 (en) 2001-02-12 2008-04-01 Aventail, Llc, A Subsidiary Of Sonicwall, Inc. Method and apparatus for providing secure streaming data transmission facilities using unreliable protocols
US20050198379A1 (en) 2001-06-13 2005-09-08 Citrix Systems, Inc. Automatically reconnecting a client across reliable and persistent communication sessions
US8239531B1 (en) 2001-07-23 2012-08-07 At&T Intellectual Property Ii, L.P. Method and apparatus for connection to virtual private networks for secure transactions
US7827292B2 (en) * 2001-07-23 2010-11-02 At&T Intellectual Property Ii, L.P. Flexible automated connection to virtual private networks
US7827278B2 (en) * 2001-07-23 2010-11-02 At&T Intellectual Property Ii, L.P. System for automated connection to virtual private networks related applications
US7631084B2 (en) * 2001-11-02 2009-12-08 Juniper Networks, Inc. Method and system for providing secure access to private networks with client redirection
US8285880B2 (en) * 2001-11-30 2012-10-09 Oracle International Corporation Servicing requests that are issued in a protocol other than the protocol expected by the service
US20030126159A1 (en) * 2001-12-28 2003-07-03 Nwafor John I. Method and system for rollback of software system upgrade
US20030154221A1 (en) * 2002-02-13 2003-08-14 Sun Microsystems, Inc. System and method for accessing file system entities
JP4018450B2 (ja) * 2002-05-27 2007-12-05 キヤノン株式会社 文書管理システム、文書管理装置、認証方法、コンピュータ読み取り可能なプログラム、及び記憶媒体
US7657616B1 (en) 2002-06-10 2010-02-02 Quest Software, Inc. Automatic discovery of users associated with screen names
US7428590B2 (en) 2002-06-10 2008-09-23 Akonix Systems, Inc. Systems and methods for reflecting messages associated with a target protocol within a network
US20080196099A1 (en) * 2002-06-10 2008-08-14 Akonix Systems, Inc. Systems and methods for detecting and blocking malicious content in instant messages
CA2488731A1 (en) 2002-06-10 2003-12-18 Akonix Systems, Inc. Systems and methods for a protocol gateway
US7818565B2 (en) * 2002-06-10 2010-10-19 Quest Software, Inc. Systems and methods for implementing protocol enforcement rules
US7774832B2 (en) * 2002-06-10 2010-08-10 Quest Software, Inc. Systems and methods for implementing protocol enforcement rules
US7707401B2 (en) * 2002-06-10 2010-04-27 Quest Software, Inc. Systems and methods for a protocol gateway
US7711539B1 (en) * 2002-08-12 2010-05-04 Netapp, Inc. System and method for emulating SCSI reservations using network file access protocols
US8244875B2 (en) * 2002-12-13 2012-08-14 ANXeBusiness Corporation Secure network computing
US8332464B2 (en) * 2002-12-13 2012-12-11 Anxebusiness Corp. System and method for remote network access
ES2348260T3 (es) 2003-01-31 2010-12-02 Visto Corporation Recuperacion asincrona de datos en tiempo real.
US7801964B2 (en) * 2003-02-14 2010-09-21 Whale Communications Ltd. System and method for providing conditional access to server-based applications from remote access devices
US7653911B2 (en) * 2003-09-05 2010-01-26 Alcatel-Lucent Usa Inc. Implicit interprocess communications (IPC) versioning support
US20050097199A1 (en) * 2003-10-10 2005-05-05 Keith Woodard Method and system for scanning network devices
ES2287534T3 (es) * 2003-10-24 2007-12-16 Telefonaktiebolaget Lm Ericsson (Publ) Medios y metodo para controlar la progresion de servicios entre diferentes dominios.
US7978716B2 (en) * 2003-11-24 2011-07-12 Citrix Systems, Inc. Systems and methods for providing a VPN solution
KR20070026331A (ko) * 2003-11-11 2007-03-08 사이트릭스 게이트웨이즈, 아이엔씨. 패킷이 필터링되어 있는 것 이외의 네트워크 프로토콜레이어에서 가상 사설망을 형성하기 위해 보안 통신 링크를설정하기 위한 시스템, 장치 및 방법
US20050108654A1 (en) * 2003-11-13 2005-05-19 International Business Machines Corporation Method, system and program product for processing requests in a web application
US7647631B2 (en) * 2003-12-10 2010-01-12 Hewlett-Packard Development Company Automated user interaction in application assessment
US8078739B1 (en) * 2003-12-29 2011-12-13 Cisco Technology, Inc. Solution for handling URL-substitution for data access in a private network architecture
TW200529623A (en) * 2004-01-14 2005-09-01 Nec Corp Communication encryption method, communication encryption system, terminal device, DNS server and program
US8126999B2 (en) 2004-02-06 2012-02-28 Microsoft Corporation Network DNA
US8583739B2 (en) * 2004-03-02 2013-11-12 International Business Machines Corporation Facilitating the sending of mail from a restricted communications network
US7653900B2 (en) * 2004-04-22 2010-01-26 Blue Coat Systems, Inc. System and method for remote application process control
US7480700B2 (en) * 2004-04-27 2009-01-20 Apple Inc. Method and system for retrieval and usage of remote entry points
US8495305B2 (en) 2004-06-30 2013-07-23 Citrix Systems, Inc. Method and device for performing caching of dynamically generated objects in a data communication network
US8739274B2 (en) * 2004-06-30 2014-05-27 Citrix Systems, Inc. Method and device for performing integrated caching in a data communication network
US7757074B2 (en) 2004-06-30 2010-07-13 Citrix Application Networking, Llc System and method for establishing a virtual private network
US7808906B2 (en) * 2004-07-23 2010-10-05 Citrix Systems, Inc. Systems and methods for communicating a lossy protocol via a lossless protocol using false acknowledgements
CN101199187A (zh) * 2004-07-23 2008-06-11 茨特里克斯系统公司 用于网络节点之间通信最优化的系统和方法
US8285855B2 (en) * 2004-08-02 2012-10-09 Microsoft Corporation System, method and user interface for network status reporting
US8437370B2 (en) 2011-02-04 2013-05-07 LiveQoS Inc. Methods for achieving target loss ratio
US9647952B2 (en) 2004-08-06 2017-05-09 LiveQoS Inc. Network quality as a service
US9189307B2 (en) 2004-08-06 2015-11-17 LiveQoS Inc. Method of improving the performance of an access network for coupling user devices to an application server
US8009696B2 (en) 2004-08-06 2011-08-30 Ipeak Networks Incorporated System and method for achieving accelerated throughput
US7953114B2 (en) * 2004-08-06 2011-05-31 Ipeak Networks Incorporated System and method for achieving accelerated throughput
KR20070083482A (ko) 2004-08-13 2007-08-24 사이트릭스 시스템스, 인크. 다수의 원격 액세스 서버를 통한 트랜잭션 무결성 유지방법
US8613048B2 (en) * 2004-09-30 2013-12-17 Citrix Systems, Inc. Method and apparatus for providing authorized remote access to application sessions
US20060075114A1 (en) * 2004-09-30 2006-04-06 Citrix Systems, Inc. In-line modification of protocol handshake by protocol aware proxy
US7748032B2 (en) * 2004-09-30 2010-06-29 Citrix Systems, Inc. Method and apparatus for associating tickets in a ticket hierarchy
US7711835B2 (en) 2004-09-30 2010-05-04 Citrix Systems, Inc. Method and apparatus for reducing disclosure of proprietary data in a networked environment
US20060080649A1 (en) * 2004-10-07 2006-04-13 Sharp Laboratories Of America, Inc. Object initializing for updating a system state
US7590732B2 (en) * 2004-10-08 2009-09-15 Telefonaktiebolaget Lm Ericsson (Publ) Enhancement of AAA routing originated from a local access network involving intermediary network preferences
US7298725B2 (en) 2004-10-08 2007-11-20 Telefonaktiebolaget Lm Ericsson (Publ) Enhancement of AAA routing initiated from a home service network involving intermediary network preferences
US7292592B2 (en) * 2004-10-08 2007-11-06 Telefonaktiebolaget Lm Ericsson (Publ) Home network-assisted selection of intermediary network for a roaming mobile terminal
US7551926B2 (en) * 2004-10-08 2009-06-23 Telefonaktiebolaget Lm Ericsson (Publ) Terminal-assisted selection of intermediary network for a roaming mobile terminal
US20060098623A1 (en) * 2004-11-08 2006-05-11 Christian Andrew D Voice data security method and apparatus
US7870202B2 (en) * 2004-12-03 2011-01-11 Clairmail Inc. Apparatus for executing an application function using a smart card and methods therefor
US7870201B2 (en) * 2004-12-03 2011-01-11 Clairmail Inc. Apparatus for executing an application function using a mail link and methods therefor
US7844674B2 (en) * 2004-12-03 2010-11-30 Clairmail Inc. Architecture for general purpose trusted personal access system and methods therefor
US8813216B2 (en) * 2004-12-16 2014-08-19 International Business Machines Corporation Network security protection
US8549149B2 (en) * 2004-12-30 2013-10-01 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP multiplexing
US8700695B2 (en) * 2004-12-30 2014-04-15 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP pooling
US8706877B2 (en) * 2004-12-30 2014-04-22 Citrix Systems, Inc. Systems and methods for providing client-side dynamic redirection to bypass an intermediary
US7810089B2 (en) 2004-12-30 2010-10-05 Citrix Systems, Inc. Systems and methods for automatic installation and execution of a client-side acceleration program
US8954595B2 (en) * 2004-12-30 2015-02-10 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP buffering
US20060156021A1 (en) * 2005-01-10 2006-07-13 Microsoft Corporation Method and apparatus for providing permission information in a security authorization mechanism
US8191115B2 (en) * 2005-01-10 2012-05-29 Microsoft Corporation Method and apparatus for extensible security authorization grouping
KR20070104566A (ko) * 2005-01-24 2007-10-26 사이트릭스 시스템스, 인크. 네트워크에서 동적으로 발생된 객체들의 캐싱을 수행하는시스템 및 방법
US8255456B2 (en) * 2005-12-30 2012-08-28 Citrix Systems, Inc. System and method for performing flash caching of dynamically generated objects in a data communication network
US20060168533A1 (en) * 2005-01-27 2006-07-27 Microsoft Corporation System and method for providing an indication of what part of a screen is being shared
US8024568B2 (en) 2005-01-28 2011-09-20 Citrix Systems, Inc. Method and system for verification of an endpoint security scan
US7661131B1 (en) 2005-02-03 2010-02-09 Sun Microsystems, Inc. Authentication of tunneled connections
US7565526B1 (en) 2005-02-03 2009-07-21 Sun Microsystems, Inc. Three component secure tunnel
JP2008532133A (ja) * 2005-02-24 2008-08-14 アールエスエイ セキュリティー インコーポレーテッド Dns偽装をするトロイの木馬を検出及び緩和するシステム及び方法
US8533473B2 (en) * 2005-03-04 2013-09-10 Oracle America, Inc. Method and apparatus for reducing bandwidth usage in secure transactions
US20060230278A1 (en) * 2005-03-30 2006-10-12 Morris Robert P Methods,systems, and computer program products for determining a trust indication associated with access to a communication network
US20060230279A1 (en) * 2005-03-30 2006-10-12 Morris Robert P Methods, systems, and computer program products for establishing trusted access to a communication network
US7689674B2 (en) * 2005-03-31 2010-03-30 Microsoft Corporation Selective exclusion of LSPs on a per-packet basis
US9363306B2 (en) * 2005-04-07 2016-06-07 Blackberry Limited Internet protocol loopback wireless data protocol converter
US20060242609A1 (en) * 2005-04-22 2006-10-26 Microsoft Corporation Sync manager UI and updated API
US20060238652A1 (en) * 2005-04-22 2006-10-26 Microsoft Corporation Sync manager UI and updated API
US7707223B2 (en) * 2005-04-28 2010-04-27 Cisco Technology, Inc. Client-side java content transformation
US20060265737A1 (en) * 2005-05-23 2006-11-23 Morris Robert P Methods, systems, and computer program products for providing trusted access to a communicaiton network based on location
US9621666B2 (en) 2005-05-26 2017-04-11 Citrix Systems, Inc. Systems and methods for enhanced delta compression
US8943304B2 (en) * 2006-08-03 2015-01-27 Citrix Systems, Inc. Systems and methods for using an HTTP-aware client agent
US9407608B2 (en) 2005-05-26 2016-08-02 Citrix Systems, Inc. Systems and methods for enhanced client side policy
US9692725B2 (en) 2005-05-26 2017-06-27 Citrix Systems, Inc. Systems and methods for using an HTTP-aware client agent
FR2887384B1 (fr) * 2005-06-21 2007-08-31 Exosec Soc Par Actions Simplif "procede et systeme pour proteger un systeme d'information constitue autour d'un reseau local"
US8799515B1 (en) * 2005-06-27 2014-08-05 Juniper Networks, Inc. Rewriting of client-side executed scripts in the operation of an SSL VPN
US7984493B2 (en) * 2005-07-22 2011-07-19 Alcatel-Lucent DNS based enforcement for confinement and detection of network malicious activities
US8745485B2 (en) * 2005-08-18 2014-06-03 Oracle International Corporation Extensible remote tag markup system and method
US7991916B2 (en) * 2005-09-01 2011-08-02 Microsoft Corporation Per-user application rendering in the presence of application sharing
US7568005B2 (en) * 2005-09-01 2009-07-28 Microsoft Corporation Enhanced application behavior in the presence of application sharing
RU2422886C2 (ru) * 2005-09-12 2011-06-27 Майкрософт Корпорейшн Обеспечение согласованного прохода брандмауэра, имеющего информацию о приложении
US8135741B2 (en) * 2005-09-20 2012-03-13 Microsoft Corporation Modifying service provider context information to facilitate locating interceptor context information
JP2007102780A (ja) * 2005-10-04 2007-04-19 Forval Technology Inc ブックマーク管理装置およびブックマーク管理方法
US20070121641A1 (en) * 2005-10-21 2007-05-31 Hovey Matthew N Method and system for network services with a mobile vehicle
EP1946217A2 (en) 2005-11-03 2008-07-23 Akonix Systems, Inc. Systems and methods for remote rogue protocol enforcement
EP1955159B1 (en) * 2005-11-12 2012-07-04 Logrhythm, Inc. Log collection, structuring and processing
US7653633B2 (en) * 2005-11-12 2010-01-26 Logrhythm, Inc. Log collection, structuring and processing
WO2007059169A2 (en) * 2005-11-15 2007-05-24 Clairmail Inc Media transfer protocol
US8078952B2 (en) * 2005-11-28 2011-12-13 Microsoft Corporation Site redirection
US8595814B2 (en) * 2005-12-13 2013-11-26 Google Inc. TLS encryption in a managed e-mail service environment
US8301839B2 (en) * 2005-12-30 2012-10-30 Citrix Systems, Inc. System and method for performing granular invalidation of cached dynamically generated objects in a data communication network
US7921184B2 (en) * 2005-12-30 2011-04-05 Citrix Systems, Inc. System and method for performing flash crowd caching of dynamically generated objects in a data communication network
US8108549B2 (en) * 2006-04-04 2012-01-31 International Business Machines Corporation Method for using the loopback interface in a computer system having multiple workload partitions
US9021027B2 (en) * 2006-04-20 2015-04-28 Cisco Technology, Inc. Techniques for alerting a user of unchecked messages before communication with a contact
US8935416B2 (en) 2006-04-21 2015-01-13 Fortinet, Inc. Method, apparatus, signals and medium for enforcing compliance with a policy on a client computer
US20070282802A1 (en) * 2006-05-09 2007-12-06 International Business Machines Corporation System, method and program to manage alternate bookmarks
US20070283028A1 (en) * 2006-06-01 2007-12-06 Microsoft Corporation Name Challenge Enabled Zones
US20070283170A1 (en) * 2006-06-05 2007-12-06 Kabushiki Kaisha Toshiba System and method for secure inter-process data communication
JP4867486B2 (ja) * 2006-06-12 2012-02-01 富士ゼロックス株式会社 制御プログラムおよび通信システム
US8601162B1 (en) * 2006-07-27 2013-12-03 Aol Inc. Sharing network addresses
US8869262B2 (en) * 2006-08-03 2014-10-21 Citrix Systems, Inc. Systems and methods for application based interception of SSL/VPN traffic
US8392977B2 (en) * 2006-08-03 2013-03-05 Citrix Systems, Inc. Systems and methods for using a client agent to manage HTTP authentication cookies
US8108525B2 (en) 2006-08-03 2012-01-31 Citrix Systems, Inc. Systems and methods for managing a plurality of user sessions in a virtual private network environment
US8495181B2 (en) 2006-08-03 2013-07-23 Citrix Systems, Inc Systems and methods for application based interception SSI/VPN traffic
US8561155B2 (en) * 2006-08-03 2013-10-15 Citrix Systems, Inc. Systems and methods for using a client agent to manage HTTP authentication cookies
US7953861B2 (en) * 2006-08-10 2011-05-31 International Business Machines Corporation Managing session state for web applications
JP4635983B2 (ja) * 2006-08-10 2011-02-23 ソニー株式会社 通信処理装置、データ通信システム、および方法、並びにコンピュータ・プログラム
WO2008031069A2 (en) * 2006-09-07 2008-03-13 Black Lab Security Systems, Inc. Method of monitoring network and internet connections in a real-time environment to detect unauthorized network connections and unauthorized network activity within a 32/64-bit microsoft pc or server operating system
DE102006051092B4 (de) * 2006-10-25 2008-11-27 Sirvaluse Consulting Gmbh Computergestütztes Verfahren zur ferngesteuerten Erfassung des Userverhaltens bei der Rezeption von Webseiten
AU2007315843B2 (en) * 2006-11-03 2013-01-17 Network Box Corporation Limited An administration portal
US8533846B2 (en) 2006-11-08 2013-09-10 Citrix Systems, Inc. Method and system for dynamically associating access rights with a resource
US8200764B2 (en) * 2006-12-19 2012-06-12 International Business Machines Corporation System and method for achieving highly scalable real-time collaboration applications using HTTP
US20080162724A1 (en) * 2006-12-29 2008-07-03 Nokia Corporation Direct domain name service query
US8255539B2 (en) * 2006-12-29 2012-08-28 Amadeus Sas System and method for extending sessions
US20090017789A1 (en) * 2007-01-19 2009-01-15 Taproot Systems, Inc. Point of presence on a mobile network
US8201218B2 (en) * 2007-02-28 2012-06-12 Microsoft Corporation Strategies for securely applying connection policies via a gateway
US8631147B2 (en) 2007-03-12 2014-01-14 Citrix Systems, Inc. Systems and methods for configuring policy bank invocations
US7870277B2 (en) * 2007-03-12 2011-01-11 Citrix Systems, Inc. Systems and methods for using object oriented expressions to configure application security policies
US7865589B2 (en) 2007-03-12 2011-01-04 Citrix Systems, Inc. Systems and methods for providing structured policy expressions to represent unstructured data in a network appliance
US7853678B2 (en) * 2007-03-12 2010-12-14 Citrix Systems, Inc. Systems and methods for configuring flow control of policy expressions
US8490148B2 (en) 2007-03-12 2013-07-16 Citrix Systems, Inc Systems and methods for managing application security profiles
US7853679B2 (en) * 2007-03-12 2010-12-14 Citrix Systems, Inc. Systems and methods for configuring handling of undefined policy events
US20090006537A1 (en) * 2007-06-29 2009-01-01 Microsoft Corporation Virtual Desktop Integration with Terminal Services
WO2009008630A2 (en) * 2007-07-06 2009-01-15 Lg Electronics Inc. Wireless network management procedure, station supporting the procedure, and frame format for the procedure
EP2015236A1 (en) * 2007-07-10 2009-01-14 Ubs Ag Redirection technique in a communication network
US8132247B2 (en) * 2007-08-03 2012-03-06 Citrix Systems, Inc. Systems and methods for authorizing a client in an SSL VPN session failover environment
US9373119B2 (en) * 2007-08-15 2016-06-21 Monitise Americas, Inc. Machine-implemented system and method for providing timed targeted promotional offers to individual payment account users with feedback
US8583733B2 (en) * 2007-08-17 2013-11-12 Microsoft Corporation Real time collaboration file format for unified communication
US9906549B2 (en) * 2007-09-06 2018-02-27 Microsoft Technology Licensing, Llc Proxy engine for custom handling of web content
US7925694B2 (en) * 2007-10-19 2011-04-12 Citrix Systems, Inc. Systems and methods for managing cookies via HTTP content layer
US8356335B2 (en) * 2007-10-30 2013-01-15 Apple Inc. Techniques for authentication via network connections
US8195815B2 (en) * 2007-10-31 2012-06-05 Cisco Technology, Inc. Efficient network monitoring and control
US9300723B2 (en) 2007-12-07 2016-03-29 Display Technologies, Llc Enabling social interactive wireless communications
US8671195B2 (en) * 2007-12-07 2014-03-11 Leigh Rothschild Digital media communication protocol
JP4832418B2 (ja) * 2007-12-21 2011-12-07 東芝テック株式会社 情報端末及びコンピュータプログラム
US8090877B2 (en) 2008-01-26 2012-01-03 Citrix Systems, Inc. Systems and methods for fine grain policy driven cookie proxying
US20090189894A1 (en) * 2008-01-27 2009-07-30 Petrov Julian Methods and systems for analyzing a remoting system to determine where to render three dimensional data
US8972374B2 (en) * 2008-02-12 2015-03-03 International Business Machines Corporation Content acquisition system and method of implementation
US8683062B2 (en) * 2008-02-28 2014-03-25 Microsoft Corporation Centralized publishing of network resources
US8307417B2 (en) * 2008-03-06 2012-11-06 Hewlett-Packard Development Company, L.P. Port enablement
US20090259757A1 (en) * 2008-04-15 2009-10-15 Microsoft Corporation Securely Pushing Connection Settings to a Terminal Server Using Tickets
US8612862B2 (en) * 2008-06-27 2013-12-17 Microsoft Corporation Integrated client for access to remote resources
JP4722973B2 (ja) * 2008-08-12 2011-07-13 株式会社日立製作所 リクエスト処理方法及び計算機システム
US20110167121A1 (en) 2008-09-15 2011-07-07 Ben Matzkel System, apparatus and method for encryption and decryption of data transmitted over a network
KR100958098B1 (ko) 2008-09-22 2010-05-17 주식회사 시큐위즈 가상사설망 서비스방법 및 그 시스템
US8812616B2 (en) * 2008-10-03 2014-08-19 Systech Corporation Remote port access (RPA) server
US20100107240A1 (en) * 2008-10-24 2010-04-29 Microsoft Corporation Network location determination for direct access networks
US8984102B2 (en) * 2009-02-20 2015-03-17 Gary Stephen Shuster Registration and use of patterns defined by expressions as domain names
US8205037B2 (en) 2009-04-08 2012-06-19 Google Inc. Data storage device capable of recognizing and controlling multiple types of memory chips operating at different voltages
US8447918B2 (en) 2009-04-08 2013-05-21 Google Inc. Garbage collection for failure prediction and repartitioning
US9578113B2 (en) * 2009-04-15 2017-02-21 Wyse Technology L.L.C. Method and apparatus for transferring remote session data
US9185171B2 (en) 2009-04-15 2015-11-10 Wyse Technology L.L.C. Method and system of specifying application user interface of a remote client device
US9553953B2 (en) * 2009-04-15 2017-01-24 Dell Products L.P. Method and apparatus for extending capabilities of a virtualization domain to support features available in a normal desktop application
US9473460B2 (en) * 2009-06-22 2016-10-18 Microsoft Technology Licensing, Llc Using hypertext transfer protocol as a transport for bi-directional data streams
US9235583B2 (en) 2009-07-15 2016-01-12 Aten International Co., Ltd. Virtual media with folder-mount function
US8615594B2 (en) * 2009-07-15 2013-12-24 Aten International Co., Ltd. Virtual media with folder-mount function
US9237186B2 (en) 2009-07-15 2016-01-12 Aten International Co., Ltd. Virtual media with folder-mount function and graphical user interface for mounting one or more files or folders
EP2491685B1 (en) * 2009-10-21 2018-12-05 Telefonaktiebolaget LM Ericsson (publ) Resource reservation in multiple accesses
US8266262B2 (en) * 2009-11-30 2012-09-11 Red Hat, Inc. Providing network security services for multiple requesters
US8909916B2 (en) 2009-11-30 2014-12-09 Red Hat, Inc. Using a PKCS module for opening multiple databases
US10057239B2 (en) * 2009-12-17 2018-08-21 Pulse Secure, Llc Session migration between network policy servers
US10089119B2 (en) * 2009-12-18 2018-10-02 Microsoft Technology Licensing, Llc API namespace virtualization
CN101815084B (zh) * 2009-12-31 2012-11-07 优视科技有限公司 一种用于用户终端文件管理系统及其应用方法
US8799640B2 (en) * 2010-02-27 2014-08-05 Novell, Inc. Techniques for managing a secure communication session
US20110252117A1 (en) * 2010-04-12 2011-10-13 Swee Huat Sng Devices and Methods for Redirecting a Browser to Access Computer Resource Behind a Network Firewall
AU2011254219A1 (en) * 2010-05-21 2012-12-13 Vaultive Ltd. System and method for controlling and monitoring access to data processing applications
US9384112B2 (en) 2010-07-01 2016-07-05 Logrhythm, Inc. Log collection, structuring and processing
US9645992B2 (en) 2010-08-21 2017-05-09 Oracle International Corporation Methods and apparatuses for interaction with web applications and web application data
WO2012027472A2 (en) 2010-08-24 2012-03-01 Copiun, Inc. Constant access gateway and de-duplicated data cache server
US8832283B1 (en) * 2010-09-16 2014-09-09 Google Inc. Content provided DNS resolution validation and use
WO2012053135A1 (ja) * 2010-10-20 2012-04-26 日本電気株式会社 通信制御装置、システム、方法及びプログラムが格納された非一時的なコンピュータ可読媒体
US9780995B2 (en) 2010-11-24 2017-10-03 Logrhythm, Inc. Advanced intelligence engine
CA2817576C (en) 2010-11-24 2016-06-07 Logrhythm, Inc. Scalable analytical processing of structured data
EP2659650B1 (en) 2010-12-29 2022-06-22 Citrix Systems Inc. Systems and methods for multi-level tagging of encrypted items for additional security and efficient encrypted item determination
US9461878B1 (en) 2011-02-01 2016-10-04 Palo Alto Networks, Inc. Blocking download of content
US10951743B2 (en) 2011-02-04 2021-03-16 Adaptiv Networks Inc. Methods for achieving target loss ratio
US9590913B2 (en) 2011-02-07 2017-03-07 LiveQoS Inc. System and method for reducing bandwidth usage of a network
US8717900B2 (en) 2011-02-07 2014-05-06 LivQoS Inc. Mechanisms to improve the transmission control protocol performance in wireless networks
US9542549B2 (en) * 2011-02-09 2017-01-10 Verizon Patent And Licensing Inc. Toolbar for single sign-on and non-single sign-on sites, applications, systems, and sessions
US8407776B2 (en) 2011-02-11 2013-03-26 Good Technology Corporation Method, apparatus and system for provisioning a push notification session
US8949349B2 (en) 2011-03-28 2015-02-03 Blackberry Limited Communications system including trusted server to verify a redirection request and associated methods
CN102739613B (zh) * 2011-04-12 2016-05-25 深圳市金蝶中间件有限公司 跨防火墙的动态通路方法及系统
US20120271945A1 (en) * 2011-04-20 2012-10-25 Microsoft Corporation Obtaining Server Address when Domain Name System Proxy Solution Fails
US10225354B2 (en) * 2011-06-06 2019-03-05 Mitel Networks Corporation Proximity session mobility
US8549579B2 (en) * 2011-07-06 2013-10-01 International Business Machines Corporation Dynamic data-protection policies within a request-reply message queuing environment
US8776094B2 (en) 2011-08-11 2014-07-08 Microsoft Corporation Runtime system
US8695021B2 (en) 2011-08-31 2014-04-08 Microsoft Corporation Projecting native application programming interfaces of an operating system into other programming languages
JP5329626B2 (ja) * 2011-09-15 2013-10-30 東芝テック株式会社 情報端末及びコンピュータプログラム
US8695060B2 (en) 2011-10-10 2014-04-08 Openpeak Inc. System and method for creating secure applications
US8881229B2 (en) 2011-10-11 2014-11-04 Citrix Systems, Inc. Policy-based application management
US9143529B2 (en) 2011-10-11 2015-09-22 Citrix Systems, Inc. Modifying pre-existing mobile applications to implement enterprise security policies
US20140032733A1 (en) 2011-10-11 2014-01-30 Citrix Systems, Inc. Policy-Based Application Management
US20140053234A1 (en) 2011-10-11 2014-02-20 Citrix Systems, Inc. Policy-Based Application Management
US9215225B2 (en) 2013-03-29 2015-12-15 Citrix Systems, Inc. Mobile device locking with context
US9280377B2 (en) 2013-03-29 2016-03-08 Citrix Systems, Inc. Application with multiple operation modes
US9722972B2 (en) 2012-02-26 2017-08-01 Oracle International Corporation Methods and apparatuses for secure communication
US10009318B2 (en) * 2012-03-14 2018-06-26 Microsoft Technology Licensing, Llc Connecting to a cloud service for secure access
US9154568B2 (en) * 2012-03-20 2015-10-06 Facebook, Inc. Proxy bypass login for applications on mobile devices
US9722851B1 (en) * 2012-03-27 2017-08-01 Amazon Technologies, Inc. Optimized retrieval of network resources
US9225731B2 (en) * 2012-05-24 2015-12-29 International Business Machines Corporation System for detecting the presence of rogue domain name service providers through passive monitoring
US9609077B1 (en) * 2012-05-30 2017-03-28 Crimson Corporation Forwarding content on a client based on a request
US9160653B2 (en) 2012-06-07 2015-10-13 International Business Machines Corporation Dynamic redirection of network traffic within a system under test
WO2013190549A1 (en) * 2012-06-18 2013-12-27 Secure Islands Technologies Ltd. System and method to access content of encrypted data items in unsupported digital environments
EP2868030A4 (en) * 2012-06-29 2016-03-09 Hewlett Packard Development Co REVISION OF A DEVICE
US9887872B2 (en) * 2012-07-13 2018-02-06 Microsoft Technology Licensing, Llc Hybrid application environments including hosted applications and application servers for interacting with data in enterprise environments
US9535722B2 (en) 2012-09-12 2017-01-03 The Directv Group, Inc. Method and system for communicating between a host device and a user device through an intermediate device using a composite graphics signal
US10521250B2 (en) 2012-09-12 2019-12-31 The Directv Group, Inc. Method and system for communicating between a host device and user device through an intermediate device using a composite video signal
US9137501B2 (en) * 2012-09-12 2015-09-15 The Directv Group, Inc. Method and system for communicating between a host device and user device through an intermediate device using syntax translation
US9038151B1 (en) 2012-09-20 2015-05-19 Wiretap Ventures, LLC Authentication for software defined networks
US8726343B1 (en) 2012-10-12 2014-05-13 Citrix Systems, Inc. Managing dynamic policies and settings in an orchestration framework for connected devices
US9516022B2 (en) 2012-10-14 2016-12-06 Getgo, Inc. Automated meeting room
US8910239B2 (en) 2012-10-15 2014-12-09 Citrix Systems, Inc. Providing virtualized private network tunnels
US20140109176A1 (en) 2012-10-15 2014-04-17 Citrix Systems, Inc. Configuring and providing profiles that manage execution of mobile applications
US20140109171A1 (en) 2012-10-15 2014-04-17 Citrix Systems, Inc. Providing Virtualized Private Network tunnels
CN104854561B (zh) 2012-10-16 2018-05-11 思杰系统有限公司 用于应用程序管理框架的应用程序封装
US20140108793A1 (en) 2012-10-16 2014-04-17 Citrix Systems, Inc. Controlling mobile device access to secure data
US9606774B2 (en) 2012-10-16 2017-03-28 Citrix Systems, Inc. Wrapping an application with field-programmable business logic
US9971585B2 (en) 2012-10-16 2018-05-15 Citrix Systems, Inc. Wrapping unmanaged applications on a mobile device
US8954467B2 (en) * 2012-11-29 2015-02-10 Citrix Systems, Inc. Systems and methods for automatically associating communication streams with a file presented during a meeting
US9253160B2 (en) 2012-12-31 2016-02-02 Kent Lawson Methods, systems, and media for secure connection management and automatic compression over metered data connections
US10200351B2 (en) * 2013-03-14 2019-02-05 Google Llc System for managing remote software applications
US9344422B2 (en) 2013-03-15 2016-05-17 Oracle International Corporation Method to modify android application life cycle to control its execution in a containerized workspace environment
US9246893B2 (en) 2013-03-15 2016-01-26 Oracle International Corporation Intra-computer protected communications between applications
US9129112B2 (en) 2013-03-15 2015-09-08 Oracle International Corporation Methods, systems and machine-readable media for providing security services
US9985850B2 (en) 2013-03-29 2018-05-29 Citrix Systems, Inc. Providing mobile device management functionalities
US8849979B1 (en) 2013-03-29 2014-09-30 Citrix Systems, Inc. Providing mobile device management functionalities
US9369449B2 (en) 2013-03-29 2016-06-14 Citrix Systems, Inc. Providing an enterprise application store
US8813179B1 (en) 2013-03-29 2014-08-19 Citrix Systems, Inc. Providing mobile device management functionalities
US20140297840A1 (en) 2013-03-29 2014-10-02 Citrix Systems, Inc. Providing mobile device management functionalities
US10284627B2 (en) 2013-03-29 2019-05-07 Citrix Systems, Inc. Data management for an application with multiple operation modes
US9355223B2 (en) 2013-03-29 2016-05-31 Citrix Systems, Inc. Providing a managed browser
US9065818B2 (en) * 2013-05-02 2015-06-23 Dropbox, Inc. Toggle between accounts
US11106778B2 (en) 2013-05-02 2021-08-31 Dropbox, Inc. Toggle between accounts
GB2514550A (en) * 2013-05-28 2014-12-03 Ibm System and method for providing access to a resource for a computer from within a restricted network and storage medium storing same
US9411978B2 (en) 2013-07-11 2016-08-09 Open Text S.A. System and method for access control using network verification
KR101781311B1 (ko) * 2013-07-26 2017-09-22 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 디바이스 및 세션 식별
US9009461B2 (en) * 2013-08-14 2015-04-14 Iboss, Inc. Selectively performing man in the middle decryption
JP6465542B2 (ja) * 2013-09-02 2019-02-06 キヤノン株式会社 情報処理装置、その制御方法及びプログラム
WO2015070260A1 (en) 2013-11-11 2015-05-14 Adallom, Inc. Cloud service security broker and proxy
US10694000B2 (en) 2013-12-02 2020-06-23 Amazon Technologies, Inc. Browser-based analysis of content request mode performance
US10242322B2 (en) 2013-12-02 2019-03-26 Amazon Technologies, Inc. Browser-based selection of content request modes
US10237373B2 (en) 2013-12-02 2019-03-19 Amazon Technologies, Inc. Performance-based determination of request modes
CN104717192B (zh) * 2013-12-16 2018-05-18 腾讯科技(深圳)有限公司 合法性验证方法及中间服务器
JP6265732B2 (ja) * 2013-12-25 2018-01-24 キヤノン株式会社 管理装置、管理装置の制御方法及びプログラム
JP6395380B2 (ja) * 2014-01-07 2018-09-26 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
CN104796313B (zh) * 2014-01-20 2020-10-16 腾讯科技(深圳)有限公司 自动对话工具接入第三方的方法和装置
US9509656B2 (en) * 2014-01-22 2016-11-29 Honeywell International Inc. Broadcast distribution table for BACnet/IP
US20150229628A1 (en) * 2014-02-10 2015-08-13 Qamal Kosim-Satyaputra System, method and architecture for providing integrated applications
US9967357B2 (en) * 2014-03-06 2018-05-08 Empire Technology Development Llc Proxy service facilitation
CA2941122C (en) 2014-03-13 2021-09-07 Systech Corporation Gateway management using virtual gateways and wildcards
US9762625B2 (en) * 2014-05-28 2017-09-12 Apple Inc. Device and method for virtual private network connection establishment
US9232013B1 (en) * 2014-09-05 2016-01-05 Openpeak Inc. Method and system for enabling data usage accounting
US9350818B2 (en) 2014-09-05 2016-05-24 Openpeak Inc. Method and system for enabling data usage accounting for unreliable transport communication
US8938547B1 (en) 2014-09-05 2015-01-20 Openpeak Inc. Method and system for data usage accounting in a computing device
US9100390B1 (en) 2014-09-05 2015-08-04 Openpeak Inc. Method and system for enrolling and authenticating computing devices for data usage accounting
US20160071040A1 (en) 2014-09-05 2016-03-10 Openpeak Inc. Method and system for enabling data usage accounting through a relay
US10324702B2 (en) 2014-09-12 2019-06-18 Microsoft Israel Research And Development (2002) Ltd. Cloud suffix proxy and a method thereof
JP6464256B2 (ja) 2014-09-24 2019-02-06 オラクル・インターナショナル・コーポレイション Androidアプリケーションのライフサイクルを変更することによって、コンテナ化ワークスペース環境内でアプリケーションの実行を管理する方法
US10635504B2 (en) 2014-10-16 2020-04-28 Microsoft Technology Licensing, Llc API versioning independent of product releases
US9641522B1 (en) 2014-11-11 2017-05-02 Amazon Technologies, Inc. Token management in a managed directory service
JP6365280B2 (ja) * 2014-12-10 2018-08-01 富士通株式会社 情報処理装置、情報処理システム、及びプログラム
US9614853B2 (en) * 2015-01-20 2017-04-04 Enzoo, Inc. Session security splitting and application profiler
US9462006B2 (en) * 2015-01-21 2016-10-04 Palo Alto Research Center Incorporated Network-layer application-specific trust model
US9232078B1 (en) 2015-03-16 2016-01-05 Openpeak Inc. Method and system for data usage accounting across multiple communication networks
US9887978B2 (en) * 2015-06-23 2018-02-06 Veritas Technologies Llc System and method for centralized configuration and authentication
JP6367764B2 (ja) * 2015-06-24 2018-08-01 株式会社リコー 管理装置、管理方法及び管理プログラム
US9866592B2 (en) 2015-09-28 2018-01-09 BlueTalon, Inc. Policy enforcement system
US10491590B2 (en) * 2015-10-12 2019-11-26 AssetWorks LLC System and method for verifying and redirecting mobile applications
US9871825B2 (en) 2015-12-10 2018-01-16 BlueTalon, Inc. Policy enforcement for compute nodes
US10091212B2 (en) 2016-03-04 2018-10-02 BlueTalon, Inc. Policy management, enforcement, and audit for data security
US9680801B1 (en) 2016-05-03 2017-06-13 Iboss, Inc. Selectively altering references within encrypted pages using man in the middle
US11157641B2 (en) 2016-07-01 2021-10-26 Microsoft Technology Licensing, Llc Short-circuit data access
US20180115556A1 (en) * 2016-10-25 2018-04-26 American Megatrends, Inc. Systems and Methods of Restricting File Access
US10803190B2 (en) 2017-02-10 2020-10-13 BlueTalon, Inc. Authentication based on client access limitation
CN107135249B (zh) * 2017-04-06 2023-03-24 腾讯科技(深圳)有限公司 数据下载方法及装置
US10291602B1 (en) 2017-04-12 2019-05-14 BlueTalon, Inc. Yarn rest API protection
US10250723B2 (en) 2017-04-13 2019-04-02 BlueTalon, Inc. Protocol-level identity mapping
JP7227919B2 (ja) * 2017-06-16 2023-02-22 クリプトグラフィ リサーチ, インコーポレイテッド モノのインターネット(iot)デバイスの管理
US10491635B2 (en) 2017-06-30 2019-11-26 BlueTalon, Inc. Access policies based on HDFS extended attributes
CN107295573B (zh) 2017-07-12 2019-08-02 网宿科技股份有限公司 一种业务应用流量的引导方法和系统
US10623390B1 (en) * 2017-08-24 2020-04-14 Pivotal Software, Inc. Sidecar-backed services for cloud computing platform
US10855793B2 (en) 2017-09-25 2020-12-01 Splunk Inc. Proxying hypertext transfer protocol (HTTP) requests for microservices
US11146563B1 (en) 2018-01-31 2021-10-12 Microsoft Technology Licensing, Llc Policy enforcement for search engines
US11005889B1 (en) 2018-02-02 2021-05-11 Microsoft Technology Licensing, Llc Consensus-based policy management
US11790099B1 (en) 2018-02-09 2023-10-17 Microsoft Technology Licensing, Llc Policy enforcement for dataset access in distributed computing environment
CN110968356B (zh) * 2018-09-29 2023-09-29 北京金山云网络技术有限公司 配置信息获取的方法和装置
CN111263364B (zh) * 2018-12-03 2022-08-02 中国电信股份有限公司 WiFi认证方法、系统、DNS服务器和计算机可存储介质
US11075800B2 (en) * 2018-12-31 2021-07-27 Morgan Stanley Services Group Inc. Characterizing client-server connection configurations according to communication layer attributes
US11436062B2 (en) * 2020-02-03 2022-09-06 Dell Products L.P. Supporting universal windows platform and Win32 applications in kiosk mode
US11019031B1 (en) 2020-09-22 2021-05-25 Netskope, Inc. Client software connection inspection and access control
US11165586B1 (en) * 2020-10-30 2021-11-02 Capital One Services, Llc Call center web-based authentication using a contactless card

Family Cites Families (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5586260A (en) * 1993-02-12 1996-12-17 Digital Equipment Corporation Method and apparatus for authenticating a client to a server in computer systems which support different security mechanisms
US5491752A (en) * 1993-03-18 1996-02-13 Digital Equipment Corporation, Patent Law Group System for increasing the difficulty of password guessing attacks in a distributed authentication scheme employing authentication tokens
US5799318A (en) * 1993-04-13 1998-08-25 Firstfloor Software Method and apparatus for collecting and displaying information from diverse computer resources
US5649099A (en) * 1993-06-04 1997-07-15 Xerox Corporation Method for delegating access rights through executable access control program without delegating access rights not in a specification to any intermediary nor comprising server security
US5752022A (en) * 1995-08-07 1998-05-12 International Business Machines Corp. Method for creating a hypertext language for a distributed computer network
US5812769A (en) * 1995-09-20 1998-09-22 Infonautics Corporation Method and apparatus for redirecting a user to a new location on the world wide web using relative universal resource locators
US5774670A (en) * 1995-10-06 1998-06-30 Netscape Communications Corporation Persistent client state in a hypertext transfer protocol based client-server system
US5826014A (en) * 1996-02-06 1998-10-20 Network Engineering Software Firewall system for protecting network elements connected to a public network
US6182141B1 (en) * 1996-12-20 2001-01-30 Intel Corporation Transparent proxy server
US6052730A (en) * 1997-01-10 2000-04-18 The Board Of Trustees Of The Leland Stanford Junior University Method for monitoring and/or modifying web browsing sessions
US5978842A (en) * 1997-01-14 1999-11-02 Netmind Technologies, Inc. Distributed-client change-detection tool with change-detection augmented by multiple clients
US6012087A (en) * 1997-01-14 2000-01-04 Netmind Technologies, Inc. Unique-change detection of dynamic web pages using history tables of signatures
US5983268A (en) * 1997-01-14 1999-11-09 Netmind Technologies, Inc. Spreadsheet user-interface for an internet-document change-detection tool
US5898836A (en) * 1997-01-14 1999-04-27 Netmind Services, Inc. Change-detection tool indicating degree and location of change of internet documents by comparison of cyclic-redundancy-check(CRC) signatures
US5961593A (en) 1997-01-22 1999-10-05 Lucent Technologies, Inc. System and method for providing anonymous personalized browsing by a proxy system in a network
US6356934B1 (en) * 1997-04-28 2002-03-12 Sabre Inc. Intermediate server having control program for storing content accessed during browsing sessions and playback program for asynchronously replaying browsing sessions
US5805803A (en) * 1997-05-13 1998-09-08 Digital Equipment Corporation Secure web tunnel
IT1298045B1 (it) 1997-05-15 1999-12-20 Nord Est Meccanica Snc Sistema di apertura a vetri scorrevoli per banchi e vetrine destinate alla vendita di prodotti alimentari
US6167438A (en) * 1997-05-22 2000-12-26 Trustees Of Boston University Method and system for distributed caching, prefetching and replication
US6098108A (en) * 1997-07-02 2000-08-01 Sitara Networks, Inc. Distributed directory for enhanced network communication
US6006268A (en) * 1997-07-31 1999-12-21 Cisco Technology, Inc. Method and apparatus for reducing overhead on a proxied connection
US5935212A (en) * 1997-08-07 1999-08-10 I-Planet, Inc. Connection-oriented session emulation
US6061796A (en) * 1997-08-26 2000-05-09 V-One Corporation Multi-access virtual private network
US5991878A (en) * 1997-09-08 1999-11-23 Fmr Corp. Controlling access to information
US6006258A (en) * 1997-09-12 1999-12-21 Sun Microsystems, Inc. Source address directed message delivery
US6202156B1 (en) * 1997-09-12 2001-03-13 Sun Microsystems, Inc. Remote access-controlled communication
US5941954A (en) * 1997-10-01 1999-08-24 Sun Microsystems, Inc. Network message redirection
US6289333B1 (en) * 1998-01-16 2001-09-11 Aspect Communications Corp. Methods and apparatus enabling dynamic resource collaboration when collaboration session host is distinct from resource host
US6185598B1 (en) * 1998-02-10 2001-02-06 Digital Island, Inc. Optimized network resource location
US6141686A (en) * 1998-03-13 2000-10-31 Deterministic Networks, Inc. Client-side application-classifier gathering network-traffic statistics and application and user names using extensible-service provider plugin for policy-based network control
US6205481B1 (en) * 1998-03-17 2001-03-20 Infolibria, Inc. Protocol for distributing fresh content among networked cache servers
JP3995338B2 (ja) 1998-05-27 2007-10-24 富士通株式会社 ネットワーク接続制御方法及びシステム
ATE345528T1 (de) 1998-06-19 2006-12-15 Sun Microsystems Inc Dimensionierbare proxy-server mit einschub- filtern
US6182142B1 (en) * 1998-07-10 2001-01-30 Encommerce, Inc. Distributed access management of information resources
IL141530A0 (en) 1998-08-21 2002-03-10 Visto Corp System and method for enabling secure access to services in a computer network
US6532493B1 (en) * 1998-10-29 2003-03-11 Cisco Technology, Inc. Methods and apparatus for redirecting network cache traffic
EP1039396A3 (en) 1999-02-03 2002-06-12 AT&T Corp. Information access system and method for providing a personal portal
US6505230B1 (en) * 1999-05-14 2003-01-07 Pivia, Inc. Client-server independent intermediary mechanism
US6609151B1 (en) * 1999-08-31 2003-08-19 Intel Corporation System for configuring a computer with or without an operating system to allow another computer to remotely exchange data and control the computer
US6510464B1 (en) * 1999-12-14 2003-01-21 Verizon Corporate Services Group Inc. Secure gateway having routing feature
US6671724B1 (en) * 2000-03-21 2003-12-30 Centrisoft Corporation Software, systems and methods for managing a distributed network
US6976037B1 (en) * 2000-03-27 2005-12-13 Microsoft Corporation Method and systems for DLL/COM redirection
US6754709B1 (en) * 2000-03-29 2004-06-22 Microsoft Corporation Application programming interface and generalized network address translator for intelligent transparent application gateway processes
US6950935B1 (en) * 2000-04-21 2005-09-27 Sun Microsystems, Inc. Pluggable authentication modules for telecommunications management network
KR20030024678A (ko) 2000-05-22 2003-03-26 뉴.넷,아이엔씨. 네트워크 자원에 접속하는 방법 및 시스템
US7085817B1 (en) * 2000-09-26 2006-08-01 Juniper Networks, Inc. Method and system for modifying requests for remote resources
US7774455B1 (en) * 2000-09-26 2010-08-10 Juniper Networks, Inc. Method and system for providing secure access to private networks
US20030051161A1 (en) 2001-09-12 2003-03-13 Smith Jeffery C. System and method for monitoring global network activity
US20020083342A1 (en) * 2000-12-21 2002-06-27 Webb Brian T. Systems, methods and computer program products for accessing devices on private networks via clients on a public network
US7293108B2 (en) 2001-03-15 2007-11-06 Intel Corporation Generic external proxy
US7054866B2 (en) * 2001-03-20 2006-05-30 Mci, Inc. Systems and methods for communicating from an integration platform to a provisioning server
US7228438B2 (en) * 2001-04-30 2007-06-05 Matsushita Electric Industrial Co., Ltd. Computer network security system employing portable storage device
JP2003044381A (ja) 2001-05-21 2003-02-14 International System Research:Kk ファイル同期システム及びファイル管理サーバ
US7010608B2 (en) 2001-09-28 2006-03-07 Intel Corporation System and method for remotely accessing a home server while preserving end-to-end security
US7631084B2 (en) * 2001-11-02 2009-12-08 Juniper Networks, Inc. Method and system for providing secure access to private networks with client redirection
US20050120204A1 (en) * 2003-12-01 2005-06-02 Gary Kiwimagi Secure network connection

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101436933B (zh) * 2007-11-16 2012-02-01 成都市华为赛门铁克科技有限公司 一种https加密访问方法、系统及装置
CN105450674A (zh) * 2008-01-26 2016-03-30 思杰系统有限公司 用于配置和细粒度策略驱动web内容检测和重写的系统和方法
CN105450674B (zh) * 2008-01-26 2019-05-10 思杰系统有限公司 用于配置和细粒度策略驱动web内容检测和重写的系统和方法
CN101242336B (zh) * 2008-03-13 2010-12-01 杭州华三通信技术有限公司 远程访问内网Web服务器的方法及Web代理服务器
CN101582890B (zh) * 2009-06-09 2012-04-18 中国科学院计算技术研究所 实现x11客户端和x11服务器连接的方法及系统
CN103607374A (zh) * 2013-10-28 2014-02-26 中国航天科工集团第二研究院七〇六所 基于身份认证和数据包过滤技术的网络资源访问控制方法
CN103546574A (zh) * 2013-10-30 2014-01-29 中国航空工业集团公司第六三一研究所 一种基于静态配置表的机载嵌入式网络文件访问控制方法
US10749972B2 (en) 2015-06-29 2020-08-18 Interdigital Ce Patent Holdings Method for locating a service and method for proposing a service and corresponding communication network devices, system, computer readable program products and computer readable storage mediums
CN109587275A (zh) * 2019-01-08 2019-04-05 网宿科技股份有限公司 一种通信连接的建立方法及代理服务器
CN113761401A (zh) * 2020-07-16 2021-12-07 北京沃东天骏信息技术有限公司 确定网站根域名的方法和装置
CN112751870A (zh) * 2020-12-30 2021-05-04 湖南麒麟信安科技股份有限公司 一种基于代理转发的nfs安全传输装置及方法

Also Published As

Publication number Publication date
JP4734592B2 (ja) 2011-07-27
US7958245B2 (en) 2011-06-07
US7631084B2 (en) 2009-12-08
WO2004092905A2 (en) 2004-10-28
JP2006526843A (ja) 2006-11-24
EP1616263A4 (en) 2011-11-23
CN100437530C (zh) 2008-11-26
WO2004092905A3 (en) 2005-08-18
US20100057845A1 (en) 2010-03-04
US20110208838A1 (en) 2011-08-25
US20040039827A1 (en) 2004-02-26
EP1616263B1 (en) 2018-08-22
EP1616263A2 (en) 2006-01-18

Similar Documents

Publication Publication Date Title
CN1781087A (zh) 安全访问带有客户端接收的专用网的方法和系统
CN1206837C (zh) 按规定的策略在多服务器实施ip数据报发送的方法和系统
CN1246781C (zh) 信息处理系统
CN100346610C (zh) 基于安全策略的网络安全管理系统和方法
CN1275152C (zh) 制造和更新可插入的便携式操作系统模块的系统和方法
CN1268104C (zh) 设置防火墙的方法和设备
CN1172506C (zh) 通过互联网传送多媒体数据的管理方法及实施该方法所用的芯片卡
CN1269337C (zh) 内容自适应服务控制方法
CN1527148A (zh) 信息、服务提供及图像形成装置、方法和避免非法使用的方法
CN1605181A (zh) 用于为专用网络上的资源提供安全访问的方法和系统
CN1574792A (zh) 用于执行网络防火墙的基于多层的方法
CN1791871A (zh) 企业控制台
CN1773545A (zh) 域名购买的基于消息的网络配置
CN1870642A (zh) 数据通信协议
CN1575460A (zh) 通过无线设备能够进行打印的输出管理系统和方法
CN1711740A (zh) 轻度可扩展验证协议的密码预处理
CN1846393A (zh) 个人计算机因特网安全系统
CN1677277A (zh) 服务提供方法、服务提供商设备、信息处理方法和设备
CN1802637A (zh) 密码变更系统
CN1761256A (zh) 用于网络设备配置的xml模式
CN1378405A (zh) 通过直接接触或邻近连接在通信设备间进行无线局域网参数设置的方法
CN1928861A (zh) 用于进行项目共享的即时通信客户机和方法
CN1703016A (zh) 虚拟网络拓扑结构生成
CN1656773A (zh) 用于对服务供应商的服务验证用户的方法
CN1725227A (zh) 操作装置网络的方法

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
C56 Change in the name or address of the patentee

Owner name: JUNIPER NETWORKS INC.

Free format text: FORMER NAME: NETSCREEN TECHNOLOGIES INC.

CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: American California

Patentee after: Juniper Networks, Inc.

Address before: American California

Patentee before: Jungle network

TR01 Transfer of patent right

Effective date of registration: 20201116

Address after: California, USA

Patentee after: Pulse Secure, LLC

Address before: California, USA

Patentee before: Juniper Networks, Inc.

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20081126

Termination date: 20210408

CF01 Termination of patent right due to non-payment of annual fee