用于接入至少一个虚拟专用网络的系统和方法转让专利

申请号 : CN200580011809.3

文献号 : CN1943172B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 雅里·帕洛雅维朱阿·P·萨沃莱南米卡·T·凯特蒂南

申请人 : 诺基亚公司

摘要 :

一种用于接入至少一个虚拟专用网络(VPN)的系统,包括终端,并且可以包括至少一个安全策略数据库(SPD)。该终端可以与VPN客户端和至少一个应用进行通信。反过来,该VPN客户端可以定义至少一个VPN接入点,每个VPN接入点包括相关的物理接入点和VPN策略。此后,该VPN客户端能够基于该一个或多个VPN接入点接入至少一个VPN,以从而通过该至少一个VPN建立来自该至少一个应用的至少一个数据连接。另外,该VPN客户端能够从该SPD下载至少一个VPN策略。还提供了一种用于管理至少一个虚拟专用网络(VPN)策略的系统,其中该一个或多个VPN策略用于接入至少一个VPN。

权利要求 :

1.一种用于接入至少一个虚拟专用网络(VPN)的设备,该设备包括:控制器,被配置为操作VPN客户端和至少一个应用,该VPN客户端被配置为定义至少一个VPN接入点,每个VPN接入点包括相关的物理接入点和VPN策略,其中该VPN客户端被配置为基于该至少一个VPN接入点接入至少一个VPN,以从而通过该至少一个VPN从至少一个应用建立至少一个数据连接。

2.根据权利要求1所述的设备,其中该VPN客户端被配置为基于该相关的物理接入点和VPN策略激活至少一个VPN接入点,以从而接入该至少一个VPN。

3.根据权利要求2所述的设备,其中该VPN客户端被配置为激活至少一个VPN接入点,包括被配置为将至少一个VPN接入点与该至少一个应用相关联,并此后激活来自该至少一个应用的至少一个VPN接入点,以从而通过该VPN建立来自该至少一个应用的该至少一个数据连接。

4.根据权利要求2所述的设备,其中该VPN客户端被配置为激活每个VPN接入点,包括被配置为建立与该各个VPN接入点相关的该物理接入点之间的连接;载入与该各个VPN接入点相关联的该VPN策略;并此后基于与该各个VPN接入点相关联的该VPN策略,在该物理接入点上建立VPN通道。

5.根据权利要求1所述的设备,其中该VPN客户端还被配置为终止到该至少一个VPN的接入,以从而终止来自该至少一个应用的该至少一个数据连接,其中该控制器被配置为终止到每个VPN的每个接入,包括被配置为关闭在基于与该各个VPN接入点相关联的该VPN策略,建立的该物理接入点上的该VPN通道;卸载与该各个VPN接入点相关联的该VPN策略;并此后终止与该各个VPN接入点相关联的该物理接入点的该连接。

6.根据权利要求1所述的设备,其中该VPN客户端被配置为地定义每个VPN,包括被配置为接收该VPN接入点的名称的选择,接收物理接入点的选择以与该VPN接入点相关联,并此后接收VPN策略的选择以与该VPN接入点相关联。

7.根据权利要求6所述的设备,其中该VPN客户端还被配置为安装至少一个VPN策略,使得该VPN客户端被配置为从该至少一个已安装的VPN策略接收VPN策略的选择。

8.根据权利要求7所述的设备,其中该控制器还被配置为与至少一个安全策略数据库(SPD)通信,该安全策略数据库被配置为存储至少一个VPN策略,其中每个SPD与物理接入点相关联,以及其中该VPN客户端被配置为接收SPD的选择;通过与该各个SPD相关联的该物理接入点从该SPD下载至少一个VPN策略;并此后安装该至少一个所下载的VPN策略。

9.根据权利要求8所述的设备,其中该VPN客户端被配置为建立与该SPD相关联的该物理接入点的数据连接;通过与该物理接入点建立的该数据连接建立与该SPD的数据连接;认证该SPD和该VPN客户端中的至少一个;并此后,当认证了该SPD和该VPN客户端中的至少一个时,从该SPD下载至少一个VPN策略。

10.一种接入至少一个虚拟专用网络(VPN)的方法,该方法包括:定义至少一个VPN接入点,每个VPN接入点包括相关的物理接入点和VPN策略;以及基于该至少一个VPN接入点接入至少一个VPN,以从而通过该至少一个VPN建立来自至少一个应用的至少一个数据连接。

11.根据权利要求10所述的方法,其中接入至少一个VPN包括:基于该相关的物理接入点和VPN策略激活至少一个VPN接入点,以从而接入至少一个VPN。

12.根据权利要求11所述的方法,其中激活至少一个VPN接入点包括:将至少一个VPN接入点与至少一个应用相关联;并且

激活来自该至少一个应用的至少一个接入点,以从而通过该VPN建立来自该至少一个应用的该至少一个数据连接。

13.根据权利要求11所述的方法,其中激活至少一个VPN接入点包括:建立与该各个VPN接入点相关联的该物理接入点的连接;

载入与该各个VPN接入点相关联的该VPN策略;并且

基于与该各个VPN接入点相关联的该VPN策略在该物理接入点上建立VPN通道。

14.根据权利要求10所述的方法,还包括:

终止到该至少一个VPN的接入,以从而终止来自该至少一个应用的该至少一个数据连接,其中终止到每个VPN的接入包括:关闭基于与该各个VPN接入点相关联的该VPN策略所建立的该物理接入点上的该VPN通道;

卸载与该各个VPN接入点相关联的该VPN策略,以及

终止与该各个VPN接入点相关联的该物理接入点的该连接。

15.根据权利要求10所述的方法,其中定义每个VPN接入点包括:接收该VPN接入点的名称的选择;

接收物理接入点的选择以与该VPN接入点相关联;

接收VPN策略的选择以与该VPN接入点相关联。

16.根据权利要求15所述的方法,还包括:

安装至少一个VPN策略,

其中接收VPN策略的选择包括从该至少一个已安装的VPN策略接收VPN策略的选择。

17.根据权利要求16所述的方法,其中安装至少一个VPN策略包括:接收安全策略数据库(SPD)的选择,其中该SPD可以存储至少一个VPN策略,并且其中该SPD具有相关的物理接入点;

通过与该SPD相关联的该物理接入点从该SPD下载至少一个VPN策略;以及安装该至少一个所下载的VPN策略。

18.根据权利要求17所述的方法,其中安装至少一个VPN策略包括由VPN客户端安装至少一个VPN策略,以及其中下载至少一个VPN策略包括:建立从该VPN客户端到与该SPD相关联的该物理接入点的数据连接;

通过所建立的到该物理接入点的该数据连接,建立从该VPN客户端到该SPD的数据连接;

认证该SPD和该VPN客户端中的至少一个;以及

当认证了该SPD和该VPN客户端中的至少一个时,从该SPD下载至少一个VPN策略。

19.一种用于管理至少一个虚拟专用网络(VPN)策略的系统,该至少一个VPN策略用于接入至少一个VPN,该系统包括:至少一个安全策略数据库(SPD),被配置为存储至少一个VPN策略;以及终端,被配置为与VPN客户端进行通信,其中该VPN客户端被配置为通过至少一个物理接入点与该至少一个SPD进行通信,以从而从该至少一个SPD下载该至少一个VPN策略,以及其中该VPN客户端被配置为在VPN策略库中存储该至少一个VPN策略,以及其中该VPN客户端被配置为与该至少一个SPD同步,以从而更新在该VPN策略库中存储的该至少一个VPN策略。

20.根据权利要求19所述的系统,其中至少一个VPN策略包括证书和证书/私钥对中的至少一个,以及其中该VPN客户端被配置为在密码保护的密钥库中存储该证书和该证书/私钥对中的至少一个。

21.根据权利要求19所述的系统,其中该VPN客户端被配置为接收SPD的选择,其中该SPD具有相关的物理接入点,以及其中该VPN客户端被配置为通过与该SPD相关联的该物理接入点从该所选的SPD下载至少一个VPN策略。

22.根据权利要求21所述的系统,其中该VPN客户端被配置为建立与该SPD相关联的该物理接入点的数据连接;通过与该物理接入点建立的该数据连接建立与该SPD的数据连接;认证该SPD和该VPN客户端中的至少一个;并此后当认证了该SPD和该VPN客户端中的至少一个时,从该SPD下载至少一个VPN策略。

23.根据权利要求22所述的系统,其中该VPN客户端被配置为基于SPD证书认证该SPD,以及其中该VPN客户端被配置为基于用户证书认证该VPN客户端。

24.根据权利要求23所述的系统,其中该SPD具有包括多个字符的相关的身份代码,以及其中该VPN客户端被配置为通过接收与该SPD相关联的该身份代码的确认来生成SPD证书,并此后当接收到确认时生成该SPD证书。

25.根据权利要求24所述的系统,其中该VPN客户端被配置为呈现包括与该SPD相关联的身份代码的SPD身份代码会话,在该SPD身份代码会话中的该身份代码被呈现为缺少至少一个字符,以及其中该VPN客户端被配置为接收该至少一个字符,并此后如果在该SPD身份代码会话中呈现的该身份代码,加上接收到的该至少一个字符与该SPD相关联的该身份代码匹配,则接收该身份代码的确认。

26.根据权利要求23所述的系统,其中该VPN客户端被配置为通过该SPD认证该VPN客户端,生成用户证书,并此后当认证了该VPN客户端时生成该用户证书。

