CN114006724B - 一种加密dns解析器发现及认证的方法与系统 - Google Patents

一种加密dns解析器发现及认证的方法与系统 Download PDF

Info

Publication number
CN114006724B
CN114006724B CN202111110037.6A CN202111110037A CN114006724B CN 114006724 B CN114006724 B CN 114006724B CN 202111110037 A CN202111110037 A CN 202111110037A CN 114006724 B CN114006724 B CN 114006724B
Authority
CN
China
Prior art keywords
resolver
encryption
esi
information
type
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202111110037.6A
Other languages
English (en)
Other versions
CN114006724A (zh
Inventor
张曼
姚健康
沙晓爽
周琳琳
延志伟
董科军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Internet Network Information Center
Original Assignee
China Internet Network Information Center
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Internet Network Information Center filed Critical China Internet Network Information Center
Priority to CN202111110037.6A priority Critical patent/CN114006724B/zh
Publication of CN114006724A publication Critical patent/CN114006724A/zh
Application granted granted Critical
Publication of CN114006724B publication Critical patent/CN114006724B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明涉及一种加密DNS解析器发现及认证的方法与系统。该方法定义新的资源记录类型ESI,通过查询ESI资源记录获取加密解析器的信息,通过TLS扩展标识和证书扩展标识进行加密解析器的认证。本发明能够及时的发现并更新使用新的加密解析器。某些应用软件或APP厂商以及一些公司可能希望用户通过特定的加密解析器来访问自己的应用或域名,本发明能够实现该功能。通过其它方式获取加密解析器名字后,采用本发明能够获取加密解析器更加详细的信息并对加密解析器进行身份验证。如果支持不同加密协议的解析器主机名不一样,但是提供商又希望向客户端说明这些不同协议的解析器可以等效使用时,可以通过本发明发现并验证等效解析器信息。

Description

一种加密DNS解析器发现及认证的方法与系统
技术领域
本发明属于信息技术领域,具体涉及一种加密DNS解析器发现及认证的方法与系统。
背景技术
DNS(domain name system,域名系统)是互联网上最为关键的基础设施,其主要作用是将枯燥难记的IP地址映射为易于记忆的主机名称。随着互联网日新月异的快速发展,互联网的“中枢神经系统”DNS现已成为最为重要的基础服务,例如WEB访问、Email服务在内的众多网络服务都和DNS息息相关,DNS的安全则直接关系到整个互联网应用能否正常使用。
DNS的原始协议是一种轻量级协议,它不能对服务数据内容提供隐私、认证、数据完整性等安全保证;DNS数据在互联网上以明文方式进行传输,数据在传输过程中很容易遭到劫持或篡改。由于DNS协议本身不提供数据内容的完整性保护机制,因此接收方无法判别接收到的消息是否遭到篡改以及来源是否正确。中间人可以通过窃听、篡改和伪造DNS数据包实施攻击。常见针对DNS攻击手段有分布式拒绝服务攻击、缓存投毒、域名劫持等。此外,DNS协议的实现通常以UDP协议为基础,缺乏通信的可靠性保证,这进一步增加了消息被篡改或被伪造的可能性。后来推出的DNSSEC机制引入了签名机制,为DNS数据提供数据源认证及数据提供完整性验证,来保证数据未经篡改且来源正确,但依然没有解决隐私问题。
因此为了更加有效的保护DNS消息和用户的隐私安全,先后发布了多项DNS隐私加密技术。主要包括基于TLS的DNS(DoT)、基于HTTPS的DNS(DoH)及基于QUIC的DNS等。
如何在当前广泛使用的传统DNS系统的基础上对加密DNS解析器进行发现和更新,目前还没有成熟的方案得到广泛的部署。当前相关的研究主要分为基于网络的发现和基于解析器的发现两类。基于网络的发现包括通过定义新的DHCP和路由器通告选项来支持发现加密解析器;基于解析器的发现包括利用CNAME、TXT等资源记录来发现或指定加密解析器。例如客户端通过CNAME记录发现并选择指定ISP的解析器,得到CNAME记录的响应后,将其作为一个查询键值,在事先配置好的可信任递归解析器列表中查询DoH记录信息。
通过其他协议获取到加密解析器名字等后,用户会需要能够获取该加密解析器更加详细的信息,并对加密解析器进行身份验证。同时某些应用软件或APP厂商,以及一些公司可能希望用户通过特定的加密解析器来访问使用自己的应用或域名。本发明主要解决以上问题。
发明内容
本发明针对上述问题,提供一种加密DNS解析器发现及认证的方法与系统。
本发明采用的技术方案如下:
一种加密DNS解析器发现及认证的方法,包括以下步骤:
定义新的资源记录类型ESI,ESI资源记录的RDATA包含加密解析器的信息;
通过查询ESI资源记录,获取加密解析器的信息;
根据获取的加密解析器的信息,通过TLS扩展标识和证书扩展标识进行加密解析器的认证。
进一步地,所述ESI资源记录的RDATA包含以下内容:
type:表示类型,取值为1、2、3,对应发现的解析器的类型,能够根据使用场景进行取值扩展;
PREFERENCE:优先级;
protype:支持的加密协议类型,1表示DOH,2表示DOT,3表示DOQ,能够扩展;
flags:选项位,有8位,其中IPcode占一位,IPv4为0,IPv6为1,表示加密解析器的地址类型;portcode占一位,0表示默认端口,不再显示port字段;1表示不使用默认端口,后续将以port字段显示端口信息;其余位为保留位;
port:端口,2个字节,默认DOH为443端口,DOT为853端口;
address:加密解析器的IP地址,IPv4地址32位,IPv6地址128位;
dohlength:当存在dohuri字段时,表示dohuri字段的长度,占两个字节;
dohuri:支持DOH协议时表示DoH解析器的URI模板信息;
snlength:当存在servicername字段时,表示servicername字段的长度,占两个字节;
servicername:type取值为1、2时,表示加密解析器的主机名;type取值为3时当RDATA内容表示查询的加密解析器本身时不需要该字段,但当RDATA内容为支持不同加密协议的其它等效解析器时,该字段表示其它等效解析器的主机名。
进一步地,所述通过查询ESI资源记录,获取加密解析器的信息,包括以下类型:
类型1:用户如果希望通过当前使用的非加密解析器升级到对应的加密解析器,则ESI资源记录中RDATA的type字段的值为1;这种情况下,通过查询一个指定的特殊用途域名的ESI资源记录获取对应的加密解析器的信息;
类型2:某个APP想要用户使用该APP时通过特定的加密解析器,或者某个公司希望用户通过自己指定的加密解析器来访问自己的域名,则ESI资源记录中RDATA的type字段的值为2,这种情况下,通过查询公司或应用程序对应域名的ESI资源记录内容获取加密解析器的信息;
类型3:如果已经知道加密解析器名,则通过查询该加密解析器的ESI资源记录获取该加密解析器更详细的情况,包括支持的加密协议、端口号、IP地址;如果支持不同加密协议的解析器主机名不一样,但是提供商又希望向客户端说明这些不同协议的解析器能够等效使用时,通过ESI资源记录得到对应的等效解析器信息,ESI资源记录中RDATA的type字段的值为3。
进一步地,所述TLS扩展标识和证书扩展标识包括:
esi_verify扩展,表示客户端请求服务器发送加密解析器相关的验证信息;在TLS握手过程中,客户端如果希望服务端发送加密解析器身份验证相关的信息,则携带esi_verify扩展选项字段,该扩展选项字段在ClientHello消息中发送;
证书扩展Associated Name,表示与当前证书使用者具有某种关联或绑定关系的实体的信息;Associated Name包含iPAddress、dNSName,其中iPAddress支持一个或多个IP地址,dNSName支持一个或多个域名。
进一步地,用户希望通过当前使用的非加密解析器升级到对应的加密解析器时,所述通过TLS扩展标识和证书扩展标识进行加密解析器的认证,包括:
Associated Name中的iPAddress值与原非加密解析器的IP地址进行比较,同时证书中的SubjectAlternativeName字段中的域名与通过ESI资源记录获得的加密解析器的主机名进行比较,以验证发现的加密解析器的身份的真实性。
进一步地,某个APP想要用户使用该APP时通过特定的加密解析器,或者某个公司希望用户通过自己指定的加密解析器来访问自己的域名时,所述通过TLS扩展标识和证书扩展标识进行加密解析器的认证,包括:
Associated Name中的dNSName值与原始查询域名进行比较,同时SubjectAlternativeName内容与通过ESI新资源记录获取的加密解析器的主机名比较,以验证发现的加密解析器的身份的真实性。
进一步地,在获取到加密解析器名字后用户需要获取该加密解析器更加详细的信息并对加密解析器进行身份验证时,或者支持不同加密协议的解析器主机名不同但提供商希望向客户端说明支持不同加密协议的解析器能够等效使用时,所述通过TLS扩展标识和证书扩展标识进行加密解析器的认证,包括:
比较TLS证书中SubjectAlternativeName内容,如果不同的加密协议使用了不同的主机名,但是客户端能够等效的使用不同的加密协议支持的解析器时,通过AssociatedName的dNSName值对等效解析器进行校验。
一种采用上述方法的加密DNS解析器发现及认证的系统,包括加密解析器发现模块和加密解析器验证模块;
所述加密解析器发现模块包括预处理模块、ESI识别器、ESI解析器;预处理模块用于配置参数及数据的初始化及对消息进行预处理操作,以便于后续流程处理;ESI识别器用于识别当前DNS消息中是否包含ESI资源记录类型,若包含则转入ESI解析器进行解析,否则转入普通DNS处理器进行后续步骤的处理操作;ESI解析器用于对识别的ESI类型资源记录内容进行解析,从而获取加密解析器相关的信息数据;
所述加密解析器验证模块包括扩展选项识别器、扩展选项解析器、身份验证算法模块;扩展选项识别器用于识别当前TLS握手阶段是否包含新定义的扩展选项esi_verify及证书扩展选项,若包含则转入扩展选项解析器进行解析,否则转入身份验证算法模块;扩展选项解析器用于对识别到的扩展选项进行解析,解析完成的结果进入身份验证算法模块进行加密解析器的认证过程;身份验证算法模块用于对加密解析器进行身份认证。
本发明的有益效果如下:
(1)用户原先使用的非加密解析器的服务商可能已经在原有基础上进行了支持加密解析的技术升级,或推出了新的加密解析器,这种情况下,采用本发明,用户能够及时的发现并更新使用新的加密解析器。
(2)某些应用软件或APP厂商,以及一些公司可能希望用户通过特定的加密解析器来访问自己的应用或域名。采用本发明能够实现该功能。
(3)采用本发明,通过其他协议(如DHCP选项扩展)获取到加密解析器名字等后,用户能够获取该加密解析器更加详细的信息,并对加密解析器进行身份验证。用户通过公共加密解析器列表等方式获取的加密解析器也可以通过该方法进行验证。此外如果支持不同加密协议的解析器主机名不一样,但是提供商又希望向客户端说明这些不同协议的解析器可以等效使用时,也可以通过本发明发现并验证等效解析器信息。
附图说明
图1.本发明方法的总体流程图。
图2.加密解析器发现模块的示意图。
图3.加密解析器验证模块的示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面通过具体实施例和附图,对本发明做进一步详细说明。
本发明提供一种加密DNS解析器发现和认证的方法。DOH、DOT等加密DNS协议发布之前,DNS都是明文传输,广泛部署使用Do53非加密解析器。本方法主要解决如何针对当前现状进行加密解析器的发现和使用。主要包括以下方面:
(1)用户原先使用的非加密解析器的服务商可能已经在原有基础上进行了支持加密解析的技术升级,或推出了新的加密解析器,这种情况下,用户如何能够及时的发现并更新使用新的加密解析器。
(2)某些应用软件或APP厂商,以及一些公司可能希望用户通过特定的加密解析器来访问自己的应用或域名。
(3)通过其他协议(如DHCP选项扩展)获取到加密解析器名字等后,用户会需要能够获取该加密解析器更加详细的信息,并对加密解析器进行身份验证。用户通过公共加密解析器列表等方式获取的加密解析器也可以通过该方法进行验证。此外如果支持不同加密协议的解析器主机名不一样,但是提供商又希望向客户端说明这些不同协议的解析器可以等效使用时,也可以通过本发明发现并验证等效解析器信息。
本发明方法主要包括以下步骤:
步骤1:定义一种新的资源记录类型ESI(Encrypted Service Information,加密服务信息)
ESI资源记录的RDATA(资源数据)内容如表1所示,包含:
1)type:表示类型。取值为1、2、3,对应发现的解析器的类型,可根据使用场景进行取值扩展。
2)PREFERENCE:优先级。
3)protype:支持的加密协议类型,1表示DOH,2表示DOT,3表示DOQ,可扩展。
4)选项位flags(8位):
IPcode:占一位,IPv4为0,IPv6为1,表示加密解析器的地址类型。
portcode:占一位,0表示默认端口,不再显示port字段;1表示不使用默认端口,后续将以port字段显示端口信息。
其余位为保留位。
5)port:端口,2个字节,默认DOH为443端口,DOT为853端口。使用默认端口时可不带该字段。
6)address:加密解析器的IP地址,IPv4地址32位,IPv6地址128位。
7)dohlength:当存在dohuri字段时,表示dohuri字段的长度,占两个字节。
8)dohuri:支持DOH协议(protype为DOH)时表示DoH解析器的URI模板信息。
9)snlength:当存在servicername字段时,表示servicername字段的长度,占两个字节。
10)servicername:type取值为1、2时,表示加密解析器的主机名。取值3时当RDATA内容表示查询的加密解析器本身时不需要该字段;但当RDATA内容为支持不同加密协议的其它等效解析器时,该字段表示其它等效解析器的主机名。
表1.RDATA格式
步骤2:几种类型:
(1)类型1:用户如果希望通过当前使用的非加密解析器升级到对应的加密解析器,步骤1中ESI资源记录中RDATA的type字段的值为1。这种情况下,通过查询一个指定的特殊用途域名的ESI记录获取对应的加密解析器的信息。
(2)类型2:某个APP想要用户使用该APP时通过特定的加密解析器,或者某个公司希望用户通过自己指定的加密解析器来访问自己的域名。步骤1中ESI资源记录中RDATA的type字段的值为2。这种情况下,通过查询公司或应用程序对应域名的ESI记录内容获取加密解析器的信息。
(3)类型3:如果已经知道加密解析器的主机名,可通过查询该加密解析器的ESI记录获取该加密解析器更详细的情况,如支持的加密协议、端口号、IP地址等。此外如果支持不同加密协议的解析器主机名不一样,但是提供商又希望向客户端说明这些不同协议的解析器可以等效使用时,也可以通过ESI记录得到对应的等效解析器信息。步骤1中ESI资源记录中RDATA的type字段的值为3。
步骤3:通过TLS扩展和证书扩展标识来进行加密解析器的认证
定义新的扩展,用于对特定类型的发现过程进行验证:
(1)esi_verify扩展(esi验证扩展),表示客户端请求服务器发送加密解析器相关的验证信息。
(2)证书扩展:Associated Name(关联名称),表示与当前证书使用者具有某种关联或绑定关系的实体的信息。Associated Name包含的结构为:iPAddress,dNSName。其中,iPAddress支持一个或多个IP地址,dNSName支持一个或多个域名。
在TLS(Transport Layer Security,安全传输层协议)握手过程中,客户端如果希望服务端发送加密解析器身份验证相关的信息,可以携带esi_verify扩展选项字段。该扩展在ClientHello消息中发送。
Associated Name扩展取值与客户端的交互,分为三种类型,如表2所示。
表2.Associated Name扩展取值的三种类型
以下情况也可以使用SubjectAlternativeName(主题别名)存储上述信息:
(1)类型1中的非加密解析器与加密解析器使用的是同一个证书;
(2)类型2中的指定域名与加密解析器使用的是同一个证书;
(3)类型3中支持其它加密协议的等效解析器与原加密解析器使用的是同一个证书。
验证过程:
第一种情况(对应步骤2中的类型1):Associated Name中的iPAddress值与原Do53解析器的IP地址进行比较,同时证书中的SubjectAlternativeName字段中的域名与步骤2中通过ESI资源记录获得的加密解析器的主机名进行比较。
第二种情况(对应步骤2中的类型2):Associated Name中的dNSName值与原始查询域名进行比较,同时SubjectAlternativeName内容与步骤2中ESI新资源记录中获取的加密解析器的主机名比较。
第三种情况(对应步骤2中的类型3):比较SubjectAlternativeName内容与步骤2中查询请求使用的加密解析器的主机名。如果不同的加密协议使用了不同的主机名,但是客户端能够等效的使用这些不同协议支持的加密解析器时,可以通过Associated Name扩展的dNSName值对其它等效解析器进行校验。
本发明的关键点是:(1)一种加密解析器发现及认证的方法和系统。(2)一种DNSESI资源记录数据结构定义。(3)TLS扩展及证书扩展标识的定义。
实施例一:
用户原先使用的非加密解析器的服务商可能已经在原有基础上进行了支持加密解析的技术升级,或推出了新的加密解析器。这种情况下,用户如果希望通过当前使用的非加密解析器升级到对应的加密解析器,可以本发明的方法,总体流程如图1所示,具体执行以下步骤:
1、根据Do53解析器等非加密解析器的指定情况设置ESI资源记录RDATA各字段的内容。
2、当客户端仅知道非加密解析器的IP地址时,可通过选定的特定用途的域名(例如可定义并使用esi.arpa)来发送查询消息即ESI请求消息,请求ESI资源记录的信息。
3、客户端收到ESI响应消息后,得到加密解析器的主机名,支持的加密解析协议类型,端口号,IP地址等信息。如果支持DoH,同时可以获得DoH的URI模板信息。
4、客户端和服务端进行TLS握手时,客户端如果希望服务端发送加密解析器身份验证相关的信息,可以携带esi_verify扩展选项字段。该扩展在ClientHello消息中发送。
5、Associated Name中的iPAddress值跟原Do53解析器的IP地址进行比较,同时证书中的SubjectAlternativeName字段中的域名与本实施例步骤3中通过ESI资源记录获得的加密解析器的主机名进行比较,以验证本实施例步骤3中发现的加密解析器的身份的真实性。
实施例二:
某个APP想要用户使用该APP时通过特定的加密解析器,或者某个公司希望用户通过自己指定的加密解析器来访问自己的域名,可以本发明的方法,总体流程如图1所示,具体执行以下步骤:
1、根据应用软件或公司的指定情况设置对应域名的ESI资源记录RDATA各字段的内容。
2、通过应用软件或公司域名来发送查询消息即ESI请求消息,请求ESI资源记录的信息。
3、客户端收到ESI响应消息后,得到加密解析器的主机名,支持的加密解析协议类型,端口号,IP地址等信息。如果支持DoH,同时可以获得DoH的URI模板信息。
4、客户端和服务端进行TLS握手时,客户端如果希望服务端发送加密解析器身份验证相关的信息,可以携带esi_verify扩展选项字段。该扩展在ClientHello消息中发送。
5、Associated Name中的dNSName值与原始查询域名进行比较,同时SubjectAlternativeName内容与本实施例步骤3中ESI新资源记录中获取的加密解析器的主机名比较,以验证本实施例步骤3中发现的加密解析器的身份的真实性。
实施例三:
通过其他协议(如DHCP选项扩展)获取到加密解析器名字等后,用户会需要能够获取该加密解析器更加详细的信息,并对加密解析器进行身份验证。用户通过公共加密解析器列表等方式获取的加密解析器也可以通过本发明的方法进行验证。总体流程如图1所示,具体执行以下步骤:
1、设置上述加密解析器的ESI资源记录RDATA各字段的内容。
2、通过已经获得的加密解析器的主机名查询对应的ESI资源记录的内容。
3、客户端收到ESI响应消息后,得到加密解析器更加详细的信息,包括主机名,支持的加密解析协议类型,端口号,IP地址等。如果支持DoH,同时可以获得DoH的URI模板信息。
4、客户端和服务端进行TLS握手时,客户端如果希望服务端发送加密解析器身份验证相关的信息,可以携带esi_verify扩展选项字段。该扩展在ClientHello消息中发送。
5、比较TLS证书中SubjectAlternativeName内容与加密解析器的主机名,如果不同的加密协议使用了不同的主机名,但是客户端能够等效的使用这些不同协议支持的解析器时,可以通过Associated Name扩展的dNSName值对等效解析器进行校验。
与上述方法对应的,本发明还提供一种加密DNS解析器发现及认证的系统,主要包括加密解析器发现模块和加密解析器验证模块。加密解析器发现模块如图2所示,主要包括预处理模块、ESI识别器、ESI解析器等模块。加密解析器验证模块如图3所示,主要包括扩展选项识别器、扩展选项解析器、身份验证算法模块等模块。其中:
预处理模块用于系统各模块配置参数及数据的初始化及对消息进行校验、分析等预处理操作,以便于后续流程处理。
ESI识别器用于识别当前DNS消息中是否包含ESI资源记录类型,若包含则转入ESI解析器进行解析,否则转入普通DNS处理器进行后续步骤的处理操作;
ESI解析器用于对识别的ESI类型资源记录内容进行解析,从而获取加密解析器相关的信息数据;
扩展选项识别器用于识别当前TLS握手阶段是否包含新定义的扩展选项esi_verify及证书扩展选项,若包含则转入扩展选项解析器进行解析,否则转入正常流程的身份验证算法模块;
扩展选项解析器用于对识别到的上述新定义扩展参数进行解析,解析完成的结果将进入身份验证算法模块进行加密DNS解析器的认证过程;
身份验证算法用于采用本发明中指定的验证过程对加密DNS解析器进行身份认证。
本发明的方法能够支持更多的应用场景,包括但不限于限于文中所述的三种实施例使用场景。
基于同一发明构思,本发明的另一实施例提供一种电子装置(计算机、服务器、智能手机等),其包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行本发明方法中各步骤的指令。
基于同一发明构思,本发明的另一实施例提供一种计算机可读存储介质(如ROM/RAM、磁盘、光盘),所述计算机可读存储介质存储计算机程序,所述计算机程序被计算机执行时,实现本发明方法的各个步骤。
以上公开的本发明的具体实施例,其目的在于帮助理解本发明的内容并据以实施,本领域的普通技术人员可以理解,在不脱离本发明的精神和范围内,各种替换、变化和修改都是可能的。本发明不应局限于本说明书的实施例所公开的内容,本发明的保护范围以权利要求书界定的范围为准。

