数据通信网络的安全联合转让专利

申请号 : CN200510075862.1

文献号 : CN1703028B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : J·布彻G·金姆奇S·施若夫

申请人 : 微软公司

摘要 :

提供了用于数据通信网络安全联合的技术。所述技术依照联合模式,采用边缘代理服务器来路由消息。在直接联合模式中,网络的边缘代理服务器被配置成与特定的实体组交换消息,诸如其它网络、服务器、其它设备或用户。在自动联合模式中,边缘代理服务器会接收来自具有有效证书的实体的所有输入消息。在交换所联合模式中,边缘代理服务器将所有输出消息转发到特定的、信任的交换所服务器。

权利要求 :

1.一种由边缘代理服务器执行的用于联合网络的方法,包括:为代理服务器接收联合模式的指示,其中所述联合模式包括直接联合模式、自动联合模式和交换所联合模式中的至少一种;

接收消息;

基于所指示的联合模式认证所接收的消息的发送者;以及基于所指示的联合模式和所接收的消息的所述发送者是否经认证来处理所述消息,所述直接联合模式是这样一种联合模式,其中所述边缘代理服务器配置成与特定的实体组交换消息;所述自动联合模式是这样一种联合模式,其中所述边缘代理服务器能接收来自具有有效证书的实体的所有输入消息;所述交换所联合模式是这样一种联合模式,其中所述边缘代理服务器将所有输出消息转发到特定的、受信任的交换所服务器。

2.如权利要求1所述的方法,其特征在于,所述联合模式是直接联合模式,所述方法还包括:接收授权实体的指示,

其中,所述认证包括验证所述消息的所述发送者是经授权的实体,其中,所述处理包括在验证所述消息的所述发送者是经授权的实体之后,为所述消息确定下一中继段;以及将所述消息转发到所述下一中继段。

3.如权利要求2所述的方法,其特征在于,所述消息是使用会话发起协议接收的。

4.如权利要求2所述的方法,其特征在于,所述授权实体的指示是一列表。

5.如权利要求4所述的方法,其特征在于,所述列表包含由管理员指定的拟授权的实体。

6.如权利要求4所述的方法,其特征在于,当一实体不出现在所述列表上时,它被授权。

7.如权利要求2所述的方法,其特征在于,所述下一中继段是从所述消息的报头字段确定的。

8.如权利要求2所述的方法,其特征在于,所述下一中继段是通过查询一服务器确定的。

9.如权利要求8所述的方法,其特征在于,所述服务器提供域名服务。

10.如权利要求2所述的方法,其特征在于,所述下一中继段是从授权实体的列表确定的。

11.如权利要求1所述的方法,其特征在于,所述联合模式是自动联合模式,所述方法还包括:确定所接收的消息的报头字段中所指示的证书是否出现在已撤销证书列表中,以及当所接收的消息是一输入消息时,验证为所述消息的所述发送者所指示的统一资源标识符与从中接收所述消息的域相匹配;以及当所接收的消息是一输出消息时,

查询域名服务。

12.如权利要求11所述的方法,其特征在于,所述查询包括为所述消息确定下一个中继段。

13.如权利要求1所述的方法,其特征在于,所述联合模式是交换所联合模式,所述方法还包括:将所接收到的消息转发到所述消息中所指定的接收方;以及直接在所接收的消息的所述发送者和所接收的消息的所述接收方之间建立会 话。

14.如权利要求13所述的方法,其特征在于,包括验证所述消息是在有效连接上接收到的。

15.如权利要求13所述的方法,其特征在于,所接收的消息的报头字段包含一证书。

16.一种用于联合网络的边缘代理服务器系统,所述系统包括:为所述边缘代理服务器接收联合模式指示的组件,所述联合模式包括直接联合模式、自动联合模式和交换所联合模式中的至少一种;

接收消息的组件;

