CN111901319A - 一种客户端dns缓存验证方法、系统、装置及介质 - Google Patents

一种客户端dns缓存验证方法、系统、装置及介质 Download PDF

Info

Publication number
CN111901319A
CN111901319A CN202010684286.5A CN202010684286A CN111901319A CN 111901319 A CN111901319 A CN 111901319A CN 202010684286 A CN202010684286 A CN 202010684286A CN 111901319 A CN111901319 A CN 111901319A
Authority
CN
China
Prior art keywords
client
dns cache
server
dns
verification
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.)
Pending
Application number
CN202010684286.5A
Other languages
English (en)
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.)
Guangzhou University
Original Assignee
Guangzhou University
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 Guangzhou University filed Critical Guangzhou University
Priority to CN202010684286.5A priority Critical patent/CN111901319A/zh
Publication of CN111901319A publication Critical patent/CN111901319A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • 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
    • H04L63/0435Network 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 wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • 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
    • H04L63/0442Network 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 wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种客户端DNS缓存验证方法、系统、装置及介质,系统包括客户端、服务器和查询器,方法包括:通过客户端获取用户主机的DNS缓存数据;由服务器将所述DNS缓存数据中的待验证域名信息发送至CDN合法IP地址库和查询器;通过DNS查询查询所述待验证域名信息的IP地址信息,生成查询结果;根据所述查询结果生成验证结果;根据验证结果生成报警提示。本发明保护客户端DNS缓存,保证任何时候客户端的DNS缓存都是正确的,进而保证客户端的DNS安全,当用户受到DNS欺骗、缓存投毒攻击时,本发明的系统能及时生成报警提示来警告用户,可广泛应用于计算机技术领域。

Description