Claims (6)

1.一种加密DNS解析器发现及认证的方法,其特征在于,包括以下步骤:
定义新的资源记录类型ESI,ESI资源记录的RDATA包含加密解析器的信息;
通过查询ESI资源记录,获取加密解析器的信息;
根据获取的加密解析器的信息,通过TLS扩展标识和证书扩展标识进行加密解析器的认证;
所述TLS扩展标识和证书扩展标识包括:
esi_verify扩展,表示客户端请求服务器发送加密解析器相关的验证信息;在TLS握手过程中,客户端如果希望服务端发送加密解析器身份验证相关的信息,则携带esi_verify扩展选项字段,该扩展选项字段在ClientHello消息中发送;
证书扩展Associated Name,表示与当前证书使用者具有某种关联或绑定关系的实体的信息;Associated Name包含iPAddress、dNSName,其中iPAddress支持一个或多个IP地址,dNSName支持一个或多个域名;
用户希望通过当前使用的非加密解析器升级到对应的加密解析器时,所述通过TLS扩展标识和证书扩展标识进行加密解析器的认证,包括:Associated Name中的iPAddress值与原非加密解析器的IP地址进行比较,同时证书中的SubjectAlternativeName字段中的域名与通过ESI资源记录获得的加密解析器的主机名进行比较,以验证发现的加密解析器的身份的真实性;
某个APP想要用户使用该APP时通过特定的加密解析器,或者某个公司希望用户通过自己指定的加密解析器来访问自己的域名时,所述通过TLS扩展标识和证书扩展标识进行加密解析器的认证,包括:Associated Name中的dNSName值与原始查询域名进行比较,同时SubjectAlternativeName内容与通过ESI新资源记录获取的加密解析器的主机名比较,以验证发现的加密解析器的身份的真实性;
在获取到加密解析器名字后用户需要获取该加密解析器更加详细的信息并对加密解析器进行身份验证时,或者支持不同加密协议的解析器主机名不同但提供商希望向客户端说明支持不同加密协议的解析器能够等效使用时,所述通过TLS扩展标识和证书扩展标识进行加密解析器的认证,包括:比较TLS证书中SubjectAlternativeName内容与加密解析器的主机名,如果不同的加密协议使用了不同的主机名,但是客户端能够等效的使用不同的加密协议支持的解析器时,通过Associated Name的dNSName值对等效解析器进行校验。
2.根据权利要求1所述的方法,其特征在于,所述ESI资源记录的RDATA包含以下内容:type:表示类型,取值为1、2、3,对应发现的解析器的类型,能够根据使用场景进行取值扩展;
PREFERENCE:优先级;
protype:支持的加密协议类型,1表示DOH,2表示DOT,3表示DOQ,能够扩展;
flags:选项位,有8位,其中IPcode占一位,IPv4为0,IPv6为1,表示加密解析器的地址类型;portcode占一位,0表示默认端口,不再显示port字段;1表示不使用默认端口,后续将以port字段显示端口信息;其余位为保留位;
port:端口,2个字节,默认DOH为443端口,DOT为853端口;
address:加密解析器的IP地址,IPv4地址32位,IPv6地址128位;
dohlength:当存在dohuri字段时,表示dohuri字段的长度,占两个字节;
dohuri:支持DOH协议时表示DoH解析器的URI模板信息;
snlength:当存在servicername字段时,表示servicername字段的长度,占两个字节;servicername:type取值为1、2时,表示加密解析器的主机名;type取值为3时当RDATA内容表示查询的加密解析器本身时不需要该字段,但当RDATA内容为支持不同加密协议的其它等效解析器时,该字段表示其它等效解析器的主机名。
3.根据权利要求2所述的方法,其特征在于,所述通过查询ESI资源记录,获取加密解析器的信息,包括以下类型:
类型1:用户如果希望通过当前使用的非加密解析器升级到对应的加密解析器,则ESI资源记录中RDATA的type字段的值为1;这种情况下,通过查询一个指定的特殊用途域名的ESI资源记录获取对应的加密解析器的信息;
类型2:某个APP想要用户使用该APP时通过特定的加密解析器,或者某个公司希望用户通过自己指定的加密解析器来访问自己的域名,则ESI资源记录中RDATA的type字段的值为2,这种情况下,通过查询公司或应用程序对应域名的ESI资源记录内容获取加密解析器的信息;
类型3:如果已经知道加密解析器名,则通过查询该加密解析器的ESI资源记录获取该加密解析器更详细的情况,包括支持的加密协议、端口号、IP地址;如果支持不同加密协议的解析器主机名不一样,但是提供商又希望向客户端说明这些不同协议的解析器能够等效使用时,通过ESI资源记录得到对应的等效解析器信息,ESI资源记录中RDATA的type字段的值为3。
4.一种采用权利要求1~3中任一权利要求所述方法的加密DNS解析器发现及认证的系统,其特征在于,包括加密解析器发现模块和加密解析器验证模块;
所述加密解析器发现模块包括预处理模块、ESI识别器、ESI解析器;所述预处理模块用于配置参数及数据的初始化及对消息进行预处理操作,以便于后续流程处理;所述ESI识别器用于识别当前DNS消息中是否包含ESI资源记录类型,若包含则转入ESI解析器进行解析,否则转入普通DNS处理器进行后续步骤的处理操作;所述ESI解析器用于对识别的ESI类型资源记录内容进行解析,从而获取加密解析器相关的信息数据;
所述加密解析器验证模块包括扩展选项识别器、扩展选项解析器、身份验证算法模块;所述扩展选项识别器用于识别当前TLS握手阶段是否包含新定义的扩展选项esi_verify及证书扩展选项,若包含则转入扩展选项解析器进行解析,否则转入身份验证算法模块;所述扩展选项解析器用于对识别到的扩展选项进行解析,解析完成的结果进入身份验证算法模块进行加密解析器的认证过程;所述身份验证算法模块用于对加密解析器进行身份认证。
5.一种电子装置,其特征在于,包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行权利要求1~3中任一权利要求所述方法的指令。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储计算机程序,所述计算机程序被计算机执行时,实现权利要求1~3中任一权利要求所述的方法。
CN202111110037.6A 2021-09-18 2021-09-18 一种加密dns解析器发现及认证的方法与系统 Active CN114006724B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111110037.6A CN114006724B (zh) 2021-09-18 2021-09-18 一种加密dns解析器发现及认证的方法与系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111110037.6A CN114006724B (zh) 2021-09-18 2021-09-18 一种加密dns解析器发现及认证的方法与系统