基于所指示的联合模式认证所接收的消息的发送者的组件;以及基于所指示的联合模式和所接收的消息的所述发送者是否经认证来处理所述消息的组件,所述直接联合模式是这样一种联合模式,其中所述边缘代理服务器配置成与特定的实体组交换消息;所述自动联合模式是这样一种联合模式,其中所述边缘代理服务器能接收来自具有有效证书的实体的所有输入消息;所述交换所联合模式是这样一种联合模式,其中所述边缘代理服务器将所有输出消息转发到特定的、受信任的交换所服务器。

17.如权利要求16所述的系统,其特征在于,所述处理包括当所述消息中所指示的接收方未出现在拒绝列表中时,转发所述消息。

18.如权利要求16所述的系统,其特征在于,所述联合模式是所述直接联合模式。

19.如权利要求18所述的系统,其特征在于,通过确定发送者是否在有效连接内发送消息来认证所述发送者。

20.如权利要求18所述的系统,其特征在于,所述处理包括当所述消息中所 指示的接收方出现在接受列表中时,转发所述消息。

21.如权利要求18所述的系统,其特征在于,所述处理包括为所述消息确定下一个中继段。

22.如权利要求16所述的系统,其特征在于,所述联合模式是所述自动联合模式。

23.如权利要求22所述的系统,其特征在于,当所述消息是在有效连接中发送时,所述发送者是经认证的。

24.如权利要求22所述的系统,其特征在于,当为发送者所指示的URI的域与实际发送所述消息的实体的域相匹配时,所述发送者是经认证的。

25.如权利要求22所述的系统,其特征在于,所述处理包括确定由在所述消息中所指示的目标实体所提供的服务。

26.如权利要求25所述的系统,其特征在于,服务之一是互相认证的传输层安全性。

27.如权利要求16所述的系统,其特征在于,所述联合模式是所述交换所联合模式。

28.如权利要求27所述的系统,其特征在于,所述处理包括从所述交换所接收消息。

29.如权利要求28所述的系统,其特征在于,所述发送者是隐含地受信任的。

30.如权利要求27所述的系统,其特征在于,所述处理包括将输出消息转发到交换所。

31.如权利要求27所述的系统,其特征在于,所述处理包括直接与所述发送者建立会话。

32.如权利要求16所述的系统,其特征在于,所述联合模式包括所述直接联合模式、所述自动联合模式和所述交换所联合模式的组合。

33.如权利要求32所述的系统,其特征在于,所述认证包括接收一证书。

说明书 :

数据通信网络的安全联合

技术领域

[0001] 所述技术一般涉及数据通信网络,尤其涉及数据通信网络的安全联合。

背景技术

