用于业务重定向的方法、对应的终端、控制器、授权服务器、名称解析服务器和计算机程序
文献发布时间:2024-01-17 01:24:51
技术领域
本发明的领域是通信网络(例如实现IP协议的计算机网络)内的通信的领域。特别地,本发明涉及增值IP服务。
更具体地,本发明涉及名称解析服务,例如DNS(“域名系统”),并且提供了一种用于保证DNS服务的完整性和可用性并检测名称解析中涉及的恶意设备的存在的解决方案。
背景技术
DNS系统是提供IP服务的主要组件。
实际上,DNS服务允许将资源(例如域名类型(FQDN(“完全限定域名”))、URI(“统一资源标识符”)与一个或多个IP地址相关联以接入该资源。例如,DNS服务使终端能够获得与域名相关联的IPv4和/或IPv6地址。
可以考虑不同的解决方案来向终端提供DNS服务。
在下文中参考图1A至图1C描述了基于住宅网关(也称为HG(代表“家庭网关”)或CPE(代表“客户驻地设备”))的使用的示例。
回想一下,这种家庭网关通常用作用户的局域网(“局域网”(LAN))与用户已经订阅服务提供的运营商(“互联网服务提供商”(ISP))的网络之间的接口。因此,它是一种用于接入运营商网络的设备,用户订阅的不同服务的所有特征业务通过该设备传输,并且该设备还支持本地提供给终端的一组服务(例如,FTP服务“文献传送协议”、NFS服务“网络文献系统”、媒体服务器)。
当将CPE连接到网络时,运营商通常向CPE提供接入连接服务所必需的信息。因此,运营商分配可以与CPE相关联的IPv4地址和/或IPv6前缀,以建立来自/去往连接到该CPE的终端的IPv4和/或IPv6通信。运营商还向CPE提供DNS服务器列表以用于名称解析。为此,可以在CPE与接入网络之间使用协议,诸如用于IPv4的DHCP(“动态主机配置协议”,如在文献RFC2131(“动态主机配置协议”,R.Droms等人,1997年3月)和RFC 2132(“DHCP选项和BOOTP供应商扩展”,S.Alexander,1997年3月)中描述的)、用于IPv6的DHCPv6(如在文献RFC 8415(“用于IPv6(DHCPv6)的动态主机配置协议”,T.Mrugalski等人,2018年11月)中描述的)、或用于IPv6的ND(“邻居发现协议”,如在文献RFC 4861(“用于IP版本6(IPv6)的邻居发现”,T.Narten等人,2007年9月)中描述的)。诸如CWMP(“CPEWAN管理协议”)的其他机制可以用于CPE的配置。诸如CWMP(“CPEWAN管理协议”)协议的其他机制可以用于CPE的配置。
因此,如图1A至图1C所示,存在于局域网LAN中的终端H111(或应用)希望与由域名(例如FQDN)(例如“notreexample.com”)标识的远程服务器S12建立通信。嵌入在终端H111中的DNS客户端可以将A类型(如果终端支持IPv4)和/或AAAA类型(如果终端支持IPv6)的DNS请求(也称为DNS解析请求)发送到由运营商提供并托管在接入网络(例如)中的DNS服务器13之一,以获得与域名“notreexample.com”相关联的IP地址。
应该回想起,可以在IPv4中到达的服务器可以发布A类型DNS记录,而可以在IPv6中到达的服务器可以发布AAAA类型记录。IPv4和IPv6中可达的服务器能够发布A和AAAA类型记录。希望到达这种服务器的终端应该在DNS请求中指定记录的类型(A或AAAA)。支持IPv4和IPv6的终端可以发送两个DNS请求:第一请求指示A类型记录,第二请求指示AAAA类型记录。
DNS请求可以直接从终端H111发送到DNS服务器13,如图1A所示,或者当CPE 14嵌入DNS代理(也称为DNS中继或“DNS转发器”,如在文献RFC 8499-“DNS术语”(P.Hoffman等人,2019年1月)中定义的)时发送到CPE 14,如图1B所示。在后一种情况下,如果在CPE 14的本地高速缓存中没有发现响应,则CPE 14可以将DNS请求中继到DNS服务器13。
如果对应于所追求的域名的至少一个条目在其数据库中对于请求的记录类型(A或AAAA)可用,则DNS服务器13可以用IP地址列表(例如@S)进行响应,或者如果DNS服务器13没有这样的条目,则根据DNS架构的分层结构将请求中继到另一DNS服务器。反过来,从位于所述分层中更高的另一DNS服务器(例如,权威服务器)接收的响应由最初请求的DNS服务器13中继到终端H111。
DNS响应可以如图1A所示直接从DNS服务器13发送到终端H111,或者如图1B所示在存在“DNS转发器”的情况下发送到CPE 14。在后一种情况下,CPE 14的“DNS转发器”将DNS响应中继到终端H111。
如图1C所示,终端H111因此可以提取响应中包含的IP地址(或多个IP地址)(例如@S),然后通过发送连接到返回地址之一(例如@S)的请求来建立与服务器S12的通信。
如果DNS服务器已经由运营商通过接入网络在通信设备中声明(通常在将该设备附接到网络时,或者借助于先前的配置,例如“工厂”配置),则DNS服务器被称为标称服务器。在该步骤期间,通信设备从由(多个)运营商提供的一个或多个(标称)DNS服务器检索可接入性信息。可接入性信息可以包括IP地址列表、端口号、认证参考等。运营商可以是连接、IP语音等服务提供商;因此,这些运营商中的每一个通常可以通过在其基础设施内托管一个或多个DNS服务器来提供其自己的DNS服务。该服务可以经由固定或移动基础设施(例如,PLMN类型,“公共陆地移动网络”)来提供。
此外,如今,越来越多的第三方实体提供公共DNS服务(“公共解析器”)。例如,这样的DNS服务器由诸如“Google Public
越来越多的客户端替换或添加到由其运营商提供的DNS配置,其使得它们能够接入这些公共DNS服务器。
因此,通信设备可以检索用于其活动网络接口(固定、移动、WLAN(“无线局域网”)等)中的每一个的新DNS配置。还可以向通信设备提供其他信息(例如,SIP(“会话发起协议”)服务器的可接入性)。
LAN网络内的DNS服务器发现机制的缺点是它们不安全。
例如,如图2所示,当终端H121连接到局域网LAN时,它能够例如根据DHCP或ND协议响应于其请求而从恶意设备RS 23接收消息。因此,终端H1 21能够接收源自恶意设备RS 23的路由器通告类型RA(“路由器通告(Router Advertisement)”)的消息,并且认为恶意设备RS 23是其默认路由器。
希望与由域名标识的远程服务器S 22建立通信的终端H1 21然后可以向恶意设备RS 23发送DNS请求,而不是将其发送到CPE24。恶意设备RS 23可以托管恶意DNS服务器,并用恶意远程服务器AS 25的地址(例如@AS)进行响应。
之后,终端H121可以提取响应中包含的IP地址(或多个IP地址)(例如@AS),然后与恶意服务器AS 25建立通信。
因此,LAN网络内的这种安全发现机制的缺乏会促进攻击的执行,该攻击使得能够拦截用户的敏感数据(例如个人数据)并且重定向到恶意站点,如图2所示。
所考虑的第一解决方案基于认证证书的使用。
尽管如此,这样的解决方案不足以检测恶意设备。实际上,恶意设备可以呈现从有效认证机构(“认证机构(CertificationAuthority)”)获得的有效证书,这可能误导LAN的设备。
为了解决这个安全问题,一些浏览器和应用使用由互联网服务提供商或应用维护的授权服务器列表(“接受列表”或“白名单”)来决定发现的DNS服务器是否合法(即,可信)。例如,
如果发现的DNS服务器是合法的(即,发现的服务器属于列表),则客户端/终端然后可以继续从不安全连接(根据端口53上的UDP/TCP协议的DNS,也称为Do53)迁移到安全连接(例如,根据HTTPS(DoH)协议的DNS,如在文献RFC 8484-“HTTPS上的DNS查询(DoH)”(P.Hoffman等人,2018年10月)中描述的,或者QUC上的DNS(DoQ),如在文献“专用QUIC连接上的DNC的说明”(C.Huitema等人,2020年10月20日)中描述的)。
用于将不安全连接自动更新为安全连接(“自动升级”)的该过程的困难在于维护授权服务器的列表。实际上,其内容和/或其大小会快速改变,特别是通过添加或移除服务器。
这种授权服务器列表仅限于由互联网服务提供商(ISP)或应用提供商操作的服务器暗示着在局域网中提供需要存在DNS中继器(通常也称为“DNS转发器”)的服务。实际上,提供给连接到局域网的终端的一些服务需要激活本地“DNS转发器”。因此,应该将本地“DNS转发器”添加到该授权服务器列表中。尽管如此,应该注意,这些“DNS转发器”不能从互联网到达。
为了解决这个问题,已经提出了一种解决方案,特别是用于重定向在HTTPS消息中传送的DNS请求,即根据在文献“支持用于HTTPS上的DNS查询(DoH)的重定向”(M.Boucadair等人,2020年8月27日)中描述的安全连接。
根据该技术,运营商(例如互联网服务提供商)可以将他的(多个)DNS服务器添加到授权服务器列表中。与之建立安全连接的运营商的DNS服务器(也称为DoH服务器)或另一伙伴服务器由LAN中的CPE通告。然后由运营商针对嵌入“DNS转发器”的CPE生成域名和证书。
如图3所示,DoH客户端(例如嵌入在连接在LAN上的终端31中)通过连接到所通告的DoH服务器32来实现其Do53连接的自动更新过程。为此,DoH客户端向DoH服务器32发送DoH请求33。
响应于客户请求DoH服务器32与托管“DNS转发器”的CPE 35建立DoH连接的请求,DoH服务器32返回重定向消息34。DoH服务器32向客户端传送将用于认证目的(例如,代表“使用X.509的公钥基础设施”的PKIX认证)的标识符以及加入CPE 35的“DNS转发器”的(多个)地址。还可以返回其他信息(例如端口号)。
在附录中给出了由运营商的DoH服务器32返回的JSON(“JavaScript对象表示(Object Notation)”)对象的示例。
在接收到重定向消息34时,客户端31使用由此检索的信息与CPE 35建立DoH会话36。CPE 35维持与运营商的DoH服务器32的DoH会话37。特别地,在该示例中,该会话可以用于服务不能由嵌入在CPE 35中的本地“DNS转发器”本地处理的请求。
然而,维持该DoH连接不足以最小化非法侵入由客户端/终端发送的DNS请求的风险。实际上,该机制不允许检测恶意服务器的存在,特别是在LAN中。例如,恶意服务器可能会抢占(usurp)CPE的IP地址,从而拦截由LAN的终端发送的DoH请求。恶意服务器还可以阻止CPE发送的消息。
因此,如图4A所示,终端41可以向运营商的DoH服务器42发送DoH请求43,并且作为响应接收重定向消息44,向终端41传送用于PKIX认证目的的标识符以及用于到达合法CPE45的(多个)地址。在恶意服务器46已经抢占CPE45的IP地址(@CPE)的情况下,终端41试图通过发送DoH请求47来建立与恶意服务器46的会话。尽管如此,由恶意服务器46发送的响应48因为PKIX认证失败被终端41拒绝,并且终端41不能接入服务。如果终端41试图在忽略重定向指令的同时连接到运营商的DoH服务器42,则DoH服务器42将系统地发送类似于先前描述的消息44的重定向消息,向终端41传送将用于PKIX认证目的的标识符以及用于到达合法CPE 45的(多个)地址。
因此,根据现有技术的这种技术的缺点是连接服务(包括本地服务(即,由于CPE中存在“DNS转发器”而提供的服务))不可用的风险。
实际上,如图4B所示,如果恶意服务器46成功获取由CPE 45使用的认证标识符,则可以在终端41与恶意服务器46之间以及恶意服务器46与远程服务器49之间建立安全连接。尽管存在这样的安全连接,但是恶意服务器46可以恢复由终端41发送的所有DNS请求,并且可能地恢复终端的用户的个人数据。
因此,建立安全连接不足以保证与其建立该连接的服务器的合法性。
因此,诸如DoH(应用层协议)或DoT(传输层协议,如在文献RFC 7858-“传输层安全(TLS)上的DNS的说明”(Z.Hu等人,2016年5月)中描述的)的协议的激活没有解决用于发现LAN网络内的合法DNS服务器的机制的安全性的上述问题。
因此,需要一种新的解决方案,其允许保证基于DNS服务的服务的连续性并保持用户通信的安全性,同时提供增值服务并保证这些用户向其发送名称解析请求的DNS服务器的合法性。
发明内容
本发明提出了在不同实体中实现的用于重定向来自DNS客户端的DNS业务的不同方法,当重定向过程被激活并被授权用于该DNS客户端时,允许将业务从第一名称解析服务器安全地重定向到第二名称解析服务器。
应该注意,能够在相同终端中激活若干DNS客户端。在这种情况下,下文描述的解决方案可以针对希望激活它的每个DNS客户端独立地实现。尽管如此,接下来,术语“DNS客户端”和“终端”可互换使用。
因此,本发明提供了一种在连接到通信网络的终端中实现的名称解析方法,包括:
-例如通过依赖于应用层的协议(例如HTTPS)或传输层的协议(例如QUIC/UDP),经由所述终端与第一名称解析服务器之间的安全通信信道向所述第一名称解析服务器发送名称解析消息,
-如果所述终端的DNS业务的重定向被授权(例如,默认为针对终端授权或由不同实体(例如授权服务器)授权),则获得用于所述重定向的第二名称解析服务器的至少一个标识符,
-执行用于管理所述终端的所述DNS业务到所述第二名称解析服务器的所述重定向的至少一个动作,所述至少一个动作至少来自:
-验证所述第二名称解析服务器的合法性,
-发送所述终端与所述第二名称解析服务器的连接失败的指示,
-请求对所述DNS业务到所述第二名称解析服务器的所述重定向的去激活。
因此,所提出的解决方案允许在获得第二名称解析服务器的一个或多个标识符之后或同时实现不同的动作,诸如用于验证第二名称解析服务器的合法性的过程、允许克服第二名称解析服务器的认证问题的过程(例如,用于针对第二名称解析服务器生成至少一个新标识符的过程)、用于去激活重定向的过程等。
因此,所提出的解决方案提供了一种用于保持依赖于DNS服务的服务连续性和/或通信安全性的解决方案。
特别地,可以在由终端发出的名称解析消息的报头或主体中指定这样的管理动作。以这种方式,在接收到名称解析消息时,第一服务器可以确定将实现的过程。
例如,可以发出DoH GET(获得)(fwd-check)或DoH POST(传递)(fwd-check)类型的名称解析消息以发起诸如验证第二名称解析服务器的合法性的动作。可以发出DoH GET(redirect-auth-failed(重定向-认证-失败))或DoHPOST(redirect-auth-failed)类型的名称解析消息以发起动作,诸如发送终端与第二名称解析服务器的连接失败的指示。可以发送DoHGET(rd-禁用)或POST(rd-禁用)类型的名称解析消息以发起动作,诸如请求DNS业务到所述第二名称解析服务器的所述重定向的去激活。特别地,终端与所述第二名称解析服务器的连接失败的指示可以包括用信号通知连接失败或显式指示以生成新标识符。
特别地,可以将第二服务器添加到用于DNS业务重定向服务的授权(“接受”)服务器列表中。然后,终端可以继续从与该第二服务器的不安全连接迁移到安全连接,并且使用安全通信信道将DNS业务重定向到该第二服务器。如果第二服务器的合法性验证失败,则可以从授权服务器列表中抑制(或不添加)该第二服务器。然后可以由终端去激活到该第二服务器的重定向。
例如,第二名称解析服务器的所述至少一个标识符属于包括以下各项的组:标识第二服务器的域名、用于加入第二服务器的地址等。
如前所指示,用于管理终端的DNS业务的重定向的动作包括例如发送终端与所述第二名称解析服务器的连接失败的指示。例如,这样的动作还导致获得第二名称解析服务器的新标识符。
以这种方式,当终端未能认证第二名称解析服务器时,它可以触发允许获得第二服务器的新标识符的动作。
用于管理DNS业务的重定向的另一动作在于验证第二名称解析服务器的合法性。例如,这样的动作包括:
-接收源自所述第一名称解析服务器的用于验证所述第二名称解析服务器的合法性的至少一条信息,
-通过将对名称解析请求的响应与从所述至少一条验证信息获得的测试响应进行比较,验证发出所述响应的实体的合法性,所述名称解析请求由终端使用所述第二服务器的所述至少一个标识符发出并且从所述至少一条验证信息生成。
用于管理终端的DNS业务的重定向的另一动作是请求去激活DNS业务到所述第二名称解析服务器的重定向。特别地,这样的动作可以在另一动作之后执行,例如当尽管生成了第二服务器的至少一个新标识符,但是第二服务器的合法性的验证失败时或者在终端到第二服务器的连接的一个或多个失败之后。
本发明还涉及一种用于控制针对通信网络中的终端授权的DNS业务的重定向的方法,所述终端已经经由所述终端与第一名称解析服务器之间的安全通信信道发出名称解析消息。
这种控制方法在网络控制器(也称为协调器)中实现,并且包括:
-与针对所述终端标识的第二名称解析服务器交换信息,用于所述终端的DNS业务的所述授权重定向,所述信息包括由所述控制器提供给所述第二名称解析服务器的至少一条信息,用于由所述终端验证所述第二名称解析服务器的合法性,和/或由所述第二名称解析服务器提供给所述控制器的至少一条信息,用于解析所述终端与所述第二名称解析服务器的连接失败。
特别地,可以实现这样的控制方法以帮助终端执行用于管理DNS业务的重定向的动作,特别是诸如发送终端与所述第二名称解析服务器的连接失败的指示的动作或者诸如验证第二名称解析服务器的合法性的动作。
第一名称解析服务器和网络控制器可以形成相同的实体,或者属于不同的实体。在第二种情况下,第一名称解析服务器和网络控制器可以交换消息以进行通信。
特别地,如果第二服务器是为通信网络定义的默认路由器,例如CPE,则这样的控制器可以具有第二名称解析服务器的至少一个标识符。可替代地,控制器实现获得源自网络的授权服务器的第二名称解析服务器的至少一个标识符。
根据特定实施例,由第二名称解析服务器提供的用于解析终端与第二名称解析服务器的连接失败的所述信息中的至少一个包括所述第二名称解析服务器的至少一个新标识符。
可替代地,由控制器实现的方法包括从为通信网络定义的默认路由器获得所述第二名称解析服务器的至少一个新标识符。
在这两种情况下,控制器可以将所述至少一个新标识符发送到网络的授权服务器。
特别地,当终端执行用于管理终端的重定向的动作(诸如发送终端与所述第二名称解析服务器的连接失败的指示)时,可以实现这样的动作。
根据特定实施例,由控制器实现的方法包括:在所述信息交换期间,向所述第二名称解析服务器发送被授权验证第二名称解析服务器的合法性的所述终端的至少一个标识符,或者所述终端所属的网络的至少一个标识符。
特别地,当终端执行诸如验证第二服务器的合法性的动作时,可以实现这样的动作。
以这种方式,控制器可以向第二名称解析服务器通知被授权验证第二名称解析服务器的合法性的(多个)终端。
例如,终端的所述至少一个标识符属于包括以下各项的组:IPv4/IPv6地址、IPv4/IPv6前缀、终端的证书的DNS-ID标识符或在证书的“主体替代名称”字段中输入的任何其他标识符(如在文献互联网X.509公钥基础设施证书和证书撤销列表(CRL)简档(D.Cooper等人,2008年5月)中所描述的)等。
本发明还涉及一种用于管理针对通信网络中的终端授权的DNS业务重定向的方法,所述终端已经经由所述终端与第一名称解析服务器之间的安全通信信道发出名称解析消息。
这种管理方法在针对终端标识的用于所述重定向的所述网络的第二名称解析服务器中实现,并且包括:
-与所述网络的控制器交换信息,所述信息包括由所述控制器提供给所述第二名称解析服务器的至少一条信息,用于由所述终端验证所述第二名称解析服务器的合法性,和/或由所述第二名称解析服务器提供给所述控制器的至少一条信息,用于解析所述终端与所述第二名称解析服务器的连接失败。
特别地,可以实现这种管理方法以帮助终端执行用于管理DNS业务的重定向的动作。
特别地,该管理方法包括向所述终端发送对名称解析请求的响应,所述响应携带从终端的至少一个标识符获得的测试响应以及在与控制器交换期间获得的用于验证所述第二名称解析服务器的合法性的所述至少一条信息。
特别地,名称解析请求可以是从所述至少一条验证信息生成的测试请求。
特别地,当终端执行诸如验证第二服务器的合法性的动作时,可以实现这样的动作。
根据另一实施例,管理方法包括:
-生成所述第二名称解析服务器的至少一个新标识符,
-在与所述控制器交换期间向所述网络控制器发送所述至少一个新标识符。
特别地,当终端执行用于管理终端的重定向的动作(诸如发送终端与所述第二名称解析服务器的连接失败的指示)时,可以实现这样的动作。
本发明还涉及一种用于处理针对通信网络中的终端授权的DNS业务的重定向的方法,该方法在所述网络的第一名称解析服务器中实现,该方法包括:
-从所述终端接收经由所述终端与所述第一名称解析服务器之间的安全通信信道接收的名称解析消息,
-从授权服务器获得用于所述终端的重定向授权和针对所述终端标识的用于所述重定向的第二名称解析服务器的至少一个标识符,以及
-向所述终端发送承载第二名称解析服务器的所述至少一个标识符的重定向消息。
第一名称解析服务器一方面经由安全通信信道与终端通信,另一方面与能够与网络控制器通信的授权服务器通信,网络控制器本身能够与第二名称解析服务器通信。第一名称解析服务器和授权服务器可以形成相同的实体,或者属于不同的实体。在第二种情况下,第一名称解析服务器和授权服务器可以交换消息以进行通信。
例如,如果所述第一名称解析服务器和所述授权服务器属于不同的实体,则获得终端的重定向授权以及针对所述终端标识的第二名称解析服务器名称的至少一个标识符实现:
-向所述授权服务器发送承载所述终端的至少一个标识符的重定向授权验证请求,
-从所述授权服务器接收终端的重定向授权以及针对终端标识的用于所述重定向的第二名称解析服务器的所述至少一个标识符。
根据第一实施例,第一名称解析服务器实现:
-获得用于验证所述第二名称解析服务器的合法性的至少一条信息(源自授权服务器或由所述第一名称解析服务器生成),以及
-向所述终端发送所述至少一条验证信息。
特别地,当终端执行诸如验证第二服务器的合法性的动作时,可以实现这些步骤,使得第一服务器能够获得至少一条验证信息。
根据第一变型,获得至少一条验证信息实现由第一名称解析服务器对至少一个验证测试的生成以及所述至少一个验证测试到所述授权服务器的发送。
因此,第一服务器生成至少一个验证测试(例如,它生成域名和相关联的DNS条目),并且一方面将(多个)测试发送到授权服务器(例如,在重定向授权验证请求中或在“Accounting-Request(计费-请求)”消息中),另一方面发送到终端(例如,在“DoH 3xx”重定向消息中)。
根据第二变型,获得至少一条验证信息实现对源自所述授权服务器的至少一个验证测试的接收。
在这种情况下,第一服务器仅将(多个)测试发送到终端(例如在“DoH3xx”重定向消息中)。由于授权服务器本身已经生成了(多个)测试,所以不必需将测试发送到授权服务器。
根据第二实施例,第一名称解析服务器实现:
-从所述授权服务器获得所述第二名称解析服务器的至少一个新标识符,
-向所述终端发送所述第二名称解析服务器的所述至少一个新标识符。
特别地,当终端执行诸如发送终端与所述第二名称解析服务器的连接失败的指示的动作时,可以实现这些步骤,使得第一服务器能够获得所述第二名称解析服务器的至少一个新标识符。
例如,如果所述第一名称解析服务器和所述授权服务器属于不同的实体,则获得所述第二名称解析服务器的至少一个新标识符实现:
-向所述授权服务器发送用于生成所述第二名称解析服务器的至少一个新标识符的请求,
-从所述授权服务器接收所述第二名称解析服务器的至少一个新标识符。
如果将建立的过程包括生成第二名称解析服务器的至少一个新标识符,则第一服务器可以通过向授权服务器发送用于生成至少一个新标识符的请求,来联系授权服务器以获得所述第二名称解析服务器的至少一个新标识符。例如,在重定向授权验证请求中或在“Accounting-Request”消息中发送这样的请求。
因此,第一服务器可以接收第二服务器的至少一个新标识符并将其发送到终端(例如在“DoH 3xx”重定向消息中)。
根据另一实施例,第一名称解析服务器可以在终端与所述第二名称解析的连接的至少一个失败之后继续去激活到所述第二名称解析服务器的DNS业务重定向,或者在所述终端请求时去激活到默认为终端指定的第三名称解析服务器的DNS业务重定向。
特别地,如果终端执行诸如请求去激活DNS业务到所述第二名称解析服务器的重定向的动作,则可以实现这些步骤。
触发重定向的去激活也可以在终端请求时实现。特别地,可以在N次认证失败之后(例如,由终端或由第一服务器)决定重定向的去激活,N是大于或等于1的整数,例如等于3。
特别地,第一名称解析服务器可以去激活DNS业务重定向到默认指定的名称解析服务器(第三名称解析服务器)的重定向,因此不是由授权服务器指定。
根据第一变型,第一在继续去激活重定向之前向授权服务器请求授权。
例如,第一名称解析服务器实现:
-向授权服务器发送用于去激活到所述第二名称解析服务器的重定向的请求,
-接收源自所述授权服务器的去激活授权。
根据第二变型,第一服务器决定去激活到第二服务器的重定向,并将其通知授权服务器。例如,第一名称解析服务器实现:
-向所述授权服务器发送一条信息,根据所述一条信息到所述第二名称解析服务器的重定向被去激活。
本发明还涉及一种用于授权通信网络中终端的DNS业务的重定向的方法,该方法在所述网络的授权服务器中实现,所述终端已经经由所述终端与第一名称解析服务器之间的安全通信信道发出名称解析消息。
如果终端的DNS业务的重定向被授权,则这种授权方法包括:
-获得针对所述终端标识的用于所述重定向的第二名称解析服务器的至少一个标识符,以及
-向所述第一名称解析服务器发送用于所述终端的重定向授权和第二名称解析服务器的所述至少一个标识符。
特别地,这种授权服务器的使用允许提高不同过程/动作的可靠性,特别是用于验证第二服务器的合法性或用于解决认证问题。
特别地,在接收到源自第一名称解析服务器的重定向授权验证请求之后实现这些步骤。
根据特定实施例,这种授权方法包括向所述网络的控制器发送属于包括以下各项的组的至少一个元素:
-所述终端的至少一个标识符,
-所述终端所属的网络的至少一个标识符,
-所述第二名称解析服务器的所述至少一个标识符,
-用于验证所述第二名称解析服务器的合法性的至少一条信息。
特别地,授权方法可以实现在发送用于验证控制器的合法性的所述至少一条信息之前获得用于验证所述第二名称解析服务器的合法性的至少一条信息。
特别地,当终端执行诸如验证第二名称解析服务器的合法性的动作时,可以实现该步骤,使得授权服务器能够获得用于验证所述第二名称解析服务器的合法性的至少一条信息。
例如,获得至少一条验证信息实现从所述第一名称解析服务器接收至少一个验证测试(由第一名称解析服务器生成测试请求)。可替代地,获得至少一条验证信息实现由授权服务器对至少一个验证测试的生成以及所述至少一个验证测试到所述第一名称解析服务器的发送(由授权服务器生成测试请求)。
根据另一实施例,授权方法包括:
-从所述网络控制器获得所述第二名称解析服务器的至少一个新标识符,
-向所述第一名称解析服务器发送所述第二名称解析服务器的所述至少一个新标识符。
特别地,当终端执行诸如发送终端与所述第二名称解析服务器的连接失败的指示的动作时,可以实现这些步骤,使得授权服务器能够获得第二名称解析服务器的至少一个新标识符。
在其他实施例中,本发明还涉及对应的终端、网络控制器、第一名称解析服务器、第二名称解析服务器和对应的授权服务器。
这些实体中的一些可以形成相同的实体(例如,第一名称解析服务器和/或授权服务器和/或控制器可以共置)。在这种情况下,不同的模块(例如与第一名称解析服务器相关联的模块、与授权服务器相关联的模块、与网络控制器相关联的模块)可以在同一实体内通信,例如通过交换消息。
此外,本发明涉及一种用于在通信网络中重定向DNS业务的系统,包括终端、网络控制器、第一名称解析服务器、第二名称解析服务器和对应的授权服务器。
在另一实施例中,本发明涉及一个或多个计算机程序,其包括用于当该程序或这些程序由处理器执行时实现根据本发明的至少一个实施例的至少一种方法的指令。
因此,根据本发明的方法可以以各种方式实现,特别是以有线形式和/或以软件形式实现。
特别地,一些步骤可以由通用模块、应用、DNS解析器(“解析器”或“末端解析器(stub-resolver)”)等实现。这些不同的模块可以嵌入在CPE、终端(“用户设备”)、配备有例如USB端口(“(USB)适配器”)的密钥等中。
附图说明
在阅读作为简单的说明性和非限制性示例给出的特定实施例的以下描述并从附图中,本发明的其他特征和优点将更清楚地显现,其中:
-关于现有技术讨论的[图1A]示出了在CPE中没有嵌入任何中继器(“DNS转发器”)的情况下部署DNS服务的示例,
-关于现有技术讨论的[图1B]示出了在CPE中嵌入DNS中继器的情况下部署DNS服务的示例,
-关于现有技术讨论的[图1C]示出了与远程服务器建立连接的示例,
-同样关于现有技术讨论的[图2]示出了由恶意设备拦截DNS请求的示例,
-[图3]示出了根据现有技术的用于自动更新DNS连接的过程,
-同样关于现有技术讨论的[图4A]和[图4B]示出了在根据现有技术将Do53连接自动更新为加密DNS连接的过程期间遇到的问题的示例,
-[图5A]、[图5B]、[图5C]、[图5D]和[图5E]示出了根据本发明的至少一个实施例的被实现用于管理DNS业务的重定向的主要步骤,
-[图6]示出了在终端、第一名称解析服务器和授权服务器之间交换的消息的示例,
[图7A]和[图7B]示出了根据第一实施例的在终端、第一名称解析服务器和授权服务器之间交换的消息的示例,
-[图8]示出了根据本发明的至少一个实施例的业务重定向中涉及的不同实体,
[图9A]和[图9B]示出了根据第二实施例的在终端、第一名称解析服务器和授权服务器之间交换的消息的示例,
-[图10A]和[图10B]示出了根据本发明的至少一个实施例的用于去激活业务重定向过程的在终端、第一名称解析服务器和授权服务器之间交换的消息的示例,
[图11]示出了根据特定实施例的不同实体的简化结构。
具体实施方式
一般原则
本发明提出了一种安全解决方案,用于管理终端的DNS业务从第一名称解析服务器到针对所述终端标识的用于重定向的第二名称解析服务器的重定向。
为此,认为终端能够使用安全信道向第一名称解析服务器发送名称解析请求,并且第一名称解析服务器希望建立用于将DNS业务重定向到针对终端标识的用于重定向的第二名称解析服务器的过程。
本发明的一般原理基于由终端执行至少一个动作,其用于管理终端的DNS业务到针对终端标识的用于重定向的第二服务器的重定向。例如,这样的动作包括验证第二名称解析服务器的合法性,发送终端与第二名称解析服务器的连接失败的指示,请求去激活DNS业务重定向到第二名称解析服务器等。
因此,所提出的解决方案允许检测、避免和/或校正如参考图4A和4B所描述的身份抢占或认证问题,这可以阻止终端接入依赖于DNS服务(具体地,加密DNS服务(“加密DNS”))的服务。
参考图5A至图5F,在包括终端51、第一名称解析服务器52、授权服务器53、网络54和第二名称解析服务器55的系统中呈现了根据本发明实现的主要步骤。
例如,局域网被认为通过路由器(例如CPE)连接到运营商的网络,并且第一名称解析服务器52属于运营商的网络,终端51属于局域网。
当然,可以考虑其他上下文。例如,第一名称解析服务器可以是运营商网络中的合法服务器,其将DNS业务重定向到运营商网络或更靠近终端的另一网络中的至少一个第二名称解析服务器。
因此,终端和第二名称解析服务器不一定附接到同一网络,并且重定向不一定实现到局域网的服务器。类似地,第一名称解析服务器可以附接到与接入网络不同的网络。
因此,接下来,“通信网络”应该被理解为包括终端51、第一名称解析服务器52和第二名称解析服务器55所附接到的一个或多个网络的集合。可能干预DNS业务的重定向的管理的其他实体也可以附接到该网络或这些网络,特别是授权服务器53(其允许特别来验证重定向是否被授权用于终端),并且可能是网络控制器54。这些实体中的每一个可以附接到与通信网络不同的网络。尽管如此,不同的实体可以至少成对地彼此通信。
如图5A所示,在步骤511期间,终端51经由终端51和第一名称解析服务器52之间的安全通信信道向第一名称解析服务器52发送至少一个名称解析消息。
如果终端的DNS业务的重定向被授权,则终端51获得(512)用于重定向的合法第二名称解析服务器55的至少一个标识符,所述至少一个标识符源自第一名称解析服务器52或源自与第一名称解析服务器52直接或间接通信的实体(例如授权服务器53或网络控制器54)。
终端51然后可以执行(513)用于管理终端的DNS业务到第二名称解析服务器55的所述重定向的至少一个动作,其至少来自以下各项:
-验证所述第二名称解析服务器的合法性,
-发送所述终端与所述第二名称解析服务器的连接失败的指示,
-请求去激活DNS业务到第二名称解析服务器的重定向。
特别地,为了验证第二名称解析服务器的合法性,终端51可以向从包括在重定向消息中的所述至少一个标识符标识的实体发出名称解析请求(即,第二服务器名称解析,如果其身份未被另一实体抢占的话),如稍后所述。
如图5B所示,如果终端的DNS业务的重定向被授权,则网络控制器54可以特别地与针对终端标识的第二名称解析服务器55交换541信息以用于终端的DNS业务的授权重定向,以帮助终端51执行DNS业务重定向管理动作。
例如,控制器54可以向第二名称解析服务器55提供用于由终端51验证第二名称解析服务器55的合法性的至少一条信息。此外,控制器54可以从第二名称解析服务器获得用于解析终端与第二名称解析服务器的连接失败的至少一条信息,例如第二名称解析服务器的新标识符。
类似地,如果终端的DNS业务的重定向被授权,则图5C所示的第二名称解析服务器55可以与网络控制器54交换(551)信息,以帮助终端51执行DNS业务重定向管理动作。
例如,第二名称解析服务器55可以从控制器54获得用于由终端51验证第二名称解析服务器55的合法性的至少一条信息。第二名称解析服务器55还可以向网络控制器54提供用于解析终端与第二名称解析服务器的连接失败的至少一条信息。
图5D示出了在第一名称解析服务器52中实现的主要步骤。
如图5D所示,在从终端51接收(521)名称解析消息时,第一名称解析服务器52可以例如通过咨询服务器授权53,特别地验证终端的DNS业务的重定向是否被授权。授权服务器53还可以与网络控制器54通信。
例如,第一名称解析服务器52可以向授权服务器53发送重定向型服务授权验证请求,该重定向型服务授权验证请求至少包括终端51的标识符或终端51连接到的网络的标识符。
这里描述了服务是重定向类型的情况。在其他实施例中,授权服务器可以验证终端是否被授权使用名称解析消息中标识的DNS简档。实际上,相同的名称解析服务器可以支持若干DoH简档(由“URI模板”标识)。这些简档中的每一个可以被配置为提供不同的DNS服务(具有或不具有过滤、反垃圾邮件激活等)。
因此,第一名称解析服务器52可以获得(522)用于终端的重定向授权和针对终端51标识的用于重定向的第二合法名称解析服务器的至少一个标识符,并且向终端51发送523承载第二合法名称解析服务器的所述至少一个标识符的重定向消息。
如图5E所示,例如在从第一解析服务器52接收到重定向型服务授权验证请求时,授权服务器53可以特别地从针对终端51标识的用于重定向的合法第二名称解析服务器55获得(531)至少一个标识符。
特别地,在基于终端的(多个)标识符和本地指令(即,来自授权服务器的运营商的指令(例如,默认重定向或用于特定标识符))进行验证之后,授权服务器53在适用的情况下获得(531)从终端51的(多个)标识符标识的与终端51相关联的第二名称解析服务器55的至少一个标识符。
之后,授权服务器53可以向第一名称解析服务器52发送(532)用于终端51的重定向授权和第二名称解析服务器55的至少一个标识符。
如以上所述,这些不同的实体可以特别地帮助终端51执行用于管理终端的DNS业务到第二名称解析服务器55的重定向的至少一个动作。
下文描述第一实施例,根据该实施例,DNS业务重定向管理动作包括验证第二名称解析服务器的合法性。
根据该第一实施例,本发明提出了一种解决方案,其允许检测将其自身呈现为第二名称解析服务器55的实体是否是恶意的。特别地,在确认存在恶意实体的情况下,可以中断业务的重定向。为此,可以实现测试过程。
例如,根据该第一实施例,诸如验证第二名称解析服务器的合法性的动作的执行包括由终端51向第一名称解析服务器52发送需要验证第二名称解析服务器的合法性的指示符。例如,这样的指示符可以插入在步骤511期间从终端51发送到第一名称解析服务器52的名称解析消息的主体或报头中,或者插入在另一消息中。
在接收到请求验证第二名称解析服务器的合法性的指示符时,第一名称解析服务器52生成用于验证第二名称解析服务器的合法性的至少一条信息,或者请求授权服务器53获得这样的信息。
因此,第一名称解析服务器52可以例如在重定向消息中向终端51发送用于验证第二名称解析服务器的合法性的(多个)信息。
此外,如果第一名称解析服务器52已经生成了用于验证第二名称解析服务器的合法性的(多个)信息,则这些信息可以被发送到授权服务器53,然后从授权服务器53发送到网络控制器54,然后从网络控制器54发送到合法第二名称解析服务器55。
如果第一名称解析服务器52已经从授权服务器53接收到用于验证第二名称解析服务器的合法性的(多个)信息,则这些信息直接从授权服务器53发送到网络控制器54,然后从网络控制器54发送到合法第二名称解析服务器55。
可替代地,第一名称解析服务器可以直接与合法第二名称解析服务器55通信。
因此,终端51和合法第二名称解析服务器55都具有用于验证第二名称解析服务器的合法性的相同信息。例如,这样的信息包括由至少一个DNS请求和对应的响应形成的一个或多个验证测试。
因此,终端51可以向从重定向消息中标识的实体发出测试请求,该测试请求是从重定向消息中包括的(多个)验证测试构建的。
然后,终端51可以通过将从该实体接收的响应与由终端51从重定向消息中包括的(多个)验证测试获得的测试响应进行比较来验证从重定向消息标识的实体的合法性。
特别地,如果终端51没有接收到响应,或者如果响应被呈现但不对应于由第一名称解析服务器52在验证信息中传送的响应,则终端51可以断定从重定向消息标识并将其自身呈现为第二名称解析服务器55的实体是恶意的。
此外,网络控制器54可以预先从授权服务器53获得终端51的(多个)标识符,并将它们发送到合法第二名称解析服务器55。
在接收到名称解析请求时,合法第二名称解析服务器55因此可以验证发出名称解析请求的实体的至少一个标识符是否与已经发送名称解析消息的终端的(多个)标识符相同或相关。
关于相关的标识符,在本文中应该理解为通过依赖关系相关的标识符(例如,标识符和该标识符的编码版本)。例如,如果发出请求的实体的标识符是由分配给终端的前缀(例如IPv6/64前缀)形成的地址,则第二名称解析服务器决定存在相关性。
因此,合法第二名称解析服务器55可以特别地验证用于验证的名称解析请求是否源自由网络控制器54标识的终端51,并且仅在名称解析请求源自由网络控制器54标识的终端51时决定不处理名称解析请求(通过从验证测试(多个)构建响应)。
在下文中描述第二实施例,根据该实施例,DNS业务重定向管理动作包括发送终端与第二名称解析服务器的连接失败的指示。
根据该第二实施例,本发明提出了一种允许在认证失败之后建立与第二名称解析服务器55的连接的解决方案。为此,可以生成新地址以加入第二名称解析服务器。
例如,根据该第二实施例,诸如“发送终端与第二名称解析服务器的连接失败的指示”的动作的执行包括由终端51向第一名称解析服务器52发送需要从第二名称解析服务器55生成至少一个新标识符的指示符。例如,这样的指示符可以插入在步骤511期间从终端51发送到第一名称解析服务器52的名称解析消息的主体或报头中,或者插入在另一消息中。例如,当终端51未能认证第二名称解析服务器55(认证失败)时,可以将这样的指示符发送到第一名称解析服务器52。
在这种情况下,在从第二名称解析服务器55接收到需要生成至少一个新标识符的指示符时,第一名称解析服务器52可以向授权服务器53发送用于生成第二名称解析服务器的至少一个新标识符的请求。授权服务器53可以将请求发送到网络控制器54,网络控制器54又可以将请求发送到合法第二名称解析服务器55。可替代地,第一名称解析服务器可以直接与合法第二名称解析服务器55通信。
在接收到该请求时,合法第二名称解析服务器55可以生成至少一个新标识符,并且向网络控制器44发送(多个)新标识符。网络控制器54可以将(多个)新标识符从第二名称解析服务器55转发到授权服务器53,授权服务器53又可以将它们转发到第一名称解析服务器52。可替代地,合法第二名称解析服务器55可以直接与第一名称解析服务器通信。
新标识符可以是IP地址,但是可以替代地考虑其他标识符(例如,域名、端口号或证书)。
第一名称解析服务器52可以例如在重定向消息中向终端51发送第二名称解析服务器55的(多个)新标识符。
上文描述的两个实施例可以同时或连续地实现。
此外,应该注意,第一域名解析服务器、授权服务器和/或网络控制器可以是相同的实体或不同的实体。因此,与第一域名解析服务器、授权服务器和/或网络控制器相关联的功能可以嵌入在同一节点或不同的节点中。
例如,终端51与第一名称解析服务器52或第二名称解析服务器55之间的交换使用DoH协议。因此,终端51是DoH客户端。
特别地,名称解析消息可以是DoH GET类型的消息,以及DoH“3xx”类型的重定向消息(以下将称为DoH REDIRECT)。
当然,可以使用其他协议。例如,DNS交换可以依赖于诸如DoQ等的协议。
特别地,公开的业务重定向方法独立于由名称解析服务使用的传输协议而应用。特别地,如果IP网络被考虑,则DNS通信使用的传输协议可以互换地是IPv4或IPv6(特别是取决于对网络的接入条件)。
因此,提出的解决方案取决于所考虑的实施例提供以下优点中的至少一个:
-保证提供给客户端的服务(特别是基于DNS的服务)的可用性,并避免由客户端感知到的体验质量的劣化,
-提供一组可靠和强健的名称解析服务,同时最小化对提供此类服务所需的现有基础设施和协议的修改,
-检测由恶意设备在计算机网络(国内或内部企业网络)内的攻击和数据拦截,所述恶意设备可以用作这种攻击的中继器,
-使运营商能够继续向其客户端提供增值服务,特别是基于名称解析,包括激活第二名称解析服务器,例如由CPE托管的“DNS转发器”,
-提高用户对他已经订阅了这种名称解析服务的运营商的置信度,
-具有“可信”授权服务器的受限列表。
具体实施例的描述
在下文中描述用于管理终端的DNS业务的重定向的本发明的不同示例性实现。例如,认为DoH协议用于加密DNS消息,使得终端和(多个)名称解析服务器可以经由安全信道进行通信。
接下来,关于“合法DNS服务器”应该理解为由运营商声明或配置并且例如托管在接入网络中的名称解析服务器,但是可以考虑其他服务器(例如,由第三方操作的DNS服务器)。
接下来,关于“恶意”设备或实体,还应该理解为通信网络的机器,其抢占或通告允许拦截DNS业务的信息(例如,机器抢占合法DNS服务器的身份或抢占DNS业务经过的默认路由器的身份)。
应该注意,不对恶意设备的性质做出假设。这可以包括例如由用户安装的设备、访问者(例如访客)设备、位于WLAN网络的覆盖区域中的设备、用于接入运营商(CPE)的网络的设备等。
例如,通信网络是家庭计算机网络或公司网络,也称为局域网或LAN。
认为接入网络的运营商希望建立DNS业务重定向过程,例如因为提供给连接到局域网的终端的一些服务需要激活局域网中的名称解析服务器(“转发器DNS”)。这例如是诸如连接对象、打印机等的终端的情况。
例如,认为该名称解析服务器(也称为第二名称解析服务器)由CPE托管,该CPE与局域网与接入网络之间的至少一个网络接口相关联,并且被定义为局域网上的终端的默认路由器。其他路由器可以部署在局域网中,例如与CPE不同的家庭路由器,并且被安装以在私人业务与专业业务之间分割LAN的业务。尽管如此,局域网与接入网络之间的业务通过CPE,所述CPE被认为是默认路由器。可替代地,第二名称解析服务器可以是连接到局域网的另一实体。
如图6所示,为了建立DNS业务重定向过程,终端61向第一DoH服务器62发出名称解析消息。例如,这样的DoH请求是DoH GET或DoH POST类型。
在接收到DoH请求时,第一DoH服务器62可以与授权服务器63接口连接,以检索当新连接应该建立时将应用的指令。
为此,第一DoH服务器62向授权服务器63发送重定向授权验证请求,例如“Access-Request(接入-请求)”类型的重定向授权验证请求。
授权服务器63可以从终端的至少一个标识符(例如其IPv4地址、和/或由DoH客户端用于发出DoH请求的IPv6前缀、和/或终端61的证书的DNS标识符(DNS-ID)等)标识将用于业务重定向的局域网的第二DoH服务器(例如嵌入在CPE中)。
例如,使用活动客户端的数据库来标识第二DoH服务器。特别地,运营商可以保持服务列表和相关联的信息是最新的。
因此,根据该实施方式的示例,假设授权服务器63维护有资格重定向DNS业务的DoH终端/客户端的列表。
例如,这样的授权服务器63是RADIUS服务器(“远程认证拨入用户服务”,如文献RFC 2865,“远程认证拨入用户服务(RADIUS)”(C.Rigney等人,2000年6月)中所描述的),并且新的RADIUS属性被定义以标识与DoH客户端相关联的第二DoH服务器。例如,这样的属性包括针对第二DoH服务器配置的域名(ADN或“认证域名”)、将用于到达第二DoH服务器的至少一个地址(例如内部地址)(“定位符”)、用于DoH服务的可能的替代端口号(“端口”)等。
因此,授权服务器63可以响应于重定向授权验证请求,例如在“Access-Accept(接入接受)”类型消息中,将这些不同的信息(域名、地址、替代端口号等)传送到第一DoH服务器62。特别地,除了域名之外,还可以在响应中传送地址/端口号,以避免DoH客户端向另一服务器(其可能是恶意的)请求该域名的解析。
特别地,第一DoH服务器62可以在“DoH REDIRECT”消息中将该信息中继到终端61。
因此,终端61可以继续将DNS请求重定向到第二DoH服务器(例如嵌入CPE中的“DNS转发器”)并建立与第二DoH服务器的DoH会话。
特别地,终端61可以执行用于管理终端的DNS业务到第二名称解析服务器的重定向的至少一个动作,特别是如果它检测到认证问题或者如果它怀疑第二DoH服务器的合法性。
根据前述第一实施例,终端可以特别地执行诸如验证所述第二名称解析服务器的合法性的动作。
因此,在初始化业务的重定向时或在建立DNS业务到第二DoH服务器的重定向之后,终端可以继续验证第二DoH服务器的合法性。实际上,终端可能怀疑将其自身呈现为第二DoH服务器的实体是恶意的,并且如果它被证明是恶意的,则避免终端发出的DNS请求被重定向到这样的实体。
在这种情况下,如图7A所示,终端71可以向第一DoH服务器72发送请求验证第二DoH服务器的合法性的指示符。
例如,终端71在DoHGET解析消息的报头中(或在DoHPOST消息的主体中)插入新对象(“fwd-check”),以向第一DoH服务器72指示它希望建立用于验证第二DoH服务器的合法性的过程。
一旦接收到该DoHGET(fw-check)请求(该请求包括“fwd-check”对象),第一DoH服务器72就请求授权服务器73验证重定向是否针对该客户端被激活,例如通过发送如前所述的“Access-Request”类型的重定向授权验证请求。授权服务器73可以通过发送如前所述的“Access-Accept”类型响应来进行响应。
第一DoH服务器72还通知授权服务器73它将建立与终端72协调的验证过程。例如,第一DoH服务器72可以向授权服务器73发送用于验证第二DoH服务器的合法性的至少一条信息,例如在“Accounting-Request”类型消息中。因此,第一DoH服务器72可以向授权服务器73传送至少一个测试(“CHECK(检查)”)的描述性信息以及终端71执行测试的最后期限(“T”)。
例如,每个测试是唯一的DNS条目,其仅为运营商所知,并且因此为第一DoH服务器72所知。可以使用类型、DNS请求(“check-query(检查-查询)”)和相关联的回复(“check-reply(检查-回复)”)来定义测试。
然后,授权服务器73向网络控制器发送终端71的至少一个标识符以及用于验证第二DoH服务器的合法性的信息(可能的至少一个测试(“CHECK”)的描述性信息以及终端71执行测试的最后期限(“T”))。例如,这种网络控制器是CWMP协议的自动配置服务器(“自动配置服务器(ACS)”)。
例如,根据YANG语义对用于验证第二DoH服务器的合法性的信息进行格式化。
在附录中给出由授权服务器73和网络控制器使用的YANG模块的树结构(“树结构”)的示例。
如果第二DoH服务器不是由CPE托管,则授权服务器73还发送第二DoH服务器的至少一个标识符。应该注意,如果第二DoH服务器由CPE托管,则网络控制器可以从其处置的信息中直接获得第二DoH服务器的(多个)标识符。
网络控制器(也称为协调器)向合法第二DoH服务器发送用于验证第二DoH服务器的合法性的信息(可能的至少一个测试(“CHECK”)的描述性信息以及用于实现测试的最后期限(“T”))。
网络控制器还向合法第二DoH服务器发送验证过程所涉及的终端71的至少一个标识符。
如图8所示,例如根据NETCONF或RESTCONF协议,授权服务器73与网络控制器74之间的交换可以在安全通信信道中实现。例如根据NETCONF或RESTCONF协议(如文献RFC 8071(“NETCONF呼叫本地和RESTCONF呼叫本地”,K.Wasten,2017年2月)或TR-069(CWMP代表“CPEWAN管理协议”)中所述),网络控制器74与第二DoH服务器75之间的交换也可以在安全通信信道中实现。
同样,第一DoH服务器72可以例如在DoH REDIRECT重定向消息(CHECK,T)中向终端71传送用于验证第二DoH服务器的合法性的信息。
在附录中呈现了由第一DoH服务器72使用以将验证信息传送到终端71的JSON对象的示例。
与现有技术中给出的示例相比,这样的JSON对象因此描述了将被实现以验证第二DoH服务器的合法性的测试,特别是测试类型(“check-rrtype”)、测试请求(“check-query”)和对测试请求的响应(“check-reply”)。“check-rrtype”指示DNS资源类型(“资源记录类型”)。
根据上述示例,在接收到该重定向消息时,并且在5s(“定时器”中定义的最后期限)之后,终端71使用从第一DoH服务器72接收的第二DoH服务器的标识符,发送域名“test47fsgugsdf4zjou.defhiyef.isp”(“check-query”))的“txt”类型的测试请求。
接收该测试请求的实体继续处理该请求。
如果接收该请求的实体构造响应,将其发送到终端71,并且该响应对应于由第一DoH服务器72直接传送的响应(“check-reply”),则终端71断定该实体实际上是合法第二DoH服务器。
如果接收该请求的实体是恶意的,例如因为它已经抢占了第二DoH服务器的身份,则它可以采用若干策略:
-模拟响应并将其发送到终端71:该响应对应于由第一DoH服务器72直接传送的响应(“check-reply”)的概率几乎为零。然后,终端71检测到接收到的响应中的不一致,并且认为实体已经接收到名称解析请求;
-将请求中继到标称服务器(即,由局域网配置的标称服务器):否定响应将被发送,因为只有合法第二DoH服务器具有该响应;
-将请求中继到合法第二DoH服务器:然后将由第二DoH服务器发送否定响应,这是因为第二DoH服务器可以基于从网络控制器接收的终端的(多个)标识符来验证名称解析请求是否实际上源自终端(例如,通过基于终端的至少一个标识符应用过滤器);
-将请求中继到另一恶意服务器:否定响应将被发送。
如果终端71没有接收到对测试请求的响应(“check-query”),或者如果响应被呈现但该响应不对应于由合法第一DoH服务器直接传送的响应(“check-reply”),则终端71断定能够使用从第一DoH服务器72接收的第二DoH服务器的标识符到达的实体是恶意的,然后它可以建立允许去激活业务的本地重定向的过程。
根据图7B所示的变型,还可以例如在初始化业务的重定向时或在启动第二DoH服务器时,默认地验证第二DoH服务器的合法性。
在这种情况下,如图7B所示,在接收到由终端71发出的名称解析消息时,第一DoH服务器72例如通过发送如前所述的“Access-Request”类型的重定向授权验证请求,来请求授权服务器73验证重定向是否针对该客户端被激活。授权服务器73可以通过发送“Access-Accept”类型响应来进行响应,该“Access-Accept”类型响应包括例如用于验证第二DoH服务器的合法性的至少一条信息,例如如前所述的至少一个测试(“CHECK”)的描述性信息。
第一DoH服务器72可以向终端71传送重定向信息(ADN、定位符、端口等)以及用于验证第二DoH服务器的合法性的信息,例如在重定向消息DOH REDRECT(CHECK)中。
如果终端71在验证过程的执行期间(或在如下文所述的第二服务器的认证期间)检测到异常,则它可以建立允许去激活业务的本地重定向的过程。
根据前述第二实施例,终端还可以执行诸如发送终端与第二名称解析服务器的连接失败的指示的动作。
例如,在初始化业务的重定向时,终端可以检测到第二DoH服务器的认证过程已经失败。在这种情况下,不能在终端与第二DoH服务器之间建立连接。因此,终端没有本地可用的服务。
该第二实施例可以可能地在第一实施例之后实现,例如在终端发出名称解析请求之后实现。特别地,认证失败可能是由于存在抢占第二DoH服务器的身份(例如其IP地址)的恶意服务器。
在这种情况下,如图9A和9B所示,终端91可以向第一DoH服务器92发送需要生成第二名称解析服务器的至少一个新标识符的指示符。
例如,因为第二DoH服务器的认证已经失败,所以终端91在DoHGET解析消息的报头中(或在DoH POST消息的主体中)插入新对象(“redirect-auth-failed”),以向第一DoH服务器92指示它希望建立用于验证第二DoH服务器的身份的过程。
在接收到包括“redirect-auth-failed”对象的该DoH GET(redirect-auth-failed)请求之后,第一DoH服务器92向授权服务器93发送生成第二名称解析服务器的至少一个新标识符的请求,以向其通知它希望建立用于添加新地址以加入第二名称解析服务器的过程。例如,这样的请求是包括新的“Address Add(地址添加)”属性的“Accounting-Request”消息。
授权服务器93将生成第二名称解析服务器的至少一个新标识符的请求发送到网络控制器,如果第二DoH服务器托管在针对网络定义的默认路由器(例如CPE)中,则网络控制器又将所述请求发送到合法第二DoH服务器,否则发送到默认路由器。在接收到该请求时,默认路由器(其可以是合法第二DoH服务器)可以生成至少一个新地址(特别是本地用于DNS服务)。
特别地,网络控制器通知默认路由器(其可以是合法第二DoH服务器)该地址仅应该被通告给所标识的终端。
例如,可以根据YANG语义来格式化授权服务器93与网络控制器之间用于提供由DNS服务使用并且未在LAN上通告的第二DoH服务器的新标识符的交换。
在附录中公开了用于该端的YANG模块的结构的示例。
如模块中所述,默认路由器可以生成一个或多个新标识符(“new-address(新-地址)”)。动作的类型由“type(类型)”属性指示。
之后,(多个)新标识符被发送到网络控制器,网络控制器将它们发送到授权服务器93。例如,如图8所示,授权服务器93与网络控制器之间的交换可以例如根据NETCONF或RESTCONF协议在安全通信信道中实现,并且控制器网络与第二DoH服务器或默认路由器之间的交换可以例如根据NETCONF、RESTCONF或TR-069协议在安全通信信道中实现。
新域名ADN’可以由授权服务器93针对与将用于加入第二DoH服务器的新标识符(LOC’)相关联的第二DoH服务器来配置。可能地,可以创建认证证书。也可以修改其他信息(例如“uRI Template(URI模板)”)。
根据图9A所示的第一变型,在接收到DoH GET(redirect-auth-failed)请求之后,第一DoH服务器92向授权服务器93发送用于生成第二名称解析服务器的至少一个新标识符的“Accounting-Request”请求。
第一DoH服务器92还向授权服务器93发送如前所述的“Access-Request”类型的重定向授权验证请求。
授权服务器93可以在先前描述的“Access-Accept”类型响应中向第一DoH服务器92发送新信息(新域名ADN’、第二DoH服务器LOC’的新标识符等)。
根据图9B所示的第二变型,在接收到“DoH GET(redirect-auth-failed)请求时,第一DoH服务器92向授权服务器93发送如前所述的“Access-Request”类型的重定向授权验证请求。
授权服务器93可以通过发送如之前参考图6和图7所述的“Access-Accept”类型响应来进行响应。
然后,第一DoH服务器92可以向授权服务器93发送用于生成第二名称解析服务器的至少一个新标识符的“Accounting-Request”请求。
授权服务器93可以通过例如在授权改变请求(CoA,“Change of Authorisation(授权改变)”)中向第一DoH服务器92发送新信息(ADN′、LOC′等)来进行响应,例如在授权改变请求(CoA,“授权改变”)中。
在完成这些交换时(根据第一或第二变型,或使第一DoH服务器92能够获得新信息(ADN′、LOC′等)的任何其他变型),新的重定向信息(AND′、LOC′等)例如在重定向消息DOHREDIRECT中被传送到终端91。
在附录中呈现了由第一DoH服务器92用于向终端91传送新的重定向信息的JSON对象的示例。
与现有技术中给出的示例相比,这样的JSON对象因此描述了将用于与第二DoH服务器通信的新地址。
根据上述示例,在接收到该重定向消息时,终端91可以使用从第一DoH服务器92接收的第二DoH服务器的新标识符(即,新地址“192.0.2.5”或“2001:db8::5”),可能使用新域名ADN′来发出名称解析请求。
如果终端91在建立连接时没有遇到连接问题,则不再需要动作。
否则,终端91可以重新建立与运营商的DNS服务器(第一DoH服务器92)的连接,并且向第一DoH服务器92指示迁移(将DNS业务重定向到第二DoH服务器)已经失败。
具体地,终端91可以建立允许去激活业务的本地重定向的过程。
因此,不管实施例如何,例如如果终端检测到恶意服务器的存在和/或如果终端检测到与第二DoH服务器的认证/连接性的问题,则终端可以建立允许去激活业务的本地重定向的过程。
在这种情况下,如图10A和10B所示,终端101可以向第一DoH服务器102发送请求去激活到第二DoH服务器的业务的重定向的指示符。
例如,终端101在DoH GET解析消息中插入新对象(“rd-disable(rd-禁用)”),以向第一DoH服务器102指示它希望建立用于去激活业务的重定向的过程。注意,这种DoH GET请求不是本地处理的,而是由网络提供的第一DoH服务器处理。因此,这些交换不能被恶意本地服务器拦截。
在接收到该DoH GET(rd-disable)请求时,第一DoH服务器102联系授权服务器103,以在继续去激活重定向之前请求它授权,或者通知它去激活终端101的重定向。
根据图10A所示的第一变型,第一DoH服务器102在进行去激活之前,例如在“Access-Request”消息中,向授权服务器103请求授权。
授权服务器103可以通过发送包括新STATUS(状态)属性的“Access-Accept”类型消息来进行响应。
根据图10B所示的第二变型,第一DoH服务器102例如在“Accounting-Request”消息中通知授权服务器103去激活终端101的业务重定向。
在上文描述的不同实施例/变型中,授权服务器53、63、73、93、103可以是RADIUS服务器。
例如,新RADIUS属性的格式例如是:
-对于“ADN”属性:
-或“定位符”属性:
-或“PORT(端口)”属性:
-对于“CHECK(检查)”属性:
-对于“Address Add”属性:
-对于“STATUS(状态)”属性:
上面已经描述了示例性实施方式,根据该示例性实施方式,合法第二名称解析服务器是针对局域网定义的默认路由器,例如CPE。
当然,这仅仅是示例,并且第二名称解析服务器可以嵌入局域网的终端、密钥等中,可能使得连接共享能够接入局域网,所述局域网由用户配置有其默认路由器的身份和合法DNS服务器列表(特别是第一名称解析服务器)。
此外,应该注意,上述过程可以由局域网的实体的用户或管理员激活/去激活。特别地,激活或去激活请求机制可以在CPE的建立期间、在连接到CPE的管理接口期间、通过由运营商发送的通知等来执行。
不同实体的简化结构
最后,参考图11,示出了根据上述至少一个实施例的实体(例如终端、第一名称解析服务器、第二名称解析服务器、授权服务器或网络控制器)的简化结构。
如图11所示,这种实体包括至少一个存储器111、至少一个处理单元112,其中,存储器111包括缓冲存储器,处理单元112配备有例如可编程计算机或专用计算机(例如处理器P),并且由计算机程序113控制,实现根据本发明的至少一个实施例的至少一种方法的步骤。
在初始化时,计算机程序113的代码指令例如在由处理单元112的处理器执行之前被加载到RAM存储器中。
如果实体是终端,则处理单元112的处理器根据计算机程序113的指令实现先前描述的名称解析方法的步骤,以:
-经由所述终端与第一名称解析服务器之间的安全通信信道向所述第一名称解析服务器发送名称解析消息,
-从第二名称解析服务器获得用于所述重定向的至少一个标识符,
-执行用于管理终端的DNS业务到所述第二名称解析服务器的所述重定向的至少一个动作,所述至少一个动作至少来自:
-验证所述第二名称解析服务器的合法性,
-发送终端与所述第二名称解析服务器的连接失败的指示,
-请求去激活DNS业务到所述第二名称解析服务器的所述重定向。
如果实体是第一名称解析服务器,则处理单元112的处理器根据计算机程序113的指令实现先前描述的用于处理针对终端授权的DNS业务的重定向的方法的步骤,以:
-经由所述终端与所述第一名称解析服务器之间的安全通信信道从所述终端接收名称解析消息,
-从授权服务器获得用于所述终端的重定向授权和针对所述终端标识的用于所述重定向的第二名称解析服务器的至少一个标识符,以及
-向所述终端发送承载第二名称解析服务器的所述至少一个标识符的重定向消息。
如果实体是第二名称解析服务器,则处理单元112的处理器根据计算机程序113的指令实现用于管理针对终端授权的DNS业务的重定向的前述方法的步骤,以:
-与网络的控制器交换信息,所述信息包括由控制器提供给第二名称解析服务器的至少一条信息,用于由所述终端验证第二名称解析服务器的合法性;和/或由第二名称解析服务器提供给控制器的至少一条信息,用于解析终端与第二名称解析服务器的连接失败。
如果实体是授权服务器,则处理单元112的处理器根据计算机程序113的指令实现先前描述的用于授权终端的DNS业务的重定向的方法的步骤,以:
-获得针对所述终端标识的用于所述重定向的第二名称解析服务器的至少一个标识符,以及
-向所述第一名称解析服务器发送用于所述终端的重定向授权和第二名称解析服务器的所述至少一个标识符。
如果实体是网络控制器,则处理单元112的处理器根据计算机程序113的指令实现先前描述的用于控制针对终端授权的DNS业务的重定向的方法的步骤,以:
-与针对终端标识的用于终端的DNS业务的所述授权重定向的第二名称解析服务器交换信息,所述信息包括由控制器提供给第二名称解析服务器的至少一条信息,用于由所述终端验证第二名称解析服务器的合法性;和/或由第二名称解析服务器提供给控制器的至少一条信息,用于解析终端与第二名称解析服务器的连接失败。
附录
由运营商的DoH服务器32返回的JSON对象的示例是:
由授权服务器73和网络控制器使用的YANG模块的树结构的示例是:
由第一DoH服务器72用于将验证信息传送到终端71的JSON对象的示例是:
用于授权服务器93与网络控制器之间的交换以提供由DNS服务使用并且未在LAN上通告的第二DoH服务器的新标识符的YANG模块的结构的示例是:
由第一DoH服务器92用于将新的重定向信息传送到终端91的JSON对象的示例是:
- 未授权访问点探测系统及方法、用于其的用户终端及计算机程序
- 业务切换方法、终端、网络服务器及存储介质
- 一种业务访问方法、装置、终端、服务器及存储介质
- 一种服务器集群通讯方法及终端设备及通讯服务器
- 预约申请方法、第一终端、处理服务器及第一应用服务器
- 解码方法、对应终端和计算机程序、翻译方法、对应服务器和计算机程序
- 用于将至少一个IP数据包传输到IP地址的方法、用于解析主机名的相关方法、相关处理模块、移动设备、主机名解析服务器和计算机程序产品