建立经认证的连接的方法、设备、计算机可读介质和系统与流程

文档序号:18248620发布日期:2019-07-24 09:33阅读:159来源:国知局
建立经认证的连接的方法、设备、计算机可读介质和系统与流程

本专利申请涉及用于与本地网络中的终端建立经认证的连接的,特别是用于在本地网络中的终端之间建立经认证(certified)的连接的方法、设备、计算机可读介质和系统。



背景技术:

SSL和TLS协议已成为用于加密连接请求,特别是经由HTTP的连接请求的标准。例如,SSL证书由独立的证书颁发机构颁发给网页的运营商。当连接请求被发送到经认证的Web服务器时,证书使得客户端能够确保网页是真实的。

位于本地网络上的Web服务器不能轻松地从本地网络外部访问。可用的技术(诸如虚拟专用网络(VPN))使这种连接成为可能,但它们的配置复杂。特别地,每次本地网络上的Web服务器的星座图改变时,都必须重新配置VPN。配置通常由系统管理员手动执行。通常不会对此类Web服务器执行经由证书的验证。



技术实现要素:

这里公开的本发明的基本问题是要促进到本地网络中的终端的经认证的连接,其中旨在促进本地网络中的终端之间的连接以及本地网络中的终端与本地网络外的客户端之间的连接。

解决该问题的第一实施例涉及一种系统,包括:客户端,服务器,连接到服务器的服务组件,以及连接到服务组件的至少一个终端,其中,服务器为每个终端提供主机名称,所述主机名称被分配给相应终端和服务组件,其中,服务器被配置为通过将连接请求转发到服务组件来响应从客户端或终端之一发送到主机名称之一的连接请求;其中,服务组件被配置为通过针对与主机名称相关联的终端检查用于加密连接的证书是否被存档来响应发送到主机名称之一的连接请求,其中如果没有证书被存档,则服务组件从证书颁发机构请求证书,并且服务组件基于证书验证连接;以及其中,服务组件还被配置为:如果与寻址到主机名称或对应IP地址的传入数据分组相关联的连接已经由终端之一建立,则将所述数据分组直接转发到对应的终端而不经过服务器,并且如果所述连接尚未由终端之一建立,则将所述数据分组转发到服务器。

特别地,服务组件还可以被配置为使用路由表来确定与传入数据分组相关联的连接是否已经由终端之一建立,其中路由表包含相应终端的至少一个始发地址以及相应连接的唯一标识符。

此外,唯一标识符可以是连接端口、IP地址或连接端口和IP地址的组合。

此外,至少一个终端可以与服务组件相同。

优选地,主机名称包含终端之一的本地地址或本地主机名称。

还有的实施例涉及一种服务组件,所述服务组件连接到服务器并且被配置为通过针对连接到服务组件的终端检查用于加密连接的证书是否被存档来响应发送到由服务器为终端提供的主机名称的连接请求,其中,如果没有证书被存档,则服务组件从证书颁发机构请求证书,并且服务组件基于证书验证连接,并且其中,服务组件还被配置为:如果与寻址到主机名称或对应IP地址的传入数据分组相关联的连接已经由连接到服务组件的终端建立,则将所述数据分组直接转发到终端而不经过服务器,并且如果所述连接尚未由与服务组件连接的终端建立,则将所述数据分组转发到服务器。

特别地,服务组件还可以被配置为使用路由表来确定与传入数据分组相关联的连接是否已经由终端之一建立,其中路由表包含相应终端的至少一个始发地址以及相应连接的唯一标识符。

此外,唯一标识符可以是连接端口、IP地址或连接端口和IP地址的组合。

在某些实施例中,至少一个终端与服务组件相同。

优选地,主机名称包含终端之一的本地地址或本地主机名称。

本发明的实施例还涉及一种方法,包括:由与服务组件连接的服务器提供用于连接到服务组件的一个或多个终端的相应主机名称;响应于发送到主机名称之一的连接请求,由服务组件针对与主机名称对应的终端检查用于加密连接的证书是否被存档,其中,如果没有证书被存档,则服务组件从证书颁发机构请求证书,并且服务组件基于证书验证连接;以及如果与寻址到主机名称或对应IP地址的传入数据分组相关联的连接已经由连接到服务组件的终端建立,则由服务组件将所述数据分组直接转发到终端而不经过服务器,并且如果所述连接尚未由与服务组件连接的终端建立,则将所述数据分组转发到服务器。