[0002] 应用程序有时需要建立和管理计算设备之间的会话。会话是在一段时间上发生的计算设备之间的一组交互。举例而言,实时通信应用程序,诸如MICROSOFTMESSENGER或语音IP(“VoIP”)代表用户在通信设备之间建立会话。这些应用程序会使用各种机制建立会话,诸如“Session Initiation Protocol(会话发起协议)”(“SIP”)。SIP是应用层控制协议,设备可以用此来互相发现,以及建立、修改和终止设备之间的会话。SIP是因特网建议的标准。其规范“RFC 3261”可以在上获取。关于事件通知的SIP的扩展“RFC 3265”的规范可以在上获取。定位SIP服务器的“RFC 3263”规范可以在上获取。所有这三个规范全部通过引用包含在此。
[0003] 应用程序会使用SIP和另一个协议一起发送或接收信息。举例而言,应用程序会在会话期间使用SIP和实时传输协议(“RTP”)一起传输实时数据。通过将SIP和其它协议一起使用,应用程序可以建立和管理会话并在会话过程中交换信息。与SIP一起使用来交换信息的协议可以将信息分割成消息。举例而言,一VoIP应用程序可以将长的叙述分割成较短的消息。在会话中交换消息被称为“对话”。SIP会使用较低层的通信层来传输对话消息,诸如传输控制协议/互联网协议(“TCP/IP”),它通常用于传输和网络层协议。
[0004] SIP网络包含作为客户机、服务器或两者皆有参与对话的实体。SIP支持四种类型的实体:用户代理、代理服务器、重定向服务器和注册器。用户代理通过与其它SIP实体交换消息开始和终止会话。用户代理可以是用户代理客户机,它是一般是开始SIP请求的设备(例如,开始会话),或用户代理服务器,它是一般接收SIP请求和响应这样的请求的设备。作为例子,“IP-电话”、个人数字助理和任何其它类型的计算设备可以是用户代理。设备可以在一个对话中是用户代理客户机,而在另一个会话中是用户代理服务器,或在会话中交换角色。代理服务器是用作对客户机的服务器和对服务器的客户机的实体。这样使得代理服务器在客户机和服务器之间截取、解释或转发消息。代理服务器通过,例如验证消息的发送者和接收者,来作用于网络安全。重定向服务器接收SIP请求并生成SIP响应,所述SIP响应引导发送请求的客户机以联系另外的网络资源。作为例子,重定向服务器会指明在几个设备中哪个是特定的用户当前是可用的。注册器是从SIP客户机接收注册信息并通知定位服务器或其它实体接收到的注册信息的服务器。
[0005] SIP支持两种消息类型:从客户机发送到服务器的请求和一般是在响应请求时从服务器发送到客户机的响应。SIP消息包含三个部分。SIP消息的第一部分是“开始线”,包含指示消息类型和协议版本的字段。SIP消息的第二部分包含报头字段,其值表示为名字一值对。SIP消息的第三部分是消息主体,被用于描述要开始的会话或包含与会话相关的数据。消息主题会出现在请求或响应中。
[0006] 根据SIP消息头部字段的内容来路由这些SIP消息。若要有效,SIP请求应该包含至少以下六个报头字段:To、From、Cseq、Call-D、Max-Forwards和Via。To报头字段表示请求接收方的逻辑身份。From报头字段表示请求发起者的逻辑身份。Max-Forwards报头字段表示在到达其目的地之前请求可以作出的转发的次数。作为例子,如果来自设备A的消息在到达目的地设备C之前通过设备B,该消息被称为作出了两个转发(例如,设备B和C)。Via报头字段表示至今为止请求所采用的路径(例如,请求所经过的设备的网络地址序列),并表示当路由该响应时应该遵循的路径。报头也会包含Record-Route字段,被用于表示以后的请求和响应应该通过所示的设备路由。在试图在对话中强制子序列消息通过特定设备路由中,网络设备会在转发SIP消息时插入指定设备的Record-Route报头字段。Record-Route报头字段会包含一设备标识符(例如,网络地址)和参数。这些和其它报头字段在上面所引用的SIP规范中描述。
[0007] 几个组织会每个都提供SIP服务器作为网络资源。这些组织会使它们网络之外的SIP客户机和服务器,例如来自因特网或其它组织,能够连接到它们的SIP服务器以便交换消息。组织会为它的SIP服务器从信任实体获得证书,以使得其它组织能够认证它的SIP服务器发送的消息。SIP服务器会使用诸如传输层安全(“TLS”)等协议在它发送的消息上加上这个证书的指示。
[0008] 组织会希望将它们的SIP服务器或网络相联合。通过联合它们的SIP服务器或网络,组织使它们网络中的参与者能够与联盟中其它信任组织的SIP服务器通信。作为例子,组织会期望建立应用层虚拟专用网络(“VPN”)以允许组织所执行的应用程序能够安全地与可能位于另一个组织的网络中的SIP服务器通信。使得SIP服务器的管理员能够安全地联合他们的SIP服务器的有效的方法将具有重要的效用。

发明内容