一种客户端DNS缓存验证方法、系统、装置及介质
技术领域
本发明涉及计算机技术领域,尤其是一种客户端DNS缓存验证方法、系统、装置及介质。
背景技术
域名系统(DNS)是互联网重要基础服务,其主要功能是提供域名与IP地址的映射。几乎所有的互联网应用都需要DNS的支持,DNS安全是Internet安全的基础。但在DNS设计之初,研究人员并没考虑其安全问题,而是假定其运行在安全的环境之中。这使得使用DNS漏洞进行网络攻击的事件层出不穷,对互联网造成了严重的威胁。针对DNS的攻击主要包括:DNS欺骗、DNS缓存投毒、域名劫持和DDoS。
为了提升DNS系统的安全性,研究人员提出了多种方法,其中最为知名的是域名系统安全扩展(DNSSEC),它对DNS消息进行签名,确保其完整性。DNSSEC只对递归解析器和DNS服务器之间的通信进行签名,而DNS客户端与递归解析器的通信不在DNSSEC的保护范围之内,因此它无法应对针对DNS客户端的攻击。为了解决DNS“最后一公里”的安全问题,即DNS客户端与递归解析器之间的通信安全,研究人员又提出了DNS over TLS(DoT)、DNS overHTTPS(DoH)等方法。但DoT、DoH无法应对针对DNS客户端的缓存投毒攻击,安全性不高。例如,Fatemah Alharbi等人在2019年INFOCOM国际旗舰会议上提出了一种针对客户端的DNS缓存投毒攻击方法,该方法可以绕过上述的DNS防御策略。
发明内容
有鉴于此,本发明实施例提供一种安全性高的客户端DNS缓存验证方法、系统、装置及介质。
本发明的第一方面提供了一种客户端DNS缓存验证方法,应用于客户端,包括:
获取用户主机的DNS缓存数据;
将所述DNS缓存数据发送至服务器;
接收所述服务器反馈的验证结果,生成报警提示;
其中,所述验证结果由所述服务器对所述DNS缓存数据进行验证生成。
在一些实施例中,所述方法还包括:
建立客户端与所述服务器之间的安全通道;
通过所述安全通道传输客户端与所述服务器之间的身份认证信息、加密消息以及数字签名;
所述将所述DNS缓存数据发送至服务器这一步骤,具体为:
通过所述安全通道将所述DNS缓存数据发送至服务器。
在一些实施例中,所述DNS缓存数据包括浏览器DNS缓存信息、hosts文件信息以及操作系统DNS缓存信息。
本发明的第二方面提供了一种客户端DNS缓存验证方法,应用于服务器,包括:
接收客户端发送的DNS缓存数据;
将所述DNS缓存数据中的待验证域名信息发送至查询器;
接收所述查询器反馈的查询结果;其中,所述查询结果由所述查询器根据所述待验证域名信息生成;
根据所述查询结果生成验证结果;
将所述验证结果反馈给所述客户端。
在一些实施例中,所述接收客户端发送的DNS缓存数据,包括:
接收所述客户端发送的DNS缓存数据;
对所述DNS缓存数据解密得到待验证域名信息和第一IP地址信息;
通过CDN合法IP地址库对所述第一IP地址信息进行合法性验证,得到合法的第二IP地址信息以及对应的待验证域名信息。
在一些实施例中,所述根据所述查询结果生成验证结果,包括:
将各个查询器的查询结果合并,选取第三IP地址信息;所述第三IP地址信息在各个查询器的查询结果中出现的次数最多;
判断所述第三IP地址信息与所述第一IP地址信息是否相同,若是,则确定验证通过,得到第一验证结果;反之,则确定验证不通过,得到第二验证结果。
本发明的第三方面提供了一种客户端DNS缓存验证方法,应用于查询器,包括:
接收服务器发送的待验证域名信息;
通过DNS查询查询所述待验证域名信息的IP地址信息,生成查询结果;
将所述查询结果反馈给所述服务器。
本发明的第四方面提供了一种客户端DNS缓存验证系统,包括:客户端、服务器和查询器;
所述客户端用于:
获取用户主机的DNS缓存数据;
将所述DNS缓存数据发送至服务器;
接收所述服务器反馈的验证结果,生成报警提示;
其中,所述验证结果由所述服务器对所述DNS缓存数据进行验证生成;
所述服务器用于:
接收客户端发送的DNS缓存数据;
将所述DNS缓存数据中的待验证域名信息发送至查询器;
接收所述查询器反馈的查询结果;其中,所述查询结果由所述查询器根据所述待验证域名信息生成;
根据所述查询结果生成验证结果;
将所述验证结果反馈给所述客户端;
所述查询器用于:
接收服务器发送的待验证域名信息;
通过DNS查询查询所述待验证域名信息的IP地址信息,生成查询结果;
将所述查询结果反馈给所述服务器。
本发明的第五方面提供了一种装置,包括处理器以及存储器;
所述存储器用于存储程序;
所述处理器用于根据所述程序执行如第一方面、第二方面或者第三方面所述的方法。
本发明的第六方面提供了一种存储介质,所述存储介质存储有程序,所述程序被处理器执行完成如第一方面、第二方面或者第三方面所述的方法。
本发明的实施例在客户端访问域名时,先获取用户主机的DNS缓存数据,然后配合服务器和查询器生成对应的验证结果,确保客户端的DNS缓存数据的完整性。本发明保护客户端DNS缓存,保证任何时候客户端的DNS缓存都是正确的,进而保证客户端的DNS安全,当用户受到DNS欺骗、缓存投毒攻击时,本发明的系统能及时生成报警提示来警告用户。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的交互时序图;
图2为本发明实施例的系统架构示意图;
图3为本发明实施例通过客户端DNS缓存验证方法为用户提供DNS安全服务的示意图;
图4为本发明实施例建立安全通道的示意图。
具体实施方式
下面结合说明书附图和具体实施例对本发明作进一步解释和说明。对于本发明实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
针对现有技术存在的问题,本发明提供了一种客户端DNS缓存验证方法,如图1所示,包括以下步骤1)-10):
1)建立安全通道:客户端建立与服务器的安全通道,客户端与服务器的后续通信通过安全通道进行。
2)发送验证请求:客户端监测到用户主机DNS缓存新增条目时,首先获取用户主机的DNS缓存数据,将此条目的DNS缓存数据发送到服务器。
3)数据解析:服务器接收来自客户端的DNS缓存数据,并对DNS缓存数据进行解密,获得待验证域名和对应的第一IP地址信息。
4)CDN合法IP验证:服务器检索CDN合法IP地址库,检测验证请求中的IP地址是否为CDN合法IP地址,如果是,则验证通过,得到合法的第二IP地址信息以及对应的待验证域名信息,否则进行下一步。
5)发送待验证域名:服务器将用户验证请求中的待验证域名发送给多个查询器。
具体地,本发明将所述DNS缓存数据中的待验证域名信息发送至CDN合法IP地址库和查询器。
需要说明的是,本实施例的域名验证流程的先后顺序为:
第一步:先将待验证域名发送至CDN合法IP地址库进行检索,如果地址库存在该域名信息,则验证通过。(这是因为如果某个域名使用了CDN技术,如www.taobao.com,则该域名在不同地区的IP地址不一样,如果查询器和客户端位于不同的地区,www.taobao.com对应的IP地址也不一样,即使这两个IP地址都是合法的。因此必须先判断待验证域名信息中的IP地址是否是CDN合法的IP地址。如果是,这说明此域名使用了CDN技术,且该IP是合法的CDN IP地址,则验证通过。否则,说明此域名没有使用CDN技术,也就是说该域名在不同地区的IP地址都是相同的,此时再将该域名发送到查询器,即使查询器和客户端位于不同地区也不影响结果。)如果CDN合法IP地址库中未检索到待验证域名,验证通过与否取决于第2步的结果。
第二步:将待验证域名发送到多个查询器,并接受查询器返回的结果,比较结果中出现次数最多的IP地址与待验证域名信息中的IP地址是否相同,相同则验证通过,否则验证失败。
6)查询待验证域名:多个查询器通过DNS分别查询待验证域名的IP地址。
7)返回查询结果:多个查询器将查询结果返回给服务器。
8)生成验证结果:服务器合并多个查询器返回的请求,选出重复次数最多的IP地址作为正确IP地址(即第三IP地址信息);服务器比较用户验证请求中的IP地址(即第一IP地址信息)与正确IP地址(即第三IP地址信息)是否相同,如果相同则验证通过,否则验证失败。
9)返回验证结果:服务器将验证结果返回给客户端。
10)警告用户:客户端解析服务器返回的验证结果,如果验证未通过,客户端立即向用户发送警告提示。
具体地,本实施例的客户端具有以下功能:
1、监视服务:负责实时监视用户主机的DNS缓存,用户主机的DNS缓存主要包括浏览器DNS缓存、hosts文件、操作系统DNS缓存。
2、验证服务:根据服务器的验证结果,判断缓存中的条目是否正确,如果发现错误条目,立即向用户发出警告。
3、通信服务:负责建立客户端与服务器的安全通道,主要包括对通信双方的身份认证、消息的加密和数字签名;将新增的DNS缓存条目通过安全通道发送给服务器;接受服务器端的消息,并对消息进行解密和完整性验证。
基于上述客户端的功能,本实施例的客户端执行的方法包括实时缓存监控、建立安全通道、数据加密、数据解密、警告用户等5个步骤,具体为:
S101:实时缓存监控:实时监控用户主机的DNS缓存,包括浏览器DNS缓存、hosts文件和操作系统DNS缓存,一旦有新条目进入用户主机DNS缓存,客户端就将此条目通过安全通道发送到服务器;
S102:建立安全通道:客户单与服务器建立安全通道,主要包括通信双方的身份认证和通信密钥协商;
S103:数据加密:将新增的DNS缓存条目进行加密和数字签名,然后通过安全通道发送到服务器端;
S104:数据解密:对服务器返回的验证结果进行解密、验证数字签名;
S105:警告用户:判断服务器返回的验证结果是否通过,未通过则立即向用户发出警告。
本实施例的服务器端具有以下功能:
1、通信服务:负责对消息的加密和数字签名;将验证结果通过安全通道发送给客户端;接受客户端的消息,并对消息进行解密和完整性验证。
2、验证服务:负责对客户单发送来的DNS缓存条目进行验证,DNS缓存条目格式为待验证域名加IP地址(如:www.example.com 1.1.1.1),验证规则如下:第一步检索CDN合法IP地址库,判断待验证域名的IP地址是否在地址库中,如果在则验证通过,否则进行第二步;第二步将待验证域名发交付给多路查询服务,多路查询服务返回的IP地址如果与原IP地址一致,则验证通过,否则验证失败。
3、CDN合法IP地址库:负责存储CDN合法的IP地址,存储方式是关系型数据库(如MySQL);地址库数据来源于各大CDN服务提供商,也可以在多个主要地区部署服务器,查询各个地区各个域名对应的IP地址;地址库数据定期更新,频率为一周一次。
4、多路查询服务:负责与位于多个地区的查询器建立安全通道,主要包括对通信双方的身份认证、消息的数字签名,并将待验证域名发送到各个查询器;接收各个查询器返回的结果,并验证结果的完整性;合并各个查询返回的结果,结果为待验证域名加IP地址(如:www.example.com 1.1.1.1),并筛选出重复次数最多的IP地址作为最终结果交付给验证服务。
基于上述服务器的功能,本实施例的服务器执行的方法包括数据解密、检索CDN合法IP地址库、发送到多个查询器、接收查询器返回IP地址、数据加密等5个步骤,具体为:
S201:数据解密:接收客户端发送的验证请求,并对收到的数据进行解密,得到验证请求中的数据,主要包括待验证域名和IP地址,如www.example.com 1.1.1.1;
S202:检索CDN合法IP地址库:查询CDN合法IP地址库中是否出现验证请求中包含的IP地址,如果出现则验证通过,否则执行下一步;
S203:发送到多个查询器:将待验证域名发送到位于多个地区的多个查询器,这些查询器负责向各地区的DNS递归解析器发送域名解析请求,并将结果返回给服务器端;
S204:接收查询器返回IP地址:服务器端接收各个查询器返回的IP地址,并对结果进行处理,筛选出重复次数最多的IP地址作为结果,若该结果与验证请求中包含的IP地址一致,则验证通过,否则验证失败;
S205:数据加密:生成验证结果,并进行加密和数字签名,通过安全通道将验证结果发送给客户端。
本实施例的多个查询器具有以下功能:
1、查询器:接收服务器发来的待验证域名,并向递归解析器发送待验证域名的解析请求;接收递归解析器返回的结果,并通过安全通道将结果发送到服务器。
2、递归解析器:负责接收查询器的DNS解析请求,为查询器提供DNS递归解析服务。
基于上述查询器的功能,本实施例的查询器执行的方法包括查询待验证域名、返回查询结果等2个步骤,具体为:
S301、查询待验证域名:多个查询器通过DNS分别查询待验证域名的IP地址。
S302、返回查询结果:多个查询器将查询结果返回给服务器。
通过本发明的方法,可以在客户端为用户提供DNS安全服务。用户每次访问一个域名,计算机都会先查询本机DNS缓存,主要包括浏览器DNS缓存、hosts文件和操作系统DNS缓存。若缓存中存在用户访问的域名,计算机则使用缓存中的IP地址进行访问,否则计算机会通过DNS获取该域名的IP地址,并将该域名和IP地址缓存到本地。本发明保护客户端DNS缓存,保证任何时候客户端的DNS缓存都是正确的,进而保证客户端的DNS安全,当用户受到DNS欺骗、缓存投毒攻击时,本发明的系统能及时警告用户。
下面参见图2,本实施例提供了一种客户端DNS缓存验证系统,系统包括客户端、服务器端子系统和多个查询器子系统,分别由用户主机、数据接入服务器、数据处理服务器、数据存储服务器、查询服务器、DNS递归解析器组成。
具体地,1)用户主机上部署客户端,实现DNS缓存实时监控服务、验证服务和通信服务。
2)数据接入服务器上部署通信服务,实现与客户端和查询服务器安全通道的维持、消息的收发和数据的加解密。
3)数据处理服务器上部署验证服务,实现对客户端发来的缓存条目的验证。
4)数据存储服务器上部署CDN合法IP地址库,实现CDN合法IP地址的存储、查询和更新。
5)查询服务器上部署查询器,实现与服务器端的安全通信。
6)DNS递归解析器部署查询器,为查询器提供DNS递归解析服务。
下面结合图3,以为用户提供DNS安全服务的具体实施例进行详细说明,通过本发明提供的方法,可以防御针对DNS客户端的DNS欺骗攻击。应用的具体流程如下:
1)访问域名:用户访问某域名,用户主机会首先查看本地DNS缓存中有无该记录,有则使用缓存中的IP地址进行访问,否则进行第下一步。
2)DNS解析请求:用户主机向本地DNS递归解析器发送DNS解析请求。
3)伪造DNS答复:黑客监听用户主机的通信,发现用户主机发送了DNS解析请求报文,黑客立刻伪造一个DNS答复发送给用户主机,用户主机收到该回复后,使用回复中的IP地址进行访问,并将该结果缓存到本地DNS缓存中。
4)建立安全通道:用户主机上运行着客户端,客户端实时监控本地DNS缓存并发现有新的条目进入缓存,客户端建立与服务器端子系统的安全通道。
5)验证请求:客户端通过安全通道向服务器端子系统发送验证请求,验证请求中包含用户主机DNS缓存中新增的条目。
6)待验证域名:服务器端子系统首先判断的验证请求中包含的IP地址是否为CDN合法IP地址,如果是则验证通过,将验证结果返回给客户端,如果不是,则将该域名发送给多个查询子系统。
7)DNS解析请求:查询子系统收到待验证域名后,将此域名发送给DNS系统。
8)DNS答复:查询子系统收到DNS答复。
9)IP地址:查询子系统将DNS回复中的IP地址返回给服务器端子系统。
10)验证结果:服务器端子系统汇总各个查询子系统的IP地址,选出重复次数最多的IP地址与验证请求中IP地址作比较,如果相同则验证通过,否则验证失败,最后将验证结果通过安全通道发送给客户端。
11)警告用户:客户端解析验证结果,验证未通过,黑客的攻击行为被发现,客户端立即警告用户。
下面结合图4,详细说明本发明建立安全通道的具体实施例,本发明构建安全通道采用了非对称加密和对称加密混合的方式,同时兼顾了密钥分发难度和加解密运行效率,非对称加密算法使用1024位RSA加密算法,对称加密算法使用了256位AES加密算法。如图4所示,pubc、pric分别是客户端的公钥和私钥;pubs、pris分别是服务器端的公钥和私钥,pubs通过预共享的方式分发给客户端,具体方式为:pubs被集成在客户端中,用户安装客户端时就已经获得;
Figure BDA0002586953300000081
分别是使用客户端私钥和服务器端私钥生成的数字签名;Nc、Ns分别是客户端和服务器端生成的随机数;key是协商生成的会话密钥,用于对称加密;domain、ip分别代表待验证的域名和IP地址;
Figure BDA0002586953300000082
和{}key分别代表使用客户端公钥、服务器端公钥和会话密钥对大括号内的数据进行加密,前两个是非对称加密,最后一个是对称加密;flag代表验证结果,flag=0代表验证失败,flag=1代表验证成功。
本实施例建立安全通道分为会话密钥协商和加密通信两个子流程,会话秘钥协商子流程主要任务是安全协商出一个会话密钥,该会话密钥用于加密后续通信过程。应用的具体流程如下:
S401、客户端生成Nc,使用pubs对Nc和pubc进行加密,并将加密后的数据发送给服务器端子系统。
S402、首先,服务器端子系统使用pris对收到的信息进行解密,获得Nc和pubc;然后,服务器端子系统生成Ns、key,并使用pris对Nc、Ns、key进行数字签名;最后使用pubc对以上数据进行加密,发送给客户端。
S403、首先,客户端使用pric对收到的信息进行解密,获得Nc、Ns、key和
Figure BDA0002586953300000091
并对收到的信息进行验证:如果收到的Nc是否与步骤S401中发送的Nc不相同或者使用pubs验证数字签名
Figure BDA0002586953300000092
失败,则中断本次协商,新启一轮协议;然后,客户端使用pric对Nc进行数字签名,并使用key对Nc和数字签名进行加密,将加密后的数据发送给服务器端子系统;最后,服务器端子系统收到信息后,使用key进行解密,获得Ns
Figure BDA0002586953300000093
并对收到的信息进行验证:如果收到的Ns是否与步骤S402中发送的Ns不相同或者使用pubc验证数字签名
Figure BDA0002586953300000094
失败,则中断本次协商,并告知客户端,如果Ns
Figure BDA0002586953300000095
均验证成功,会话密钥协商子流程结束。
S404、客户端生成Nc,然后使用key对Nc、domain和ip进行加密,发送给服务器端子系统。
S405、首先,服务器端子系统使用key对收到的信息进行解密,获得Nc、domain和ip,对domain和ip进行验证后生成验证结果flag;然后,使用pris对Nc和flag进行数字签名,使用key对Nc、flag和数字签名进行加密,将加密后的数据发送给客户端;最后,客户端使用key对收到的信息进行解密,获得Nc、Ns、key和
Figure BDA0002586953300000096
并对收到的信息进行验证:如果收到的Nc是否与步骤S404中发送的Nc不相同或者使用pubs验证数字签名
Figure BDA0002586953300000097
失败,则丢弃收到的验证结果,重新进行步骤S404。
本发明实施例还提供了一种装置,包括处理器以及存储器;
所述存储器用于存储程序;
所述处理器用于根据所述程序执行上述的方法。
本发明实施例还提供了一种存储介质,所述存储介质存储有程序,所述程序被处理器执行完成上述的方法。
综上所述,本发明解决了DNS客户端的安全问题,通过实时监视客户端DNS缓存(浏览器缓存、hosts文件、系统缓存),并将新增的缓存条目通过安全通道发送到第三方验证服务器,确保客户端DNS缓存条目的完整性。本发明可以有效防御针对客户端的DNS欺骗和缓存投毒攻击,为用户提供可插拔式的DNS安全服务。
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,所述的功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