一些实施例包括由服务组件使用路由表来确定与传入数据分组相关联的连接是否已经由终端之一建立,其中路由表包含相应终端的至少一个始发地址以及相应连接的唯一标识符。

具体而言,唯一标识符可以是连接端口、IP地址或连接端口和IP地址的组合。

优选地,主机名称包含终端之一的本地地址或本地主机名称。

还有的实施例涉及具有命令的计算机可读介质,当所述命令由一个或多个处理器执行时,其执行根据上面列出的描述的方法。

通过为本地网络中的终端提供主机名称来实现本发明步骤,因为这些主机名称适用于寻址本地网络之外的这些终端,从而也用于认证相应的连接。这与将数据分组路由到服务组件相结合是特别具有创造性的,因为该服务组件使用数据分组寻址到其的主机名称或其对应的IP地址来确定相应的连接是否被寻址到网络内部的终端,从而避免经由外部设备路由连接。如果在本地网络中的两个终端之间已经建立了连接,那么这是特别有利的,因为该连接一方面可以被认证,并且另一方面仅需要在网络内进行路由。因此,本发明减少了与路由相关的工作并加速了数据分组的递送,同时有利于经认证的安全连接。

附图说明

图1示出了根据本发明的实施例的系统。

图2示出了根据本发明的实施例的第一方法。

图3示出了根据本发明的实施例的第二方法。

具体实施方式

根据本发明的第一实施例,位于本地网络外部的客户端将连接请求定向到位于本地网络内部的终端。本地网络内部的设备不能轻松地从网络外部寻址,因为此类设备没有全局互联网地址(IP),而只有本地地址(诸如192.168.0.3)或本地主机名称,这两者都是从网络外部不可见的。为了仍然能够寻址此类终端,由服务器(诸如本地网络外部的服务器)为本地网络内部的终端提供主机名称。IP协议允许将一个或多个主机名称分配给IP地址。

主机名称是域名服务(DNS)名称,其可以由DNS服务器分配给IP地址,以经由路由将分组引导到其目的地。主机名称等同于服务器的全局有效IP地址,但是根据本发明,主机名称被映射到特定终端的本地IP地址或本地主机名称,并且在必要时数据分组被转发到该本地IP地址或本地主机名称。在下文中,术语“本地IP地址”也被理解为本地主机名称。

例如,可以由用户与客户端上的Web浏览器的交互来触发连接请求,并且可以以HTTP请求的形式做出连接请求。可替代地,可以经由适合使用主机名称进行寻址的其它协议(诸如FTP或SSH)来做出连接请求。

服务器连接到至少一个服务组件。在一个实施例中,服务组件是本地网络和位于本地网络外部的其它网络之间的公共网关;例如,互联网。但是,服务组件提供其它功能,这些功能将在下面说明。服务组件也可以是服务器的一部分或者可以是单独的单元,并且它可以被设计为硬件或软件。它与本地网络内部的一个或多个终端连接。本地网络中的终端可以被设计为具有Web服务器的计算机装备,或被设计为其它服务器,其根据客户端的连接请求的协议进行操作。这些终端与客户端之间的任何连接都是经由服务组件进行的。在这方面,服务组件还可以被配置为本地网络的代理或防火墙,经由该代理或防火墙,布置终端与本地网络外部的客户端之间的任何通信。

根据一个特定实施例,服务器接收定向到分配给它的IP地址或者定向到分配给服务器或由服务器从网络外部提供的一个或多个DNS/主机名称的所有分组。在一个实施例中,服务器从主机名称中提取第一字符串,以确定向其转发连接请求的相应终端的本地地址,诸如IP地址。有利地,在这方面检查主机名称的初始字符串。主机名称通常由点(.)分区,其中最后一个点后面的字符串表示顶级域(TLD),例如,“.de”。例如,初始字符串位于主机名称中的第一个点之前,并且可以通过使用正则表达式来提取。要确定的本地地址可以包含在该初始字符串中,其中在初始字符串中的本地IP地址的四个地址部分(通常是网络ID的两个8位部分、8位子网ID和8位主机ID)由定义的分隔符分区,这些分隔符与通常用作分隔符的点不同。

这种主机名称的示例是192-168-137-12.my-sda.net,其中初始字符串是192-168-137-12。根据一个实施例,服务器可以基于该初始字符串检测连接到相应终端的服务组件。为此目的,可以在服务器的表中查找服务组件的地址或标识符。在其它实施例中,服务组件的标识符包含在主机名称中,并且也可以由服务器提取。这样的主机名称可以是192-168-137-12.isyyyyyyp8.my-sda.net,其中isyyyyyyp8是服务组件的标识符。在该实施例中,服务器提取由点分区的主机名称的第二字段,从而确定服务组件的标识符。特别地,这样的主机名称也可以包含通配符(*),以将不同的地址映射到同一服务组件或同一终端。

服务器基于服务组件的地址将连接请求转发给服务组件。主机名称可以与连接请求一起传输。

在接收到连接请求之后,服务组件确定连接请求被寻址到的终端。例如,这可以通过用点替换初始字符串中的分隔符来实现,使得生成在本地网络中有效的公共IP地址。在该具体示例中,确定本地地址192.168.137.12。

服务组件还针对连接请求将被转发到的终端的主机名称检查证书是否被存档。证书的类型根据连接请求的协议确定。例如,对于根据HTTPS的连接请求需要SSL证书或TLS证书。可以通过搜索例如存储在服务组件中的本地表来确定证书是否被存档。可替代地,可以将对应的请求直接发送到外部证书颁发机构。如果对于该终端证书没有被存档,则服务组件从外部证书颁发机构请求该终端的证书。在某些实施例中,每个终端都需要单独的证书。可替代地,单个证书可以用于多个终端,例如,一个证书用于与该服务组件连接的所有终端。

如果证书被存档,则服务组件通过经由服务器建立与客户端的连接来响应连接请求。根据证书使用的典型步骤来建立此连接。例如,证书被传输到客户端以使得客户端能够检查服务器的真实性。从那时起,客户端能够经由服务器和服务组件与终端交换数据分组。在某些实施例中,证书可以用于加密连接。

本发明特别地还包括在同一本地网络的两个终端之间建立的连接。为了在同一本地网络中建立第一终端与第二终端的连接,只要不需要经认证的连接,在两个终端之间建立直接连接就足够。

但是,本发明还有利地使得可以在两个本地终端之间建立经认证的连接。为此目的,第一终端发送连接请求,该连接请求不直接寻址到第二终端的本地地址,而是寻址到由服务器为第二终端提供的主机名称或对应的全局IP地址。

例如,可以经由从终端到服务器的请求来确定所提供的主机名称。在一个实施例中,服务器为此目的发出命令,终端或客户端可以使用该命令来确定由服务器为特定全局IP地址提供的主机名称。但是,终端也可以以其它方式学习主机名称,诸如通过将本地IP地址与服务组件的标识符和其它地址部分(诸如TLD)合成。

服务组件接收连接请求并经由路由表检查例如连接请求被转发到的主机。在第一实施例中,服务组件识别出连接请求被定向到本地网络内的终端。例如,服务组件基于连接请求包括的主机名称识别出所寻址的主机名称对应于本地网络内的终端。在这种情况下,如前所述,服务组件针对目标终端确定证书是否已经被存档,并且在必要时从外部证书颁发机构请求证书。随后,基于证书在两个终端之间建立经认证的连接。

可替代地,服务组件在接收到连接请求时没有识别出所寻址的终端位于与第一终端相同的本地网络中,因此将连接请求转发给服务器。但是,服务器例如基于映射表识别出目标地址对应于连接到服务组件的终端,并将连接请求转发到服务组件。在该上下文中,例如,通过替换连接请求中的相应地址字段,可以向服务组件通知第二终端的本地IP地址。然后,服务组件针对第二终端检查证书是否被存档,并且在必要时从外部证书颁发机构请求证书。然后,服务组件初始化第一终端和第二终端之间经认证的连接。

如果从第一终端寻址到第二终端的另外的数据分组到达服务组件,并且如果所述数据分组属于已建立的连接,则这些数据分组被直接传输到第二终端而不经过服务器。

因此,本发明使得本地网络内的终端之间可以进行经认证的连接。

图1示出了系统100的示例。服务器120被配置为从客户端110接收连接请求。在接收到连接请求之后,在一个实施例中,服务器120从来自连接请求的主机名称的一部分中提取终端的地址。例如,如前所述,服务器通过从主机名称中提取字符串来确定终端的本地网络地址。在一个实施例中,这是初始字符串,其包含由分隔符分区的地址字段,并且通过第二符号(诸如点)与主机名称的剩余字符串分开。可替代地,可以从主机名称中的位置N处的另一个字符串或从主机名称的第N个字段中提取终端的地址。在后一个示例中,通过检查主机名称内由点分区的字段来确定第N个字段。以这种方式,例如,服务器120可以确定终端140或150的本地地址。主机名称不必包含实际地址,但在某些实施例中可以包含标识符,所述标识符由服务器经由表映射到实际IP地址。这些实施例的优点在于它们不向外公开这些地址。另一个优点是地址的内部更改仅需要更新表以将新地址用于相同的主机名称。可以通过在服务器的表中搜索终端的地址来确定连接到所寻址的终端的服务组件的标识符或地址。但是,在某些实施例中,根据主机名称确定终端的本地IP地址和相应的服务组件。

服务器通知相应的服务组件,诸如服务组件130。为此目的,服务器可以为连接请求发出新的地址,例如,用终端的本地IP地址替换主机名称并将连接请求定向到服务组件130。

服务组件130针对终端的地址检查证书是否已经被存档。为此目的,可以使用终端的主机名称作为地址,只要所述主机名称仍然包含在连接请求中,或者可替代地,可以使用本地IP地址和服务组件的地址或标识符的组合。可替代地,服务组件可以针对其自己的地址简单地检查证书是否被存档。

如果证书没有被存档,则服务组件130从外部证书颁发机构请求证书。如果证书被存档,则服务组件通过经由服务器120初始化与客户端110的连接来响应连接请求。为此目的,服务组件130首先将证书传输到客户端110以使得所述客户端能够识别服务器120的真实性。这种识别可以例如通过经由测试算法或经由客户端110与外部证书授权机构之间的通信来查看证书来进行。从那时起,数据分组可以在客户端和服务组件之间传输。服务组件将传入数据分组发送到由所确定的地址识别的终端。在那里,对数据分组进行处理和响应,其中来自终端的响应分组经由服务组件130和服务器120被定向回客户端。

系统100还在连接到相同服务组件的两个终端(诸如终端140和150)之间进行经认证的连接。例如,终端140发送寻址到由服务器120为第二终端150提供的主机名称的连接请求。

在第一实施例中,服务组件130例如通过解释主机名称识别出连接请求被定向到与其连接的终端,如上所述。在该实施例中,服务组件130针对第二终端检查证书是否被存档,并且在需要时请求证书。然后,初始化连接,其中随后到达的属于该连接并且对应地被寻址的数据分组被直接转发到相应的终端而不经过服务器120。

在第二实施例中,服务组件130没有识别出连接请求的主机名称,而是将其转发到服务器110。服务器根据这里描述的实施例将主机名称映射到相应终端的本地IP地址并例如通过使用目标终端的本地IP地址将连接请求发送回服务组件130。然后,服务组件130进行已在多个实例中描述的证书检查,并初始化两个终端之间的连接。随后到达服务组件并且被服务组件识别为属于初始化连接的数据分组被直接发送到它们的目标而不经过服务器120。例如,通过使用服务组件130的路由表,可以实现以这种方式识别数据分组。具体而言,服务组件可以使用协议化(protocalled)的源地址和目标地址,以及端口号或其它唯一的连接标识符来识别数据分组所属的连接,并且然后可以适当地在内部或外部转发数据分组。这种唯一标识符可以是连接端口、IP地址或连接端口和IP地址的组合。