Publications (2)

Publication Number Publication Date
CN114006724A CN114006724A (zh) 2022-02-01
CN114006724B true CN114006724B (zh) 2023-08-29

Family

ID=79922156

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111110037.6A Active CN114006724B (zh) 2021-09-18 2021-09-18 一种加密dns解析器发现及认证的方法与系统

Country Status (1)

Country Link
CN (1) CN114006724B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114461685B (zh) * 2022-04-14 2022-07-01 天津南大通用数据技术股份有限公司 一种灵活扩展数据库字段的方法

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102045413A (zh) * 2011-01-24 2011-05-04 北京邮电大学 经过dht扩展的dns映射系统及其实现dns安全的方法
CN102577303A (zh) * 2009-04-20 2012-07-11 思杰系统有限公司 用于生成dns查询以提高抗dns攻击性的系统和方法
CN104410635A (zh) * 2014-11-27 2015-03-11 中国科学院计算机网络信息中心 一种基于dane的ndn安全认证方法
CN104468859A (zh) * 2014-11-27 2015-03-25 中国科学院计算机网络信息中心 支持携带服务地址信息的dane扩展查询方法和系统
CN105357212A (zh) * 2015-11-23 2016-02-24 北京天地互连信息技术有限公司 一种保证安全和隐私的dns端到端解析方法
CN106533689A (zh) * 2015-09-15 2017-03-22 阿里巴巴集团控股有限公司 一种在ssl/tls通信中加载数字证书的方法和装置
CN110289969A (zh) * 2019-07-02 2019-09-27 浪潮云信息技术有限公司 一种采用加密签名和加速解析防止dns被劫持的方法
CN111464668A (zh) * 2020-03-27 2020-07-28 北京云端智度科技有限公司 一种快速安全的域名解析方法
CN112425139A (zh) * 2018-07-13 2021-02-26 华为技术有限公司 用于解析域名的设备和方法
CN112655186A (zh) * 2018-09-12 2021-04-13 华为技术有限公司 可信dns解析设备和方法
CN112954683A (zh) * 2021-05-13 2021-06-11 中兴通讯股份有限公司 域名解析方法、装置、电子设备和存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9015469B2 (en) * 2011-07-28 2015-04-21 Cloudflare, Inc. Supporting secure sessions in a cloud-based proxy service
US20160057163A1 (en) * 2014-10-03 2016-02-25 Akamai Technologies, Inc. Validating and enforcing end-user workflow for a web application

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102577303A (zh) * 2009-04-20 2012-07-11 思杰系统有限公司 用于生成dns查询以提高抗dns攻击性的系统和方法
CN102045413A (zh) * 2011-01-24 2011-05-04 北京邮电大学 经过dht扩展的dns映射系统及其实现dns安全的方法
CN104410635A (zh) * 2014-11-27 2015-03-11 中国科学院计算机网络信息中心 一种基于dane的ndn安全认证方法
CN104468859A (zh) * 2014-11-27 2015-03-25 中国科学院计算机网络信息中心 支持携带服务地址信息的dane扩展查询方法和系统
CN106533689A (zh) * 2015-09-15 2017-03-22 阿里巴巴集团控股有限公司 一种在ssl/tls通信中加载数字证书的方法和装置
CN105357212A (zh) * 2015-11-23 2016-02-24 北京天地互连信息技术有限公司 一种保证安全和隐私的dns端到端解析方法
CN112425139A (zh) * 2018-07-13 2021-02-26 华为技术有限公司 用于解析域名的设备和方法
CN112655186A (zh) * 2018-09-12 2021-04-13 华为技术有限公司 可信dns解析设备和方法
CN110289969A (zh) * 2019-07-02 2019-09-27 浪潮云信息技术有限公司 一种采用加密签名和加速解析防止dns被劫持的方法
CN111464668A (zh) * 2020-03-27 2020-07-28 北京云端智度科技有限公司 一种快速安全的域名解析方法
CN112954683A (zh) * 2021-05-13 2021-06-11 中兴通讯股份有限公司 域名解析方法、装置、电子设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
任立军."域名系统DNS安全增强的研究与设计".《中国优秀硕士学位论文信息科技辑》.2013,全文. *