Claims (10)

1.一种客户端DNS缓存验证方法,应用于客户端,其特征在于,包括:
获取用户主机的DNS缓存数据;
将所述DNS缓存数据发送至服务器;
接收所述服务器反馈的验证结果,生成报警提示;
其中,所述验证结果由所述服务器对所述DNS缓存数据进行验证生成。
2.根据权利要求1所述的一种客户端DNS缓存验证方法,其特征在于,所述方法还包括:
建立客户端与所述服务器之间的安全通道;
通过所述安全通道传输客户端与所述服务器之间的身份认证信息、加密消息以及数字签名;
所述将所述DNS缓存数据发送至服务器这一步骤,具体为:
通过所述安全通道将所述DNS缓存数据发送至服务器。
3.根据权利要求1所述的一种客户端DNS缓存验证方法,其特征在于,所述DNS缓存数据包括浏览器DNS缓存信息、hosts文件信息以及操作系统DNS缓存信息。
4.一种客户端DNS缓存验证方法,应用于服务器,其特征在于,包括:
接收客户端发送的DNS缓存数据;
将所述DNS缓存数据中的待验证域名信息发送至查询器;
接收所述查询器反馈的查询结果;其中,所述查询结果由所述查询器根据所述待验证域名信息生成;
根据所述查询结果生成验证结果;
将所述验证结果反馈给所述客户端。
5.根据权利要求4所述的一种客户端DNS缓存验证方法,其特征在于,所述接收客户端发送的DNS缓存数据,包括:
接收所述客户端发送的DNS缓存数据;
对所述DNS缓存数据解密得到待验证域名信息和第一IP地址信息;
通过CDN合法IP地址库对所述第一IP地址信息进行合法性验证,得到合法的第二IP地址信息以及对应的待验证域名信息。
6.根据权利要求5所述的一种客户端DNS缓存验证方法,其特征在于,所述根据所述查询结果生成验证结果,包括:
将各个查询器的查询结果合并,选取第三IP地址信息;所述第三IP地址信息在各个查询器的查询结果中出现的次数最多;
判断所述第三IP地址信息与所述第一IP地址信息是否相同,若是,则确定验证通过,得到第一验证结果;反之,则确定验证不通过,得到第二验证结果。
7.一种客户端DNS缓存验证方法,应用于查询器,其特征在于,包括:
接收服务器发送的待验证域名信息;
通过DNS查询查询所述待验证域名信息的IP地址信息,生成查询结果;
将所述查询结果反馈给所述服务器。
8.一种客户端DNS缓存验证系统,其特征在于,包括:客户端、服务器和查询器;
所述客户端用于:
获取用户主机的DNS缓存数据;
将所述DNS缓存数据发送至服务器;
接收所述服务器反馈的验证结果,生成报警提示;
其中,所述验证结果由所述服务器对所述DNS缓存数据进行验证生成;
所述服务器用于:
接收客户端发送的DNS缓存数据;
将所述DNS缓存数据中的待验证域名信息发送至查询器;
接收所述查询器反馈的查询结果;其中,所述查询结果由所述查询器根据所述待验证域名信息生成;
根据所述查询结果生成验证结果;
将所述验证结果反馈给所述客户端;
所述查询器用于:
接收服务器发送的待验证域名信息;
通过DNS查询查询所述待验证域名信息的IP地址信息,生成查询结果;
将所述查询结果反馈给所述服务器。
9.一种装置,其特征在于,包括处理器以及存储器;
所述存储器用于存储程序;
所述处理器用于根据所述程序执行如权利要求1-7中任一项所述的方法。
10.一种存储介质,其特征在于,所述存储介质存储有程序,所述程序被处理器执行完成如权利要求1-7中任一项所述的方法。
CN202010684286.5A 2020-07-16 2020-07-16 一种客户端dns缓存验证方法、系统、装置及介质 Pending CN111901319A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010684286.5A CN111901319A (zh) 2020-07-16 2020-07-16 一种客户端dns缓存验证方法、系统、装置及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010684286.5A CN111901319A (zh) 2020-07-16 2020-07-16 一种客户端dns缓存验证方法、系统、装置及介质

