一种蜂窝移动设备以及一种用于蜂窝移动设备的系统和方法

申请号 CN201110182591.5 申请日 2011-06-30 公开(公告)号 CN102333306B 公开(公告)日 2015-06-24
申请人 脉冲安全有限公司; 发明人 韦崟; 苏布拉马尼亚恩·耶尔; 理查德·坎姆帕格纳; 詹姆斯·伍德;
摘要 本 发明 公开了一种用于移动设备的多服务VPN网络客户端。本发明描述了用于蜂窝移动设备的集成、多服务网络客户端。多服务网络客户端可被部署为蜂窝移动网络设备上的单个 软件 包,以提供集成服务,其包括:安全企业虚拟专用网络(VPN)连接、 加速 、安全管理(包括监控和强制端点一致)、以及协同服务。一旦安装在蜂窝移动设备上,多服务客户端就与设备的 操作系统 集成以为安全企业连接性提供用于用户认证的单一进入点,端点安全服务包括符合关于反病毒和 间谍软件 的端点一致以及全面完整性检查。即,多服务客户端为集成服务提供公共的用户 接口 ,并提供与操作系统接口的VPN处理机以为可对其无缝应用集成服务的网络业务提供进入点。
权利要求

1.一种蜂窝移动设备,包括:
发射器和接收器,发送和接收射频信号形式的蜂窝通信;
微处理器
操作系统,在所述微处理器上运行以提供应用软件的操作环境;以及
多服务网络客户端,向所述操作系统注册为单个应用程序,其中,所述多服务网络客户端包括:
虚拟专用网络(VPN)处理机,用于建立与远程虚拟专用网络安全设备的虚拟专用网络连接,其中,所述虚拟专用网络处理机对出站网络包进行加密并对入站网络包进行解密,以在所述蜂窝移动设备与所述远程虚拟专用网络安全设备之间安全地隧道传输网络包;
安全管理器,用于从所述虚拟专用网络处理机接收经解密的所述入站网络包,并将至少一个安全服务应用于经解密的所述入站网络包;
其中,所述安全管理器将反病毒和间谍软件服务应用于所述网络包,其中,所述安全管理器提供接口,所述虚拟专用网络处理机通过所述接口确定所述蜂窝移动设备的用户是否已激活并注册所述安全管理器从而将所述反病毒和间谍软件服务应用于所述网络包,以及其中,所述虚拟专用网络处理机在建立与所述虚拟专用网络安全设备的所述虚拟专用网络连接之前要求来自所述安全管理器的肯定指示;以及
虚拟专用网络控制应用程序,提供允许用户配置所述虚拟专用网络处理机和所述安全管理器这两者的统一用户接口。
2.根据权利要求1所述的蜂窝移动设备,其中,从单个可下载的分发包部署所述多服务网络客户端。
3.根据权利要求1所述的蜂窝移动设备,其中,所述虚拟专用网络控制应用程序呈现用于配置所述安全管理器的个人防火墙设置和反病毒设置的统一用户接口。
4.根据权利要求1所述的蜂窝移动设备,
其中,所述虚拟专用网络处理机包括主机检查器模,所述主机检查器模块盘存所述蜂窝移动设备的状态并建立健康状态报告,其中所述健康状态报告提供安装在所述移动设备上的反病毒软件的指示,以及
其中,所述主机检查器模块在建立所述虚拟专用网络连接之前将所述健康状态报告输出至所述虚拟专用网络安全设备以用于确定所述蜂窝移动设备是否符合企业策略。
5.根据权利要求1所述的蜂窝移动设备,其中,所述多服务网络客户端还包括数据加速模块,所述数据加速模块将至少一个加速服务应用于来自所述虚拟专用网络处理机的所述网络包。
6.根据权利要求5所述的蜂窝移动设备,其中,所述数据加速模块提供本地内容缓存。
7.根据权利要求5所述的蜂窝移动设备,其中,所述数据加速模块提供客户端解压缩服务,所述客户端解压缩服务与上游加速设备联合操作,所述上游加速设备用于提供实时、连续的模式识别和所述网络包内数据流的压缩。
8.根据权利要求5所述的蜂窝移动设备,其中,所述数据加速模块为所述网络包内的控制流提供特定应用程序协议优化。
9.根据权利要求1所述的蜂窝移动设备,其中,所述多服务网络客户端还包括一个或多个协同部件,所述协同部件处理来自所述虚拟专用网络处理机的包,其中,所述协同部件提供包括网络会议、安全桌面或文件共享服务中的至少一种的协同服务。
10.根据权利要求1所述的蜂窝移动设备,
其中,所述虚拟专用网络控制应用程序提供允许用户禁用虚拟专用网络连接性的用户接口,以及
其中,当虚拟专用网络连接性被禁用时,所述虚拟专用网络处理机与所述操作系统交换所述网络包,并将所述包透明地提供至所述安全管理器以用于应用所述安全服务。
11.根据权利要求1所述的蜂窝移动设备,其中,所述虚拟专用网络控制应用程序的所述用户接口允许所述用户提交证书,并指示所述虚拟专用网络处理机动态地实例化所述安全虚拟专用网络连接或解构现有的虚拟专用网络连接。
12.根据权利要求1所述的蜂窝移动设备,
其中,一旦建立所述虚拟专用网络连接,所述虚拟专用网络控制应用程序就经由超文本传输协议安全(HTTPS)响应从所述安全虚拟专用网络设备接收基于Web的主页,其中,安全虚拟专用网络连接动态解析来自所述超文本传输协议安全响应的超文本标记语言(HTML)书签链接,并使用所述蜂窝移动设备本地的输入控件呈现书签窗口,其中每个所述输入控件对应于从接收自所述虚拟专用网络安全设备的所述超文本传输协议安全响应解析的书签中的不同的一个,以及
其中,一旦选择所述输入控件之一,所述虚拟专用网络控制应用程序就制定并输出HTTP字符串至所述虚拟专用网络安全设备,仿佛相应的超文本标记语言链接被所述用户选择。
13.根据权利要求12所述的蜂窝移动设备,
其中,所述虚拟专用网络控制应用程序在所述超文本传输协议安全响应内检测所述书签中的为所述用户提供至网页邮件的链接的一个,以及
其中,一旦检测到用于所述网页邮件的书签,所述虚拟专用网络控制应用程序就动态构造所述用户接口以具有用于启动所述蜂窝移动设备的本地电子邮件客户端的输入控件,以访问电子邮件而无需启动Web浏览器。
14.根据权利要求1所述的蜂窝移动设备,其中,所述虚拟专用网络处理机和所述虚拟专用网络控制应用程序被配置为可独立地升级。
15.根据权利要求1所述的蜂窝移动设备,
其中,所述虚拟专用网络处理机将所述虚拟专用网络连接建立为通过用户数据报协议(UDP)的互联网协议安全(IPSec)连接,以及
其中,所述虚拟专用网络处理机包括压缩模块,所述压缩模块结合所述互联网协议安全连接应用Lempel-Ziv(LZ)压缩,以将加密的IP包隧道传输至所述虚拟专用网络安全设备。
16.根据权利要求1所述的蜂窝移动设备,
其中,所述虚拟专用网络处理机建立与所述虚拟专用网络安全设备的安全套接字层(SSL)控制信道,并且一旦成功认证,就接收具有唯一标识符的会话小文件,其中,如果与所述虚拟专用网络安全设备的通信暂时丢失,则所述虚拟专用网络处理机通过将所述会话小文件发布至所述虚拟专用网络安全设备来执行快速重新连接,以及其中,在执行所述快速重新连接时,所述虚拟专用网络处理机识别当前对于所述蜂窝移动设备可用的传输机制集合,并且当只有蜂窝网络可用而基于分组的无线连接不可用时,所述虚拟专用网络处理机推迟所述快速重新连接,直到从用户应用程序接收到应用层数据并准备经由所述虚拟专用网络连接发送该应用层数据。
17.一种用于蜂窝移动设备的系统,包括:
虚拟专用网络(VPN)安全设备,耦合至分组网络;
蜂窝移动设备,包括微处理器、在所述微处理器上运行以提供应用软件的操作环境的操作系统、以及向所述操作系统注册为单个应用程序的多服务网络客户端,其中,所述多服务网络客户端包括:
虚拟专用网络处理机,用于与所述操作系统交换网络包,其中,所述虚拟专用网络处理机建立与企业的远程虚拟专用网络安全设备的虚拟专用网络连接,并处理网络包以用于在所述蜂窝移动设备与所述远程虚拟专用网络安全设备之间隧道传输,以及安全管理器,用于从所述虚拟专用网络处理机接收所述网络包,并将至少一个安全服务应用于所述网络包,
虚拟专用网络控制应用程序,提供允许用户配置所述虚拟专用网络处理机和所述安全管理器这两者的统一用户接口,其中,所述安全管理器将反病毒和间谍软件服务应用于所述网络包,其中,所述安全管理器提供接口,所述虚拟专用网络处理机通过所述接口确定所述蜂窝移动设备的用户是否已激活并注册所述安全管理器从而将所述反病毒和间谍软件服务应用于所述网络包,以及其中,所述虚拟专用网络处理机在建立与所述虚拟专用网络安全设备的所述虚拟专用网络连接之前要求来自所述安全管理器的肯定指示;其中,所述虚拟专用网络安全设备呈现接口,管理员通过所述接口为所述用户定义多个不同色,其中,一旦认证所述用户,所述虚拟专用网络安全设备就为所述用户选择所述角色的子集,以及
其中,所述虚拟专用网络安全设备基于选定的所述角色的子集控制所述用户对一个或多个保护资源的访问。
18.一种用于蜂窝移动设备的方法,包括:
利用蜂窝移动设备从电子信息库接收包括多服务网络客户端的单个分发软件包,其中,所述多服务网络客户端包括虚拟专用网络(VPN)处理机、安全管理器以及虚拟专用网络控制应用程序,所述虚拟专用网络控制应用程序提供允许用户配置所述虚拟专用网络处理机和所述安全管理器这两者的统一用户接口;其中,所述安全管理器将反病毒和间谍软件服务应用于由所述虚拟专用网络处理机通过虚拟专用网络连接接收的网络包,其中,所述安全管理器提供接口,所述虚拟专用网络处理机通过所述接口确定所述蜂窝移动设备的用户是否已激活并注册所述安全管理器从而将所述反病毒和间谍软件服务应用于所述网络包,以及其中,所述虚拟专用网络处理机在建立与所述虚拟专用网络安全设备的所述虚拟专用网络连接之前要求来自所述安全管理器的肯定指示;以及
在所述蜂窝移动设备上安装所述多服务网络客户端,所述安装包括向所述蜂窝移动设备的操作系统注册所述虚拟专用网络处理机,其中,所述虚拟专用网络处理机为来自所述操作系统的网络包提供单个进入点,以利用所述虚拟专用网络处理机应用虚拟专用网络服务并且利用所述安全管理器应用安全服务。
19.根据权利要求18所述的方法,还包括:
利用所述虚拟专用网络处理机建立与企业的远程虚拟专用网络安全设备的虚拟专用网络连接;
在所述虚拟专用网络处理机和所述操作系统之间交换网络包以用于经由所述虚拟专用网络连接的通信;
利用所述虚拟专用网络处理机处理所述网络包以通过所述虚拟专用网络连接在所述蜂窝移动设备和所述远程虚拟专用网络安全设备之间隧道传输所述包;以及在利用所述虚拟专用网络处理机处理所述包期间,将所述包路由至所述安全管理器并利用所述安全管理器将至少一个安全服务应用于所述网络包。

