用于web应用通信的系统和方法

文档序号:7739321阅读:261来源:国知局
专利名称:用于web应用通信的系统和方法
技术领域
本发明涉及用于web应用通信的系统和方法。
背景技术
由于web技术的标准化和跨平台的一致性,如今web应用的势头越来越大。本上下文中的web应用是跨越了客户端和服务器的协作计算机程序的集合。可以例如经由网络(例如,互联网)上的web浏览器来访问web应用的客户端侧部分。该部分是以浏览器支持的语言(例如,HTML JavaScript等)来编码的,并且依赖于普通的web浏览器来呈现可执行的应用。通常将web应用的服务器侧部分称为web服务。其通常没有n部分,是使用不同的编程语言(例如,Java、PHP、Ruby、Python、Perl等)来编码的,并且在应用服务器的基础设施上执行。在该应用中,将web应用的客户端和服务器部分都称为资源。web应用的一个显著方面是其在其资源之间传送消息并与和其他文本应用相对应的资源通信的能力。在这点上,通信的每个方向(即,客户端至服务器、服务器至客户端、客户端至客户端以及服务器至服务器)都是重要的,因为其每一个都是针对新类型的应用和/或用户体验而展开的。如今的大部分web应用利用(先天单向的)HTTP来用于TCP/IP网络上的通信。然而,能够运行web应用的设备(例如,移动电话、PDA、TV、MID等)的多样性日益增加。被这些设备使用来与世界的剩余部分通信的网络(例如,3G、Wi-Fi、以太网、蓝牙等)和方法(HTTP、WebSockets、XMPP、BOSH、Bayeux, IMS, SIP、SMS 等)的变化也日益增加。当然,不是所有的设备都支持每种通信方式。因此,在这些不同种类的设备之间需要有改进的web应用通信。