Publications (1)

Publication Number Publication Date
CN111901319A true CN111901319A (zh) 2020-11-06

Family

ID=73189229

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010684286.5A Pending CN111901319A (zh) 2020-07-16 2020-07-16 一种客户端dns缓存验证方法、系统、装置及介质

Country Status (1)

Country Link
CN (1) CN111901319A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112671779A (zh) * 2020-12-25 2021-04-16 赛尔网络有限公司 基于DoH服务器的域名查询方法、装置、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103701957A (zh) * 2014-01-14 2014-04-02 互联网域名系统北京市工程研究中心有限公司 Dns递归方法及其系统
CN105939347A (zh) * 2016-05-05 2016-09-14 杭州迪普科技有限公司 防御域名攻击的方法及装置
CN109067930A (zh) * 2018-06-26 2018-12-21 网宿科技股份有限公司 域名接入方法、域名解析方法、服务器、终端及存储介质
CN111327714A (zh) * 2018-12-17 2020-06-23 中国电信股份有限公司 域名递归查询方法、系统以及服务器、dns系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103701957A (zh) * 2014-01-14 2014-04-02 互联网域名系统北京市工程研究中心有限公司 Dns递归方法及其系统
CN105939347A (zh) * 2016-05-05 2016-09-14 杭州迪普科技有限公司 防御域名攻击的方法及装置
CN109067930A (zh) * 2018-06-26 2018-12-21 网宿科技股份有限公司 域名接入方法、域名解析方法、服务器、终端及存储介质
CN111327714A (zh) * 2018-12-17 2020-06-23 中国电信股份有限公司 域名递归查询方法、系统以及服务器、dns系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ZHAO, YAN ET AL.: ""DCG: A Client-side Protection Method for DNS Cache."", 《JOURNAL OF INTERNET SERVICES AND INFORMATION SECURITY (JISIS)》 *
王文通等: ""DNS安全防护技术研究综述"", 《软件学报》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112671779A (zh) * 2020-12-25 2021-04-16 赛尔网络有限公司 基于DoH服务器的域名查询方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
Barnes et al. Automatic certificate management environment (acme)
US11330008B2 (en) Network addresses with encoded DNS-level information
US20180124043A1 (en) System and method for authenticating the legitimacy of a request for a resource by a user
US7620733B1 (en) DNS anti-spoofing using UDP
US6944663B2 (en) Method and apparatus for using client puzzles to protect against denial-of-service attacks
US8856525B2 (en) Authentication of email servers and personal computers
US9258293B1 (en) Safe and secure access to dynamic domain name systems
US9847992B2 (en) End-to-end certificate pinning
US8843751B2 (en) IP address delegation
US20040187024A1 (en) Authentication of network users
CN109714370B (zh) 一种基于http协议端云安全通信的实现方法
CN106790296B (zh) 域名记录验证方法及装置
Zhao et al. Analysis of privacy disclosure in DNS query
WO2020061051A1 (en) Entity-separated email domain authentication for known and open sign-up domains
GB2456742A (en) Determining trust levels for data sources
JP2002542722A (ja) 送信データの完全性監視
El‐Hajj The most recent SSL security attacks: origins, implementation, evaluation, and suggested countermeasures
CN111818029B (zh) 一种域名请求处理方法和装置
CN111901319A (zh) 一种客户端dns缓存验证方法、系统、装置及介质
CN113612616A (zh) 一种基于区块链的车辆通信方法和装置
Zulfiqar et al. Tracking adoption of revocation and cryptographic features in X. 509 certificates
Rafiee et al. A secure, flexible framework for dns authentication in ipv6 autoconfiguration
Kasten Automatic Certificate Management Environment (ACME) draft-ietf-acme-acme-03
Barnes et al. RFC 8555: Automatic certificate management environment (ACME)
Kakoi et al. Design and implementation of a client based DNSSEC validation and alert system

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
CB03 Change of inventor or designer information

Inventor after: Hu Ning

Inventor after: Zhao Yan

Inventor after: Zhang Chi

Inventor after: Cheng Xinda

Inventor before: Hu Ning

Inventor before: Zhao Yan

Inventor before: Zhang Chi

Inventor before: Cheng Xinda

CB03 Change of inventor or designer information
RJ01 Rejection of invention patent application after publication

Application publication date: 20201106