说明书全文

一种蜂窝移动设备以及一种用于蜂窝移动设备的系统和方

[0001] 相关申请的交叉参考
[0002] 本申请要求于2010年6月30日提交的美国临时专利申请61/398,758的权益,其全部内容通过引用结合于此。

技术领域

[0003] 本发明涉及蜂窝网络,更具体地,涉及基于蜂窝的网络数据服务。

背景技术

[0004] 近来,使用蜂窝移动设备来接入计算机数据网络急剧增加。这些通常被称为“智能”手机的移动设备为蜂窝电话呼叫以及对计算机数据服务的基于蜂窝的接入这两者提供平台。例如,典型的蜂窝无线接入网络是小区的集合,每个小区均包括能够向用户的移动设备传输和中继无线电信号的基站。“小区”通常表示蜂窝网络的独立区域,其利用特定频率频率范围来传输数据。典型的基站是多个天线附至其的塔,该多个天线通过特定频率传输和接收数据。移动设备能够以指定频率将无线电信号传输至基站以发起蜂窝电话呼叫或基于分组的数据服务。
[0005] 关于数据服务,蜂窝服务提供商将在基站处从移动设备接收的蜂窝信号(例如,时分多址(TDMA)信号、正交频分复用(OFDM)信号或码分多址(CDMA)信号)转换为用于在基于分组的网络内传输的互联网协议(IP)包。
[0006] 蜂窝移动设备的普遍使用和来自世界各地的用户对于快速、安全网络接入的日益增加的期望向企业提出了许多挑战。即使在所有期望的蜂窝移动设备平台上实现基本的连接也可能是巨大挑战。以简单的终端用户体验 实现安全连接可能更有挑战性。例如,对于用于计算机数据服务的蜂窝移动设备的急剧增加的使用已使服务提供商和企业网络受到由误配置设备引入的增加的安全险的影响。由于用户往往缺乏技术经验,因此包括蜂窝移动设备的端点设备经常被误配置。即,用户可能意外地安装病毒、间谍软件或可潜在地损害端点设备的功能或危及该端点所耦合的计算机网络的安全的其他软件。一旦受到影响,端点设备就可能无意地将恶意软件传播至服务器并可能传播至其他端点设备。随着大量不同的端点安全及连接软件应用程序被添加至每个终端用户移动设备,增加了问题和网络冲突的可能性。当前对于信息技术(IT)工作人员来说,在不需要最终用户与复杂技术的显著交互的情况下,实现对于来自任何设备、任何时间、从虚拟的任何地方的用户的网络连接是非常困难的。

发明内容

[0007] 总体而言,描述了用于蜂窝移动设备的集成、多服务网络客户端。例如,描述了以下技术:通过该技术可容易地在移动网络设备上部署单个软件包,以提供集成的安全企业虚拟专用网络(VPN)连接、网络加速、包括监控和强制端点一致的安全管理、以及协同服务。集成的多服务客户端可被部署为可从移动设备制造商提供的标准应用程序(“app”)部署机制(诸如,电子商店或用于用户应用程序的其他信息库)下载的单个包。
[0008] 一旦安装在蜂窝移动设备上,多服务客户端就与设备的操作系统集成以为安全企业连接的用户认证、包括关于反病毒和间谍软件的端点一致的端点安全服务、加速、以及全面完整性检查提供单个进入点。多服务客户端提供对于集成服务的公共用户接口,并提供作为要将集成服务应用至此的网络业务的进入点工作的VPN处理机(VPN handler)。多服务客户端允许企业和服务提供商的IT人员减少所需要的并安装在雇员设备上的软件代理的数量,从而使潜在的软件冲突最小化并降低部署成本。此外,如果需要附加的软件、附件、或其他能用于连接,则多服务网络客户端可以在没有任何最终用户或管理员交互的情况下自动下载并安装这些部件。
[0009] 以这种方式,本文所描述的多服务网络客户端可将多个服务集成至单一的、综合的、多服务客户端,因此简化了网络客户端的维护、管理和部署。企业可以不必再处理单独管理和施行的代理。此外,该技术可以简化最终用户体验并降低帮助台时间和管理费用
[0010] 在一个实施方式中,蜂窝移动设备包括:发射器和接收器从而发送和接收射频信号形式的蜂窝通信,微处理器,以及在微处理器上运行以提供应用软件的操作环境的操作系统。蜂窝移动设备还包括向操作系统注册为单个应用程序的多服务网络客户端。多服务网络客户端提供虚拟专用网络(VPN)处理机以建立与远程VPN安全设备的VPN连接,其中,VPN处理机对出站网络包进行加密并对入站网络包进行解密以在蜂窝移动设备与远程VPN安全设备之间安全地隧道传输网络包。多服务网络客户端还提供:安全管理器,以从VPN处理机接收经解密的入站网络包并将至少一个安全服务应用于经解密的网络包;以及VPN控制应用程序,其提供了允许用户配置VPN处理机和安全管理器这两者的统一用户接口。
[0011] 另一方面,一种方法,包括:使用蜂窝设备接收来自电子信息库的、包括多服务网络客户端的单个分布软件包,其中,多服务网络客户端包括虚拟专用网络(VPN)处理机、安全管理器和VPN控制应用程序,该VPN控制应用程序提供了允许用户配置VPN处理机和安全管理器这两者的统一用户接口;以及在蜂窝移动设备上安装多服务网络客户端,包括向蜂窝移动设备的操作系统注册VPN处理机,其中,VPN处理机为来自操作系统的网络包提供单个进入点以利用VPN处理机应用VPN服务并利用安全管理器应用安全服务。
[0012] 另一方面,一种非临时性计算机可读介质,其存储包括软件程序代码的可下载分发包以在蜂窝设备内的处理器上执行多服务网络客户端。多服务网络客户端包括虚拟专用网络(VPN)处理机以建立与远程VPN安全设备的VPN连接,其中,VPN处理机对出站网络包进行加密并对入站网络包进行解密以在蜂窝移动设备与远程VPN安全设备之间安全地隧道传输网络包。多服务网络客户端还包括安全管理器以从VPN处理机接收经 解密的入站网络包并将至少一个安全服务应用于经解密的网络包,以及提供了允许用户配置VPN处理机和安全管理器这两者的统一用户接口的VPN控制应用程序。
[0013] 在附图和以下描述中阐述本发明的一个或多个实施方式的细节。本发明的其他特征、目标和优点将从描述和附图以及权利要求变得显而易见。