发明内容
相应地,本发明的目的是提供不同种类设备之间的web应用通信。根据第一方面,提供了在接入网关(AG)中将客户端注册到AG中的方法。所述AG适于在用于经由所述AG和应用级路由器(AR),在一个或更多个客户端和一个或更多个服务提供商(SP)之间提供通信的系统中操作。此外,所述系统包括AG、AR和认证提供商(AP)。所述方法包括a)从所述客户端接收第一注册消息,所述第一注册消息包括全球用户标识符(GUID)和所述客户端的公钥,所述GUID是所述AP上的统一资源标识符(URI),用于验证所述客户端的用户的标识;b)发行本地用户标识符(LUID),所述LUID是所述AG的资源的URI,维持所述客户端与所述AG的连接;c)经由所述AR向所述AP发送第二注册消息,所述第二注册消息包括所述⑶ID、客户端的公钥以及LUID。d)经由所述AR从所述AP接收第一认证挑战消息;
e)向所述客户端 转发所述第一认证挑战消息;f)从所述客户端接收对所述第一认证挑战消息的第一认证响应,以认证用户的标识;g)经由所述AR向所述AP转发所述第一认证响应;以及h)经由所述AR从所述AP接收结果消息,所述结果消息指示所述第一认证响应是否成功认证了所述用户的标识,以及如果成功认证了所述用户的标识,包括标识证书,所述表示证书包括所述LUID,所述客户端的公钥以及所述GUID,其中,所述标识证书是使用所述AP的私钥来加密的。该方法还包括如果所述结果消息指示成功认证了所述用户的标识,i)获得所述AP的公钥;j)解密和存储所述标识证书;以及k)向所述客户端发送所述LUID。此外,该方法还包括如果所述结果消息指示没有成功认证所述用户的标识,I)返回步骤d)。根据第二方面,提供了在AG中建立客户端和SP之间的连接的方法。所述AG适于在用于经由所述AG和AR,在一个或更多个客户端和一个或更多个SP之间提供通信的系统中操作。所述系统包括AG、AR和AP。所述方法包括使用根据第一方面的方法将所述客户端注册到所述AG中。此外,所述方法包括从所述客户端接收请求建立所述连接的第一服务请求消息,其中,所述第一请求消息包括所述LUID以及所述SP的指示,以及包括经由所述AR向所述SP发送第二服务请求消息,所述第二服务请求消息包括所述LUID和所述标识证书在所述AG上的URI。此外,所述方法包括经由所述AR从所述SP接收包括所述标识证书的所述URI的证书请求消息,以及经由所述AR向所述SP发送所述标识证书,以允许所述SP使用所述AP的公钥来验证所述标识证书的真实性。此外,所述方法包括经由所述AR从所述SP接收第二认证挑战消息,所述第二认证挑战消息包括使用所述客户端的公钥来加密的共享秘密,以及包括向所述客户端转发所述第二认证挑战消息。该方法还包括从所述客户端接收第二认证响应,所述第二认证响应包括使用所述客户端的私钥从所述第二认证挑战消息解密的共享秘密,以及包括经由所述AR向所述SP转发所述第二认证响应。该方法还包括经由所述AR从所述SP接收服务响应消息,所述服务响应消息指示所述SP是否已经接受所请求的所述连接的建立,以及包括向所述客户端转发所述服务响应消息。根据第三方面,提供了在AG中移除客户端在AG中的注册的方法。所述AG适于在用于经由所述AG和AR,在一个或更多个客户端和一个或更多个SP之间提供通信的系统中操作。所述系统包括AG、AR和AP。所述客户端是已经使用根据第一方面的方法注册到所述AG中的。所述方法包括从所述客户端接收包括所述LUID的移除请求消息。此外,所述消息包括响应于接收所述移动请求消息,移除所述客户端在所述AG中的注册,以及向客户端发送指示已经移除注册的肯定应答消息。根据第四方面,提供了在AG中提供从客户端到网络实体(NE)的通信的方法,所述网络实体是另一客户端或者是SP。所述AG适于在用于经由所述AG和AR,在一个或更多个客户端和一个或更多个SP之间提供通信的系统中操作。所述系统包括AG、AR和AP。所述客户端已经使用根据第一方面的方法注册到所述AG中。所述方法包括从所述客户端接收包括至所述NE的地址、至所述NE上的资源的路径以及消息本体在内的消息。此外,所述方法包括向所述NE发送包括所述NE的地址、所述至所述NE上的资源的路径、所述消息本体以及所述AG上对所述客户端的标识证书的URI在内的消息。根据第五方面,提供了在AG中提供从(NE)到客户端的通信的方法,所述网络实体是另一客户端或者是SP。所述AG适于在用于经由所述AG和AR,在一个或更多个客户端和一个或更多个SP之间提供通信的系统中操作。所述系统包括AG、AR和AP。所述客户端是已经使用根据第一方面的方法注册到所述AG中的。所述方法包括从所述NE接收包括针对所述客户端发行的LUID、至所述客户端上的资源的路径以及消息本体在内的消息。此外,所述方法包括向所述客户端发送包括所述LUID、所述至客户端上的资源的路径以及所述消息本体在内的消息。根据第六方面,提供了在AR中处理消息的方法,所述消息的目的地是所述AR所不知道的服务。所述AR适于在用于经由AG和所述AR,在一个或更多个客户端和一个或更多个SP之间提供通信的系统中操作。所述系统包括所述AG、所述AR和查找服务(LS),所述LS适于保持可用服务的描述符的注册,所述描述符包括至提供所述服务的所述SP的物理地址。所述方法包括向所述LS发送查找消息,所述查找消息包括所述服务的标识符以及对应的SP的标识符。此外,所述方法包括从所述LS接收所述服务的描述符。根据第七方面,提供了在AG中对从SP到客户端的消息应用服务质量(QoS)命令的方法。所述AG适于在用于经由所述AG和AR,在一个或更多个客户端和一个或更多个SP之间提供通信的系统中操作。所述系统包括所述AG、所述AR、AP和LS,所述LS适于保持可用服务的描述符的注册,所述描述符包括提供所述服务的所述SP的公钥。所述客户端是已经使用根据第一方面的方法注册到所述AG中的。所述方法包括经由所述AR从所述SP接收至所述客户端的消息。此外,所述方法包括从所述AR接收所述QoS命令。此外,所述方法包括向所述LS发送包括所述SP的标识符的查找消息。此外,所述方法包括从所述LS接收对所述查找消息的响应,所述响应包括所述SP的描述符。所述方法还包括使用所述SP的公钥验证所述QoS命令的完整性,以及确定是否允许所述SP请求所述QoS命令的应用。所述方法还包括如果允许所述SP请求所述QoS命令的应用,向所述客户端发送具有所应用的QoS命令的消息。所述QoS命令可以包括在从所述SP发送的消息中。备选地,所述系统还可以包括QoS产生器,QoS产生器适于产生QoS命令,以及响应于所述AR从所述SP向所述QoS产生器发送消息,可以从所述QoS产生器向所述AR发送所述QoS命令。确定是否允许所述SP请求所述QoS命令的应用的步骤可以包括咨询所述AG的内部列表,所述内部列表指示允许哪个SP请求哪个QoS命令的应用。备选地,确定是否允许所述SP请求所述QoS命令的应用的步骤可以包括咨询所述AG外部的结伴服务(PS),其中,所述PS适于跟踪允许哪个SP请求哪个QoS命令的应用。
根据第八方面,提供了 AG,用于在一个或更多个客户端与一个或更多个SP之间提供通信的系统中操作。所述系统包括所述AG、在客户端和SP之间路由消息的AR、用于验证客户端的用户标识的AP、以及用于保持当前可用服务的注册的LS。针对与其连接的每个客户端,所述AG适于针对一个或更多个接入网上在所述客户端和所述AG之间的一个或更多个连接,维持特定的传输连接,以及向所述客户端指派LUID,所述LUID是如下的URI :能够使用来访问所述客户端的资源,而与所述客户端经由哪个接入网来进行连接无关。所述AG还可以适于执行根据第一、第二、第三、第四、第五或第七方面的方法中的一个或更多个。根据第九方面,提供了 AR,用于在一个或更多个客户端与一个或更多个SP之间提供通信的系统中操作。所述系统包括根据第八方面的AG、所述AR、用于验证客户端的用户的标识的AP、以及用于保持当前可用的服务的注册的LS。所述AR适于在客户端和SP之间路由消息。所述AR还适于执行根据第六方面的方法。根据第十方面,提供了 AP,用于在一个或更多个客户端与一个或更多个SP之间提供通信的系统中操作。所述系统包括根据第八方面的AG、根据第九方面的AR、所述AP、以及用于保持当前可用的服务的注册的LS。所述AP适于验证客户端的用户的标识。根据第十一方面,提供了用于在一个或更多个客户端与一个或更多个SP之间提供通信的系统。所述系统包括根据第八方面的AG、根据第九方面的AR、根据第十方面的AP、以及用于保持当前可用的服务的注册的LS。本发明的其他方面在从属权利要求中进行了限定。应该强调,当在本说明书中使用时,采用术语“包括/包括了 ”来指定所提到的特征、整体、步骤或组件的存在,然而并不排除一个或多个其它特征、整体、步骤、组件或其组群的存在或增加。