27.一种管理至少一个虚拟专用网络(VPN)策略的方法,该至少一个VPN策略用于接入至少一个VPN,该方法包括:从至少一个安全策略数据库(SPD)下载至少一个VPN策略;

在VPN策略库中存储该至少一个VPN策略,以及

与该至少一个SPD同步,以从而更新在该VPN策略库中存储的该至少一个VPN策略。

28.根据权利要求27所述的方法,其中至少一个VPN策略包括证书和证书/私钥对中的至少一个,以及其中存储该至少一个VPN策略还包括在密码保护的密钥库中存储该证书和该证书/私钥对中的至少一个。

29.根据权利要求27所述的方法,还包括:

接收SPD的选择,其中该SPD具有相关的物理接入点,

其中下载至少一个VPN策略包括通过与该SPD相关联的该物理接入点从该所选的SPD下载至少一个VPN策略。

30.根据权利要求29所述的方法,其中下载至少一个VPN策略包括:建立从该VPN客户端到与该SPD相关联的该物理接入点的数据连接;

通过所建立的到该物理接入点的该数据连接,建立从该VPN客户端到该SPD的数据连接;

认证该SPD和该VPN客户端中的至少一个;以及

当认证了该SPD和该VPN客户端中的至少一个时,从该SPD下载至少一个VPN策略。

31.根据权利要求30所述的方法,其中认证该SPD包括基于SPD证书认证该SPD,以及其中认证该VPN客户端包括基于用户证书认证该VPN客户端。

32.根据权利要求31所述的方法,其中该SPD具有包括多个字符的相关的身份代码,以及其中该方法还包括:生成SPD证书,以及其中生成SPD证书包括:

接收与该SPD相关联的该身份代码的确认;以及

当接收到确认时生成该SPD证书。

33.根据权利要求32所述的方法,其中接收确认包括:

呈现包括与该SPD相关联的该身份代码的SPD身份代码会话,在该SPD身份代码会话中的该身份代码被呈现为缺少至少一个字符;

接收该至少一个字符;以及

如果在该SPD身份代码会话中呈现的该身份代码,加上接收到的该至少一个字符与该SPD相关联的该身份代码匹配,则接收该身份代码的确认。

34.根据权利要求31所述的方法,还包括:

生成用户证书,其中生成用户证书包括:

向该SPD认证该VPN客户端;以及

当认证了该VPN客户端时生成该用户证书。

说明书 :

技术领域

本发明一般涉及接入虚拟专用网络(VPN)的系统和方法,以及更特别地涉及通过至少一个所建立的VPN接入点接入至少一个VPN的系统和方法。

背景技术

现在普遍认识到利用互联网获得对大量在线可用信息和包括万维网(WWW)的互联网部分接入的益处。过去,接入互联网的传统方式是通过诸如在工厂、学校或者在家里的固定的接入点来执行。从一开始,固定接入点的概念就已经是互联网模型的基础。例如,互联网协议(IP)根据数据包的IP地址将它们路由到其目的地。该IP地址与一个固定的物理位置相关联,非常类似于传统的电话号码与固定电话线的物理位置相关联的方式。这种与物理位置的关联允许以有效而且高效的方式把IP数据包发送到其预期目的地。
传统的连接概念已经经历了例如,由近年来向移动技术过渡证明了的朝移动性发展的趋势导致的变化。移动计算是另一个正在获得普及率的领域,在这里益处是无疑可以通过允许用户自由地完成他们的工作而不考虑其位置。此外,对互联网和互联网中可用的服务的可靠的接入,将使移动联网技术能够通过将所有用户从办公室的束缚中解放出来,而提供更高的生产力。例如,发展的趋势越来越多地倾向于通过允许来自比如飞机上和汽车里的任何虚拟位置接入而提供更高自由度的无线连接。
IP内容、计算和通信最关心的问题之一是安全。互联网的开放本质使所发送的数据包固有地面对由不同子网络之间移动节点的运动而形成的安全问题。为了处理这些问题,开发了一种IP安全协议(或简单IPsec),比如互联网工程任务组(IETF)对注释文件的要求RFC 2401中规定的,其命名为:Security Architecture for theInternet Protocol,其内容通过参考完全结合在本文中。在这方面,IPsec是为了在IP主机之间传输时,提供数据包有效载荷的端到端安全而开发的。这主要通过典型地利用两端都需要使用相同密钥的对称密码系统,为主机提供数据包的数据报级认证和加密来实现。比如互联网密钥交换(IKE)之类的密钥管理协议可以用于生成用于比如在一个虚拟专用网络(VPN)中使用的IPsec堆栈中的对称密钥。
如本领域的技术人员将会理解的,VPN是位于一个或多个物理网络内的逻辑网络。VPN可以用于安全地接入企业的资源,比如电子邮件或内部网资源。另外的或可选的,VPN可以用于安全地在局域网之间通信,其中的一个或多个局域网可以包括在企业的内部网内。在操作中,支持IPsec VPN的主机或者VPN网关维持提供许多选择符的安全策略数据库(SPD)中的安全策略,例如,如RFC 2401中规定的。SPD识别通过VPN网关的业务量请求了哪个种类的安全。例如,安全策略可以要求所有业务量数据包穿过一个封装的安全有效载荷(ESP)到达VPN网关,除了某些没有经过IP处理传送的数据包。然后,可以执行上述安全策略的示例,并且这些安全策略作用于通过该VPN网关的所有数据包。
按照惯例,仅允许客户端在任意给定的时间在单独的VPN上建立通信。更特别的是,仅允许常规的客户端在任意给定的时间激活用于各自VPN的单独的VPN策略。在这方面,在任意时间点上,这种“单宿主”客户端仅允许单独的活动数据连接及各自的网络接口。然而,为了对这种“单宿主”客户端加以改进,已经开发了在任意给定时间允许并发连接的“多宿主”客户端,包括通过多个VPN的并发连接。例如,按照比如由英国的Symbian有限公司开发的那些操作系统运行的移动手持终端能够允许多个并行活动数据连接及各自的网络接口。在这种情况下,每个网络接口通常具有其自己特有的IP地址、路由信息和相关域名系统(DNS)服务器地址。另外,“多宿主”客户端的每个接口及各自数据连接通常属于在客户端本地定义并通过网络ID识别的特殊的逻辑网络。
通过VPN的通信通常要求客户端通过建立与到包括该各自VPN的一个或多个物理网络的接入点的通信,建立VPN连接,并此后载入或激活该各自VPN的VPN策略。同样地,客户端通常必须通过卸载或去激活该各自VPN的VPN策略,终止VPN连接,并此后终止与该接入点的通信。尽管发起和终止这种VPN连接的这样的程序适合使通过VPN的通信更容易,但是这样的程序还是能够给客户端,或者更特别地给客户端用户带来不想要的负担。要认识到,这种负担通常能够随“多宿主”客户端中客户端的并发VPN和其它连接的数量的增长而增长。

发明内容

根据前述的背景,本发明提供了一种用于接入至少一个虚拟专用网络(VPN)的改进的系统、方法和计算机程序产品。如下所述,依照本发明的实施方式,终端能够建立并有效地维持诸如在“单宿主”和/或“多宿主”配置中的一个或多个VPN。然而,与传统的“多宿主”客户端相反,终端还可以无需终端、或终端用户而建立每个VPN连接,以分别建立与到各自一个或多个物理网络的IAP(互联网接入点)的通信,载入或激活各自VPN的VPN策略,以及随后此后卸载或去激活各自VPN的VPN策略,并终止与该IAP的通信。在这方面,终端,或者更特别地终端用户能够定义一个或多个“VPN接入点”。如下所述,通常可以认为VPN接入点是到各自VPN的虚拟或逻辑接入点。然后,利用VPN接入点,终端能够以与IAP完全相同的方式建立并有效地维持一个或多个VPN连接,该VPN连接具有依照传统技术建立的类似的VPN连接的属性。
根据本发明的一个方面,提供了一种用于接入至少一个虚拟专用网络(VPN)的系统。该系统包括终端,并且可以包括至少一个安全策略数据库(SPD),每个SPD与物理接入点相关联。该终端能够与VPN客户端和至少一个应用进行通信。反过来,该VPN客户端能够定义至少一个VPN接入点,每个VPN接入点包括相关的物理接入点及VPN策略。例如,VPN客户端能够通过接收VPN接入点的名称的选择定义每个VPN。因而,VPN客户端能够接收物理接入点的选择以与VPN接入点相关联,并此后接收VPN策略的选择以与VPN接入点相关联。在这方面,VPN客户端还能够安装至少一个VPN策略,使得VPN客户端能够从所安装的一个或多个VPN策略接收VPN策略的选择。
更特别地,当该系统包括至少一个SPD时,VPN客户端能够接收SPD的选择。因而,VPN客户端能够通过与各自SPD相关联的物理接入点从该SPD下载至少一个VPN策略。VPN客户端此后能够安装所下载的一个或多个VPN策略。在这方面,VPN客户端能够建立与SPD相关联的物理接入点的数据连接,并此后通过与物理接入点建立的数据连接建立与SPD的数据连接。VPN客户端因而能够认证该SPD和/或VPN客户端,并在认证了该SPD和/或VPN客户端时,从SPD下载至少一个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通道,终止对每个VPN的每个接入。然后,VPN客户端可以卸载与各自VPN接入点相关联的VPN策略,并此后终止与各自VPN接入点相关联的物理接入点的连接。
根据本发明的另一个方面,提供了一种用于管理至少一个虚拟专用网络(VPN)策略的系统,该一个或多个VPN策略用于接入至少一个VPN。该系统包括至少一个SPD、和能够与VPN客户端通信的终端。该VPN客户端能够通过至少一个物理接入点与该一个或多个SPD进行通信,以从而从该一个或多个SPD下载一个或多个VPN策略。VPN客户端能够在VPN策略库中存储一个或多个VPN策略。此后,VPN客户端可以与该一个或多个SPD同步,以从而更新在VPN策略库中存储的一个或多个VPN策略。一个或多个一个或多个VPN策略可以包括证书和/或证书/私钥对。在这种情况下,VPN客户端还可以在密码保护的密钥库中存储该证书和/或证书/私钥对。
与上面类似,VPN客户端能够接收SPD选择,并通过与该SPD相关联的物理接入点从所选的SPD中下载至少一个VPN策略。在这种情况下,VPN客户端还能够认证该SPD和/或该VPN客户端,并在认证了该SPD和/或VPN客户端时,从该SPD下载一个或多个VPN策略。在这方面,VPN客户端可以基于SPD证书认证该SPD,并基于用户证书认证该VPN客户端。然而,在基于SPD证书认证SPD之前,VPN客户端可以生成SPD证书。类似地,VPN客户端可以生成用户证书,比如通过向该SPD认证VPN客户端,并在认证了该VPN客户端时生成用户证书。
更特别地,例如,SPD可以有包含多个字符的相关的身份代码。VPN客户端从而可以通过接收与该SPD相关联的身份代码的确认生成S PD证书,并此后在接收到确认时生成该SPD证书。在这方面,VPN客户端可以呈现包含与该SPD相关联的身份代码的SPD身份代码对话,在SPD身份代码对话中的该身份代码被呈现为缺少至少一个字符。VPN客户端可以接收该至少一个字符。然后,如果在该SPD身份代码对话中所呈现的身份代码,加上接收到的该至少一个字符与该SPD相关联的身份代码匹配,VPN客户端可以接收该身份代码的确认。
根据本发明的其它方面,提供了一种用于接入至少一个VPN的方法和计算机程序产品。还提供了一种用于管理至少一个VPN策略的方法和计算机程序产品。以及在本发明的又一个方面,提供了一种VPN接入点数据结构。因此,本发明的实施方式提供了一种用于接入至少一个VPN,和用于管理一个或多个VPN策略的系统、方法和计算机程序产品。通过定义一个或多个VPN接入点,本发明的实施方式可以以一种低负担的方式建立到终端或终端用户的一个或多个VPN连接中的每一个。在这方面,如上面指出并如下所述,通常可以认为VPN接入点是到各自VPN的虚拟或逻辑接入点,使得终端可以以与IAP完全相同的方式建立并有效地维持一个或多个VPN连接。因此,本发明的实施方式的系统、方法和计算机程序产品解决了现有技术认定的问题,并提供了额外的益处。