附图说明

[0014] 图1是示出了示例性系统的框图,在该系统中企业的安全VPN网关为端点计算设备和蜂窝移动设备这两者提供对于企业网络的保护资源的安全接入;
[0015] 图2示出了当经由端点计算设备接入安全VPN网关时经由网络浏览器呈现给用户的示例性登录网页;
[0016] 图3示出了当经由端点计算设备接入安全VPN网关时经由网络浏览器呈现给用户的示例性用户主页网页;
[0017] 图4A是具有根据本文所描述技术的多服务网络客户端的蜂窝移动设备的示例性实施方式的框图;
[0018] 图4B是具有根据本文所描述技术的多服务网络客户端的蜂窝移动设备的第二示例性实施方式的框图;
[0019] 图4C是图1的计算系统的另一框图并示出了利用多服务网络客户端用于企业连接和非企业连接这两者的示例性移动设备;
[0020] 图5至图14是示出蜂窝移动设备的一个实施方式的前视图并示出由部署在蜂窝移动设备上的多服务网络客户端所呈现的多个显示的示意图;以及
[0021] 图15是由安全VPN网关呈现的示例性用户界面190。

具体实施方式

[0022] 图1是示例性系统10的框图,其中,安全VPN网关12提供对企业网络16的保护资源14的安全接入。即,安全VPN网关12实现对于企业网络16所提供资源的安全且受控的接入。例如,端点计算设备(“ECD”)18A至18M以及蜂窝移动设备19A至19N经由服务提供商网络20和中间分组数据网络21(诸如,互联网)远程接入企业网络16。
[0023] 在一个实施例中,安全VPN网关12是向客户端提供VPN服务的安全套接字层VPN(SSL VPN)设备。关于SSL VPN设备和操作的进一步细节可以在“Juniper Networks Secure Access Administration Guide,Release6.5,”Juniper Netwoks,Inc.,2008中找到,其全部内容通过引用结合于此。安全VPN网关12可以是独立装置或可寄驻在一个或多个其他设备上,诸如入侵检测和防御(IDP)系统、防火墙、统一威胁管理(UTM)设备、路由器或其他网络设备。
[0024] 企业网络16提供对仅企业的某些授权用户可访问的敏感数据和服务的接入。用户可通过对安全VPN网关12的认证并建立通过服务提供商网络20的通信信道来访问企业网络16。以这种方式,企业管理员可使用安全VPN网关12以基于雇员授权来辨别单独雇员对企业网络16的访问。以这种方式,系统10实现了对于企业网络16的保护资源14的远程访问。例如,每个保护资源14可以是Web服务器、应用服务器数据库服务器、文件服务器、应用程序、雇员工作站、本地消息或电子邮件客户端、或其他电子资源。
[0025] 在该实施例中,端点计算设备18可以是个人计算机、笔记本电脑或与单个雇员或其他授权用户相关的其他类型的计算设备。相反地,蜂窝移动设备19为蜂窝电话呼叫和对于计算机数据服务基于蜂窝的访问这两者提供平台。即,每个移动设备19均是能够进行蜂窝通信的无线通信设备。例如,移动设备19可包括移动电话、具有(例如)3G无线卡的笔记本电脑或台式电脑、无线功能的上网本、视频游戏设备、寻呼机、智能电话或 个人数据助理(PDA)。每个移动设备19均可运行诸如移动呼叫、视频游戏、视频会议和电子邮件等一个或多个应用程序。
[0026] 服务提供商网络20还向移动设备19提供网络访问、数据传输和其他服务。服务提供商网络20包括无线接入网络25,其中,一个或多个基站经由无线电信号与移动设备19进行通信。回程网络(“BN”)27是使无线接入网络的基站能够与服务提供商的移动核心网络31交换分组化数据,并最终与宽带网络29和分组数据网络21进行通信的传输网络。回程网络27通常包括由通信链路(诸如租用的陆地线路或点对点微波通信连接)互连的通信节点。通信节点包括执行一个或多个协议以在基站与移动核心网络31的网关设备(“GW”)28之间路由包的网络、集合和交换元件。在各个方面,回程网络27可包括根据相关标准设定团体(例如,3GPP)所提出的各个无线接入网络标准运行的通用移动电话服务(UMTS)陆地无线接入网络(UTRAN)或GSM无线接入网络(GRAN)。
[0027] 移动核心网络31提供在回程网络27与宽带网络29之间的传输服务、会话管理、以及移动管理,以支持通过移动设备19对于分组数据网络21和保护资源14服务的接入。例如,移动核心网络31可包括通用分组无线业务(GPRS)核心分组交换网络、GPRS核心电路交换网络、基于IP的移动多媒体核心网络、或另一种类型的传输网络。移动核心网络31包括一个或多个包处理节点以支持用于遍历移动核心网络的移动业务的防火墙、负载均衡、计费、深度包检测(DPI)、和其他服务。
[0028] 在图1的实施例中,端点计算设备18经由网络交换机38连接至网络接入设备36。在一个实施方式中,网络交换机38可包括数字用户线路接入复用器(DSLAM)或其他交换设备。每个端点计算设备18均可利用诸如在ATM上的点到点协议或在以太网上的点到点协议(PPPoE)的点到点协议(PPP),以与网络交换机38进行通信。例如,使用PPP,一个端点计算设备18可请求对于宽带网络29的接入,并提供诸如用户名和密码的登录信息用于认证设备(“AD”)30的认证。在诸如将端点计算设备18与网络交换机38连接的数字用户线(DSL)上可支持PPP。在其他实施 方式中,端点计算设备18可利用非PPP协议以与网络交换机38进行通信。其他实施方式还可使用除了DSL线之外的其他线路(诸如在T1、T3上的以太网或其他访问链路)。
[0029] 网络交换机38可以在支持各种协议的物理接口(例如,支持ATM协议的ATM接口)上与网络接入设备36进行通信。网络接入设备36通常包括宽带远程接入服务器(BRAS)功能以将来自交换机的输出聚集至宽带网络29的高速上行链路。在一些实施方式中,网络接入设备36可包括保持了端点计算设备18与宽带网络29之间路由信息的路由器。
[0030] 安全VPN网关12在端点计算设备18以及移动设备19的接入与保护资源14之间起媒介作用。在一个实施例中,安全VPN网关12终止在TCP/IP模型或开放系统互连(OSI)参考模型的应用层处的入站接入请求和连接。在该实施例中,安全VPN网关12作为应用层代理进行操作以保护受保护的资源14免于直接暴露于分组数据网络21。安全VPN网关12接收在包中封装的入站接入请求,并对接入请求进行解封装以得到底层应用数据,并将包括接入请求的应用数据发送至被请求的保护资源14。
[0031] 在另一个实施例中,安全VPN网关12允许OSI参考模型或TCP/IP模型层之间的直接连接。在该实施例中,安全VPN网关12使用与请求的一个端点计算设备18或移动设备19协商的安全信道交换数据。安全VPN网关12经由安全信道接收安全请求,并代表请求客户端对一个适当的保护资源14做出请求,以建立请求设备与被请求的保护资源14之间的数据连接。
[0032] 为了访问企业网络16内的保护资源14,端点计算设备18或移动设备19建立对于安全VPN网关12的数据连接。例如,每个数据连接均可包括符合诸如安全套接字层(SSL)或互联网协议安全(IPSec)协议的安全方案的安全数据连接。即,SSL VPN可用于在面向层4连接的协议(例如,传输控制协议(TCP))的顶部隧道传输IP包。可替换地,可建立IPSecVPN以在无连接协议(例如,IP或用户数据报协议(UDP))的顶部隧道传输加密的IP包,即,封装安全有效负载(ESP)包。
[0033] 在任何情况下,安全VPN网关12可要求用户证书以建立认证和授权。例如,证书可包括用户名密码对、生物特征识别符、存储在智能卡上的数据、一次性密码令牌或数字证书。基于所提供的证书,安全VPN网关12授权或拒绝对于企业网络16的接入。安全VPN网关12可使用认证、授权和记帐(AAA)服务器对证书进行认证。AAA服务器可在安全VPN网关12或单独的网络设备上运行,并例如可以是远程认证拨入用户服务(RADIUS)服务器。安全VPN网关12和远程设备也可协商数据连接14的其他方面,其确保安全,包括加密算法的类型/版本,以及用于对经由数据连接14传输的数据进行加密/解密的对称密钥。
[0034] 当接入企业网络16时,与一个端点计算设备18相关的用户可将端点计算设备上运行的web浏览器指向与企业相关的地址统一资源定位符(URL)。在这种情况下,安全VPN网关12经由web浏览器在端点计算设备上呈现网页以获得来自用户的、所需的证书。
[0035] 图2示出当经由端点计算设备18接入安全VPN网关12时经由web浏览器呈现给用户的示例性登录网页。一旦认证正确,安全VPN网关12就经由web浏览器在端点计算设备上呈现默认用户主网页。
[0036] 图3示出当经由端点计算设备18接入安全VPN网关12时经由web浏览器呈现给用户的示例性用户主网页。如图3所示,网页呈现了允许用户使用HTTP链接容易地导航保护资源14的书签列表。在该实施例中,图3示出对企业提供的内联网文件服务器的第一链接42以及对用于用户的企业网页邮件(webmail)的第二链接44。
[0037] 如本文所描述的,蜂窝移动设备19均包括多服务网络客户端,在其他服务中,该多服务网络客户端允许通过服务提供商网络20的无线接入网络25容易地提供和建立安全VPN连接。运行在移动设备19上的其他应用程序可利用VPN连接以访问保护资源14所提供的服务。即,蜂窝移动设备19和安全VPN网关12向运行在移动设备上的应用程序提供安全VPN服务。在一个实施例中,每个移动设备19均包括了以简化用户体验的方式提供集成的、任何时间/任何地点的连接、加速和安全的安全接入应 用程序。例如,一旦下载了该安全接入应用程序,移动设备19的用户就可不再需要与网络接入和安全软件进行交互。从任何位置,用户仅提供他们的证书并且安全接入应用程序与安全VPN网关12交互以处理所有配置和部署。因此,移动设备19上的安全接入软件使移动设备和智能电话能够快速、简单、安全地接入企业网络和基于的数据以及应用程序。在配置移动手持设备接入时,企业和服务提供商可以部署粒度色(granular role)和基于设备的安全策略。在一个实施例中,移动设备19上的安全接入软件为VPN远程接入、WAN加速和端点一致提供单个、统一客户端。安全接入软件可消除部署、配置和维护单独客户端的管理负担和费用。在某些情况下,移动设备19上的安全接入软件可使用位置感知智能会话迁移以自动传递加速的、安全的、任何时间/任何地点的网络和应用程序访问。例如,该软件可基于用户的位置无缝地从一种接入方法迁移到另一种,并基于用户身份和角色来加速对于网络资源的安全访问。
[0038] 图4A是根据本文所述技术进行操作的移动设备19的示例性实施方式的框图。在该实施例中,移动设备19包括为设备操作提供核心功能的硬件62。硬件62可包括一个或多个可编程微处理器70,该可编程微处理器被配置为根据通常存储在计算机可读介质(诸如,静态随机存取存储器(SRAM)设备或闪存设备)中的可执行指令(即,程序代码)进行操作。发射器72和接收器476经由诸如高频射频(RF)信号的无线通信(wireless communication)与其他通信设备进行通信。硬件62可包括附加的分立的 包括输入/输出(I/O)78的数字逻辑或模拟电路。
[0039] 操作系统64在微处理器70上运行并为一个或多个应用程序(通常称为“app”)提供操作环境。O/S接口66证明软件的接口层能够对操作系统64进行内核调用。换句话说,O/S接口66提供构架,在该构架内VPN处理机68操作并可(例如)允许VPN处理机68在移动设备19提供的操作环境的“用户”空间内运行。O/S接口66可允许其他形式的协议处理机“插入”以用于与操作系统64接口。O/S接口66与操作系统64交互以为协议专用处理机提供OS级支持。例如,O/S接口66可提供对于OSI 栈的低层级访问,用于将包路由至VPN连接并路由来自VPN连接的包,确保正确设置用于VPN的DNS解析器等。如图4A所示,O/S接口66向用于处理的VPN处理机68路由入站低层包和出站应用层通信。此时,VPN处理程序68向操作系统64注册以向网络业务提供单个进入点,使得透明地应用VPN服务和安全服务,而无需要求多个代理向操作系统64注册或单独管理那些代理。
[0040] 在一些情况下,用于VPN处理机68、VPN控制应用程序80和安全管理器84的可执行代码可以分布为单个分发包67,其可从移动设备19的制造商提供的标准“应用程序”部署机制(诸如由与电子商店或用于用户应用程序的其他信息库相关的服务器提供)下载。即,VPN处理机68、VPN控制应用程序80和安全管理器84可集成为用于移动设备19的多服务客户端以允许方便部署。例如,蜂窝移动设备上的应用管理实用程序可向服务器发布请求,作为响应,接收用于在移动设备上处理和安装的分发包。
[0041] VPN处理机68提供用于经由安全VPN网关12接入企业网络16的所有低层级通信处理。例如,VPN处理机68处理VPN网关12的交互和认证、建立和解构符合安全方案(诸如SSL或IPSec协议)的安全数据连接、以及要被隧道传输的加密出站包的形成和处理入站包以解密从隧道接收的那些包。在一个实施方式中,VPN处理机68支持SSL和IPSec协议这两者,并且正如下面更详细描述的,其取决于连接至VPN网关12的VPN的状态可智能且动态地在两者之间切换。
[0042] VPN控制应用程序80提供用户接口,通过该接口用户能够配置和管理VPN处理机68以及集成在多服务客户端内的、包括安全管理器84的其他服务。例如,VPN控制应用程序80允许用户提交证书并指示VPN处理机68动态实例化与安全VPN网关12的安全VPN连接或解构现有的VPN连接。
[0043] 在一个实施方式中,VPN控制应用程序80提供对与安全VPN网关12的通信进行翻译的接口,使得通常可通过web浏览器(例如,以上图2 和3所述)用于用户的信息被动态表现在能够在移动设备19上以原始格式呈现的用户接口中。换句话说,在该实施例中,VPN控制应用程序80可动态解析来自安全VPN网关12的超文本传输协议安全(HTTPS)响应的HTML链接和其他信息,并使用移动设备19本地的输入机制(例如,图标、单选按钮)在该设备上表现适合显示的窗口。
[0044] 一旦创建与安全VPN网关12的安全VPN连接,用户就可以与VPN处理机68的U/I直接交互,好像用户正在经由HTML网页访问他或她的、由VPN网关12正常呈现的默认网页的情况。例如,用户可与VPN处理机68交互以选择被动态构造为对应用户主网页的HTML书签的图标。例如,用户可以使用对应于管理员定义的链接44的输入按钮以访问网页邮件,好像用户正在使用网络浏览器。然而,取代当经由端点计算设备18接入VPN网关12时经由web浏览器查看邮件,VPN处理机68可启动由移动设备19提供的、并因此位于该移动设备本地的电子邮件应用程序,好像电子邮件书签连同基于网络的主页被用户选择。
[0045] 除了使用VPN处理机68以外,用户还能够启动可被部署在移动设备19上用于通过VPN连接访问保护资源14的其他应用程序82。在这种情况下,VPN处理机68从经由O/S接口66重定向至VPN处理机的用户应用程序82接收应用层数据。VPN处理机68将应用层数据封装至安全包以用于通过VPN连接的隧道传输,并将该安全包返回至操作系统64,用于经由无线电信号经由发射器72输出。VPN处理机68从操作系统64接收与VPN连接相关的入站包,处理安全包以提取和重组应用层数据,并将应用层数据传送至用户应用程序82。以这种方式,VPN处理机68可用作从移动设备和端点计算设备等进行安全企业访问的单个进入点,而不需要对于不同类型应用程序的单独支持。
[0046] 在一个实施方式中,VPN处理机68保持VPN连接,即使在VPN控制应用程序80退出之后。因此,为了允许其他用户应用程序82利用隧道,VPN控制应用程序80不必是有效的。VPN处理机68可被配置为如果移动设备19进入睡眠则自动拆除VPN连接。当唤醒移动设备19时,VPN 处理机68自动将VPN连接变为有效状态。在某些情况下,VPN处理机68监控VPN连接上的业务流量,以检测空闲VPN连接并在用户可配置的空闲时间量之后自动断开VPN连接。
[0047] 在某些实施方式中,以预定义的、自定义的URL格式向操作系统64注册VPN处理机68。当其他用户应用程序82直接调用O/S接口以“启动(launch)”符合这些特殊格式的URL时,操作系统64自动启动注册该URL格式的应用程序。在一个实施例中,VPN处理机68利用如下形式注册自定义URL格式:
[0048] junospulse:///?method={vpn}&action={start|stop}
[0049] &DSID=&SMSESSION=
[0050] 当另一应用程序82“启动”该URL时,操作系统64载入(如果需要)VPN处理机68,并使用在特定URL中传递的回调函数调用VPN处理机。此时,VPN处理机68确定是否已建立VPN连接。如果当前没有建立VPN隧道并且标记doConnect为“1”,则VPN处理机68自动确定是否存在具有与从操作系统64接收的URL相匹配的URL的VPN配置文件。如果没有,那么VPN处理机68使用传入的URL自动创建新的VPN配置文件。如果在从操作系统64接收的启动URL中指定会话小文件(sessioncookie),则VPN处理机68使用给定的会话小文件建立新的VPN隧道。如果在启动URL中没有指定会话小文件,则VPN处理机68以正常进程接入安全VPN网关12,并且用户经过正常登录过程。如果VPN处理机68确认已建立VPN隧道并且启动URL的“redirectOnConnected”被设置为“1”,则VPN处理机68可重定向至web浏览器应用程序或其他默认的一个应用程序82的执行,并退出而没有拆除隧道。
[0051] 安全模84是由多服务客户端提供的软件线程,在其被安装的情况下该安全模块通过操作系统64在背景中连续执行,以为移动设备19提供某些安全功能。作为一个实施例,安全管理器84可为移动设备提供反病毒和间谍软件检测功能,并且VPN处理机68将业务透明地分流至安全模 块用于应用安全服务。VPN控制应用程序80可提供用于配置反病毒设置、个人防火墙设置以及与安全模块84相关的其他参数的用户接口。
[0052] 此外,根据本文所述技术,VPN处理机68向安全管理器84注册,并且安全管理器将最新安全信息提供至VPN处理机。此外,在允许建立与VPN网关12的VPN连接之前,VPN处理机68可本地要求有效的、注册的反病毒和间谍软件和最新的病毒定义。在登录和认证处理期间,可以由从VPN网关12接收的策略来控制该本地执行。
[0053] 在某些实施方式中,在用于处理并确定有关移动设备19是否与企业策略(policy)兼容的登录时,VPN处理机68合并“主机检查器”模块,其盘存(inventory)移动设备19的状态、建立健康状况报告、并将健康状况报告传送至VPN网关12。例如,在请求建立VPN连接时,VPN处理机68可收集最新的“健康信息”并将其转发至VPN网关12。通常,术语“健康信息”在本文中通常用于指描述移动设备19的安全状态的数据。例如,健康信息可描述特定的移动设备是否潜在地包括恶意软件(例如,已知病毒或间谍软件),端点设备是否具有无效配置,或安全对策(例如,反病毒软件)是否已正确安装在端点设备上。在某些情况下,VPN网关12可基于移动设备19的当前健康信息和请求VPN连接的特定用户这两者来阻止接入或允许有限接入。用于基于移动设备的健康信息控制接入的这种技术的详细资料参见于2005年9月28日提交的题为“NETWORK DEFENSE SYSTEM UTILIZING ENDPOINT HEALTH INDICATORS AND USER IDENTITY”的第11/236,987号美国专利申请,其全部内容通过引用结合于此。
[0054] 虽然部署为单个包67,但将VPN处理机68和VPN控制应用程序80配置为使得它们可以独立升级。例如,用户能够经由从移动设备19的制造商提供的用户应用程序的电子信息库检索最新的分发包67来更新VPN处理机68和VPN控制应用程序80这两者。此外,VPN处理机可被编程使得如果存在用于VPN处理机的较新版本并且安全VPN网关已被配置为需要移动设备具有最新版本的处理机,则一旦建立至安全VPN网关12的 连接就自动升级其自身。在这种情况下,新版本的VPN处理机68将从安全VPN网关12或与VPN网关相关的服务器直接下载。
[0055] 在某些情况下,VPN控制应用程序80被编程使得当用户首次启动VPN控制应用程序时,VPN控制应用程序利用安全警告对用户进行提示,询问他或她是否期望使能SSL-VPN功能。这可能是有用的安全预防措施以防止在用户不知情的情况下恶意软件悄无声息地安装VPN软件。如果用户拒绝,VPN控制应用程序80就可以显示醒目画面直到用户退出该应用程序。如果用户接受,则该决定被记录直到擦除设备的存储器。
[0056] 图4B是根据本文所述技术进行操作的移动设备19的第二示例性实施方式的框图。在该实施例中,移动设备19包括提供具有VPN处理机68、VPN控制应用程序80、安全管理器84、加速服务92和协同服务94的多服务网络客户端的分发包77。多服务网络客户端可作为来自移动设备19的制造商提供的标准“app”部署机制的单个分发包77被分发。以这种方式,与图4A的分发包67类似,分发包77提供集成的、多服务VPN客户端。在该实施例中,相同标号的组件的功能如关于图4A所述。
[0057] 多服务网络客户端的加速服务92为移动设备19提供集成的数据加速服务并可以利用各种不同的加速技术。VPN控制应用程序80提供允许用户配置VPN处理机68和加速服务92这两者的统一用户接口。
[0058] 作为第一实施例,加速服务92可被配置为提供本地、小尺寸的内容缓存。在这种情况下,加速服务92可以对作为VPN控制应用程序80或用户应用程序82先前发出的请求进行响应所接收到的内容以及从企业网络16或更通常地从公共数据网络21检索的内容进行缓存。例如,VPN处理机68可拦截HTTP或HTTPS get请求并询问加速服务92以确定在VPN隧道封装该请求并将该请求发布至O/S接口66用于输出至安全VPN网关12之前是否本地缓存了所请求的网络内容。如果该内容未被缓存,则VPN处理机68按正常过程将该请求隧道传输至安全VPN网关12,并且一旦接收到响应,就更新本地内容缓存。VPN处理机68利用内容缓存以服务后续请求。此外,加速服务可以被配置为与由服务供应商或企业提供的上游 缓存进行交互。以这种方式,加速服务92可提高从安全VPN网关12等下载内容的总效率。
[0059] 作为第二个实施例,加速服务92可被配置为提供客户端解压缩服务,其结合提供实时、连续模式识别和数据流压缩的上游加速设备联合操作。例如,上游加速设备可以采用模式识别和能够检测并消除可变长度的重复短语的高效压缩算法以提供数据流的连续加速。加速服务92可保持与上游设备的短语字典同步的短语字典,并可利用短语字典以重建来自上游压缩设备的压缩数据流。以这种方式,可自始至终地向移动设备19提供传输加速,包括通过无线传输介质,而不需要单独的下游WAN加速设备。使用同步的上游和下游设备的连续数据压缩的进一步示例性细节在Amit P.Singh于2001年5月30日提交的题为“SYSTEM AND METHOD FOR INCREMENTAL AND CONTINUOUS DATA COMPRESSION”的美国专利第6,856,651号中进行了描述,其全部内容通过引用结合于此。
[0060] 作为第三实例,加速服务92可被配置为提供透明的特定应用程序(application-specific,面向应用的)协议优化以改进移动设备19的传送效率。
[0061] 在一些部署中,加速服务92可被用于移动设备19和远程企业网络之间关联的数据流。例如,加速服务92可用作客户端组件,其权衡布置在安全VPN网关12内的或企业网络16的其他加速设备内的服务器端WAN加速服务。然而,加速服务92的使用并不限于企业VPN环境。例如,如关于图4C进一步讨论,加速服务92可结合部署在服务提供商网络20内的加速设备来使用以用于不通过VPN连接的数据流。
[0062] 协同组件94提供协同应用程序的集成包,协同应用程序可结合VPN处理机68建立的任何VPN连接来使用或在非企业环境中来使用。作为一个实例,协同组件可以提供用于网络会议、安全桌面、文件共享的软件或可以帮助用户与他人协同的其他软件。
[0063] 图4C是系统10(图1)的另一框图并示出部署至两个移动设备19A和19B的、本文所述的多服务网络客户端。在该实例中,每个移动设备 19A、19B包括图4B的分发包77,并均具有提供VPN处理机、VPN控制应用程序、安全管理器、加速服务和协同服务的集成网络客户端。
[0064] 在图4C的实例中,在移动设备19B上运行的VPN处理机68已根据本文所述技术建立了与企业网络16的安全VPN网关12的VPN连接95。此外,VPN处理机透明地调用集成加速服务92以向VPN连接95提供压缩和加速服务。此外,如图4C所示,移动设备19B的加速服务与企业网络16的上游加速设备98合作操作以提供WAN加速的模式识别。
[0065] 此外,在该实例中,利用移动设备19A而没有企业网络,特别是没有建立与远程安全VPN网关的VPN连接。在这种情况下,多服务网络客户端的VPN处理机用作透明前端,用于向集成在分发包77内的加速服务、安全管理器和协同服务分发包流而没有为数据流96提供VPN隧道传输服务。即,VPN处理机不需要建立VPN连接也不向包流提供加密/解密服务,但仍然无缝地将其他集成服务应用于在移动设备19A和公共资源99(可经由诸如互联网的分组数据网络21对其访问)之间的数据流96。例如,如图4C所示,在移动设备19A上运行的VPN处理机仍接收并发送包至O/S接口,这时,通过集成加速服务(诸如图4B的加速服务92)无缝路由包以向数据流96提供压缩和加速服务。此外,如图4C所示,移动设备19A的加速服务与服务提供商网络20的上游加速设备97合作操作以提供WAN加速的模式识别。此外,加速服务可提供内容缓存、文件压缩和其他服务。类似地,移动设备19A的VPN客户端集成分发包的安全管理器,以向移动设备提供反病毒和间谍软件检测功能。例如,即使VPN处理机作为透明的通道操作而没有通过VPN连接来隧道传输包,移动设备19A的VPN处理机仍可在允许包经由数据流96通信至服务提供商网络20之前本地要求有效的、注册的反病毒和间谍软件和最新的病毒定义。
[0066] 以这种方式,移动设备的用户可以部署并利用本文所述的多服务网络客户端作为企业解决方案、严格地作为消费者应用而没有企业VPN连接、或作为这两者。在任一情况下,VPN控制应用程序提供了统一的用户接口,并且内部VPN处理机可用于提供将入站包和出站包路由通过其他服务(诸 如加速和安全)的前端,无论VPN处理机是否被配置为建立VPN连接且通过该VPN连接隧道传输包。此外,与多服务VPN客户端相关联的可执行文件可能对于不同的部署是相似的或甚至相同的,其中,对非企业部署禁用某些功能。这可允许用户仅通过输入密钥或认证码而无需安装附加的可执行软件将多服务VPN客户端从非企业部署转换为企业部署和完全的VPN功能。
[0067] 图5是示出移动设备19的一个实施方式的前视图的示意图。在该实例中,移动电话包括用于呈现具有多个图标的交互显示100的触摸屏,每个图标对应于用户可运行的不同的应用程序。在这种情况下,显示100包括图标102,用户与该图标交互以运行VPN控制应用程序80。
[0068] 图6示出一旦运行由VPN控制应用程序80呈现的显示110。在该实例中,显示110以移动设备19的本地格式呈现,并且在该实施方式中不是网页。如图1所示,作为对于用户的主窗口的显示110包括了为用户对常用功能提供快速访问的七个图标,包括:用于访问企业内联网的图标、用于访问电子邮件的图标、用于管理VPN连接的图标、用于登录企业的图标、用于设置当前用户配置文件的图标、用于查看相关日志的图标和用于查看VPN处理机的“关于”信息的图标。在图6的情况中,没有为用户选择当前配置文件并且没有创建VPN会话。即,在它们可以连接之前,用户必须选择要连接的服务器。当第一次运行VPN控制应用程序80时,没有选择服务器。VPN控制应用程序80允许用户定义配置文件并为每个配置文件指定用于该配置文件的目标服务器或安全设备(例如,安全VPN网关12)的地址。此外,显示110包括状态栏111和表示是否已建立任何VPN连接的状态的指示灯112。
[0069] 图7A示出了当用户决定管理并最终选择用户配置文件时由VPN控制应用程序80呈现的显示120。在该实例中,显示120列出两个配置文件(测试配置文件和企业配置文件)并包括允许用户创建新的用户配置文件的输入机制122。
[0070] 图7B示出了当用户选择输入机制122(图7A)并创建新的用户配置文件时由VPN控制应用程序80呈现的显示125。在该实例中,用户能够输入配置文件名称以及与目标企业关联的地址或URL。在某些情况下,用户也可以从安装在移动设备19上的证书列表中选择特定的数字证书。当建立与指定地址或URL关联的安全VPN网关12的VPN连接时,VPN处理机68使用选定证书用于用户认证。
[0071] 图8A示出了在用户已创建和选择用户配置文件(即,Acme Gizmo,Inc.)用于快速VPN访问之后,由VPN控制应用程序80呈现的显示130。此时,用户还没有登录并且VPN连接也尚未建立。显示130为登录过程的一键点击发起呈现登录图标。
[0072] 图8B示出了在用户已选择主显示110(图6)的登录图标以使用AcmeGizmo,Inc.配置文件发起登录过程之后,由VPN控制应用程序80呈现的显示135。作为响应,VPN处理机68已经由HTTPS(其返回基于HTML的登录页面)发起与安全VPN网关12的通信。在某些情况下,VPN控制应用程序80在登录阶段期间在HTTPS请求中指定特定的HTTP用户代理,以信号通知VPN网关12该请求设备是移动设备,从而允许VPN网关12选择用于该设备的自定义网页。VPN控制应用程序80解析来自返回的HTML源代码的数据,并使移动设备19的本地显示内的显示135呈现认证输入机制。
[0073] 图9A示出在VPN处理机68成功认证登录至企业的用户并建立与VPN网关12的VPN连接之后,由VPN控制应用程序80所呈现的显示137。在这种情况下,管理员已对用户定义了多个不同角色。此外,每个角色可允许访问一组特定的保护资源14。为了进一步提高安全性,在通过移动设备19(相对于家用电脑,其可能更容易被盗并且受到危害)进行VPN访问时,管理员可配置安全VPN网关12以向用户呈现所有或仅用户角色识别的子集。此外,管理员能够基于在建立VPN连接时从移动设备19接收的位置信息进一步改进对于用户可用的角色集合,其中位置信息可包括移动设备的GPS坐标、识别当前小区的小区信息、或其组合。例如, 安全VPN网关12可允许管理员定义某些地理区域并为那些地理区域分配信任平。此外,管理员可以为通过VPN连接将要对用户可用的角色指定需要的信任水平,并且可基于每个用户指定所需的信任水平。从用于用户的整体角色,安全VPN网关12构造通过移动设备19要向用户呈现的角色集合。例如,安全VPN网关12可基于管理员为地理区域分配的信任水平(移动设备19当前定位在此)以及由管理员分配的任何用户特定信任阈值水平(在使用移动设备时,在给定角色对于特定用户可用之前必须满足该阈值)来确定集合。例如,管理员可以指定美国的信任水平为“5”(例如,完全信任),为管理员或企业策略认为更可能具有安全风险的第二地理区域指定信任水平为“3”(中等信任)。此外,管理员可以向“管理员角色”分配所要求的水平“5”。因此,在从美国在移动设备内访问安全VPN网关12而不是从第二个地理区域访问安全VPN网关时可向符合“管理员角色”的那些用户呈现该选项。
[0074] 图9B示出在认证和建立与VPN网关12的VPN连接之后由VPN控制应用程序80呈现的显示140作为主页。因此,使得指示器112示出连接状态,状态栏111示出用户名和经历的连接时间。此外,登录图标已被替换为允许用户终止VPN连接的登出图标。
[0075] 图10示出在用户已从主屏幕选择登出图标时由VPN控制应用程序80所呈现的显示150。一旦选择,用户就返回到主屏幕并被提示确认。
[0076] 图11示出在用户从主显示110(图6)选择VPN图标后由VPN控制应用程序80呈现的显示160。如图所示,显示160呈现建立VPN的某些配置参数,诸如是否一旦对企业认证并接收任何会话数据就自动建立VPN连接。当自动登录被禁用时,即使认证已经完成,VPN处理机68也不创建VPN连接。代替地,VPN处理机68等待直到已从VPN控制应用程序80或其他用户应用程序82接收到应用层数据。以这种方式,可减少通过蜂窝数据服务的数据传输相关的费用。此外,也可减少需要保持和服务的开放会话VPN网关12的数量。
[0077] 显示160还呈现与VPN连接相关的当前信息,包括自建立VPN连接后的当前发送字节数和当前接收字节数。此外,显示160包括允许用户终止VPN连接的断开按钮。
[0078] 图12示出在用户从显示110(图6)选择了内联网图标之后由VPN控制应用程序80所呈现的显示170。如图所示,显示170以VPN控制应用程序可呈现的格式表示用户默认主页的翻译版本。此外,VPN控制应用程序80呈现显示170而不是通过安装在移动设备
19上的Web浏览器呈现为网页的显示。当用户从显示110的本地主窗口选择内联网图标时,VPN控制应用程序80发出HTTPS get请求以检索用户的书签网页(图3),如果用户经由端点计算设备18接入VPN网关12则该书签网页通常向用户呈现为完整的网页。
[0079] 在该实例中,当访问主网页时VPN控制应用程序80动态解析来自安全VPN网关12的HTTPS响应的链接和其他书签信息,并动态建立移动设备19上的显示160的窗口。以这种方式,建立显示170并将其呈现作为VPN控制应用程序80的一部分的显示,而不是安装在移动设备19的独立Web浏览器的网页。即,VPN控制应用程序80动态构造显示160以包括由移动设备19提供的本地应用控制的输入控件,其中每个输入控件对应于从VPN网关12接收的HTML响应解析的不同书签。如图所示,VPN控制应用程序80已动态构造显示160以包括用于用户定义的书签的一组输入控件162和对应于用户默认主页(图3)的管理员定义的书签的第二组输入控件164。每个书签由移动设备19的本地显示支持的输入按钮图形来表示。作为响应,VPN控制应用程序80制定并输出合适的HTTP字符串,好像相应的HTML链接被用户选择。因此,书签162、164不是通常嵌入在网页中的基于Web的URL,而作为在移动设备19上的按钮操作,并服务于企业VPN的环境内伪链接的目的。在移动设备19上可以翻译和呈现的链接实例包括对于本地文件服务器的链接、对于企业内部互联网服务器的链接、对于可通过VPN连接运行的用户的预先配置的远程桌面端会话的链接。
[0080] 在一个实例中,VPN控制应用程序80包括内部HTML解析器,并且使用对于HTML的XPath查询以及对于XPath查询返回的一组元的处理逻辑的组合实时地执行书签信息的提取。有关XML路径语言(XPath)的更详细信息可在从1999年11月16日万维网联盟(W3C)可获得的“XML Path Language(XPath)”,1.0版本中找到,其全部内容通过引用结合与此。
[0081] 在一个实例中,VPN控制应用程序80通过发布用于特定VPN用户的index.cgi文件的直接请求来检索书签网页。接下来,VPN控制应用程序80使用以下搜索算法利用其内部HTML解析器解析来自VPN网关12的响应,以提取书签的URL和标题。首先,在由index.cgi返回的HTML中,VPN控制应用程序80发布XPath查询以定位具有包含“launch.cgi”的href属性的所有锚元素。在一个实例中,这通过以下XPath查询//a[contains(@herf,'launch.cgi')]来获得。接下来,对于由以上标准返回的元素集合,VPN控制应用程序80在所有子(child)上进行叠代并从具有简单字符串内容的元素中提取书签标题。
[0082] 以下是节选自示出与单个书签相关的代码的index.cgi的HTML的实例:
[0083]
[0084]
[0085]
[0086]
[0087] VPN控制应用程序80从每个锚href属性中提取每个书签的实际URL。VPN控制应用程序80去除由于在HTML中的图标链接可能引起的任何复制。
[0088] 已经找到用于书签的锚元素,VPN控制应用程序80通过获得该锚的所有兄弟元素(sibling element)并找到具有简单字符串内容的元素来定位相应的描述。在给定的HTML实例片段中,这将是具有“Sample Bookmark description(样本书签描述)”内容的元素。
[0089] VPN控制应用程序80能够基于用于编辑自定义书签的附加链接的存在来区别自定义书签。这些链接可以通过列举在其href属性中具有editbk.cgi的锚条目来找到。这可以利用下面的XPath查询://a[contains(@herf,'editbk.cgi')]实现。
[0090] 例如,以下链接可提取为书签:
[0091] https://secure.acmegizmo.com/dana/home/launch.cgi?url=http%3A%2F%2Fintranet.acmegizmo.com
[0092] https://secure.acmegizmo.com/dana/home/launch.cgi?url=http%3A%2F%2Fintranet.acmegizmo.com%2Fcgi-bin%2Fdbpro.cgi
[0093] https://secure.acmegizmo.com/dana/home/launch.cgi?url=http%3A%2F%2Fag-exchange3.acmegizmo.com%2Fexchange%2F
[0094] https://secure.acmegizmo.com/dana/home/launch.cgi?url=http%3A%2F%2Fintranet.acmegizmo.com%2Fit%2Fsecurity.html
[0095] 只有一个锚元素在href属性中包含editbk.cgi,VPN控制应用程序80确定前三个是标准书签,最后一个是由用户设置的自定义书签。
[0096] 当用户从VPN控制应用程序80显示的本地UI中选择书签时,VPN控制应用程序打开对用户隐藏的嵌入式浏览器控件。浏览器直接导航至为给定标签提取的URL,并可作为网页经由浏览器呈现给用户,或可动态地处理为移动设备19的本地显示。
[0097] 在某些情况下,VPN控制应用程序80查找具有以下示例名称“移动网页邮件(Mobile Webmail)”的具体配置的书签。如果这样的书签存在,则电子邮件图标(图6)将在浏览器中运行基于Web的电子邮件,打开移动网页邮件书签链接。可选地,代替运行网页浏览器,VPN处理机68可运行由移动设备19提供的本地电子邮件应用程序。
[0098] VPN控制应用程序80允许管理员定义要代替标准书签页面显示的自定义页面。VPN控制应用程序80检测书签页面是否已由VPN网关12返回。如果自定义页面被打开作为标准流程的一部分,则VPN控制应用程序80显示该自定义页面,适当地动态构造用于书签的本地用户接口。
[0099] 图13示出在用户已从书签浏览(图12)转换至先前选择的伪链接的历史浏览之后,由VPN控制应用程序80呈现的显示180。
[0100] 图14示出在用户已从显示110(图6)选择登录图标之后,由VPN控制应用程序80所呈现的显示180。如图所示,显示180呈现列出与VPN连接相关的活动的交易窗口187,包括每个动作的日期和时间戳。在一些情况下,VPN控制应用程序80还可提供输入机制,其允许用户上传日志至安全VPN网关12或自动附加至电子邮件用于将日志电子邮寄至由安全VPN网关12指定的管理员电子邮件地址。这可提供简单且高效的机制,通过其用户能够获得在他或她的移动设备19上建立VPN连接的帮助。
[0101] 在某些实施方式中,VPN处理机68可在通过VPN隧道与VPN网关12通信时利用压缩的形式。即,VPN处理机68可压缩隧道包的有效载荷内携带的应用层数据。在压缩数据之后,VPN处理机68加密和封装数据以形成用于隧道传输至VPN网关12的安全包。这允许VPN处理机68减少VPN连接消耗的带宽量,这在移动环境中是重要的。
[0102] 在一个实施方式中,VPN处理机68包括以下算法,该算法用于将Lempel-Ziv(LZ)压缩与IPSEC连接结合以应用于在无连接协议(例如,IP或用户数据报协议(UDP))的顶部上隧道传输加密的IP包(即,封装安全有效负载(ESP)包)至VPN网关12。在这种情况下,UDP用作传输层,用于利用与IPSEC集成的LZ压缩来压缩和保护出站隧道包并且解压缩入站隧道包。
[0103] 在一些实施方式中,对支持SSL和IPSec协议这两者的VPN处理机68进行编程,以根据对于VPN网关12的VPN连接状态在这两个协议之间智能且动态地切换。
[0104] VPN处理机68处理对于VPN网关12的交互和认证,对于符合安全策略(诸如SSL或IPSec协议)的安全数据连接的建立和解构,以及要被隧道传输的出站包的形成和从隧道接收的入站包的处理。
[0105] 即,在 某 些 情 况 下,VPN 处 理 机68可 建 立IPSec VPN,以 在 无 连 接(connection-less)协议(例如,IP或用户数据报协议(UDP))顶部隧道传输加密的IP包。在其他情况下,VPN处理机68可使用SSL VPN以在层4面向连接(connection-oriented)的协议(例如,传输控制协议(TCP))顶部隧道传输IP包。即,VPN处理机68识别SSLVPN隧道的TCP固有地引入相对于UDP上的IP SEC的延迟,然而在一些情况下可以通过通常识别SSL包但阻止UDP包的防火墙提供连接。由于该原因,可对VPN处理机68进行编程以自适应在使用UDP作为传输协议的基于L3的IPSEC网络隧道和使用TCP作为传输的基于L4的SSL网络隧道之间的故障转移。
[0106] 例如,在某个实施方式中,VPN处理机68可通过执行与安全VPN网关12的密钥交换首先建立VPN连接以包括SSL VPN隧道。在这种情况下,VPN处理机68可对在移动设备19和安全VPN网关12之间通过SSL VPN隧道的SSL加密包流内的初始应用层数据进行封装。虽然SSLVPN隧道可以在包括防火墙和代理的大多数远程网络环境中工作,但在面向链接的TCP顶部上的包的隧道传输固有地引入延迟、复杂性和可能增 加的带宽,所有这些在移动环境中是重点关注的。因此,VPN处理机68也可以建立与安全VPN网关12的并行IPSec VPN隧道用于VPN连接,同时在SSL VPN隧道上同时地发送任何初始数据包。VPN处理机68可与通过SSL VPN隧道发送数据并行地通过IPSEC VPN隧道发送测试消息,即,发现包。如果VPN处理机68在IPSec VPN隧道62上接收到对于测试消息的应答,则VPN处理机68停止在SSL VPN隧道上发送数据,并替代地自动利用(例如,没有手动干预)IPSec VPN隧道。在这点上,VPN处理机68可拆除SSL VPN隧道,或在许多情况下,可保留建立的SSL连接。在这种方式下,如果远程网络环境改变且数据包在IPSec VPN隧道上不能再到达企业网络,则VPN处理机68自动(例如,没有手动干预)返回至SSL VPN隧道。在一些实施方式中,VPN处理机68可以使用由用于这两个隧道的VPN的安全VPN网关12分配给移动设备19的单个IP地址,并有效地动态改变操作系统的传输层协议(例如,TCP或UDP)类型并将安全服务(例如,IP SEC和SSL)应用至隧道包。在一些实施方式中,VPN处理机68和安全VPN网关12可根据于2005年9月14日提交的题为“ADAPTIVE FAILOVER BETWEEN LAYER THREE AND LAYERFOUR NETWORK TUNNELS”的第11/226,501号美国专利申请中所阐述的技术进行操作,其全部内容通过引用结合于此。
[0107] 在一些情况下,由VPN处理机68在SSL和IPSEC VPN连接之间的自适应转换在移动设备19中是特别有利的,原因在于,在一些情况下,操作系统64可能已经在使用与IP SEC关联的UDP端口。在这种情况下,更高级别的VPN处理机68(例如,在内核模式下执行的VPN处理机)的IPSEC VPN连接可能具有由操作系统64消耗或阻断的IP SEC通信,原因在于,操作系统可能错误运作,好像IP SEC包将要由操作系统处理。在这种情况下,VPN处理机68可建立VPN连接,最初利用SSL,并且仅在与L3隧道相关的UDP网络端口由操作系统解除阻断时自动从以TCP传输的SSL隧道(例如,L4隧道)转换至以UDP传输的IPSEC隧道(例如,L3隧道)而不终止VPN连接。因此,本文描述的技术允许VPN处 理机68容易地被下载、安装和部署在移动设备19上,而不需要用户介入关于与移动设备的较低水平操作系统级别组件兼容的隧道机制。
[0108] 在与VPN安全网关12的通信暂时丢失的情况下,VPN处理机68的一些实施方式执行快速重新连接。更具体地,通过对于安全VPN网关12发布HTTPS请求,建立SSL控制信道。一旦认证成功,安全VPN网关12为会话小文件提供安全VPN网关映射至具体用户信息的唯一标识符。这允许VPN处理机68在VPN连接暂时丢失情况下重新连接。由于不断改变诸如基站之间的转换、无线局域网(“WiFi”)和蜂窝基于分组的网络连接之间的切换、以及功率状态转换的网络条件,所以这对移动设备是尤其重要的。如果移动设备19已经改变网络连接状态,则O/S接口66可以设置信号机或其他信号通知机制以信号通知该改变。作为响应,VPN处理机68发布另一HTTPS请求并包括会话小文件,这允许VPN处理机重新建立与安全VPN网关12的VPN连接而不需要用户重复该通常的认证过程。在一些情况下,VPN处理机68确定WiFi或蜂窝中哪种类型的传输机制对于移动设备19是可用的。如果只有蜂窝基于分组的网络连接可用而不是WiFi连接,则VPN处理机68可选择性地推迟快速重新连接,即使有效的、未过期的会话小文件存在于移动设备19。特别地,VPN处理机68可推迟快速重新连接,直到从用户应用程序82接收到应用层数据。在一些情况下,VPN处理机68推迟快速重新连接,直到从O/S接口66接收到表示网络流量即将来临或已被用户应用程序82启用的另一事件。以这种方式,VPN处理机68可潜在减少与由建立的闲置VPN连接所产生的数据服务的分钟或带宽消耗相关的用户费用。
[0109] 图15是由安全VPN网关12呈现的实例用户界面190,管理员通过该界面能够提供用于管理对于端点计算设备18和蜂窝移动设备19的安全访问的各种配置参数。特别地,用户界面190允许管理员输入关于端点一致功能和主机检查器功能的配置数据。如图15所示,用户界面190包括复选框输入控件192,通过其管理员能够指定与安全管理器84相关的主机检查器要求。即,管理员能够指定授权安全访问企业的先决条件为:由移 动设备19的多服务客户端的集成主机检查器功能产生的健康状况报告必须表示安全管理器84的反病毒和间谍软件已注册、启用并且是最新的。如果没有,则安全VPN网关可以拒绝访问或提供对于将任何过期安全组件下载至移动设备19所需的有限资源的隔离访问。
[0110] 本公开中描述的技术可以(至少部分地)硬件、软件、固件或它们的任意组合来实现。例如,所描述的技术的各个方面可以在一个或多个处理器(包括一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程阵列(FPGA)或者任何其他等效的集成或分离逻辑电路以及这种组件的任何组合)内实现。术语“处理器”或“处理电路”一般指的是前述逻辑电路的任何一种(单独的或与其他逻辑电路结合)或其他等效电路。包含硬件的控制单元也可以执行本公开的一种或多种技术。
[0111] 这种硬件、软件和固件可以在同一器件或分开的器件中实现,以支持本公开中描述的各种操作和功能。另外,所描述的单元、模块或组件的任何一种可以一起实现,或者作为分离的但可共同操作的逻辑装置分别实现。作为模块或单元的不同特征的描述意在强调不同的功能方面,而并不意味着这样的模块或单元必须由分开的硬件或软件组件来实现。更确切地说,与一个或多个模块或单元相关联的功能可以由分开的硬件或软件组件、或集成在共同的或分开的硬件或软件组件中来实现。
[0112] 本公开中描述的技术也可以在包含指令的计算机可读介质(诸如,计算机可读存储介质)中体现或者编码。嵌入或编入计算机可读介质的指令可以促使可编程处理器或其他处理器(例如)在执行指令时执行方法。计算机可读存储介质可以包括随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、闪存、硬盘、CD-ROM、软盘、磁带、磁性介质、光学介质或其他计算机可读存储介质。应该理解的是,术语“计算机可读存储介质”指的是物理存储介质,而不是信号、载波或其他瞬态介质。
[0113] 对蜂窝移动设备和蜂窝移动设备执行的方法进行描述。该设备可包括:发射器和接收器,以发送和接收射频信号形式的蜂窝通信;微处理器;操作系统,在微处理器上执行以提供应用软件的操作环境;以及多服务网络客户端,向操作系统注册为单一的应用程序。多服务网络客户端包括虚拟专用网络(VPN)处理机,以建立与远程VPN安全设备的VPN连接,其中,VPN处理机对出站网络包进行加密并对入站网络包进行解密以在蜂窝移动设备和远程VPN安全设备之间安全地隧道传输网络包。该网络客户端可包括:安全管理器,以接收来自VPN处理机的解密入站网络包并至少将一个安全服务应用至该解密网络包;VPN控制应用程序,提供允许用户配置VPN处理机和安全管理器的统一的用户接口。多服务网络客户端可从单一的可下载分发包部署。VPN控制应用程序可呈现用于配置安全管理器的反病毒设置和个人防火墙设置的统一用户接口。安全管理器可将反病毒和间谍软件服务应用至网络数据包并提供接口,通过该接口VPN处理机确定蜂窝移动设备的用户是否已激活并向安全管理器注册。VPN处理机可在与VPN网关建立VPN连接之前要求来自安全管理器的肯定表示。VPN处理机可包括主机检查器模块,其盘存蜂窝移动设备的状态并建立健康状况报告,并且主机检查器可在建立VPN连接之前将健康状况报告输出至VPN网关,用于确定蜂窝移动设备是否与企业策略一致。多服务网络客户端还可包括数据加速模块,其将至少一个加速服务应用至来自VPN处理机的网络包。该数据加速模块可以提供本地内容缓存、客户端解压缩服务(其结合上游加速设备一起运作以提供在网络包内的实时、连续模式识别和数据流压缩)、和/或网络包内的控制流的特定应用协议优化。多服务网络客户端还可包括处理来自VPN处理机的包的一个或多个协同组件,其中协同组件提供包括网络会议、安全桌面或文件共享服务中至少一个的协同服务。VPN控制应用程序可提供允许用户禁用VPN连接的用户接口,并且当VPN连接被禁用时,VPN处理机可与操作系统交换网络包,并为应用安全服务的安全管理器透明地提供包。VPN控制应用程序的用户接口允许用户提交证书,并指示VPN处理机动态实例化安全VPN连接或解构现有VPN连接。一旦建立VPN连接,则VPN控制应用程序可 经由超文本传输协议安全(HTTPS)的响应接收来自安全VPN设备的基于web的主页。安全VPN连接动态解析来自HTTPS响应的超文本标记语言(HTML)书签链接,并使用蜂窝移动设备本地的输入控制呈现书签窗口,其中每个输入控制对应于从接收自安全VPN网关的HTML响应解析的书签中的不同的一个,并且一旦选择一个输入控制,VPN控制应用程序可制定并输出合适的HTTP字符串至安全VPN设备,好像相应的HTML链接由用户选择。VPN控制应用程序可在HTTPS响应内检测向用户提供网页邮件链接的一个书签,并且一旦检测到用于网页邮件的书签,VPN控制应用程序就动态构造用户接口以具有用于运行蜂窝移动设备的本地邮件客户端的输入控制以访问电子邮件而无需运行web浏览器。
VPN处理机和VPN控制应用程序可被配置为独立升级。VPN处理机可将VPN连接建立为通过用户数据报协议(UDP)的互联网协议安全(IPSec),VPN处理机可包括压缩模块,其将结合IPSec连接的Lempel-Ziv(LZ)压缩应用至隧道传输加密的IP包至安全VPN网关。VPN处理机建立与安全VPN网关的安全套接字层(SSL)控制信道,并且一旦认证成功就接收具有唯一标识符的会话小文件。如果与安全VPN网关的通信暂时丢失,则VPN处理机可通过向安全VPN网关发布会话小文件来执行快速重新连接。当执行快速重新连接时,VPN处理机可识别当前可用于蜂窝移动设备的一组传输机制,并且只有蜂窝网络可用而基于分组的无线连接不可用时,VPN处理机可推迟快速重新连接直到从用户应用程序接收到应用层数据并准备经由VPN连接发送。本文所描述的这些特征和其他特征可以任意组合使用。
[0114] 已经描述了本发明的各种实施方式。这些和其他实施方式在所附权利要求的范围之内。
QQ群二维码
意见反馈