参考附图,本方面的其他目的、特征和优点将从以下详细描述中显现,在附图中图I示意性地示出了根据本发明的实施例的系统;图2示意性地示出了根据本发明的实施例,连接到接入网关的客户端;以及图3-11示出了根据本发明的实施例,系统的各个组件之间的交互。
具体实施例方式图I示意性地示出了根据本发明的实施例的系统。根据本实施例的系统包括接入网关(AG) 10、应用级路由器(AR) 20、查找表服务(LS) 30、以及与一个或更多个客户端50和服务提供商(SP) 60通信的认证提供商(AP) 40。向应用资源全局指派可寻址的标识符,该标识符允许任何方向的应用间消息传递。AG 10是接入点,在连接到其的客户端与其所属于的接入网70之间维持传输特有的连接。AGIO将这些连接映射到其在连接初始化时向客户端50指派的标识符。AGIO能够维持至客户端的多个连接,以用于QoS(服务质量)控制目的。AR 20执行通过网络的消息寻路。从而,AR 20形成客户端50和网络资源之间的逻辑“总线”80。可选地,可以使用组合算法来扩展AR 20,该组合算法计算更复杂的消息路由以提供增值服务。LS 30是用于地址解析和探索的web应用及其特性的注册处。根据下面描述的本发明的实施例,还提供了涉及该系统的特定数目的相关方法。web应用包括在客户端侧或在网络中执行的资源。可以通过URI (统一资源标识符)的方式来标识资源,该URI使用以下的通用URI兼容语法 warp://〈provider〉:〈service〉[/<path>]
资源URI包括其后是冒号和双斜线的方案(warp://)、包括由冒号分隔开的提供商名和服务名的权威机构(<provider>:〈service>),以及可选的资源路径(/〈path〉)。权威机构部分指定了保存(host)由URI标识的资源的服务(例如,web服务器或者移动设备web运行时间环境),而路径部分定位该服务上的资源。应该注意到,以上的语法仅是示例,在本发明的其他实施例中也可以使用其他语法。如图2中所示,客户端50通过使用其接入网连接层100经接入网70建立至AG 10的连接来附着到系统。从而AG 10对不同类型的接入网担当了客户端适配器,并专门对这些网络执行连接维护。当客户端连接到AG 10时,AG 10将客户端的新产生的URI注册到其内部的客户端注册数据库120中。有效地,客户端50变为系统中的新服务,暴露其经由客户端50的URI的资源路径可寻址的资源110。因为客户端的URI独立于客户端经由其连接到AG 10的接入网70的连接方法和类型,在不同类型的接入网上寻址与该系统耦合的客户端50并和其互通是可能的。 根据本发明的实施例,存在与每个客户端50相关联的两种类型的标识符,该每个客户端50经由AG 10进行连接。第一标识符是全球用户标识符(⑶ID),表示当前操作客户端的用户的标识。GUID是针对位于发行、维护和验证用户标识符的权威机构处的资源的URI。例如,warp://er:auth/leo可以是表示在由提供商er提供的权威机构服务auth处的用户Ieo的⑶ID。可以检索服务er:aut,以使用例如挑战-响应机制来验证Ieo的标识的真实性。第二种类型的客户端标识符是本地用户标识符(LUID),由AG 10发行,持续时间为与客户端50的会话。LUID是针对位于AG 10处的资源的URI,AG 10维护客户端的连接。例如,warp://er:gw/leo_l可以是属于用户Ieo的客户端在由er提供的网关gw处的LUID。GUID和LUID之间的映射可以由GUID权威机构来维护,并可以用于探索用户客户端的当前URI。图3是示出根据实施例,在注册过程期间,客户端50与AG 10之间的对话的序列图。消息130-160表示对应传输消息的有效载荷,该有效载荷是接入网特有的,并且在本上下文中被提炼出。消息包括首部的集合(例如,Method (方法)、To (去往)、From(来自于)等等)和任选对象。在第一消息130中,客户端50要求AG 10使用注册(REGISTER)方法来注册,并在To首部中指定其GUID。回到客户端的第二消息140包含To首部中新关联的LUID以及认证(Authenticate)首部中由⑶ID权威机构发行的挑战,客户端50在第三消息150的Authenticate首部中对该挑战进行响应。最后,从GUID权威机构到客户端50的第四消息160在状态(Status)首部中包含正面的注册结果。认证过程的实施例的其他细节在图10的上下文中呈现。根据本发明的实施例,提供了移除客户端50在AG 10中的注册的方法(或者“撤销注册过程”)。客户端50发送移除请求消息,该移除请求消息被AG 10所接收到。移除请求消息包括客户端的LUID。响应于此,AG 10移除客户端50在AG 10中的注册。此外,AG10向客户端50发送指示已经移除注册的肯定应答消息。图4是根据本发明的实施例,撤销注册过程的序列图。客户端50发送消息170 (上述的“移除请求消息”),在Method首部中将其自身的LUID指定为接受者以及指定删除(DELETE)。向客户端发送撤销注册结果消息180 (上述的“肯定应答消息”),并且其LUID被无效掉,以及从AG 10移除注册。
一旦注册了,客户端50可以向位于网络或其他客户端中的资源发送消息。例如,在图5中,客户端50上的信使应用(warp://er:gw/leo_l/mailer)与网络中的邮件服务(warp://er:mailer/...)的资源进行交谈。第一对消息190、200与邮件消息的邮递相对应,以及第三消息210与客户端应用从邮件服务接收新邮件消息相对应。
类似地,图6在步骤212和214中示出了客户端50a经由AG 10向另一客户端50b发送消息的过程。From首部包含消息发起者的地址(warp://er:gw/leo_l/app/res),以及在 To 首部中规定目的地址(warp://er:gw/vlad-2/app/res)。为了促进服务地址解析和服务探索,可以利用中央服务注册,图7示出了该中央服务注册。在初始化时,每个服务产生服务描述符(Service Descriptor),服务描述符包含服务的公开可接入特性集合。然后,服务将其描述符注册220到预先配置的LS 30,使其可发现自身。当服务变为临时性或永久性不可用时,服务也应该从LS 30解除其自身的注册225。当AR 20接收目的地是AR20所不知晓的服务的消息(即,关于谁未被存储在其高速缓存中的信息)时,AR 20查询LS 30,以查找该服务的描述符。例如,AR 20可以向LS 30发送查找消息,该查找消息包括服务的标识符和对应SP 70的标识符。LS 30在235向AR20返回描述符。因此,在步骤235中,AR 20从LS 30接收描述符。从而,AR 20可以从该描述符推断出促进消息的发送所需的可应用传输,方法以及URI。探索可用的服务、与给定的搜索准则相匹配的描述符也是可能的。在一些实施例中,所有的服务和资源访问LS 30,以及因此其中的任何服务和资源可以使用这种探索机制。在一些实施例中,AR 20还可以依据部署场景执行比单纯向目标目的地转发消息更先进的路由。因为消息在共同格式化的首部中携带了相对巨大数量的元数据,所述首部可以进行自查(introspect)并采用更高级的决定作为结果。为了示出,可以由潜在的不可信源发送特定的消息。在转发之前,AR 20可以决定通过向日志服务发送该消息,将关于消息的发送者、时间以及其他信息(很可能包括消息自身)记入日志。然后,为了确保消息免于恶意软件,向恶意软件移除服务发送该消息。然后,AR 20可以等待来自恶意软件移除服务的已修改消息,向接受者发送该已修改的消息,而不是原始消息。AR 20自身不需要执行服务组合(service composition)。相反,在一个实施例中,决定引擎可供作为单独服务使用。在遇到可能要求组合的消息时,AR 20将针对可应用的路由指令(如果有的话)来查询决定引擎。此外,可以使用专用于特定应用或数据结构的一系列决定引擎。然后,决年个引擎可以自查消息,并与仅基于消息首部做出决定相比提出可能更好的路由集合。由于客户端URI (或LUID)与客户端50经由AG 10连接的接入网的连接方法和类型无关,可以对向客户端50传递或从客户端50传递的消息强加和强制服务质量要求。通过将若干传输连接引入到使用不同QoS参数配置的客户端50并在连接的一端或两端使用传输调度算法,可以实现这种强加和强制的服务质量要求。根据本发明的一些实施例,AG 10可以具有以下描述的两种QoS模式中的一种或两种。AG 10或者相关联的决定引擎可以基于消息自查来尝试对消息透明地应用QoS优先级,或者决定显式地提供的QoS命令,如果有的话。图8示出了根据本发明实施例的这种QoS强制,其中,消息包括QoS命令,例如作为消息首部的一部分。经由AR 20向AG 10发送这种消息(步骤245、250)。在特定的消息首部中规定QoS命令,该消息首部包括该命令、应用该命令首部的实体的提供商和服务名、以及使用添加了该QoS命令的服务的私钥签名的消息的散列。这些命令向AG 10建议其应该尝试将什么QoS应用到消息。然而,AG 10可以根据其判断来忽视这些指示。在接受标记QoS的消息时,AG 10可以通过请求应用该QoS命令的实体的描述符(步骤255、260)来尝试验证QoS命令首部。从描述符提取实体的公钥,并使用该公钥来验证QoS命令的完整性。如果显示出QoS命令完整性受到损害,AG 10将忽视该QoS命令。如果QoS命令签名与命令本身相匹配,AG 10决定是否允许应用该命令的实体请求这种QoS。这可以通过内部的列表或者通过查询结伴服务器(PS) 240来进行。对结伴服务器(partnering server)的查询可以包括服务提供商以及QoS应用实体的名称(步骤 265),响应(步骤270)可以是允许实体访问的QoS命令的列表,以及很可能还有对每个QoS命令的访问限制,例如,每小时的消息数目或者单个QoS命令上允许的总数据。最后,可以将批准的QoS应用到消息递送方法(步骤275)。应用QoS命令的实体不需要与发起消息本身的实体是相同实体。图9示意了该情况。步骤290对应于图8中的步骤245,不同之处在于该消息不包括QoS命令。在AR 20使用决定引擎(0幻280来生成路由合成(步骤295、300)的部署中,该列表上的一跳可以是QoS产生实体。从而,可以向QoS产生器285发送消息(步骤305),QoS产生器285可以基于一些内部规则集合来应用QoS命令,并将修改后的消息发送回AR 20(步骤310)。后续步骤315-340对应于图8中的步骤250-275。在很多情况下,可信和/或加密连接的建立是通信基础设施的关键部分。此外,当将移动设备作为客户端处理时,还必须考虑到建立安全连接所需的数据传递量,以及移动设备的处理功率的限制。根据本发明的实施例,提供了将客户端50注册到AG 10中的方法。所提出的方法是涉及AP 40的SSO(单签约)解决方案。客户端50通过连接到AG 10来进行签约,在认证阶段期间,AG 10担当用户的AP 40的代理。在用户已经与AP 40认证之后,AP 40产生标识的证书,该标识的证书将用户的标识与连接到AG 10的客户端50进行链接。将证书存储在AG 10处,允许AG 10代表客户端50安全地对网络资源进行认证。在连接之前,客户端50产生公共加密密钥和私有加密密钥的集合。根据一些实施例,在确保认证中的安全中将这些密钥作为工具,并且可以不重复使用。此外,AP 40也可以具有公钥和私钥的集合,经由担保装置(例如,公钥基础设施),AP的公钥是可以自由获得的。所提出的注册方法允许客户端50使用AP 40提供的标识信息来建立至任何给定SP 70的已认证会话。此外,以AG 10代表客户端50执行一部分认证的这种方式进行识别,从而降低了在客户端的网络连接上传输的数据的量。撤回客户端的证书与终止其所有会话可以是等效的,并且可被用于例如去激活被盗的客户端设备。图10示出了 SSO方法的实施例(可以看做图3中示出的实施例的更详细的实施例)。客户端50连接到AG 10,指定用户期望使用的AP的URI,以验证其标识。所述URI是上述的⑶ID。在连接时,AG 10发行新产生的LUID,该新产生的LUID对于客户端与AG 10的该会话是有效的。
在认证阶段期间,AG 10担当客户端50和AP 40之间的代理。客户端50和AP 40可以执行能够抵挡中间人(man-in-the-middle)攻击的任何认证机制。在认证过程中,向AP 40提供由客户端50先前产生的公钥。如果对用户的标识的认证是成功的,AP 40为客户端50创建标识证书,该标识证书包含客户端的LUID和公钥以及用户的GUID。使用期满时间来标记证书以及使用AP的私钥来对证书签名,允许任何方使用AP的 公钥来验证其真实性。向AG 10发送标识证书,AG10存储标识证书以便将来使用。现在以AG 10认证客户端50,并被完全连接上。在图10中,经由AR 20发送AG 10和AP 40之间的通信,为了简明起见,图中已将其忽略。在步骤345中,客户端50产生密钥对。在步骤350 (对应于图3中的步骤130)中,第一注册消息从客户端50发送,并被AG 10接收。第一注册消息包括用户的⑶ID和客户端的公钥。然后,AG 10发行LUID,并且在步骤355中,AG 10向AP 40发送第二注册消息。第二注册消息包括⑶ID、客户端的公钥和LUID。在步骤360中,AP 40发送认证挑战消息,该消息由AG 10接收,并且在步骤365 (对应于图3中的步骤140)中由AG 10向客户端50发送。在步骤370中(对应于图3的步骤150),客户端50发送对认证挑战消息的认证响应,并由AG 10接收,该认证响应用于认证用户标识。在步骤375中,AG 10向AP 40转发认证响应。然后,AP 40验证对用户标识的认证,并向AG 10发送结果消息,该结果消息指示认证响应是否成功认证了用户的标识。图10示出了成功认证用户标识的情况。在该情况下,在步骤380中产生所述证书,并且使用AP的私钥来加密,所述证书包括所述LUID、客户端的公钥以及⑶ID。将证书包括在步骤385中发送的结果消息中。在步骤390处,AG 10存储证书。步骤390还可以包括获得AP的公钥,并解密证书。此外,在步骤395 (对应于图3中的步骤160)中,AG 10使用注册响应消息向客户端50发送LUID。另一方面,如果用户标识的认证不成功,可以重复认证过程,例如,通过使用来自AP 40的新认证挑战消息来从步骤360开始。根据本发明的一些实施例,提供了在客户端50与SP 70之间建立连接的方法,客户端50已根据以上所述注册到AG 10。图11示出了该方法的实施例。当客户端50希望设置与SP 70的对话时,可以向SP 70发送定期的请求,而不关心认证,但是包括了其自己的LUID。SP 70可以查询AG10,以查找客户端的标识证书。从而,SP 70可以验证证书是有效的(例如,客户端LUID匹配,并且AP 40正确地对证书进行了签名)。一旦满足其有效性,SP 70可以通过证书中指定的⑶ID来识别用户。如果SP70不希望为用户提供服务,其可以在该阶段拒绝该连接。假设SP 70决定接受对话,其可以决定是否发起与客户端50的明文或加密通信会话。然后,SP 70产生随机的字节序列,以构建客户端50和SP 70之间的“共享秘密”。使用客户端的公钥来加密该共享秘密,并向客户端50发送。从而,客户端可以使用共享秘密来用于任何形式的现时认证(nonce authentication),例如,HTTP摘要,以向SP 70确认会话。在图10中,经由AR 20发送AG 10和SP 70之间的通信,为了简明起见,图中已将其省略。在步骤400中,客户端50发送请求与SP 70建立连接的第一服务请求消息,AG 10接收该第一服务请求消息。第一服务请求消息包括LUID和SP 70的指示。在步骤405处,AG 10向所指示的SP 70发送第二服务请求消息。第二服务请求消息包括客户端的LUID,并且还可以包括客户端的证书在AG 10上的URI。在步骤410中,从SP 70发送证书请求消息,并由AG 10接收到,证书请求消息包括例如LUID和/或客户端证书的所述URI。响应于此,AG 10在步骤415中向SP 70发送客户端证书。然后,SP 70可以使用请求消息向AP40请求AP的公钥(步骤420),并从AP 40接收AP的公钥(步骤430)。然后,在步骤430中,SP 70可以使用SP 70从AP 40获得的AP的公钥来验证客户端的证书的真实性。在步骤435中,SP 70产生共享秘密,并使用客户端公钥来对其加密。在步骤440中,SP 70发送认证挑战消息,认证挑战消息由AG 10接收到。认证挑战方法包括使用客户端的公钥来加密的共享秘密。在步骤445中向客户端50转发认证挑战消息。然后,在步骤450中,客户端50使用客户端的私钥来解密共享秘密。之后,在步骤455中 ,客户端50发送认证响应,认证响应被AG 10接收到。认证消息包括使用客户端的私钥从认证挑战消息解密的共享秘密。在步骤460中,AG 10向SP 70转发认证响应。响应于此,SP 70发行服务响应消息,服务响应消息指示SP 70是否已经接受所请求的与客户端50建立连接。SP 70在步骤465中发送服务响应消息,并由AG 10接收。在步骤470中,AG 10向客户端50转发服务响应消息。根据本发明的一些实施例,提供了从客户端50向网络实体(NE)提供通信的方法,客户端50注册到AG 10上,网络实体(NE)可以是另一客户端或者是SP 70。客户端50可以发送包括至NE的地址、至NE上的资源的路径以及消息本体在内的消息,该消息被AG 10接收到。这可以例如对应于步骤212 (图6)或步骤400 (图11)。然后,AG 10可以向NE发送包括所述至NE的地址、所述至NE上的资源的路径,以及AG 10上对客户端的证书的URI在内的消息。这可以例如对应于步骤214 (图6)或步骤405 (图11)。此外,根据一些实施例,提供了从这种NE向客户端50提供通信的方法,客户端50注册到AG 10。NE可以发送包括针对客户端50发行的LUID、至客户端上的资源的路径以及消息本体在内的消息,该消息被AG 10接收到。然后,AG 10可以向客户端50发送包括所述LUID、所述至客户端上的资源的路径以及消息本体在内的消息。因此,NE可以仅经由LUID透明地访问客户端50上的资源,而无需知道客户端50所使用的接入网70的特定传输的细节。以上已经参考特定的实施例描述了本发明。然而,在本发明的范围内,除上述实施例之外的其他实施例是可能的。在本发明的范围之内,可以提供与上述方法步骤不同的方法步骤,该方法步骤通过硬件或软件来执行方法。可以通过除了所描述的那些组合之外的其他组合来对实施例不同特征和步骤进行组合。本发明的范围仅受所附的专利权利要求限制。
权利要求
1.一种接入网关AG(IO)中的方法,用于在所述AG(10)中注册客户端(50),其中 所述AG(IO)适于在用于经由所述AG(IO)和应用级路由器AR(20),在一个或更多个客户端(50)和一个或更多个服务提供商SP(70)之间提供通信的系统中操作; 所述系统包括所述AG(10)、所述AR(20)以及认证提供商AP(40);以及 所述方法包括 a)从所述客户端(50)接收第一注册消息,所述第一注册消息包括全球用户标识符GUID和所述客户端(50)的公钥,所述GUID是所述AP (40)上的统一资源标识符URI,用于验证所述客户端(50)的用户的标识; b)发行本地用户标识符LUID,所述LUID是所述AG(10)的资源的URI,维持所述客户端与所述AG (10)的连接; c)经由所述AR(20)向所述AP(40)发送第二注册消息,所述第二注册消息包括所述⑶ID、客户端的公钥、以及LUID。
d)经由所述AR(20)从所述AP(40)接收第一认证挑战消息; e)向所述客户端(50)转发所述第一认证挑战消息; f)从所述客户端(50)接收对所述第一认证挑战消息的第一认证响应,以认证用户的标识; g)经由所述AR(20)向所述AP(40)转发所述第一认证响应;以及 h)经由所述AR(20)从所述AP(40)接收结果消息,所述结果消息指示所述第一认证响应是否成功认证了所述用户的标识,以及如果成功认证了所述用户的标识,包括标识证书,所述标识证书包括所述LUID、所述客户端的公钥以及所述GUID,其中,用所述AP的私钥对所述标识证书加密。
2.根据权利要求I所述的方法,还包括如果所述结果消息指示成功认证了所述用户的标识, i)获得所述AP的公钥; j)解密和存储所述标识证书;以及 k)向所述客户端(50)发送所述LUID。
3.根据权利要求I或2所述的方法,还包括如果所述结果消息指示没有成功认证所述用户的标识, I)返回步骤d)。
4.一种在接入网关AG(IO)中建立客户端与服务提供商SP(70)之间的连接的方法;其中, 所述AG(IO)适于在用于经由所述AG(IO)和应用级路由器AR(20),在一个或更多个客户端和一个或更多个SP之间提供通信的系统中操作; 所述系统包括所述AG (10)、所述AR(20)、以及认证提供商AP (40);以及 所述方法包括 -使用根据权利要求1-3中任何一项所述的方法将所述客户端(50)注册到所述AG(IO)中; -从所述客户端(50)接收请求建立所述连接的第一服务请求消息,其中,所述第一服务请求消息包括所述LUID以及所述SP (70)的指示;-经由所述AR(20)向所述SP(70)发送第二服务请求消息,所述第二服务请求消息包括所述LUID和所述标识证书在所述AG(IO)上的URI ; -经由所述AR(20)从所述SP(70)接收包括所述标识证书的所述URI的证书请求消息;-经由所述AR(20)向所述SP(70)发送所述标识证书,以允许所述SP(70)使用所述AP的公钥来验证所述标识证书的真实性; -经由所述AR(20)从所述SP(70)接收第二认证挑战消息,所述第二认证挑战消息包括使用所述客户端的公钥加密的共享秘密; -向所述客户端(50)转发所述第二认证挑战消息; -从所述客户端(50)接收第二认证响应,所述第二认证响应包括使用所述客户端的私钥从所述第二认证挑战消息解密的共享秘密; -经由所述AR(20)向所述SP(70)转发所述第二认证响应; -经由所述AR(20)从所述SP(70)接收服务响应消息,所述服务响应消息指示所述SP (70)是否已经接受所请求的所述连接的建立;以及-向所述客户端(50)转发所述服务响应消息。
5.一种接入网关AG(IO)中的方法,用于移除客户端(50)在所述AG(IO)中的注册,其中 所述AG(IO)适于在用于经由所述AG(IO)和应用级路由器AR(20),在一个或更多个客户端(50)和一个或更多个服务提供商SP(70)之间提供通信的系统中操作; 所述系统包括所述AG(IO)、所述AR (20)、以及认证提供商AP (40); 所述客户端(50)已被使用根据权利要求1-3中任何一项所述的方法注册到所述AG (10)中;以及所述方法包括 从所述客户端(50)接收包括所述LUID的移除请求消息;以及响应于所述移除请求消息, -移除所述客户端(50)在所述AG (10)中的注册;以及 -向客户端(50)发送指示已经移除注册的肯定应答消息。
6.一种在接入网关AG(IO)中提供从客户端(50)到网络实体NE的通信的方法,所述网络实体NE是另一客户端或者是服务提供商SP (70);其中 所述AG(IO)适于在用于经由所述AG(IO)和应用级路由器AR(20),在一个或更多个客户端(50)和一个或更多个SP(70)之间提供通信的系统中操作; 所述系统包括所述AG(IO)、所述AR (20)、以及认证提供商AP (40); 所述客户端(50)已被使用根据权利要求1-3中任何一项所述的方法注册到所述AG (10)中;以及所述方法包括 从所述客户端(50)接收包括至所述NE的地址、至所述NE上的资源的路径以及消息本体在内的消息;以及 向所述NE发送包括至所述NE的所述地址、至所述NE上的资源的所述路径、所述消息本体以及所述AG(IO)上对所述客户端(50)的标识证书的URI在内的消息。
7.一种在接入网关AG(IO)中提供从网络实体NE到客户端(50)的通信的方法,所述网络实体NE是另一客户端或者是服务提供商SP (70);其中 所述AG(IO)适于在用于经由所述AG(IO)和应用级路由器AR(20),在一个或更多个客户端(50)和一个或更多个SP(70)之间提供通信的系统中操作; 所述系统包括所述AG(IO)、所述AR (20)、以及认证提供商AP (40); 所述客户端(50)已被使用根据权利要求1-3中任何一项所述的方法注册到所述AG (10)中;以及所述方法包括 从所述NE接收包括针对所述客户端(50)发行的LUID、至所述客户端(50)上的资源的路径以及消息本体在内的消息;以及 向所述客户端(50)发送包括所述LUID、至所述客户端(50)上的资源的所述路径、以及所述消息本体在内的消息。
8.—种在应用级路由器AR(20)中处理消息的方法,所述消息的目的地是所述AR(20)所不知道的服务,其中 所述AG(IO)适于在用于经由接入网关AG(IO)和所述AR(20),在一个或更多个客户端(50)和一个或更多个服务提供商SP(70)之间提供通信的系统中操作; 所述系统包括所述AG (10)、所述AR(20)、和查找服务LS (30),所述LS (30)适于保持可用服务的描述符的注册,所述描述符包括至提供所述服务的所述SP (70)的物理地址;以及所述方法包括 向所述LS(30)发送查找消息,所述查找消息包括所述服务的标识符以及对应的SP (70)的标识符; 从所述LS(30)接收所述服务的描述符。
9.一种在接收网关AG(IO)中对从服务提供商SP (70)到客户端(50)的消息应用服务质量QoS命令的方法,其中, 所述AG(IO)适于在用于经由所述AG(IO)和应用级路由器AR(20),在一个或更多个客户端(50)和一个或更多个SP(70)之间提供通信的系统中操作; 所述系统包括所述AG(10)、所述AR(20)、认证提供商AP(40)、和查找服务LS(30),所述LS (30)适于保持可用服务的描述符的注册,所述描述符包括提供所述服务的所述SP (70)的公钥; 所述客户端(50)已被使用根据权利要求1-3中任何一项所述的方法注册到所述AG (10)中;以及所述方法包括 经由所述AR(20)从所述SP(70)接收至所述客户端的消息; 从所述AR (20)接收所述QoS命令; 向所述LS (30)发送包括所述SP (70)的标识符的查找消息; 从所述LS (30)接收对所述查找消息的响应,所述响应包括所述SP (70)的描述符; 使用所述SP的公钥验证所述QoS命令的完整性; 确定是否允许所述SP (70)请求所述QoS命令的应用;以及 如果允许所述SP(70)请求所述QoS命令的应用,向所述客户端(50)发送应用了 QoS命令的消息。
10.根据权利要求9所述的方法,其中,所述QoS命令包括在从所述SP(70)发送的消息中。
11.根据权利要求9所述的方法,其中,所述系统还包括QoS产生器(285),QoS产生器(285)适于产生QoS命令,以及响应于所述AR(20)从所述SP(70)向所述QoS产生器(285)发送消息,从所述QoS产生器(285)向所述AR(20)发送所述QoS命令。
12.根据权利要求9-11中任何一项所述的方法,其中,确定是否允许所述SP(70)请求所述QoS命令的应用的步骤包括咨询所述AG(IO)的内部列表,所述内部列表指示允许哪个SP (70)请求哪个QoS命令的应用。
13.根据权利要求9-11中任何一项所述的方法,其中,确定是否允许所述SP(70)请求所述QoS命令的应用的步骤包括咨询所述AG (10)外部的结伴服务PS (240),所述PS (240)适于跟踪允许哪个SP (70)请求哪个QoS命令的应用。
14.一种接入网关AG(IO),用于在一个或更多个客户端(50)与一个或更多个服务提供商SP(70)之间提供通信的系统中操作,其中,所述系统包括 -所述 AG (10); -应用级路由器AR(20),在客户端(50)和SP (70)之间路由消息; -认证提供商AP (40),用于验证客户端(50)的用户的标识;以及 -查找服务LS (30),用于保持当前可用服务的注册;以及 针对与其连接的每个客户端(50),所述AG(IO)适于 -针对所述客户端(50)和所述AG(IO)之间通过一个或更多个接入网的一个或更多个连接,维持特定传输连接;以及 -向所述客户端(50)指派本地用户标识符LUID,所述LUID是如下的URI :能够用来访问所述客户端(50)的资源,而与经由哪个接入网连接所述客户端(50)无关。
15.根据权利要求14所述的AG(IO),还适于执行根据权利要求1-7或9_13中任何一项所述的方法。
16.一种应用级路由器AR(20),用于在一个或更多个客户端(50)与一个或更多个服务提供商SP(70)之间提供通信的系统中操作,其中,所述系统包括 -根据权利要求14或15所述的AG(IO); -所述 AR (20); -认证提供商AP (40),用于验证客户端(50)的用户的标识;以及 -查找服务LS (30),用于保持当前可用的服务的注册;以及 其中,所述AR(20)适于在客户端(50)和SP之间路由消息。
17.根据权利要求16所述的AR(20),还适于执行根据权利要求8所述的方法。
18.—种认证提供商AP (40),用于在一个或更多个客户端(50)与一个或更多个服务提供商SP(70)之间提供通信的系统中操作,其中,所述系统包括 -根据权利要求14或15所述的AG(IO); -根据权利要求16或17所述的AR(20); -所述AP (40);以及 -查找服务LS (30),用于保持当前可用的服务的注册;以及 其中,所述AP (40)适于验证客户端(50)的用户的标识。
19.一种用于在一个或更多个客户端(50)和一个或更多个服务提供商SP(70)之间提供通信的系统,所述系统包括 -根据权利要求14或15所述的AG(IO); -根据权利要求16或17所述的AR(20); -根据权利要求18所述的AP (40); -查找服务LS (30),用于保持当前可用的服务的注册。
全文摘要
本发明公开了用于在一个或更多个客户端(50)和一个或更多个服务提供商SP(70)之间提供通信的系统。该系统包括用于针对客户端(50)和接入网关(10)之间的一个或更多个连接来维持特定传输的连接的接入网关(10),用于在客户端(50)和服务提供商(70)之间路由消息的应用级路由器(20),用于验证客户端(50)的用户的标识的认证提供商(40),以及用于保持当前可用的服务的注册的查找服务(30)。还公开了涉及该系统的各种方法。
文档编号H04L9/32GK102640449SQ200980162325
公开日2012年8月15日 申请日期2009年11月6日 优先权日2009年11月6日
发明者列昂尼德·莫克罗申, 弗拉迪米尔·卡塔杰夫 申请人:瑞典爱立信有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1