[0009] 提供了用于安全联合数据通信网络的技术。该技术采用边缘代理服务器根据联合模式来路由消息。在直接联合模式中,网络的边缘代理服务器被配置成与特定的实体组交换消息,所述特定实体组诸如其它网络、服务器、设备或用户。在自动联合模式中,边缘代理服务器会接收来自具有有效证书的实体的所有输入消息。在交换所(Clearing hours)联合模式中,边缘代理服务器转发所有输出的消息到特定的、信任的交换所服务器。

附图说明

[0010] 图1是示出用于数据通信网络的安全联合的系统的实施例的框图。
[0011] 图2是示出图1的网络的实施例的框图。
[0012] 图3是示出图2的边缘代理服务器的实施例的框图。
[0013] 图4是示出由边缘代理服务器执行的用于处理与另一个联合网络上的设备交换的消息的例行程序的实施例的流程图。

具体实施方式

[0014] 在一个实施例中,提供了用于数据通信网络安全联合的技术。该技术采用了边缘代理服务器根据联合模式来路由消息。边缘代理服务器是跨两个网络(例如,企业内部互联网和因特网或者两个企业内部互联网)的网络资源,使得边缘代理服务器的网络“之外”的计算设备能够通过边缘代理服务器与边缘代理服务器的网络“之内”的计算设备通信,反之亦然。边缘代理服务器用作代理服务器网络任一边上的计算设备之间的中介。这样,它截取、解释或转发诸如客户机和服务器等实体之间的消息。管理员会选择以几个联合模式中的一个或多个联合具有边缘代理服务器的数据通信网络,所述模式包含直接、自动或交换所。管理员也会选择允许或拒绝其网络之外的计算设备的用户接入边缘代理网络内部的计算设备。
[0015] 在直接联合模式中,网络的边缘代理服务器被配置成与特定的实体组交换消息,所述特定实体组诸如其它网络、服务器、计算设备或用户。网络的管理员会指定授权实体,诸如服务器或域,用于授权边缘代理服务器以便交换消息。管理员会(“URI”)指定这些实体使用统一的资源标识符。举例而言,管理员会指出允许一合伙者(“PartnerA”)经由其边缘代理服务器“edge.partnera.com”直接联合,并仅授予PartnerA对域“partnera.com”的义务和权限。此配置授权“edge.partnera.com”可以为任何具有匹配模式“@partnera.com”的URI的用户连接和发送或接收消息。边缘代理服务器也会在认证其网络之外的计算设备方面使用多种认证模式,包含诸如证书、共享密钥、私有交换公/密钥对、Kerberos或其它基于证书的认证。选择由边缘代理服务器使用的认证模型的管理员也会指出将只采用域名服务器(“DNS”)而非其它的认证。这种认证会包含确定当建立连接时是否接收到证书,或在报头字段中显示出现在已撤销证书列表中的到达消息。当使用证书时,会时常自动或手动地更新该已撤销证书列表。认证经授权的实体也会包括确定经授权的实体是否在有效的(例如,经认证)的连接上发送消息。一旦完成了认证和授权检查,边缘代理服务器会忽视所有来自或到达未认证或未授权的实体的消息。当消息从经授权的实体到达时(该消息可能也经过认证),边缘代理服务器会检查发送该消息的实体或作为该消息接收者的实体是否出现在“拒绝列表”中。举例而言,“X.COM”可能时经授权的实体,而“JOE@X.COM”可能位于拒绝列表中。在这种情况下,来自“SALLY@X.COM”的消息将被接收,但是来自“JOE@X.COM”的消息将被忽略。接着,边缘代理服务器会将未被忽略的消息转发到适当的“下一个中继段”。下一个中继段是消息接下来将被路由至的计算设备。通过管理员配置下一个中继段或查询另一个服务器,边缘代理服务器基于消息报头字段的任一内容来为消息确定下一个中继段,所述服务器诸如与消息的接收方相关联的注册服务器。因此,在直接联合模式中,只可以与指出被管理员授权和可以被认证的实体交换消息。
[0016] 在自动联合模式中,边缘代理服务器接收来自能够以指示为边缘代理服务器的管理员可接收的方式认证自身的实体的所有输入消息。边缘代理服务器会可使用多种认证方式来认证它们网络之外的计算设备,所述模式诸如证书、共享密钥、私有交换公/密钥对、Kerberos或其它基于证书的认证。举例而言,当实体发送消息给边缘代理服务器时,实体会通过加一证书到所有的消息或提供与连接相关的证书来用边缘代理服务器认证自身。当在经认证的连接上接收到消息之后,边缘代理服务器会选择基于证书接收消息。或者,消息会包含认证在未经认证的连接上的消息的证书。认证会包含通过,例如确定消息中指示的证书是否出现在已撤销的证书列表中(这可以是使得消息或连接无效的指示)来验证证书。这个已撤销证书列表会被时常被自动或手动更新。边缘代理服务器会验证,对消息发送者所指示的URI与实际发送该消息的域相匹配(如用于认证发送实体的证书所标识的那样)。当边缘代理服务器接收到来其网络内的计算设备的输出消息,它会使用DNS的查询服务(“SRV”)机制来发现目标服务器提供哪些服务。这个机制被共同地称为“DNS-SRV”。接着,如果目标服务器提供这样的服务,边缘代理服务器会请求使用互相认证传输层安全(“MTLS”)的到目标服务器的安全会话。自动联合方式也会有拒绝列表,它包含消息被拒绝或消息不能发送至的实体。因此,在自动联合模式中,在真实地接收到或发送了消息之前边缘代理服务器无需知道联合中的其它网络或服务器。
[0017] 在交换所联合模式中,边缘代理服务器会将所有输出消息转发到特定的、信任的交换所服务器。交换所服务器会将它接收到的消息转发到该消息中指定的接收方处。在一个实施例中,交换所服务器继续在会话中连接的计算设备之间路由消息。在一个实施例中,消息的接收方会直接与发送者建立会话,对会话中后续消息绕过交换所。通过使用交换所,边缘代理服务器无需知道联合中的其它网络或服务器,只需要知道信任的交换所服务器。联合中的网络或服务器会隐含地信任所有由交换所转发的消息的实体。然而,如同自动和直接联合模式,交换所联合模式也有拒绝列表,它包含其消息将被拒绝的实体。在交换所联合模式中,边缘代理可以被简单地配置成通过使用被管理的交换所,用最少的配置与大量的网络交换消息,所述被管理的交换所便利了消息的这个交换。
[0018] 在交换所联合模式的一个替换实施例中,交换所服务器会表明它可以转发消息至哪个域。这个指示会使得管理员能够允许交换所服务器的子集将消息转发到管理员的边缘代理服务器。
[0019] 在各种“混合”联合模式中,可以同时采用多种联合模式。举例而言,即使当配置几个直接联合模式合伙者时,可以采用自动联合。边缘代理服务器也会通过动态地增加实体,自动授权附加实体,边缘代理服务器用所增加的实体与授权列表互相作用,使得今后管理员可以改进以增加或删除条目。交换所联合模式也会与直接联合模式一起使用。在这种配置中,边缘代理服务器会直接与授权的实体交换消息,并会采用交换所服务器以认证其它实体。通过指定已知实体和也使得消息能够与较大的实体组交换,系统能够与一大组实体通信,而无需管理员方面的大量人力。
[0020] 现在转到附图,图1是示出用于安全地联合数据通信网络的系统的实施例的框图。系统可以具有一个或多个客户机102、一个或多个网络104、和连接客户机和诸如因特网等网络114的网络。可以经由网络连接108将客户机连接到因特网上。可以使用各种形式的数据通信链路110把网络104连接到因特网上。客户机可以是,例如,计算机、蜂窝电话或其它连接到因特网的设备。网络可以是,例如,企业内部互联网。也可以使用专用数据通信链路112将客户机直接连接到网络上。相似地,可以使用专用数据通信链路112直接将网络连接到其它网络上。系统也可以具有经由数据通信链路118连接到因特网上的交换所116。也可以将因特网连接到各种其它的计算设备上(未示出)。这里所描述的连接可以是物理的、无线的和实际上是任何形式的数据通信网络连接。
[0021] 图2是示出图1的网络的实施例的框图。网络200包含一个或多个客户机202、一服务器204、一目录服务器206、指挥站208、DNS 210和边缘代理服务器212。网络也可以包含其它的设备(未示出)。所示的网络设备(和那些未示出的)可以经由与网络200相关联的数据通信网络互相连接。客户机202和服务器204可以执行各种活动,包括交换SIP消息。目录服务器206可以为设备、用户和其它网络资源提供定位服务。举例而言,目录服务可以是ACTIVE DIRECTORY服务。指挥站208执行各种服务器相关的功能,包含例如将客户机重定向到客户机关联的一服务器或一服务器池、记录网络信息量认证从不是该网络一部分的计算设备连接到该网络的用户。DNS具有将网络资源名称(例如设备名称)映射到网络位置(例如IP地址)的数据库。网络设备可以使用DNS来将“友好的”设备名称解析成设备可以用来路由消息的网络地址。边缘代理服务器212被同时连接到网络200(“内部”网络)和“外部”网络,例如因特网(未示出)。当客户机希望开始到服务器的会话,边缘代理可以,例如确定是否应该开始该会话和应该使用哪个通信链路。
[0022] 图3是示出与图2的边缘代理服务器相关的组件的实施例的框图。所述组件包含传输组件302、DNS-SRV组件304、路由组件306和列表组件308。边缘代理服务器接收输入消息(即,从“外部”网络到达的消息)并转发输出消息(即,到“外部”网络的消息)。边缘代理服务器在执行各种与消息相关的操作后,将输入或输出消息转发到下一个中继段(即,消息接下来被路由至的设备)。这些操作可以包含验证消息是否从消息报头字段所示的服务器接收,确定消息的发送者是否被授权发送消息到边缘代理服务器的网络,并确定消息接下来应该被路由至哪个设备。这些操作是通过或使用网络和代理服务器的各种组件执行的,所述组件诸如传输组件302、路由组件306、域名服务查询服务组件306和列表组件
308。
[0023] 传输组件302建立与计算设备的会话,边缘代理服务器与此计算设备交换消息。举例而言,传输组件会建立与发送消息到网络中的计算设备的MTLS连接。传输组件也会控制它建立的与其它计算设备的会话或连接的数目,使得保护边缘代理服务器免于,例如“拒绝服务攻击”(恶意的用户或设备的攻击),以防止边缘代理服务器实现其指定的功能。传输组件也可以验证出现在来自网络之外的设备的消息中的证书一或当与网络之外的设备建立连接时接收到的消息中的证书不出现在无效证书列表上。传输组件也可以将它自己的证书加入到消息中,系统将所述消息转发到网络之外的设备上或与这样的设备建立连接。
[0024] 路由组件306基于消息报头字段的内容确定是否应该转发输入消息和输出消息。路由组件通过确定消息的发送者的URI是否与认证信息和其它包含在消息报头中的信息相匹配来验证输入消息。无论边缘代理服务器是运作在直接、自动或混合联合模式中,路由组件确定发送方或接收方的实体(或实体的域)是否出现在授权实体或域的列表中。当边缘代理服务器在自动联合模式(或包含自动联合模式的混合联合模式)中运作时,路由组件也会确定URI的域名是否与包含在消息报头中的其它信息相匹配。
[0025] 路由组件也根据消息报头字段的内容验证输出消息。当运作在直接联合模式中时,路由机制确定为输出消息所示的域是否经授权。如果该域未经授权,路由组件忽略该消息或返回一响应消息,指出该域未经授权。当运行于自动联合模式中,路由组件首先检查消息中所示的目标实体的域是否经授权。如果该域未经授权,消息会被传递到DNS-SRV组件以确定是否可以转发该消息。如果DNS-SRV组件不能定位合适的实体以接收该消息,这个消息可能不被转发。
[0026] 域名服务查询服务组件(“DNS-SRV”)304为消息确定目标服务器。可以为输出消息采用这个组件来确定如何路由消息。当DNS-SRV组件不能确定将消息路由到哪个服务器时,该组件会忽略该消息或返回表示失败的响应消息。不能定位路由该消息所至的服务器可以是表示消息被指定至未经授权的服务器。DNS-SRV组件获取一组服务器,可以通过查询DNS服务器将消息路由至所述服务器。当传输组件请求查询以基于例如URI为消息指示一服务器时,DNS-SRV组件执行这个查询。接着,传输组件会试图发送该消息到所示的服务器。如果传输组件不能联系所示的服务器,传输组件会请求DNS-SRV组件提供一替换服务器。这个过程会被重复直至DNS-SRV组件识别出传输组件能够联系的服务器。或者,DNS-SRV组件向传输组件提供一服务器列表,传输组件独立地重复经过该列表直至传输组件定位到它能联系的服务器。当边缘代理服务器运作在直接连接模式中,DNS-SRV组件可能无需执行这些步骤,因为会明确地指出服务器地址。
[0027] 列表组件308会具有边缘服务器将与其交换消息的实体(“接收列表”)和边缘服务器将不与其交换消息的实体(“拒绝列表”)的关联列表。这些列表会存储在与边缘代理服务器相关联或连接到边缘代理服务器的存储设备中,诸如硬盘驱动器、随机存取存储器或连接的文件服务器(未示出)。在一实施例中,系统会在参考拒绝列表(即,包含未经授权的实体)之间参考接收列表(即,包含经授权的实体)。在一个替换实施例中,系统会以倒序检查列表。当一实体同时出现在两个列表中时,首先检查哪个列表会具有不同的结果。举例而言,如果一实体同时出现在两个列表上且首先检查拒绝列表,来自该实体的消息会不被接收即使后来该实体被加入到接收列表中。
[0028] 列表会包含使用支持搜索的多种方案所指定的实体。举例而言,管理员会能够使用全称域名、IP地址、DNS-SRV查询和其它通常采用指示服务器或域的方法来指定实体。列表中的信息会使用表达式示出。举例而言,管理员会指出所有以“MICROSOFT.COM”结尾的域是经授权的。列表组件会使用模式搜索机制在列表中搜索实体。这种模式会包含通配符。举例而言,“*.MICROSOFT.COM”会是所有来自或去到以“MICROSOFT.COM”结尾的域的消息是经授权的指示。
[0029] 经授权和未经授权实体的组合可以被用于使域中特定的实体能够发送或接收消息。举例而言,“*.x.com”会指示以“x.com”结尾的所有的域是未经授权的,但是“ceo.x.com”会是经授权的。在这种情况下,除了来自或去到“ceo.x.com”的消息之外,所有来自或去到具有域“x.com”的任何实体的消息将被忽略。
[0030] 系统会使用这些组件以确定是否和怎样以多种方式路由输出消息。系统会首先确定将接收消息的实体是否在经授权的域中。如果它在未经授权的域中,系统会确定该实体是否出现在经授权的实体列表中。举例而言,“X.COM”域会是未经授权的,而“CEO.X.COM”实体是经授权的。如果该域不是未经授权(和未经明确地授权),系统会联系DNS以确定如何路由该消息。如果对于接收方没有DNS条目,系统会联系交换所以路由该消息。或者,系统会发送消息给信任方,所述信任方会独立地知道如何路由消息(例如,“默认的”路由)。
[0031] 边缘代理服务器也会强制与公司商业模式相关的授权逻辑以路由消息。举例而言,边缘代理服务器会被配置成使得一些用户和设备能够交换SIP消息而非其它消息。该授权逻辑可以使用任一或所有的联合模式来授权和路由消息。作为进一步的例子,边缘代理服务器首先会尝试直接联合路由。如果那个失败,边缘代理服务器接着会尝试自动联合路由。如果那两种联合路由机制都不能使得消息被转发,边缘代理服务器会使用交换所联合模式,其中交换所被指明为“默认的”路由。
[0032] 图4是示出由边缘代理服务器执行的用于处理与另一个联合网络上的设备交换的信息的例行程序的实施例的流程图。举例而言,例行程序会授权、认证和转发与两个设备之间的会话相关的消息,所述两个设备的每个耦合到不同的网络上。例行程序在块502处开始,其中它接受一消息作为参数。在块504处,例行程序确定消息是否从内部服务器接收。如果消息是从内部服务器接收,例行程序在块506处继续。否则,例行程序在块514处继续。在块506处,例行程序确定消息是请求还是响应。如果消息是一请求,例行程序在块508处继续。否则,例行程序在块512处继续。在块508处,例行程序确定发送方或接收方是否被授权。如果是的话,例行程序验证来自消息的Route报头字段,签署Record-Route和Via报头字段并转发该请求。签署Record-Route和Via报头字段使得设备能够信任它们接收到的以后的消息中使用Route或Via报头用于路由的消息报头。
[0033] 在块512处,例行程序确定响应中所指示的发送者或接收者是否经授权。如果是的话,例行程序根据所签署的响应的Via报头字段来路由该响应。
[0034] 在块514处,例行程序确定消息是请求还是响应。如果消息是一请求,例行程序在块516处继续。否则,例行程序在块518处继续。在块516处,例行程序认证请求将被转发至的服务器。如果该服务器是经认证的,例行程序验证From和To URI报头字段。如果这些报头字段是有效的,例行程序将该消息转发到下一中继段。
[0035] 在块518处,例行程序验证消息的Via报头字段。如果这些字段是有效的,例行程序将该响应转发至服务器。
[0036] 例行程序在块510处返回到其调用程序。
[0037] 虽然这里所讨论的特定例子使用SIP,然而替换实施例可以使用其它等价或相似的协议。
[0038] 用于实现数据通信网络安全联合的系统的计算设备可以包含一中央处理单元、存储器、输入设备(例如键盘和定位设备)、输出设备(例如显示设备)和存储设备(例如磁盘驱动器)。存储器和存储设备是计算机可读介质,它们可以包含实现所述系统的指令。此外,数据结构和消息结构会经由数据传输介质被存储或发送,诸如在通信链路上的信号。可以使用各种通信链路,诸如因特网、局域网、广域网或点对点拨号连接。
[0039] 图1示出了合适的操作环境的例子,其中可以实现用于数据通信网络安全联合的系统。该操作环境仅仅是合适的操作环境的一个例子,而不是意在对本系统的使用范围或功能作出任何限制。其它可以适用的众知的计算系统、环境和配置包含个人计算机、服务器计算机、手持或膝上设备包括“智能”蜂窝电话、多处理器系统、基于微处理器的系统、可编程消费电子产品、网络PC、小型机、大型机、包含任何上述系统或设备的分布式计算环境等等。
[0040] 用于数据通信网络安全联合的系统可以被大体上描述为一个或多个计算机和其它设备执行的计算机可执行指令,诸如程序模块。一般地,程序模块包含执行特定任务或实现特定抽象数据类型的例行程序、程序、对象、组件、数据结构等等。典型地,程序模块的功能可以如在各种实施例中所期望的被组合或分布。
[0041] 如上所述,应该理解这里所描述的本发明的特定实施例意在说明,可以作出不背离本发明的精神的范围的各种修改。相应地,除了所附的权利要求书的限制之外,本发明不是受限的。