附图说明

已经以通用术语这样描述了本发明后,现在将参考附图,附图不必按比例绘制,其中:
图1是根据本发明的一个实施方式的无线通信系统的示意性框图,其中该系统包括终端通过无线RF链接与之双向耦合的移动网络和数据网络;
图2是依照本发明的实施方式能够作为网络实体运行的实体的示意性框图;
图3是根据本发明一种实施方式的终端的示意性框图;
图4示出了包括依照本发明一种实施方式接入至少一个VPN的方法中多个步骤的流程图;
图5A-5C是包括依照本发明一种实施方式的安装、存储或管理一个或多个VPN策略的方法中多个步骤的流程图;
图6-17是在本发明的实施方式运行期间能够由VPN客户端呈现的示例性显示;以及
图18A-18E是包括依照本发明一种实施方式的激活以及去激活VPN接入点的方法中多个步骤的流程图。

具体实施方式

现在将参考附图在下文中更充分地描述本发明,其中示出了本发明的优选实施方式。然而,这个发明可以以多种不同的形式实施,并不认为限制于在此阐明的实施方式;更确切地说,提供这些实施方式,使得本公开完整和彻底,并对本领域的技术人员充分地传达本发明的范围。自始至终,相同的数字指代相同的元件。
参考图1,说明将受益于本发明的一种类型的终端和系统。将主要结合移动通信应用描述本发明的实施方式的系统、方法和计算机程序产品。然而,应当理解,本发明的实施方式的系统、方法和计算机程序产品可以结合各种各样的其它应用使用,既可以在移动通信行业内也可以在移动通信行业外。例如,本发明的实施方式的系统、方法和计算机程序产品可以结合有线和/或无线网络(例如,互联网)应用使用。
如图所示,终端10可以包括用于发送信号到基地站点或基站(BS)14并接收来自基地站点或基站的信号的天线12。基站是或多个蜂窝或移动网络的一部分,每一个都包括操作网络所需的元件,比如移动交换中心(MSC)16。移动网络也可以称为基站/MSC/互联功能(BMI)。在操作中,MSC可以在终端进行呼叫和接收呼叫时,发送呼叫到终端和从终端接收呼叫。MSC还可以例如,当该终端与一个呼叫有关时,提供到比如陆上线路干线的连接。另外,MSC可以控制到终端和来自终端的消息的转发,也可以控制终端到消息中心和从消息中心到终端的消息的转发,该消息比如是到SMS中心(SMSC)(未示出)和来自SMS中心(SMSC)(未示出)的短消息服务(SMS)消息。
MSC 16可以与数据网络耦合,比如局域网(LAN)、城域网(MAN)和/或广域网(WAN)。MSC可以直接与数据网络耦合。然而,在一种典型的实施方式中,MSC与GTW 18耦合,而该GTW与诸如互联网20的WAN耦合。反过来,诸如处理元件(例如,个人计算机、服务器计算机等等)之类的设备可以通过互联网与终端10耦合。例如,处理元件可以包括一个或多个与一个或多个源服务器22相关联的处理元件,图1中示出了其中一个。
BS 14也可以与信令GPRS(通用分组无线业务)支持节点(SGSN)24耦合。该SGSN典型地可以执行类似于分组交换业务的MSC 16的功能。象MSC一样,SGSN可以与诸如互联网20的数据网络耦合。SGSN可以直接与数据网络耦合。然而,在一种更典型的实施方式中,SGSN与一个诸如GPRS核心网络26的分组交换核心网络耦合。该分组交换核心网络接着与另一个GTW耦合,比如GTW GPRS支持节点(GGSN)28,而该GGSN与互联网耦合。同样,该GGSN可以与诸如多媒体消息业务(MMS)中心(未示出)的消息中心耦合。在这方面,象MSC一样,GGSN和SGSN可以控制消息的转发,比如MMS消息。GGSN和SGSN也可以控制终端到消息中心和从消息中心到终端的消息的转发。另外,通过将SGSN 24与GPRS核心网络26及GGSN 28耦合,比如一个或多个源服务器22之类的处理元件可以通过互联网20、SGSN和GGSN与终端10耦合。在这方面,诸如一个或多个源服务器之类的设备可以通过SGSN、GPRS和GGSN与终端进行通信。
尽管在这里没有示出并描述每个可能的移动网络的每个元件,应该意识到终端10可以通过BS 14与许多不同网络中的任意一个或多个耦合。在这方面,一个或多个网络可以支持依照许多第一代(1G)、第二代(2G)、2.5G和/或第三代(3G)移动通信协议等等中任意一个或多个的通信。例如,一个或多个网络可以支持依照2G无线通信协议IS-136(TDMA)、GSM和IS-95(CDMA)的通信。同样,例如,一个或多个网络可以支持依照2.5G无线通信协议GPRS、增强型数据GSM环境(EDGE)等等的通信。此外,例如,一个或多个网络可以支持依照比如使用宽带码分多址(WCDMA)无线接入技术的通用移动电话系统(UMTS)网络之类的3G无线通信协议的通信。某些窄带AMPS(NAMPS),和TACS网络,由于有双模式或更高模式的终端(例如,数字/模拟或TDMA/CDMA/模拟电话),也可以受益于本发明的实施方式。
终端10还可以包括与一个或多个无线收发信机(TS)30耦合。该TS可以由配置为依照象例如射频(RF)、蓝牙(BT)、红外(IrDA)或者包括图1中示出的WLAN技术之类的技术的任意多种不同的无线网络技术与该终端通信的接入点。另外地或可选地,该终端可以与一个或多个用户处理器32耦合。每个用户处理器可以包括比如个人计算机、膝上型计算机等等之类的计算系统。在这方面,用户处理器可以配置为依照象例如,RF、BT、IrDA或包括LAN和/或WLAN技术之类的技术的任意多种不同的有线或无线通信技术与该终端通信。另外地或可选地,一个或多个用户处理器可以包括可以存储此后可以传输到该终端的内容的可移动存储器。
TS 30和用户处理器32可以与互联网20耦合。与MSC 16一样,TS和用户处理器可以直接与互联网耦合。然而,在一种实施方式中,TS直接通过GTW 18与互联网耦合。应当意识到,通过直接或间接地将终端10和一个或多个源服务器22,以及任意多种其它设备、处理器等等与互联网连接,终端可以彼此进行通信、与源服务器进行通信等等,以从而执行终端的多种功能,比如将数据、内容等等传输到服务提供商和/或证书管理者,和/或接收来自服务提供商和/或证书管理者的数据、内容等等。
依照本发明的实施方式,互联网20和终端10,可以耦合到一个或多个内部网34,图1中说明了其中一个。每个内部网通常包括容纳于企业内部的专用网络。每个内部网可以包括一个或多个互相连接的LAN,以及一个或多个LAN、MAN、WAN等等的部分。与互联网一样,诸如处理元件(例如,一个或多个源服务器22)之类的设备可以通过内部网与内部网以及因此与互联网和终端耦合。象系统的许多其它组件一样,内部网以及内部网的处理元件,典型地通过网关36直接与互联网,以及终端耦合。类似地,尽管没有示出,内部网内包括的每个网络或者网络的部分,可以通过网关彼此互相连接。
如下所述,借助于通过到内部网的网关36并且,如果必要的话,通过内部网中的一个或多个其它网关,建立虚拟专用网络(VPN),终端10可以接入内部网34并进而接入内部网耦合的处理元件(例如,一个或多个源服务器22)。那么,在这种情况下,该网关典型地称为VPN GTW,如图1中所示。依照本发明的实施方式,该系统提供一个IP安全(IPsec)架构,与互联网工程任务组(IETF)要求的名为:Security Architecture for the Internet Protocol的注释文件RFC 2401中描述的基本相同,因此通过参考将其内容完全结合与本文中。同样地,内部网也与包括安全关联数据库(SAD)38和安全策略数据库(SPD)40的处理元件耦合。如将意识到的,该SAD可以存储内部网34内的处理设备(例如,一个或多个源服务器22)与比如终端10之类的、位于VPN GTW 36之上的处理设备之间的安全关联。另一方面,该SPD可以存储由VPN GTW实施的安全策略,如下所述,在这里,安全策略可以包括在还可以包括一个或多个其它信息段的VPN策略内。如这里所述,SAD和SPD是依照IPsec配置并结合不同的IP层协议(例如,移动IP)运行的。然而,应该理解到,可以选择性地用任意多种能够与本发明的实施方式一致地操作的其它安全协议配置SAD和SPD。
依照IPsec,SAD 38包括用于存储安全关联保护输出业务量,并用于存储安全关联保护输入业务量的数据库。例如,对于输出业务量,SAD的条目可以由SPD 40的条目来指出。更特别地,SAD中的每个条目可以包括一个或多个下列字段:目的地IP地址、IPsec协议(认证文件头(AR)或封装安全有效载荷(ESP))和SPI(安全参数索引)。另外,每个条目可以包括序列号计数器、序列计数器溢出、反重放窗口、模式和/或寿命字段。此外,每个条目可以包括含有象例如AH参数、用于认证的ESP参数和/或用于加密的ESP参数之类的加密和认证密钥参数的加密参数。
如由IPsec所定义的,SPD 40包括用于存储可以包括由VPN GTW36执行的安全策略的VPN策略的数据库。象SAD 38一样,SPD存储用于输出业务量和输入业务量的安全策略,通常每一个分别存储。通常,VPN GTW利用SPD来判断必须比如由IPsec保护什么业务量。然而,当必须保护特殊的业务量时,SPD定义必须施加什么安全服务,在这里这个动作可以定义为(a)丢弃、(b)重放(即,不施加安全服务而重放)或者(c)IPsec(施加安全服务)。SPD存储由描述要施加到各自安全策略的业务量的选择符指出的安全策略。每个VPN策略通常定义要采取的动作(即,丢弃、重放或IPsec),以及当指定IPsec为要采取的动作时要施加的算法和协议。根据IPsec,通常用下列字段定义选择符:目的地IP地址、源IP地址、名称、数据敏感性等级、传输层协议和/或源和目的地端口。依照本发明的实施方式,除去、或取代前述的IPsec字段,可以用一个或多个用户定义的字段定义选择符。
如上面示出并描述的,终端10可以以许多不同的方式的任何一种接入互联网20,以及VPN GTW 36和内部网34。例如,终端可以通过TS 30和/或用户处理器32接入互联网。另外地或可选地,终端可以通过MSC 16接入互联网,比如为了提供电路交换连接。此外,终端另外地或可选地可以通过SGSN 24接入互联网,比如为了通过GPRS核心网络26提供电路或分组交换连接。如在这里使用的,这样的IAP称为“互联网接入点”或IAP。尽管终端可以通过前面提到的任意一个或多个IAP接入互联网,还是应该理解到,上面的IAP仅是终端可以通过其接入互联网的许多不同IAP的说明。
现在参考图2,说明了可以依照本发明的一种实施方式作为比如,GTW 18、发起节点22、TS 30、用户处理器32、VPN GTW 36、SAD 38、SPD 40之类的网络实体运行的实体的框图。尽管表示为分离的实体,在某些实施方式中,一个或多个实体可以支持一个或多个逻辑分离但共同位于一个或多个实体内部的网络实体。例如,单个的实体可以支持逻辑分离,但位置相同的SAD和SPD。同样,例如,单个的实体可以支持逻辑分离,但位置相同的VPN GTW、SAD和SPD。
如图所示,该实体可以作为通常可以包括与存储器44连接的控制器42、处理器等等的网络实体。该控制器也可以与至少一个接口46或者其它用于发送和/或接收数据、内容等的其它装置连接。该存储器可以包括易失性或非易失性存储器,并且通常存储内容、数据等等。例如,该存储器通常存储用于控制器依照本发明的实施方式执行与实体操作相关的步骤的软件应用、指令等等。同样,如上面指出的,当实体包括SAD 38时,该存储器通常存储与内部网34相关的安全关联保护输入和/或输出业务量。另外,如上面指出的,当实体包括SPD 40时,该存储器通常存储可以包括由VPN GTW 36执行的安全策略的VPN策略。
图3根据本发明的一种实施方式,说明了终端10的功能图。应该理解到,所说明的并在下文中描述的终端仅是将受益于本发明的移动终端的一种类型的说明,因此,不应该拿来限制本发明的范围。当说明了终端的几种实施方式并为示例的目的将在下文中说明它们时,其它类型的终端,比如便携式数字助理(PDA)、寻呼机、膝上型计算机和其它类型的语音和文本通信系统,可以容易地使用本发明。
图3中说明的实施方式的终端10包括发送器48、接收器50和控制器52、处理器等等,分别给发送器和接收器提供信号并从中接收信号。这些信号包括依照可用的蜂窝系统的空中接口标准的信令信息,还包括用户语音和/或用户生成的数据。在这方面,终端10可以以一个或多个空中接口标准、通信协议、调制类型和接入类型操作。更特别地,该终端可以依照许多1G、2G、2.5G和/或3G通信协议等等中的任意一种运行。例如,该终端可以依照2G无线通信协议IS-136(TDMA)、GSM和IS-95(CDMA)运行。同样,例如,该终端可以依照2.5G无线通信协议GPRS、增强型数据GSM环境(EDGE)等等运行。某些窄带AMPS(NAMPS),和TACS终端,由于有双模式或更高模式的终端(例如,数字/模拟或TDMA/CDMA/模拟电话),也可以从本发明的实施方式获益。
要理解到,控制器52包括实现终端10的音频和逻辑功能需要的电路。例如,该控制器可以包括数字信号处理器设备、微处理器设备、和许多模拟到数字转换器、数字到模拟转换器和/或其它支持电路。终端的控制和信号处理功能根据其各自性能分配到这些设备中。控制器从而还包括在调制和发送之前卷积编码和插入消息和数据的功能。控制器另外包括内部语音编码器(VC)52A,并且可以包括内部数据调制解调器(DM)52B。此外,控制器可以包括运行一个或多个可能存储在存储器中的软件应用的功能。
终端10还包括用户接口,其包含传统的耳机或扬声器54、振铃56、麦克风60、显示器62和用户输入界面,所有这些都与控制器52耦合。允许终端接收数据的用户输入界面可以包括任意多种允许终端接收数据的设备,比如键盘64、触摸屏(未示出)或其它输入设备。在包括键盘的实施方式中,键盘包括传统的数字(0-9)和相关按键(#、*),和用于操作该终端的其它按键。
该终端10也可以包括存储器,比如用户识别模块(SIM)66、可移动用户识别模块(R-UIM)等等,它们通常存储与移动用户有关的信息元素。除了SIM之外,该终端可以包括其它存储器。在这方面,该终端可以包括易失性存储器68,比如包括用于数据临时存储的高速缓冲存储器领域的易失性随机存取存储器(RAM)。该终端也可以包括其它可以内嵌和/或可以移动的非易失性存储器70。存储器可以存储任意多种信息段,和数据,由该终端用于实现该终端的功能。例如,存储器可以包括识别符,比如国际移动设备识别(IMEI)码,可以唯一地识别该终端,比如识别为MSC 16。
例如,同样地,存储器66、68和70可以包括一个或多个连接应用71,比如一个允许终端10发送并接收网络内容的传统网络浏览器,和/或一个允许该终端发送并接收电子邮件消息的传统电子邮件应用等等。另外,例如,非易失性存储器可以存储操作系统(未示出),比如英国的Symbian有限公司开发的Symbian OS 7.0s版本或更高版本操作系统。此外,例如下面更详细描述的,非易失性存储器可以存储可以依照诸如IPsec的安全协议,建立一个或多个VPN连接的VPN客户端72。
如在这里示出并描述的,比如VPN客户端72之类的应用包括由终端10,比如由该终端的控制器40执行的软件。然而,应该理解,VPN客户端的功能可以同样地在硬件、固件等等中实现,而不脱离本发明的实质和范围。还应该理解,尽管VPN客户端示出并描述为与该终端位置相同,该VPN客户端同样可以从该终端中分离出来。
终端10还可以包括一个或多个用于依照任意多种不同有线和/或无线技术,共享和/或获得来自比如其它网络实体之类的电子设备的数据的装置。例如,该终端可以包括射频(RF)收发信机74和/或红外(IR)收发信机76,使得该终端可以依照射频和/或红外技术共享和/或获得数据。同样地,例如,该终端可以包括蓝牙(BT)收发信机78,使得该终端可以依照蓝牙传输技术共享和/获得数据。尽管未示出,该终端可以另外地或可选地根据包括局域网(LAN)和/或无线LAN(WLAN)和/或其它无线技术的许多不同的有线和/或无线网络技术发送和/或接收来自电子设备的数据。
如背景技术部分中指出的,在用于通过VPN通信的传统技术中通常需要客户端,比如终端10,以通过建立IAP到包括各自VPN的一个或多个物理网络的通信,并此后载入和激活各自VPN的VPN策略,来建立VPN连接。终止该VPN连接,通常需要客户端卸载或去激活各自VPN的VPN策略,并此后终止与该IAP的通信。然而,特别是当在“多宿主”客户端中客户端的并发VPN和其它连接的数量增加时,这种用于发起并终止VPN连接的技术可能给客户端或客户端用户带来非预期的负担。
依照本发明的实施方式,则终端10可以建立并有效地维持比如在“单宿主”和/或“多宿主”配置中的一个或多个VPN。更特别地,运行为“多宿主”的客户端,该终端可以同时建立并有效地维持在一个或多个IAP上的多个VPN连接(和VPN策略)。同样地,该终端可以和到与该VPN连接无关的一个或多个相同或不同IAP的一个或多个另外的连接同时维持一个或多个活动的VPN连接。在操作中,与传统的“多宿主”客户端相反,该终端还可以不请求该终端,或者终端用户,而建立每个VPN连接,以分别建立IAP到各自一个或多个物理网络的通信,载入或激活各自VPN的VPN策略,随后此后卸载或去激活各自VPN的VPN策略,并终止与IAP的通信。
为了实行依照本发明的实施方式接入一个或多个VPN的方法,终端10,或者更特别的终端用户可以定义一个或多个“VPN接入点”。如下所述,VPN接入点通常可以认为是到各自VPN的虚拟或逻辑接入点。在这方面,可以用VPN策略和相关IAP定义VPN接入点,并且可以用名称或其它标识符识别。然后,利用VPN接入点,该终端可以以与IAP非常类似的方式建立并有效地维持一个或多个VPN连接,该VPN连接具有与依照传统技术建立的VPN连接类似的属性。
如下面更详细说明的,当终端10,或者更特别的终端用户或者该终端上运行的应用建立VPN连接时,在该终端上运行的VPN客户端72可以利用各自VPN接入点接入该VPN。因而,如在这里所用的,每个这种VPN连接称为“VPN接入点连接”。更特别地,为了建立VPN接入点连接,VPN客户端可以解释各自VPN接入点,以建立与相关IAP之间的连接,载入相关VPN策略,并此后在该IAP连接上建立VPN通道。因而,倘若该终端从相关IAP脱离的话,为了终止该VPN接入点连接,该VPN客户端可以关闭该VPN通道,卸载该相关VPN策略,并此后允许该终端终止到该相关IAP的连接。
然后,利用VPN接入点,VPN客户端72可以将VPN通道的建立与终止并入到典型的到IAP的连接的建立和终止中。同样地,与传统技术相反,终端10或者终端用户不需要单独执行建立VPN连接的步骤,或者以与建立并终止IAP连接协调的方式用专用VPN用户接口(UI)载入或卸载VPN策略。
如上面指出的,并且如下面进一步说明的,终端10可以通过利用各自VPN接入点连接多个VPN,有效地同时维持到多个VPN接入点连接的连接。另外,一个或多个VPN接入点连接可以有效地共存于具有一个或多个到与各自VPN接入点连接无关的一个或多个相同或不同的IAP的连接的终端中。当该终端有效地维持多个并发活动接入点连接时,多个VPN策略也是同时有效的。然而,每个VPN策略仅影响各自VPN接入点连接上的业务量。在这方面,为了允许这种VPN策略的分离,VPN策略中的业务量选择符可以包括与各自VPN接入点连接相关的网络标识符(ID)。
参考图4,示出了包括依照本发明的一种实施方式的接入至少一个VPN的一种方法中不同步骤的流程图。如图所示,该方法包括建立并有效地维持一个或多个VPN接入点连接。然而,在终端10可以建立并有效地维持一个或多个VPN接入点连接之前,通常定义各自VPN接入点,每一个包括名称或其它标识符,和相关VPN策略和IAP。此外,如图4的方框79中所示,在定义一个或多个VPN接入点之前,一个或多个VPN策略可以比如由方框80中示出的VPN客户端72在该终端的存储器(例如,非易失性存储器70)中安装、更新或者存储。更特别地,该VPN客户端可以安装选自一个或多个不同类型VPN策略的VPN策略,包括用户专用证书策略、通用证书策略和通用非证书策略。
用户专用证书策略通常包括VPN客户端72建立到VPN GTW 36的安全通道所需的信息。更特别地,例如,该用户专用证书策略可以包括一个或多个安全策略。另外,该用户专用证书策略可以包括一个或多个其它信息段,比如,例如一个或多个证书许可(CA)证书、一个或多个VPN GTW证书,和/或一个或多个VPN客户端私钥/证书对。与用户专用证书策略相反,通用证书策略通常没有比如VPN客户端私钥/证书对之类的用户专用信息。因而,对于通用证书策略,该VPN客户端可以生成该VPN客户端的私钥并获得相应证书,比如通过证书注册技术。此外,与用户专用和通用证书策略相反,通用非证书策略典型地需要用户名-密码类型的VPN认证,并且可以准备安装后立即使用。
如将要意识到的,在包括VPN客户端72可以从中安装一个或多个VPN策略的SPD 40的企业中,各自系统管理员通常创建一个或多个VPN策略。然后,该VPN策略可以输出到各自SPD以使该一个或多个VPN策略可以用于该VPN客户端。另外地或可选地,各自系统管理员可以将一个或多个VPN策略打包到文件中,比如Symbian安装系统(SIS)文件。包括策略的文件随后可以递送给此后能够安装或在存储器(例如,非易失性存储器70)中存储来自该文件的策略的该VPN客户端。
现在参考图5A-5C,其说明了包括由终端10的存储器(例如,非易失性存储器70)中的VPN客户端72安装、存储或管理一个或多个VPN策略的方法中多个步骤的流程图。如图所示,安装一个或多个VPN策略的方法包括,比如通过到终端用户接口(例如,键盘64)的输入,激活VPN客户端72内的VPN策略安装程序,如方框80中所示。该VPN策略安装/更新过程可以以任意多种不同的方式激活,包括,例如打开VPN客户端的“VPN策略”页面或显示,或者更特别的该VPN客户端的VPN管理控制面板小应用程序。此后,该终端用户可以从该“VPN策略”显示中选择安装VPN策略,比如通过选择“安装”命令,如图6的示例性VPN客户端显示中所示。
可选择地,在终端10不包括任何已安装的VPN策略的情况下,VPN客户端72可以主动要求安装一个或多个这种策略。例如,如图7的示例性VPN客户端显示中所示,VPN客户端可以呈现包括下列声明和要求的确认对话:“没有安装VPN策略,现在安装吗?”。如果该终端用户响应于这样的要求选择放弃安装VPN策略,该VPN客户端通常不启动VPN策略的安装,并且可以再次呈现表示没有安装任何VPN策略的“VPN策略”显示,如图6的示例性VPN客户端显示中所示。在此后的任意时刻,该终端用户可以从“VPN策略”显示中选择安装VPN策略,比如通过选择“安装”命令。
如果或当该终端用户选择安装一个或多个VPN策略时,终端10可以接收一个SPD 40的选择,从中安装/更新一个或多个VPN策略,比如从由VPN客户端72呈现的一个或多个SPD列表中,如方框82中所示。如图8的示例性显示中说明的,例如,VPN客户端72可以比如在“VPN策略服务器”显示上呈现一个或多个SPD的依字母顺序的列表。应当意识到,如果该列表只包括单独的SPD,则该VPN客户端可以配置为自动选择所列出的SPD。
如方框84中所示,在从中选择SPD 40安装/更新一个或多个VPN策略之后,VPN客户端72可以通过能够接入所选SPD以安装由该SPD存储的一个或多个VPN策略的终端来识别所选SPD是否具有相关IAP。VPN客户端可以以任意多种不同方式识别相关IAP,比如基于在定义所选SPD的终端的存储器中存储的SPD设置。在这方面,VPN客户端72可以在终端10的存储器中存储定义一个或多个SPD 40的SPD设置,这里该SPD设置除了IAP关联之外,可以包括一个或多个SPD的一个或多个地址(例如,IP地址),如果希望这样的话,还可以包括定义终端10和各自一个或多个SPD之间的信任关系的信息。
如将要意识到的,在许多情况下,所选SPD 40可以没有相关IAP,比如可能是以离线的方式,比如从SIS(Symbian安装系统)文件中,SPD设置已经存储在该终端的存储器(例如,非易失性存储器70)中。在这种情况下,VPN客户端72可以接收IAP的选择,比如从由VPN客户端呈现的可用IAP的列表中,如方框86中所示。与单独SPD的情况类似,如果该列表只包括单独的IAP,则该VPN客户端可以配置为自动选择所列出的IAP。不考虑VPN客户端如何接收IAP的选择,该VPN客户端此后可以在定义先前所选SPD的SPD设置中存储该选择。
如方框88所示,一旦所选SPD 40具有相关IAP,该VPN客户端72可以要求该终端用户设置或输入密钥库密码以便于向所选SPD认证终端10,或者更特别的VPN客户端。更特别地,终端用户典型地设置并此后使用密钥库密码以保护在该终端存储器(例如,非易失性存储器70)中的密钥库,或者更特别的,以保护包括在该密钥库中的VPN认证和/或SPD认证的私钥(下述)。如下所述,在这方面,该密钥库密码通常设置为保护VPN客户端第一次连接到该SPD时,该VPN客户端可以从该SPD中接收的SPD认证的私钥,比如为了使由该SPD存储的VPN策略与该终端同步。
如图9的方框90和示例性VPN客户端显示中所示,如果先前已经设置了密钥库密码,VPN客户端72可以要求并此后从该终端用户接收各自的密钥库密码。然而,应当意识到,在许多情况下,VPN客户端可以在终端10的存储器(例如,非易失性存储器70)中存储所设密钥库密码。在这种情况下,该VPN客户端可以无需从终端用户要求密钥库密码,而从存储器中取回密钥库密码。然而,如图10的方框92和示例性VPN客户端显示中所示,如果密钥库密码仍然没有设置或者在存储器中存储,VPN客户端可以要求并此后从终端用户接收新的密钥库密码。
如方框94中所示,在设置或接收密钥库密码之后,VPN客户端72可以建立到与所选SPD 40相关的IAP的数据连接,以从而建立到该SPD的数据连接。此后,该VPN客户端可以建立到该SPD的数据连接,以下载、接收或者同步来自该SPD的一个或多个VPN策略。在同步来自该SPD的一个或多个VPN策略之前,VPN客户端可以认证该SPD和/或向SPD认证其本身,这特别是在该VPN客户端希望,但是与该SPD没有信任关系的情况下。VPN客户端可以以任意多种不同方式认证该SPD和/或向SPD认证其本身。在一种实施方式中,例如,VPN客户端可以执行利用依照证书认证技术的SPD证书和/或用户证书这样的一个或多个认证。在这种情况下,VPN客户端可以在终端10的存储器(例如,非易失性存储器70),比如在密码保护的密钥库中存储关于所选SPD的SPD证书和/或用户证书。
SPD和用户证书可以以任意多种不同方式生成,但在一种典型的实施方式中,是在VPN客户端第一次试图建立与该SPD的数据连接时生成的,如方框96中所示。在这种情况下,当SPD设置不另外包括定义终端10与所选SPD之间的信任关系的信息时,VPN客户端可以认证该SPD。VPN客户端可以以任意多种不同方式认证该SPD,比如通过检查并要求终端用户完成由VPN客户端提供的SPD身份代码,如方框98中示出。在这种情况下,SPD的系统管理员可以典型地以与终端和SPD之间的连接无关的方式,在VPN客户端向SPD认证其本身之前,将身份代码发送给终端用户。
更特别地,VPN客户端72可以要求并此后从终端用户接收该SPD身份代码的确认。在这方面,VPN客户端可以呈现包括缺少一个或多个字符的SPD身份代码的SPD身份代码对话,并且可以要求并此后从终端用户接收缺少的字符。例如,如果服务器身份代码包括:“3E:1F:9E:E6:4C:6E:F0:22:08:25:DA:91:23:08:05:03”,则VPN客户端可以呈现对话,其包括要求:“通过输入缺少的字符校验服务器身份代码:3E:1F:_E:E6:4C:6E:F0:2_:08:25:DA:9_:23:08:_5:03”。在这种情况下,VPN客户端可以从终端用户接收字符串“9210”以从而完成该SPD身份代码。不考虑VPN客户端72如何认证所选SPD 40,在认证SPD时,VPN客户端可以在随后的通信期间,生成并此后存储用于认证该SPD的SPD证书,如方框100中所示。
象生成SPD证书一样,用户证书可以以任意多种不同方式生成。与前面类似,VPN客户端72第一次试图建立与该SPD的数据连接时,该VPN客户端可以向SPD认证其本身。VPN客户端可以以任意多种不同方式相SPD认证其本身,比如通过用户名/密码组合,如方框102中所示。与前面类似,不考虑VPN客户端如何向所选SPD认证其本身,该SPD此后可以生成(或者从证书认证中取回)客户端证书,并且将该客户端证书发送到该VPN客户端。然后,在接收客户端证书时,VPN客户端可以在随后的通信期间,存储用于认证该SPD的客户端证书,如方框104中所示。
如上面指出的,在从SPD 40中下载一个或多个VPN策略之前,VPN客户端72可以认证该SPD和/或向SPD认证其本身。更特别地,在从该SPD中下载一个或多个VPN策略之前,VPN客户端可以从该SPD中取回可用于该VPN客户端的一个或多个VPN策略相关信息,如方框106中所示。因而,在这个信息取回期间,VPN客户端可以认证该SPD和/或向SPD认证其本身,如方框108中所示。在这方面,如果该SPD证书已经到期、被废除或者是无效的,则该SPD可以拒绝与VPN客户端同步一个或多个VPN策略,如方框110中所示。在这种情况下,如果希望这样的话,VPN客户端可以通知终端用户认证错误,比如通过给终端用户呈现信息对话(例如,“策略服务器登录失败。删除并重新创建服务器定义。”)。终端用户可以此后重新定义一个或多个SPD列表中的该SPD,比如在管理这样的一个或多个SPD的列表和设置期间,如下所述。终端用户随后可以重启动VPN策略安装过程,选择重新定义的SPD。
同样地,如果客户端证书已经到期、被废除或者是无效的,VPN客户端72,或者更特别的SPD 40,可以拒绝与VPN客户端同步一个或多个VPN策略,如方框112中所示。在这种情况下,该SPD可以此后生成新的客户端证书,比如以与前面相同的方式(见方框100、102)。VPN客户端然后可以使用新生成的客户端证书再次试图向SPD认证其本身。
如果SPD证书和客户端证书都无效,而VPN客户端72和SPD 40之间的认证成功,则VPN客户端可以同步由SPD存储的一个或多个VPN策略。更特别地,VPN客户端可以从该SPD下载由该SPD存储、生成或接收的一个或多个VPN策略和相关证书(对于用户专用或通用证书策略),如方框114中所示。在完成策略下载或同步时,如果希望这样的话,VPN客户端可以通知终端用户策略同步已经完成。
同样,在VPN客户端已经接收到一个或多个VPN策略之后,VPN客户端72可以安装或者存储各自一个或多个策略。例如,VPN客户端可以将一个或多个安全策略打包到策略文件中,并与关于一个或多个安全策略的信息一起,在VPN策略库中存储该策略文件。另外,例如,对于用户专用或通用证书策略,VPN客户端可以在密码保护的密钥库中存储一个或多个证书和一个或多个私钥/证书对。在这方面,在存储通用证书策略的VPN客户端私钥/证书对之前,在安装期间,VPN客户端可以生成VPN客户端的私钥,并获得相应证书,比如通过证书注册技术。不考虑如何安装一个或多个VPN策略,VPN客户端此后可以呈现所安装的一个或多个VPN策略,比如在“VPN策略”页面或显示上,如图11的示例性VPN客户端显示中所示。
如将要意识到的,一旦已经由VPN客户端72安装了一个或多个VPN策略,VPN客户端此后可以管理各自的一个或多个VPN策略,比如通过更新、编辑、删除或者修改各自的一个或多个VPN策略。一个或多个VPN策略可以以任意多种不同方式更新。然而,在一种典型的实施方式中,以类似于安装各自一个或多个策略的方式更新一个或多个VPN策略。更特别地,一个或多个VPN策略可以通过重新同步VPN客户端于各自SPD 40来更新,特别是当一个或多个VPN策略是先前从SPD安装的时。然后,在每次与SPD同步期间,可以基于当前由SPD存储的一个或多个VPN策略更新、删除或者修改终端的存储器(例如,非易失性存储器70)中存储的所安装的SPD的一个或多个VPN策略。
同样,在管理一个或多个VPN策略期间,VPN客户端72可以给终端用户呈现所安装的一个或多个VPN策略的列表(见图11)。然后,从这个列表中,终端用户可以选择观看关于一个或多个VPN策略的详细信息,以及删除、编辑或者更新一个或多个VPN策略。例如,终端用户可以选择已安装的VPN策略,并此后选择观看关于该VPN策略的详细信息,如图12和13的示例性VPN客户端显示中所示。VPN策略可以包括任意多种不同信息段,其中的一个或多个可以包括在关于VPN策略的详细信息中。
例如,VPN策略可以包括“策略名称”,比如由系统管理员指定的,和包括关于该VPN策略的附注的“描述”,比如由该系统管理员包括在该VPN策略内的信息。同样,例如,VPN策略可以包括“策略服务器名称”,表示VPN客户端72从哪个SPD 40安装了该VPN策略,倘若VPN客户端从SPD安装了该VPN策略的话。另外,例如,VPN策略可以包括“策略状态”,表示该VPN策略是否即将使用,或者该VPN策略是否已经使用,比如在活动的或不活动的VPN接入点中(下述)。另外,例如,VPN策略可以包括“证书状态”,表示与该VPN证书相关的用户证书(0个或更多)当前是否有效、已到期、丢失、目前无效等等。此外,例如,VPN策略还可以包括该VPN策略最后一次何时从各自SPD更新的“更新”指示,再次假设VPN客户端从SPD安装该VPN策略。
除了管理一个或多个VPN策略之外,VPN客户端72还能够管理可以用于VPN客户端安装/更新一个或多个VPN策略的一个或多个SPD 40的列表(见图8),以及在该表中包括的一个或多个SPD的SPD设置。在这方面,如将要意识到的,在多种情况下,期望的SPD不包括在该列表中,或者一个或多个SPD的列表还没有建立,比如在终端用户还没有定义任何VPN客户端内的SPD时。在这种情况下,终端用户可以添加一个或多个SPD到当前可能或可能不包括然后SPD的SPD列表中。例如,终端用户可以通过选择“新建”命令从“VPN策略服务器”显示中选择定义一个或多个SPD,如图8中所示。然而,在SPD列表当前不包括任何SPD的情况下,VPN客户端可以呈现确认对话,其包括下列声明和要求:“没有定义VPN策略服务器,现在定义吗?”,如图14的示例性VPN客户端显示中所示。
如果终端用户响应于这样的请求,选择放弃添加一个或多个SPD40,VPN客户端72通常不启动添加一个或多个SPD,并且可以再次呈现表示没有定义SPD的“VPN策略服务器”显示。在此后的任意时刻,终端用户可以选择从“VPN策略服务器”显示中添加一个或多个SPD,比如通过选择“新建”命令。然后,为了添加SPD到一个或多个SPD列表,随后,VPN客户端可以从终端用户接收各自SPD的主机名称,以及比如来自可用的IAP列表中的IAP。另外,对于新的SPD,VPN客户端可以接收该SPD的地址(例如,IP地址)。对于用于接收这种信息的示例性VPN客户端显示的说明,见图15。在添加SPD之后,如果希望这样的话,VPN客户端可以启动所添加的VPN客户端的该一个或多个VPN策略的同步,比如以上面描述过的方式。
同样在管理一个或多个SPD 40期间,VPN客户端72可以给终端用户呈现可用一个或多个SPD的列表,如上面指出的(见图8)。然后,从这个列表中,终端用户可以选择观看关于该一个或多个SPD的信息,以及删除、编辑或者更新一个或多个SPD。另外,例如,终端用户可以选择同步一个或多个SPD的一个或多个VPN策略。
再次参考图4,不考虑VPN客户端72如何安装一个或多个VPN策略,或者管理一个或多个VPN策略,或可用的一个或多个SPD,在安装一个或多个VPN策略之后,VPN客户端可以定义一个或多个VPN接入点,或者接收一个或多个VPN接入点的定义,如方框81中所示。如上面指出的,每个VPN接入点可以包括名称或其它标识符,相关的VPN策略和相关的IAP。例如,为了定义VPN接入点,VPN客户端可以从终端用户接收各自VPN接入点的名称,以及相关IAP。尽管该相关IAP可以从可用IAP列表中选择,在一种典型的实施方式中,该相关IAP是基于VPN客户端希望与之连接以建立并维持各自VPN接入点连接的VPN GTW 36而预先定义的,比如由各自VPN GTW的系统管理员定义的。除了名称和相关IAP之外,VPN客户端可以比如从已安装的VPN策略列表中接收VPN策略的选择以与该VPN接入点相关联。如将要意识到的,在相关IAP基于VPN GTW预先定义的情况下,相关VPN策略通常包括通过各自VPN GTW服务的SPD 40的VPN策略。
更特别地,依照本发明的一种实施方式,每个VPN接入点可以通过打开可能包括一个或多个先前定义的VPN接入点的列表的VPN客户端72的“ VPN接入点”页面或者显示来定义,如图16的示例性VPN客户端显示中所示。此后,终端用户可以从该“VPN接入点”显示中选择以定义一个或多个VPN接入点,比如通过选择“新建”命令,同样如图16的示例性VPN客户端显示中所示。此后,VPN客户端可以呈现对话,其包括许多用于接收各自VPN接入点设置的输入字段、包括VPN接入点的名称或其它标识符、相关VPN策略和相关IAP。例如,如图17的示例性VPN客户端显示中所示,VPN客户端可以呈现包括用于接收终端用户输入的字段的“编辑VPN接入点”页面或显示。如图所示,除了前面提到的VPN接入点设置,VPN接入点还可以包括可以识别由各自VPN接入点产生的VPN接入点连接的相关网络ID。
不考虑一个或多个VPN接入点如何定义,在定义了一个或多个VPN接入点之后,VPN客户端72可以激活一个或多个所定义的VPN接入点。VPN客户端可以以任意多种不同形式激活一个或多个VPN接入点。同样地,VPN客户端可以直接激活VPN接入点。然而,在一种典型的实施方式中,在激活一个或多个VPN接入点之前,VPN客户端可以关联,或者终端用户可以命令VPN客户端关联一个或多个VPN接入点与可以在终端10上运行的一个或多个应用71,以致相关的一个或多个应用此后可以激活各自的一个或多个VPN接入点,如方框83中所示。例如,终端用户可以命令VPN客户端关联VPN接入点与配置为发送电子邮件消息到通过来自终端的VPN GTW 36耦合与内部网34的电子邮件服务器(即,源服务器22),和/或从中取回电子邮件消息。
如将要意识到的,取代VPN接入点与应用71的关联,一个或多个应用可以配置为要求并随后从终端用户接收接入点的选择,或者是IAP或者是VPN接入点。在这种情况下,在应用运行期间,可以给终端用户呈现已配置的接入点列表,包括一个或多个IAP和/或一个或多个VPN接入点。然后,从这个列表中,终端用户可以选择接入点,比如VPN接入点,以从而激活各自接入点。在这方面,在一个或多个应用运行期间,VPN客户端可以以与IAP与这种应用传统地关联非常类似的方式,关联一个或多个VPN接入点与一个或多个应用,或者接收一个或多个VPN接入点的选择。为了说明的目的,下面的说明假设VPN接入点与应用关联,尽管该VPN接入点可以同样地在该应用运行期间从接入点列表中选择,如上面指出的。在关联了一个或多个VPN接入点和一个或多个应用之后,VPN客户端72可以基于相关的VPN策略和IAP激活一个或多个VPN接入点,如方框85中所示,以从而接入各自的一个或多个VPN。然后,通过接入一个或多个VPN,相关的一个或多个应用可以通过各自的一个或多个VPN建立一个或多个数据连接,如方框87中所示。
现在参考图18A-18E,更特别地说明了依照本发明一种实施方式的激活以及去激活VPN接入点的方法的不同步骤。如在这里所述,VPN接入点与电子邮件应用关联。然而,应该理解到,该VPN接入点可以与任意多种不同应用关联,或者不需与任何应用关联。如图18A的方框116中所示,激活VPN接入点的方法包括执行并操作相关电子邮件应用。此后,如方框118中所示,该电子邮件应用可以操作以请求通过该VPN接入点的数据连接,比如响应终端用户请求从与该电子邮件应用相关联的电子邮件服务器中取回电子邮件消息。此后,如果该电子邮件应用要求其自身认证,该电子邮件应用可以认证该终端用户。例如,该电子邮件应用可以通过请求并此后从该终端用户或应用设置接收电子邮件帐户用户名/密码组合来认证该终端用户,如方框120和122中所示。
在认证了该终端用户之后,如果要求这样的话,该电子邮件应用(例如,应用71)可以试图通过相关VPN接入点连接相关电子邮件服务器(即,源服务器22)。在到VPN接入点的连接尝试期间,包括电子邮件应用的连接尝试,VPN客户端72可以激活与该电子邮件应用相关的VPN接入点相关联的VPN策略,如方框124中所示。如方框126和128中说明的,在激活VPN策略中,如果VPN接入点不完整,比如如果该VPN接入点不包括相关IAP或VPN策略,该电子邮件应用可以防止连接到相关电子邮件服务器。在这种情况下,该电子邮件应用可以返回到尝试连接请求之前的状态。同样,在相关VPN接入点不包括相关IAP的情况下,VPN客户端可以通知终端用户连接失败,比如通过下面的显示:“VPN接入点中涉及的互联网接入点丢失。尝试重新配置VPN接入点。”另一方面,当相关VPN接入点不包括相关VPN策略时,VPN客户端可以再次通知终端用户连接失败,比如通过下面的显示:“VPN接入点中涉及的VPN策略丢失。尝试重新配置VPN接入点。”
同样在激活VPN策略中,如果VPN策略包括用户专用或通用证书策略,而该VPN策略不包括证书或者证书无效或者不再有效,电子邮件应用(例如,应用71)同样可以防止连接相关电子邮件服务器,如方框130和132中所示。在这种情况下,该电子邮件应用返回到尝试连接请求之前的状态。反过来,VPN客户端72可以通知终端用户连接失败,比如通过显示:“VPN连接激活失败。必须更新VPN策略。”或者“VPN连接激活失败。详见VPN日志。”
如果VPN接入点完整而且VPN策略包括有效的证书(对用户专用或通用证书策略),终端10或者更特别的VPN客户端72,可以建立到与该电子邮件应用相关的VPN接入点相关联的IAP的连接。如将要意识到的,在许多情况下,IAP可能需要终端或终端用户在执行这样连接之前向IAP认证其本身。从而,当该IAP要求认证时,该IAP或者更特别的该电子邮件应用(例如,应用71)可以提示终端认证,比如用户名/密码,如方框134和136中所示。然后,在该IAP已经认证了终端10或终端用户之后,或者当该IAP不需要认证时激活相关VPN策略之后,终端可以连接到该IAP,如方框138中所示。正如本领域的技术人员所熟知的,该终端可以基于由终端存储的各自IAP的设置,以任意多种不同的方式连接到该IAP。
在该终端已经连接到该IAP之后,VPN客户端72可以通过建立到支持与电子邮件应用关联的电子邮件服务器(即,源服务器22)的VPN GTW 36的安全通道来接入各自VPN,该VPN GTW还支持提供相关VPN策略(用户专用或通用证书策略或者通用非证书策略)的SPD 40。然而,在建立与各自VPN GTW之间的通道之前,可以要求终端10或终端用户,或者更特别的VPN客户端72,向VPN GTW认证其本身,如方框140中所示。在这方面,当VPN策略包括用户专用或通用证书策略,VPN客户端可以利用各自VPN策略的一个或多个证书和一个或多个私钥/证书对,向VPN GTW认证其本身。然而,如上面指出的,这种一个或多个证书和一个或多个私钥/证书对可以存储在密码保护的密钥库中。从而,在这种情况下,VPN客户端可以请求,并此后从终端用户接收密钥库密码,以从而接入密钥库。然后,在接收密钥库密码时,VPN客户端可以取回VPN认证需要的一个或多个证书和一个或多个私钥/证书对,并此后利用所取回的一个或多个证书和一个或多个私钥/证书对,向VPN GTW认证其本身。
与用户专用和通用证书策略相反,当VPN策略包括通用非证书策略时,VPN客户端72可以依照用户名-密码类型的VPN认证向VPN GTW36认证其本身。在这种情况下,VPN客户端可以请求,并从终端用户接收用户名和密码或通行码。该用户名和密码/通行码可以由终端用户以任意多种不同方式接收,比如从包括由电子邮件应用接入的电子邮件服务器(即,源服务器22)的内部网34的系统管理员。
不考虑VPN客户端72如何向VPN GTW 36认证其本身,在认证过程之后,VPN客户端可以通过该VPN客户端先前与其建立了连接的IAP建立到VPN GTW的安全通道,如方框142中所示。VPN客户端可以依照任意多种不同技术建立该安全通道。例如,在一种实施方式中,VPN客户端依照IPsec建立了与VPN GTW的安全通道。然后,在建立了与VPN GTW的安全通道之后,电子邮件应用可以通过到VPNGTW的安全通道建立与相关电子邮件应用(即,源服务器22)的数据连接,如方框144中所示。例如,电子邮件应用可以建立与相关电子邮件应用的数据连接,以从电子邮件服务器取回电子邮件消息,比如响应终端用户同样的请求。
在电子邮件应用(例如,应用71)已经结束了与相关电子邮件服务器(即,源服务器22)之间的通信之后,VPN客户端72可以终止到该VPN的接入,以从而允许该电子邮件应用终止与该电子邮件服务器之间的数据连接,如图4的方框89中所示。VPN客户端可以以任意多种不同方式终止到VPN的接入。更特别地如图18B和18C所示,例如,VPN客户端可以通过关闭或者终止VPN客户端与VPN GTW36之间的安全通道,来终止到VPN的接入,如方框146和148中所示。此后,VPN客户端可以卸载先前激活的VPN策略,如方框150中说明的。然后,倘若终端10没有另一个到各自IAP的有效维持的连接,比如到有效维持的另一个VPN,VPN客户端可以终止终端和各自IAP之间的连接,如方框152和154中所示。否则,如方框156中所示,VPN客户端可以允许到该IAP的连接维持活动,尽管去激活VPN策略有效地终止了到该VPN的接入。
如将要意识到的,在许多情况下,与活动的VPN接入点相关的VPN策略,可以在VPN策略的先前更新和激活各自VPN接入点之间变化。从而,依照本发明的实施方式,VPN客户端72可以配置为自动将与活动的VPN接入点相关的VPN策略更新为VPN客户端建立与VPNGTW 36之间的安全通道(见图18B的方框142),或者在VPN客户端认证之后,如果VPN客户端未成功认证到VPN客户端,则从而建立该安全通道。现在参考图18B、18D和18E,在本发明的一种实施方式中,在建立了与VPN GTW的安全通道之后,VPN客户端可以连接到与活动的VPN策略相关联的SPD 40,并由各自VPN GTW提供服务,以确定该VPN策略是否已经从该SPD更新或删除,如图18D的方框158和160中所示。
如果该VPN策略还没有从SPD 40更新或删除,VPN客户端72可以继续以比如上述方式运行。然而,如果该VPN策略已经删除,VPN客户端72可以从终端10的存储器(例如,非易失性存储器70)中删除各自VPN策略,如方框162中所示。在这种情况下,在从存储器中删除了该VPN策略之后,VPN接入点变得不完整。那么如前所述,可以防止电子邮件应用连接到相关电子邮件服务器(见方框128)。在这种情况下,电子邮件应用可以返回到尝试连接请求之前的状态。如果希望这样的话,VPN客户端也可以通知终端用户策略删除,比如通过向终端用户呈现如下:“使用中的VPN策略已经被删除。尝试重新配置VPN接入点。”
另一方面,如果该VPN策略已经更新,VPN客户端72可以从终端用户请求是否更新VPN策略的指示,如图18E的方框164中所示。如果终端用户选择制止更新VPN策略,VPN客户端可以以好象该VPN策略还没有更新的方式运行。然而,如果终端用户选择更新该VPN策略,则VPN客户端可以更新该VPN策略。在从SPD 40更新该VPN策略之前,VPN客户端可以认证SPD和/或向SPD认证其本身,比如基于使用密码保护的密钥库中存储的SPD证书和/或用户证书的证书认证技术。在这种情况下,VPN客户端可以请求,并此后从终端用户接收该密钥库密码,以从而接入该密钥库并取回SPD证书和/或客户端证书,如方框166中所示。
在取回SPD证书和/或客户端证书之后,VPN客户端72可以基于各自的证书,认证该SPD和/或向该SPD认证其本身,如方框168中所示。在这方面,如果该SPD证书已经到期,废除或者是无效的,SPD 40可以拒绝更新该VPN策略,如方框170中所示。同样,如果该客户端证书已经到期,废除或者是无效的,VPN客户端,或者更特别的该SPD可以拒绝用VPN客户端更新该VPN策略,如方框172中所示。在这种情况下,如果希望这样的话,VPN客户端可以通知终端用户认证失败,比如通过该终端用户呈现信息对话(例如,“策略服务器登录失败。详见VPN日志。”)。VPN客户端此后可以以好像该VPN策略还没有更新的方式运行。
如果SPD证书和客户端证书都有效,而VPN客户端72和SPD 40之间的认证成功,VPN客户端可以从该SPD更新该VPN策略。更特别地,VPN客户端可以从该SPD下载由该SPD存储、生成或者接收的已更新的VPN策略和相关证书(对用户专用或通用证书策略),如方框174中所示。在完成策略下载或同步时,如果希望这样的话,VPN客户端可以通知终端用户策略更新已完成。如前所述,VPN客户端随后可以通过完成安全通道的建立来运行(见方框142)。
如上面指出的,一个或多个IAP和SPD 40可以从可用IAP列表中选择,而一个或多个VPN接入点可以在VPN客户端72内定义。然而,应该理解到,在许多情况下,利用不另外包括在VPN客户端内的列表中的一个或多个IAP、SPD、VPN接入点等等可能是期望的。在这种情况下,终端10,或者更特别的VPN客户端,可以接收一个或多个IAP(或者IAP设置)、SPD(或者定义一个或多个SPD的SPD设置)和/或VPN接入点。VPN客户端可以以任意多种不同方式接收一个或多个这样的数据结构。例如,在一种实施方式中,VPN客户端可以依照SMS技术接收一个或多个这样的数据结构。
根据本发明的一个方面,本发明的系统的全部或一部分,比如终端10的全部或一部分,通常在一种计算机程序产品(例如,VPN客户端72)的控制下运行。用于执行本发明实施方式的方法的计算机程序产品包括计算机可读存储介质,比如非易失性存储介质,和计算机可读程序代码部分,比如嵌入到计算机可读存储介质中的一系列计算机指令。
在这方面,图4、5A-5C、和18A-18E是根据本发明实施方式的方法、系统和/或计算机程序产品的流程图。要理解到,流程图的每个方框或步骤和流程图中方框的组合,可以通过计算机程序指令实现。这些计算机程序指令可以载入到一台计算机或者其它可编程设备上以产生一种机器,以致在该计算机或其它可编程设备上执行的指令创建用于实现流程图一个或多个方框或一个或多个步骤中指定的功能的装置。这些计算机程序指令也可以存储在能够命令计算机或其它可编程设备以特殊方式运行的计算机可读存储器中,以致该计算机可读存储器中存储的指令产生一种包括实现流程图一个或多个方框或一个或多个步骤中指定功能的指令装置的制造品。该计算机程序指令也可以载入到计算机或者其它可编程设备上,以引起要在该计算机或其它可编程设备上执行的一系列操作步骤,以产生一台实现程序的计算机,以致在该计算机或其它可编程设备上执行的该指令提供用于实现流程图一个或多个方框或一个或多个步骤中指定功能的步骤。
因而,流程图的方框或步骤支持用于执行指定功能的装置的组合、用于执行指定功能的步骤的组合、和用于执行指定功能的程序指令装置。还要理解到,流程图的每个方框或步骤,和流程图中的方框或步骤的组合,可以通过执行特定功能或步骤的基于专用硬件的计算机系统,或者专用硬件和计算机指令的组合来实现。
本发明所属领域的技术人员受益于前述说明书和相关附图中提出的启示将会联想到本发明的许多修改和其它实施方式。因此,应当理解到,本发明不受限于所公开的特定实施方式,而修改和其它实施方式将被包括在所附权利要求书的范围内。尽管在这里使用了特定的术语,它们只是用于通用和说明的含义,而不是为了限制的目的。