图1中所示的终端140和150以及服务组件130和客户端110仅用于符号目的。本发明包括其中任何数量的服务组件和终端彼此连接的系统。

图2示出了用于在客户端和终端之间建立连接的示例性方法200。

在第一步骤210中,服务器(例如,服务器120)为多个终端(诸如终端140和150)中的每个终端提供主机名称。

在步骤220中,服务器从客户端(例如,客户端110)接收连接请求,该连接请求定向到所提供的主机名称之一。所有这些主机名称都可以例如对应于分配给服务器的一个或多个全局有效的IP地址。作为对接收到该连接请求的响应,服务器首先确定连接请求的实际接收者。为此目的,服务器可以在表中搜索主机名称的第一部分,诸如初始字符串,以获得服务组件和/或终端的本地地址。可替代地,服务器可以直接从主机名称的一部分中提取这些地址,诸如从初始字符串中提取,例如,通过将初始字符串解析为包含终端的本地IP地址和服务组件的标识符或也是IP地址的另外的字符串。

基于为服务组件确定的地址,在步骤230中将连接请求转发到该服务组件。然后,在步骤240中,服务组件针对相应的接收者,即,或者针对服务组件本身或者针对被寻址的终端,检查证书是否被存档。如果不是这种情况,则在步骤250中从外部证书颁发机构为接收者请求证书。

如果证书被存档,则在步骤260中服务组件初始化连接。为此目的,可以将证书发送到客户端以使得所述客户端能够检查服务器的真实性。从客户端发送到同一接收者的其它数据分组在上述路径上到达服务组件,并从那里被定向到相应的终端。终端处理数据分组并向服务组件发送响应。响应经由服务器被转发给客户端。

图3示出了用于在同一本地网络中的第一终端和第二终端之间建立连接的示例性方法300。

类似于图2中的步骤210,在步骤310中,终端的主机名称由服务器(诸如服务器120)提供。主机名称被分配给服务器的一个或多个全局有效的IP地址,使得定向到这些主机名称或IP地址的请求到达服务器210。例如,在步骤320中,如果连接请求被发送到这样的主机名称,则所述连接请求到达服务器120。这也适用于源自仅经由服务组件连接到服务器120和仅具有本地有效的IP地址的本地网络中的终端(例如终端140或150)的这种连接请求。如果这样的终端向对应于连接到服务组件的另一个终端的主机名称发送连接请求,则该连接请求由服务组件转发到服务器120。服务器120例如基于所使用的主机名称的结构和/或基于将主机名称映射到本地IP地址的表来识别连接请求源自连接到服务器120的服务组件并因此将连接请求发送回相应的服务组件。如前所述,该过程之前可以解析主机名称的字符串或搜索表。

在步骤330中,服务组件针对主机名称检查证书是否已经被存档,并且在必要时在步骤340中请求证书。接下来,在步骤350中实际建立连接之后例如根据连接所基于的协议在连接参与方之间交换分组。

在步骤360中,服务组件接收数据分组,并在步骤370中检查所述数据分组是否属于与服务组件的终端之一的连接。该检查可以经由路由表的使用来进行,该路由表可用于服务组件并且在其中输入请求单元的IP地址和所寻址单元的IP地址,以及服务组件已知的每个连接的端口号。在步骤380中,即使数据分组被寻址到目标终端的全局有效主机名称,服务组件在这种情况下也不会将数据分组转发到服务器,而是转发到相应的目标终端。仅当数据分组不能与任何内部连接相关联时,才在步骤390中将其转发到服务器。

因此,本发明使得可以在外部客户端和网络内部终端之间以及未被分配全局有效IP地址的终端之间建立经认证的点对点连接。本发明减少了生成证书所需的工作量,因为仅在需要时才请求这些证书,并且还避免了转发在本地网络内发送的内部数据分组,即使这些数据分组被定向到映射到本地终端的全局有效的主机名称或全局有效的IP地址。

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