Also Published As

Publication number Publication date
CN114006724A (zh) 2022-02-01

Similar Documents

Publication Publication Date Title
TWI478564B (zh) 用於安全資源名稱解析的方法、電腦可讀取儲存媒體及設備
TWI475863B (zh) 使用快取之安全資源名稱解析
CN106068639B (zh) 通过dns处理的透明代理认证
US6961783B1 (en) DNS server access control system and method
AU2003212723B2 (en) Single sign-on secure service access
US9258293B1 (en) Safe and secure access to dynamic domain name systems
US10341286B2 (en) Methods and systems for updating domain name service (DNS) resource records
CN108632221B (zh) 定位内网中的受控主机的方法、设备及系统
CN112437100A (zh) 漏洞扫描方法及相关设备
CN110913036A (zh) 一种基于权威dns识别终端位置的方法
CN110730189B (zh) 一种通信认证方法、装置、设备及存储介质
CN114006724B (zh) 一种加密dns解析器发现及认证的方法与系统
Nainar et al. Capturing Secured Application Traffic for Analysis
US20090109874A1 (en) Identifying nodes in a network
US12010090B2 (en) Management of domain name services across multiple device and software configurations
CN113452645B (zh) 中间人攻击检测方法、装置、计算机设备和存储介质
CN116032542A (zh) 查询方法、装置、网络设备及可读存储介质
Krähenbühl et al. Ubiquitous Secure Communication in a Future Internet Architecture
CN112491909A (zh) 基于doh协议的流量标识方法、装置、设备及存储介质
CN112491910A (zh) 基于dot协议的流量标识方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant