在受控网络环境中提供安全连接的中继代理的制作方法

文档序号:11852665阅读:221来源:国知局
在受控网络环境中提供安全连接的中继代理的制作方法与工艺

本文所述主题一般涉及通过网络访问内容,并且尤其涉及利用中继代理,通过用户装置上的多个应用促进访问网络内容。



背景技术:

很多组织和机构经由超文本传送协议(HTTP)代理来路由从他们自己的网络传入或传出的通信,以便监测网络业务和执行网络安全策略。在网络中每个计算装置上执行的浏览器应用连接到代理,该代理视情况往来于浏览器路由数据分组。当所有传入和传出的数据分组都通过代理时,该代理可以监测网络通信并且在需要时进行执行操作。

大多数学校经由HTTP代理向他们的学生提供互联网访问。因此,所有学生web业务都通过可以被监测的单个访问点。此外,通过HTTP代理可以阻止利用学校的计算装置的浏览器来访问认为是不良的内容,防止学生访问这些内容。

现代平板电脑和智能电话(例如运行AndroidTM操作系统的智能电话)通常包括多个应用,其中的很多经由互联网访问远程资源。这对于希望利用代理来监测网络业务和执行网络安全策略的组织和机构提出了很多挑战。

首先,必须将每个应用都配置为经由代理通信。这样实施起来耗时,并且执行起来有问题。网络管理者不能容易地监测网络中操作的每个装置的每个应用是否都经由代理连接到互联网。因此,难以检测或者是意外或者是恶意地安装有绕开代理直接连接到互联网的应用的装置。

其次,很多代理要求连接到互联网的装置提供认证证书。这些证书需要能够访问要求访问互联网的每个应用。这样既有安全风险,因为恶意应用可能与未授权的第三方共享证书,又没有效率,因为每个应用都必须独立访问证书。在多个用户使用同一个装置的环境(例如学校)中这种无效率更加突出。在这种情况下,装置必须跟踪每个应用正在使用哪些用户证书,并且保证不使得给定用户的证书可用于另一个用户。



技术实现要素:

一种用于从本地网络内访问存储在本地网络外部的远程内容的计算机系统包括中继代理和多个应用。所述中继代理被配置为::经由代理服务器检索远程内容项,所述代理服务器管理进入和离开所述网络的网络业务。多个应用可通信地连接到中继代理。每个应用被配置为向中继代理发送对于远程内容项的请求,并且作为响应,接收所请求的远程内容项。

一种用于从本地网络内访问存储在本地网络外部的远程内容的方法包括在用户装置上执行的中继代理处接收第一请求和第二请求。第一请求从用户装置上执行的第一应用接收,并且第二请求从用户装置上执行的第二应用接收。第一请求识别第一远程内容项,并且第二请求识别第二远程内容项。所述方法还包括将第一请求和第二请求转发给代理服务器,该代理服务器管理进入和离开本地网络的网络业务;并且接收对于第一请求和第二请求的响应。对于第一请求的响应包括第一远程内容项,并且对于第二请求的响应包括第二远程内容项。所述方法还包括将第一远程内容项转发给第一应用,并且将第二远程内容项转发给第二应用。

附图说明

图1是图示出根据一个实施例,可以使用中继代理的网络化计算环境的高级方框图。

图2是图示出根据一个实施例,适合于在图1所示的网络化计算环境中使用的用户装置的高级方框图。

图3图示出根据一个实施例,适合于用作图1所示的用户装置、代理服务器、或资源服务器的计算机。

图4是图示出根据一个实施例,中继代理管理应用与远程资源服务器之间的网络业务的方法的流程图。

具体实施方式

附图和以下说明仅通过示例描述了某些实施例。本领域技术人员根据以下说明能够容易地认识到,在不脱离本文所述原理的情况下,可以采用本文所示结构和方法的替代性实施例。下面对若干实施例进行参考,其示例在附图中示出。应当注意,只要切实可行,在附图中可以使用相似或相同的附图标记,并且可以指示相似或相同的功能。

图1是图示出根据一个实施例,可以使用中继代理的网络化计算环境100的高级方框图。在所示实施例中,网络化计算环境100包括多个用户装置110A-N、代理服务器130、以及多个资源服务器150A-N。用户装置110经由本地网络120连接到代理服务器130,且代理服务器经由外部网络140连接到资源服务器150。在其他实施例中,网络化计算环境100包含不同和/或附加的元素。此外,可以按照与本文所述不同的方式将多个功能分布在多种元素之间。

本地网络120将用户装置110A-N连接到代理服务器130。本地网络120通常是组织保持的LAN或WAN,并且可以是有线的、无线的、或者两者的组合。本地网络120将用户装置110A-N(通过与组织相关联的用户来操作)相互连接以及连接到外部网络140。外部网络140通常是互联网,也可以是组织希望监测访问或执行安全策略的任何网络。虽然将标识符“本地”和“外部”用于网络120和网络140,但是这不应视为对范围的限制。在各种实施例中,本地网络120分布于多个地理位置(例如企业的虚拟专用网络),或者外部网络140通过与本地网络120相同的组织来管理。例如在教育设置中,外部网络140可以提供与学校管理的资源服务器150的连接,它只有在某个班级登记的学生才允许访问。

资源服务器150A-N是诸如网络服务器这样的计算装置,它托管可通过其他计算装置诸如用户装置110A-N经由外部网络140访问的内容。虽然仅示出3个资源服务器150,但是实际上可以有很多(例如几千甚至几百万台)可经由外部网络140访问的资源服务器。例如,互联网实现对于托管网站、文档、以及其他计算机可读数据的几百万台资源服务器150的访问。

用户装置110A-N是诸如智能电话、平板电脑、膝上型电脑、以及台式电脑这样的计算装置,它们连接到本地网络120,并且可用于访问资源服务器150上托管的网络化内容。虽然仅示出3个用户装置110,但是实际上有很多(例如几十或几百台)连接到可经由外部网络140访问远程内容的本地网络120的用户装置。例如,学校可以拥有一套30台平板电脑,学生用来访问在线教育内容。下面参照图2更详细地描述用户装置110的各种实施例。

本地网络120经由代理服务器130连接到外部网络140。代理服务器130监测本地网络120与外部网络140之间的网络业务,并且在需要时执行安全策略。在一个实施例中,代理服务器130包括防火墙,该防火墙阻止并非从用户装置110中的一个的中继代理传入或传出的任何网络业务,如下参照图2更详细所述。因此,用户装置110与外部网络140之间的所有网络业务都通过代理服务器130。因此,代理服务器130向本地网络120提供对应组织可以监测业务和执行安全策略的单个访问点。例如,向学生提供在教室使用的平板电脑(用户装置110A-N)的学校可以仅限于对于认为适当的远程内容的访问(白名单途径),阻止对于认为不适当的远程内容的访问(黑名单途径),或者使用这两种处理的组合。此外,学校可以监测从平板电脑传入和传出的网络业务,以保证学生在学习或者识别当前可以访问但是应当阻止的不适当内容。

图2是图示出根据一个实施例的用户装置110的高级方框图。在所示实施例中,用户装置110包括多个应用210、中继代理220、以及认证凭证证书储存器230。在其他实施例中,用户装置110包含不同和/或附加的元素。此外,可以按照与本文所述不同的方式将功能分布在元素之间。

认证凭证证书储存器230包括一个或多个非暂时性计算机可读介质,并且被配置为存储用于使用用户装置110的一个或多个用户的认证证书。可以使用各种类型的认证证书,包括用户名和密码对、数字护照、令牌等等。在一个实施例中,将认证证书加密,以防止未授权使用。在另一个实施例中,定期(例如每小时一次)提示用户提供认证证书,并且将认证证书存储在存储器中直到提供下一个提示,此时将旧证书从存储器清除。通过这种方式,保护用户的授权证书不被计算装置的其他用户未授权访问。

应用210在执行时向用户装置110的用户提供功能。应用210中的至少一些访问通过资源服务器150A-N中的一个或多个托管的远程内容,作为它们提供的功能的一部分。例如,web浏览器可能尝试访问在第一资源服务器托管的名人八卦网站,而为了在高中地理课使用的教育应用可能尝试从第二资源服务器150B检索全世界一系列地方的天气数据。为了减少学生在课堂上脱离学习状态的可能性,学校可能希望配置代理服务器130,允许用户装置110访问天气数据而不是名人八卦网站。

如上所述,利用传统的系统配置(没有中继代理220),可能难以将代理服务器130配置为正确地允许和阻止对远程内容的访问。随着移动装置110上安装的应用210的数量增加,配置代理服务器130的任务变得更加复杂、更加容易出错。例如,在AndroidTM操作系统中,每个应用都保持它自己与外部网络140的连接,并且因此,必须对于从其期望远程内容请求的每个应用个别地配置代理服务器130。此外,在教育设置中,任何给定用户装置110都很可能被多个学生使用,并且任何给定学生都很可能在不同时间使用用户装置110A-N的不同用户装置。因此,必须个别地向每个应用210提供学生的认证证书,这进一步增加了系统的复杂性并且增加了破坏网络安全的可能性。这些问题通过中继代理220来解决。应当注意,本文用术语“中继代理”来描述用户装置110的向本地网络120提供(并且因此向远程网络140提供)接入点的组件。这个术语不应当与诸如用作DHCP中继的一部分的中继代理相混淆,该DHCP中继将DHCP服务器与客户端隔离,并实现从多个这样的服务器获得租赁服务和选择最需要的服务。在DHCP中继接收来自多个用户装置的租赁请求并将这些请求分发至多个DHCP服务器的情况下,中继代理220是在特定用户装置110上执行的应用,该特定用户装置110被配置为实现用户装置上执行的其他应用210与控制对外部网络140(例如互联网)的访问的代理服务器130之间的网络业务的路由的定制。与通过相同方式路由所有租赁请求的DHCP代理不同,中继代理220可以被配置为通过不同方式路由来自不同源的通信。例如,可以忽略从未知或受阻(列入黑名单)应用接收的访问外部网络140的请求,或者路由到网络管理员,而不是转发到外部网络。

中继代理220在用户装置110上执行并提供应用210由其连接到代理服务器130(经由本地网络120)的集中机制。当应用210要求对远程内容项(例如在资源服务器150上托管的内容片段)的访问时,应用向中继代理220发送识别该内容项的请求。在一个实施例中,请求是标准的HTTP请求。

中继代理220将该请求转发给代理服务器130,该代理服务器130相应地将该请求转发给适当的资源服务器150。因此,从代理服务器130的角度而言,请求来自于中继代理220。因此,代理服务器130只需要被配置为转发从中继代理220接收的请求,并且可以被配置为阻止直接从应用210接收的任何请求。

在一个实施例中,代理服务器130要求在任何时候建立与远程资源服务器150的连接时都提供用户的认证证书。为了解决这个问题,中继代理220监测从应用210接收的网络业务,并且在需要时插入用户的认证证书(例如存储在认证凭证证书储存器230中)。在一个实施例中,如果中继代理220识别源自应用210中的一个的对于资源服务器150的连接请求,中继代理就将当前用户的认证证书添加到该请求中。因此,并非对于每个应用而言独立地要求用户提供认证证书并处理对应的数据管理开销,用户可以仅登入中继代理220(例如通过提供用户名和密码),并且用户装置110上的所有应用210都将利用该用户的证书操作。在其他实施例中,使用其他方法来认证用户的身份,包括但不限于:指纹识别、脸部识别、和数字签名。通过单个应用(例如中继代理220)为多个应用提供用户认证也改善了用户体验,因为不要求用户多次提供认证证书。这在多个用户共享单个用户装置110的环境(诸如学校)中特别有用。

图3是图示出示例计算机300的高级方框图。计算机300包括耦合到芯片组304的至少一个处理器302。芯片组304包括存储器控制器集线器320和输入/输出(I/O)控制器集线器322。存储器306和图形适配器312耦合到存储器控制器集线器320,并且显示器318耦合到图形适配器312。储存器装置308、键盘310、定点装置314、以及网络适配器316耦合到I/O控制器集线器322。计算机300的其他实施例具有不同的基本结构。

储存器装置308包括一个或多个非暂时性计算机可读存储介质,例如硬盘驱动器、压缩盘只读存储器(CD-ROM)、DVD、或固态存储器装置。存储器306保存处理器302使用的指令和数据。定点装置314是鼠标、轨迹球、或其他类型的定点装置,并且与键盘310组合用于将数据输入计算机系统300。图形适配器312在显示器318上显示图像和其他信息。网络适配器316将计算机系统300耦合到一个或多个计算机网络,诸如网络120和140。

计算机300适合于执行用于提供本文所述功能的计算机程序模块。如同本文使用的,术语“模块”指的是用于提供指定功能的计算机程序逻辑。因此,可以在硬件、固件、和/或软件中实施模块。在一个实施例中,程序模块存储在储存器装置308上,载入存储器306,并通过处理器302执行。

图1和图2的实体所使用的计算机的类型可以取决于实施例以及实体所要求的处理功率而改变。例如,资源服务器150可包括一起工作的多个服务器,以提供本文所述的功能,而用户装置110可以是平板计算装置。取决于它们在网络化计算环境100中提供的特定功能,计算机可以没有上述某些组件,诸如键盘310、图形适配器312、以及显示器318。

图4图示出根据一个实施例,中继代理220管理应用210与远程资源服务器150之间的网络业务的方法。图4的步骤是从进行该方法的中继代理220的角度示出。但是,这些步骤中的一些或全部可通过其他实体和/或组件进行。此外,某些实施例可以并行进行这些步骤,按照不同顺序进行这些步骤,或者进行不同的步骤。

该方法始于中继代理220从应用210接收410访问网络化内容(例如在资源服务器150上托管的内容)的项的请求。在一个实施例中,该请求识别特定资源服务器150并包括在网络化计算环境100中唯一识别所请求的内容的内容标识符。

中继代理220在需要时将认证证书插入430该请求。在一个实施例中,中继代理检查该请求,以确定是否要求认证证书。例如,如果在起源应用110与托管资源服务器150之间连接已经活跃,取决于代理服务器130的配置,可能就不需要提供认证证书。如果需要插入430认证证书,中继代理220就从认证凭证证书储存器230检索所要求的证书,并将它们添加到请求。在一个实施例中,中继代理220起初在没有插入430认证证书的情况下发送请求。如果对于请求而言需要认证证书,那么代理服务器130将拒绝该请求,并且中继代理220将接收认证失败通知。作为响应,中继代理220插入430所要求的认证证书并重新发送该请求。

中继代理220将请求(包括任何要求的认证证书)转发430给代理服务器130用于本地网络。因为通过代理服务器130接收的请求源自中继代理220,所以它包含所要求的认证报头。因此,代理服务器130处理该请求并且从托管资源服务器150检索所要求的内容。相反,如果应用210直接向代理服务器230发送请求,那么该请求将缺少所要求的认证报头。因此,代理服务器将该请求识别为来自于未授权源,并防止请求离开本地网络120。

中继代理220接收440来自代理服务器130的响应,其包括从资源服务器150检索的所请求的内容。然后中继代理220将所请求的内容项转发450给访问内容的请求源自的应用210。然后可通过应用210使用所请求的内容,以将功能提供给终端用户。例如,教育测验应用可以检索用于特定区域(例如学区、国家、全世界等等)的一组高分,并结合用户自己的得分在用户装置110的显示器上呈现它们。作为另一个示例,视频播放器应用可以在用户装置110的显示器上呈现视频内容。

利用上述系统和方法,诸如学校这样的组织可以有效地监测进出组织的本地网络120的网络业务。此外,该组织可以执行网络安全策略,诸如限制学生对某些已批准网站的互联网访问。通过利用在用户装置110上安装的中继代理220,可将本地网络的代理服务器130配置为只允许往来于中继代理的网络业务跨越本地网络120与外部网络140之间的边界。因此,相比于每个应用110直接访问外部网络140的配置(即不经由中继代理220),本地网络的代理服务器130的配置简单得多。此外,因为是经由中继代理220来路由往来于应用的网络业务,所以个体应用210不需要访问用户的认证证书。因此,相对于恶意或设计不佳的应用210,本地网络120和用户的安全得到保护,不向未授权一方泄露认证证书。

以上描述的某些部分在算法处理或操作方面描述了实施例。这些算法描述和表示由数据处理领域的普通技术人员共同用来将他们工作的实质有效传达给本领域其他技术人员。在功能、计算、或逻辑方面描述时,这些操作被理解为通过计算机程序来实施,所述计算机程序包括用于通过处理器或等效电子电路、微代码等等执行的指令。此外,有时候也证明了将功能操作的这些布置表示为模块是方便的,不损失一般性。可以在软件、固件、硬件、或它们的任何组合中具体实施所述的操作以及它们的关联模块。

如同本文使用的,对“一个实施例”或“实施例”的任何参考都表示结合所述实施例描述的特定元件、特征、结构、或特性包括在至少一个实施例中。在说明书中各个地方术语“在一个实施例中”的出现不一定都表示相同的实施例。

可以利用措辞“耦合”和“连接”连同它们的衍生物来描述某些实施例。应当理解,这些术语并非要成为相互的同义词。例如,可以利用术语“连接”来描述某些实施例,以指示两个或多个元件相互之间处于直接的物理或电接触。在另一个示例中,可以利用术语“耦合”来描述某些实施例,以指示两个或多个元件处于直接的物理或电接触。但是,术语“耦合”也可以表示两个或多个元件相互之间不是处于直接接触,但是仍然相互配合或互动。这些实施例不限于这个背景。

如同本文使用的,术语“包括”、“包含”、“含有”、“具有”、“有”或者它的任何其他变型都是为了涵盖非排他性包括。例如,包括元素列表的处理、方法、物品或设备不一定仅限于这些元素,而是可包括未明确列出的其他元素或者这些处理、方法、物品或设备固有的其他元素。此外,除非明确地不同陈述,否则“或”都表示同或而非异或。例如,以下条件中的任何一个都满足条件A或B:A真(或者有)且B假(或者没有);A假(或者没有)且B真(或者有);以及A和B皆真(或者有)。

此外,本文采用“一”或“一个”来描述实施例的元素或组件。这样做只是为了方便,并且以给出本公开的一般含义。这种描述应当理解为包括一个或至少一个,并且单数形式也包括多个,除非明显的另有所指。

在阅读本公开时,本领域技术人员应当理解,存在用于利用中继代理提供安全和可执行的网络连接的系统和处理的其他附加替代性结构和功能设计。因此,虽然已经示出和描述了特定实施例和应用,但是应当理解,所述主题内容并不限于本文公开的准确构造和组件,并且在本文公开的方法和设备的布置、操作和细节中可以进行对本领域技术人员而言显而易见的各种修改、改变和变化。本发明范围仅由后附权利要求书来限定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1