CN110266832A - 一种域名解析方法及装置 - Google Patents
一种域名解析方法及装置 Download PDFInfo
- Publication number
- CN110266832A CN110266832A CN201910611880.9A CN201910611880A CN110266832A CN 110266832 A CN110266832 A CN 110266832A CN 201910611880 A CN201910611880 A CN 201910611880A CN 110266832 A CN110266832 A CN 110266832A
- Authority
- CN
- China
- Prior art keywords
- dns
- server
- identifier
- request message
- domain name
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1483—Countermeasures against malicious traffic service impersonation, e.g. phishing, pharming or web spoofing
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请求报文,以使第二服务器获取目标域名对应的目标IP地址,对第二DNS请求报文中的第一标识进行加密处理,得到第二标识,向第一服务器发送DNS响应报文,该DNS响应报文包括第二标识和目标IP地址,第一服务器对DNS响应报文中的第二标识进行解密处理,得到第三标识,若第一标识与第三标识相同,则将DNS响应报文中的目标IP地址发送给用户端。通过本申请实施例提供的技术方案,提高了域名解析的准确性,降低了网络安全隐患。
Description
技术领域
本申请涉及网络安全防护技术领域,特别是涉及一种域名解析方法及装置。
背景技术
域名系统(Domain Name System,DNS)是一种用于传输控制协议/因特网互联协议(Transmission Control Protocol/Internet Protocol,TCP/IP)应用程序的分布式数据库。该数据库用于提供域名与互联网协议(Internet Protocol,IP)地址之间的转换。例如,用户在需要访问某一应用程序时,可以向用户端输入该应用程序的域名,用户端向DNS服务器发送携带该域名的DNS请求报文,DNS服务器通过对接收到DNS请求报文中的域名进行解析,得到该域名对应的IP地址,并将解析得到的IP地址反馈给用户端,使得用户可以根据该IP地址访问该应用程序。
但是随着网络技术的不断发展,在域名解析过程中,存在一定的安全隐患。例如在DNS缓存投毒攻击中,攻击者可以通过向DNS服务器发送伪造的DNS响应报文,使得DNS服务器解析得到的IP地址出现错误,进而导致用户端接收到的IP地址出现错误,带来网络安全隐患。
发明内容
本申请实施例的目的在于提供一种域名解析方法及装置,以提高域名解析的准确性,降低网络安全隐患。具体技术方案如下:
第一方面,本申请实施例提供了一种域名解析方法,应用于DNS中的第一服务器,所述DNS还包括第二服务器,包括:
接收用户端发送的第一DNS请求报文,所述第一DNS请求报文包括目标域名;
基于预设的算法,确定所述第一DNS请求报文对应的第一标识;
向所述第二服务器发送第二DNS请求报文,所述第二DNS请求报文包括所述目标域名和所述第一标识,以使所述第二服务器获取所述目标域名对应的目标IP地址,对所述第二DNS请求报文中的第一标识进行加密处理,得到第二标识,向所述第一服务器发送DNS响应报文,所述DNS响应报文包括所述第二标识和所述目标IP地址;
接收所述第二服务器发送的所述DNS响应报文,并对所述DNS响应报文中的第二标识进行解密处理,得到第三标识;
若所述第一标识和所述第三标识相同,则将所述DNS响应报文中的目标IP地址发送给所述用户端。
第二方面,本申请实施例还提供了一种域名解析方法,应用于DNS中的第二服务器,所述DNS还包括第一服务器,包括:
接收所述第一服务器发送的第二DNS请求报文,所述第二DNS请求报文包括目标域名和第一标识,所述第一标识为所述第一服务器在接收到用户端发送的第一DNS请求报文后,基于预设的算法确定的,所述第一DNS请求报文包括所述目标域名;
对所述第二DNS请求报文中的第一标识进行加密处理,得到第二标识;
获取所述目标域名对应的目标IP地址;
向所述第一服务器发送DNS响应报文,所述DNS响应报文包括所述第二标识和所述目标IP地址,以使所述第一服务器在接收到所述DNS响应报文后,对所述DNS响应报文中的第二标识进行解密处理,得到第三标识,并在所述第一标识与所述第三标识相同时,将所述DNS响应报文中的目标IP地址发送给所述用户端。
第三方面,本申请实施例还提供了一种域名解析装置,应用于DNS中的第一服务器,所述DNS还包括第二服务器,包括:
第一接收模块,用于接收用户端发送的第一DNS请求报文,所述第一DNS请求报文包括目标域名;
第一确定模块,用于基于预设的算法,确定所述第一DNS请求报文对应的第一标识;
第一发送模块,用于向所述第二服务器发送第二DNS请求报文,所述第二DNS请求报文包括所述目标域名和所述第一标识,以使所述第二服务器获取所述目标域名对应的目标IP地址,对所述第二DNS请求报文中的第一标识进行加密处理,得到第二标识,向所述第一服务器发送DNS响应报文,所述DNS响应报文包括所述第二标识和所述目标IP地址;
解密模块,用于接收所述第二服务器发送的所述DNS响应报文,并对所述DNS响应报文中的第二标识进行解密处理,得到第三标识;
第二发送模块,用于在所述第一标识和所述第三标识相同时,将所述DNS响应报文中的目标IP地址发送给所述用户端。
第四方面,本申请实施例还提供了一种域名解析装置,应用于DNS中的第二服务器,所述DNS还包括第一服务器,包括:
第二接收模块,用于接收所述第一服务器发送的第二DNS请求报文,所述第二DNS请求报文包括目标域名和第一标识,所述第一标识为所述第一服务器在接收到用户端发送的第一DNS请求报文后,基于预设的算法确定的,所述第一DNS请求报文包括所述目标域名;
加密模块,用于对所述第二DNS请求报文中的第一标识进行加密处理,得到第二标识;
获取模块,用于获取所述目标域名对应的目标IP地址;
第四发送模块,用于向所述第一服务器发送DNS响应报文,所述DNS响应报文包括所述第二标识和所述目标IP地址,以使所述第一服务器在接收到所述DNS响应报文后,对所述DNS响应报文中的第二标识进行解密处理,得到第三标识,并在所述第一标识与所述第三标识相同时,将所述DNS响应报文中的目标IP地址发送给所述用户端。
第五方面,本申请实施例还提供了一种服务器,所述服务器包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现上述任一所述的域名解析方法步骤。
第六方面,本申请实施例还提供了一种机器可读存储介质,所述机器可读存储介质存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器:实现上述任一所述的域名解析方法步骤。
本申请实施例提供的一种域名解析方法及装置,DNS中的第一服务器接收用户端发送的第一DNS请求报文,该第一DNS请求报文包括目标域名,基于预设的算法,确定第一DNS请求报文对应的第一标识,向第二服务器发送第二DNS请求报文,该第二DNS请求报文包括目标域名和第一标识,以使第二服务器获取目标域名对应的目标IP地址,对第二DNS请求报文中的第一标识进行加密处理,得到第二标识,向第一服务器发送DNS响应报文,该DNS响应报文包括第二标识和目标IP地址,接收第二服务器发送的DNS响应报文,并对该DNS响应报文中的第二标识进行解密处理,得到第三标识,若第一标识与第三标识相同,则将DNS响应报文中的目标IP地址发送给用户端。通过本申请实施例提供的技术方案,在域名解析过程中,DNS中的第一服务器和第二服务器间的通信遵循预设的规则,也就是第二服务器在接收到第一服务器发送的包括第一标识的DNS请求报文后,第二服务器可以对第一标识进行加密处理,并向第一服务器发送包括加密处理后的第一标识的DNS响应报文。第一服务器对接收到的DNS响应报文中的经加密处理后的第一标识进行相应的解密处理,得到第一标识,从而确定该DNS响应报文是第二服务器发送的,并不是其他服务器伪造的,得到目标域名对应的目标IP地址。这有效地对DNS缓存投毒攻击进行了防御,大大降低了目标IP地址出现错误的概率,提高了域名解析的准确性,降低了网络安全隐患。
当然,实施本申请的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为域名解析过程的一种示意图;
图2为本申请实施例提供的域名解析方法的第一种流程示意图;
图3为本申请实施例提供的域名解析方法的第二种流程示意图;
图4为本申请实施例提供的域名解析方法的第三种流程示意图;
图5为本申请实施例提供的域名解析方法的第四种流程示意图;
图6为本申请实施例提供的域名解析方法的第五种流程示意图;
图7为本申请实施例提供的域名解析过程的一种信令图;
图8为本申请实施例提供的域名解析装置的第一种结构示意图;
图9为本申请实施例提供的域名解析装置的第二种结构示意图;
图10为本申请实施例提供的第一服务器的一种装置结构示意图;
图11为本申请实施例提供的第二服务器的一种装置结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
如图1所示,图1为域名解析过程的一种示意图。第一服务器103分别与用户端102以及第二服务器104通信连接。第二服务器104还可以与其他服务器(图1中未示出)通信连接。其他用户端105可以分别与第一服务器103以及第二服务器104通信连接。其中,第一服务器103、第二服务器104以及其他服务器均属于DNS服务器,用于对DNS请求报文中的域名进行解析得到与域名对应的IP地址。在域名解析过程中,用户101可以向用户端102输入某一应用程序或某一网址的域名,如域名1。用户端102根据接收到的域名1,向第一服务器103发送包括域名1的DNS请求报文。第一服务器103根据接收到的DNS请求报文确定本地是否存在与域名1对应的IP地址。若存在,则第一服务器103可以利用DNS响应报文,将域名1对应的IP地址发送给用户端102。若不存在,则第一服务器103可以将接收到的DNS请求报文转发给第二服务器104。第二服务器104根据接收到的DNS请求报文确定是否存在与域名1对应的IP地址。若存在,则第二服务器104可以利用DNS响应报文,将域名1对应的IP地址发送给第一服务器103,第一服务器103将接收到的DNS响应报文转发给用户端102。若不存在,则第二服务器104可以将接收到的DNS请求报文转发给其他服务器,通过迭代访问DNS中的每一DNS服务器,直至确定域名1对应的IP地址,并利用DNS响应报文将该IP地址发送给用户端102。
然而在DNS缓存投毒攻击过程中,其他用户端105向第一服务器103、第二服务器104以及其他服务器发送伪造的DNS响应报文,该伪造的DNS响应报文中与域名对应的IP地址可能为其他应用程序或网络对应的IP地址。这将导致第一服务器103或第二服务器104域名解析得到的IP地址出现错误,用户端102在接收到IP地址,并对该IP地址进行访问时,将无法访问用户想要访问的应用程序或网址。
为了解决现有域名解析过程中存在的安全隐患,本申请实施例提供了一种域名解析方法。该方法中,DNS中的第一服务器接收用户端发送的第一DNS请求报文,该第一DNS请求报文包括目标域名,基于预设的算法,确定第一DNS请求报文对应的第一标识,向第二服务器发送第二DNS请求报文,该第二DNS请求报文包括目标域名和第一标识。第二服务器在接收到第二DNS请求报文后,获取目标域名对应的目标IP地址,对第二DNS请求报文中的第一标识进行加密处理,得到第二标识,向第一服务器发送DNS响应报文,该DNS响应报文包括第二标识和目标IP地址。第一服务器接收第二服务器发送的DNS响应报文,并对DNS响应报文中的第二标识进行解密处理,得到第三标识,若第一标识与第三标识相同,则将DNS响应报文中的目标IP地址发送给用户端。
通过本申请实施例提供的方法,在域名解析过程中,DNS中的第一服务器和第二服务器间的通信遵循预设的规则,也就是第二服务器在接收到第一服务器发送的包括第一标识的DNS请求报文后,第二服务器可以对第一标识进行加密处理,并向第一服务器发送包括加密处理后的第一标识的DNS响应报文。第一服务器对接收到的DNS响应报文中的经加密处理后的第一标识进行相应的解密处理,得到第一标识,从而确定该DNS响应报文是第二服务器发送的,并不是其他服务器伪造的,得到目标域名对应的目标IP地址。这有效地对DNS缓存投毒攻击进行了防御,大大降低了目标IP地址出现错误的概率,提高了域名解析的准确性,降低了网络安全隐患。
下面通过具体的实施例,对本申请实施例进行说明。
如图2所示,图2为本申请实施例提供的域名解析方法的第一种流程示意图。该方法应用于DNS的第一服务器,如图1所示的本地服务器103,具体包括以下步骤。
步骤S201,接收用户端发送的第一DNS请求报文,该第一DNS请求报文包括目标域名。
在本步骤中,用户在访问某一应用程序或网址时,可以向用户端输入该应用程序或网址对应的目标域名。用户端根据用户输入的目标域名,向DNS中的第一服务器发送第一DNS请求报文。该第一DNS请求报文包括目标域名。第一服务器接收用户端发送的第一DNS请求报文。
步骤S202,基于预设的算法,确定第一DNS请求报文对应的第一标识。
在本步骤中,第一服务器在接收到第一DNS请求报文后,可以基于预设的算法,确定该第一DNS请求报文对应的第一标识。其中,第一标识可以为IP地址,也可以为由字母、数字等构成的标识。
一个实施例中,当第一标识为IP地址时,一个示例中,第一服务器可以随机生成第一标识。例如,第一服务器在接收到一DNS请求报文后,可以随机生成一IP地址1,作为第一标识。第一服务器在接收到另一DNS请求报文后,可以随机生成一IP地址2,作为第一标识。第一服务器接收到不同的DNS请求报文,生成的第一标识不同。这增加了攻击者窃取到第一标识的难度,提高了网络的安全性。另一个示例中,第一服务器可以从预设IP地址列表中随机选取一IP地址,作为第一标识。第一服务器接收到不同的DNS请求报文,选取的第一标识不同。这增加了攻击者窃取到第一标识的难度,提高了网络的安全性。
另一个实施例中,当第一标识为字母、数字等构成的标识时,第一服务器可以对不同的字母以及数字等随机进行排列组合,得到第一标识。例如A1,C5等。
一个可选的实施例中,在基于预设的算法,确定第一DNS请求报文对应的第一标识之后,第一服务器可以根据第一DNS请求报文中的目标域名,以及确定的第一标识,生成目标域名与第一标识的对应关系,并将该对应关系存储到对应关系列表中。如表1所示,表1为本申请实施例提供的对应关系列表。
表1
序列号(Sequence ID) | 目标域名 | 第一标识 |
1 | 域名1 | 地址1 |
2 | 域名2 | 地址2 |
… | … | … |
在上述表1中,域名1对应的第一标识为地址1,域名2对应的第一标识为地址2。Sequence ID为将目标域名和第一标识的对应关系存储到对应关系列表时,第一服务器为该对应关系分配的编号。
步骤S203,向第二服务器发送第二DNS请求报文,该第二DNS请求报文包括目标域名和第一标识,以使第二服务器获取目标域名对应的目标IP地址,对第二DNS请求报文中的第一标识进行加密处理,得到第二标识,向第一服务器发送DNS响应报文,该DNS响应报文包括第二标识和目标IP地址。
在本步骤中,第一服务器可以向第二服务器发送包括上述目标域名和第一标识的第二DNS请求报文。第二服务器在接收该第二DNS请求报文后,获取目标域名对应的目标IP地址,并对第二DNS请求报文中的第一标识进行加密处理,得到第二标识。第二服务器向第一服务器发送包括第二标识和目标IP地址的DNS响应报文。
一个实施例中,第一服务器在向第二服务器发送第二DNS请求报文时,第一服务器可以在第一DNS请求报文的预设位置处添加上述第一标识,并将携带有第一标识的第一DNS请求报文作为第二DNS请求报文转发给第二服务器。
另一个实施例中,第一服务器在向第二服务器发送第二DNS请求报文时,该第二DNS请求报文中除了可以包括上述第一标识和目标域名以外,还可以包括上述表1中的Sequence ID。
一个可选的实施例中,上述预设位置可以为DNS请求报文的IP记录路由选项的预设位置处。该IP记录路由选项为DNS请求报文中用于记录路由信息的字段,该字段中的信息不会随着报文的流转发生改变。以表2为例进行说明,表2为本申请实施例提供的IP记录路由选项。
表2
Code | Len | PTR | IP addr#1 | IP addr#2 | IP addr#3 | … | IP addr#9 | 00 |
在表2中,Code用于指示IP记录路由选项的类型,Len用于指示IP记录路由选项的总字节长度,PTR为指针字段,PTR用于指明下一个记录的IP地址的位置,IP addr#1-IPaddr#9为记录的具体路由IP地址。其中,每个记录路由可以占4位(bit,也称比特),IP记录路由选项中最多记录9个路由IP地址,00为默认填充字段。
一个实施例中,以第一服务器确定的第一标识为1.1.1.1为例进行说明。第一服务器可以将上述表2中IP addr#9所在的位置设置为上述预设位置。第一服务器在确定第一标识为1.1.1.1后,可以将1.1.1.1记录到第一DNS报文的IP记录路由选项的IP addr#9处。此时,第一DNS请求报文的IP记录路由选项如表3所示。
表3
Code | Len | PTR | IP addr#1 | IP addr#2 | IP addr#3 | … | 1.1.1.1 | 00 |
上述预设位置也可以为IP记录路由选项中IP addr#1-IP addr#9中任意一个或多个位置处。例如,预设位置可以为IP addr#1所在位置处。再例如,第一服务器获取的第一标识的长度为8bit,则预设位置可以为IP addr#8和IP addr#9所在的位置等。在本申请实施例中,对上述预设位置不作具体限定。
另一个实施例中,以第一服务器确定的第一标识为字母构成的标识A为例进行说明。字母A对应的美国信息交换标准代码(American Standard Code for InformationInterchange,ASCLL)为65,65对应的二进制数为1000001。第一服务器可以将1000001存储在上述IP记录路由选项中的预设位置处。
上述第二服务器对第二DNS请求报文中的第一标识的加密处理过程,具体可以参见下文,在此,对加密处理过程不作具体说明。
步骤S204,接收第二服务器发送的DNS响应报文,并对DNS响应报文中的第二标识进行解密处理,得到第三标识。
在本步骤中,第一服务器可以接收到第二服务器发送的DNS响应报文,从接收到的DNS响应报文的预设位置处提取的第二标识,并对该DNS响应报文中的第二标识进行解密处理,得到第三标识。
在本申请实施例中,第二服务器对第一标识的加密方法,以及第一服务器对第二标识的解密方法是相互对应的。在此,对加密方法或解密方法不作具体限定。
步骤S205,若第一标识和第三标识相同,则将DNS响应报文中的目标IP地址发送给用户端。
在本步骤中,第一服务器可以比较解密处理得到的第三标识与上述确定的第一标识。根据比较结果,第一服务器可以确定第三标识与第一标识是否相同。在第一标识与第三标识相同时,第一服务器可以确定接收到的DNS响应报文为第二DNS请求报文对应的DNS响应报文。第一服务器可以将接收到的DNS响应报文中目标域名对应的目标IP地址发送给用户端。例如,在确定第一标识与第三标识相同时,第一服务器可以将包括目标IP地址的DNS响应报文转发给用户端。
一个可选的实施例中,根据第一服务器中存储的目标域名和第一标识的对应关系,第一服务器可以检测是否存在解密得到的第三标识的对应关系,也就是检测是否存在与第三标识对应的目标域名。若存在,则第一服务器可以确定第一标识与第三标识相同。若不存在,则第一服务器可以确定第一标识与第三标识不相同。
另一个可选的实施例中,为了进一步提高域名解析的准确性,降低安全隐患,上述第二DNS请求报文和DNS响应报文中还可以包括上述表1中的Sequence ID和目标域名。在确定第一标识与第三标识是否相同时,若DNS响应报文中的Sequence ID、目标域名以及解密得到的第三标识,与上述表1中记录的Sequence ID、目标域名以及第一标识均相同,则第一服务器可以确定第一标识与第三标识相同。反之,若不均相同,则第一服务器可以确定第一标识与第三标识不相同。在此,对第一标识与第三标识不相同的情况不作具体说明。
一个可选的实施例中,若确定第一标识与第三标识不相同,则第一服务器可以确定接收到的DNS响应报文为其他设备发送的伪造的DNS响应报文,如图1中其他用户端105发送给第一服务器103的伪造的DNS响应报文,第一服务器可以丢弃该DNS响应报文。
一个可选的实施例中,第一服务器在丢弃接收到的DNS响应报文后,可以向用户端发送指示DNS响应报文被丢弃的提示消息。例如,提示消息可以为“该域名不存在”、“域名错误”、“域名解析失败”、“请求失败”等。
综上所述,采用本申请实施例提供的方法,在域名解析过程中,DNS中的第一服务器和第二服务器间的通信遵循预设的规则,也就是第二服务器在接收到第一服务器发送的包括第一标识的DNS请求报文后,第二服务器可以对第一标识进行加密处理,并向第一服务器发送包括加密处理后的第一标识的DNS响应报文。第一服务器对接收到的DNS响应报文中的经加密处理后的第一标识进行相应的解密处理,得到第一标识,从而确定该DNS响应报文是第二服务器发送的,并不是其他服务器伪造的,得到目标域名对应的目标IP地址。这有效地对DNS缓存投毒攻击进行了防御,大大降低了目标IP地址出现错误的概率,提高了域名解析的准确性,降低了网络安全隐患。
一个可选的实施例中,根据图2所示的域名解析方法,本申请实施例还提供了一种域名解析方法。如图3所示,图3为本申请实施例提供的域名解析方法的第二种流程示意图。该方法应用与DNS中的第一服务器,具体包括以下步骤。
步骤S301,接收用户端发送的第一DNS请求报文,该第一DNS请求报文包括目标域名。
上述步骤S301与上述步骤S201相同。
步骤S302,根据第一DNS请求报文中的目标域名,检测是否存在目标域名与IP地址的对应关系。若是,则执行步骤S303。若否,则执行步骤S304。
在本步骤中,第一服务器在接收到上述第一DNS请求报文后,第一服务器可以根据第一DNS请求报文中的目标域名,以及第一服务器的缓存空间中缓存的域名与IP地址的对应关系,检测是否存在上述目标域名与IP地址的对应关系,也就是检测第一服务器的本地中是否存在目标域名对应的目标IP地址。第一服务器的缓存空间中缓存的域名与IP地址的对应关系,并不是如表1所示的目标域名与第一标识的对应关系。
步骤S303,将目标域名对应的IP地址确定为目标IP地址,并将目标IP地址发送给用户端。
在本步骤中,当第一服务器的缓存空间中存在目标域名与IP地址的对应关系时,也就是存在目标域名对应的目标IP地址时,第一服务器可以将目标域名对应的IP地址确定为目标IP地址,并将该目标IP地址发送给用户端。这提高了用户端获取到目标IP地址效率。关于目标IP地址的发送方法可以参照上述步骤S205。
步骤S304,基于预设的算法,确定第一DNS请求报文对应的第一标识。
在本步骤中,当缓存空间中不存在目标域名与IP地址的对应关系时,也就是不存在目标域名对应的目标IP地址时,第一服务器可以基于预设的算法,确定第一DNS请求报文对应的第一标识。关于第一标识的确定方法可以参见上述步骤S202。
步骤S305,向第二服务器发送第二DNS请求报文,该第二DNS请求报文包括目标域名和第一标识,以使第二服务器获取目标域名对应的目标IP地址,对第二DNS请求报文中的第一标识进行加密处理,得到第二标识,向第一服务器发送DNS响应报文,该DNS响应报文包括第二标识和目标IP地址。
步骤S306,接收第二服务器发送的DNS响应报文,并对DNS响应报文中的第二标识进行解密处理,得到第三标识。
步骤S307,若第一标识和第三标识相同,则将DNS响应报文中的目标IP地址发送给用户端。
上述步骤S305-步骤S307与上述步骤S203-步骤S205相同。
一个可选的实施例中,第一服务器在确定第一标识与上述第三标识相同后,可以提取上述DNS响应报文中的目标域名与目标IP地址,生成目标域名与目标IP地址的对应关系,并将该对应关系更新到上述缓存空间中,使得第一服务器中域名与IP地址的对应关系更加准确,缩短域名解析过程的时间,提高域名解析的效率。
根据图3提供的域名解析方法,第一服务器在接收用户端发送的第一DNS请求报文后,可以根据第一DNS请求报文中的目标域名,检测缓存空间中是否存储有该目标域名对应的IP地址。从而在缓存空间中存在目标域名对应的IP地址时,第一服务器可以直接将该IP地址作为目标IP地址发送给用户端,缩短的目标IP地址确定的时间,提高了域名解析的效率。
一个可选的实施例中,根据图2所示的域名解析方法,本申请实施例还提供了一种域名解析方法。如图4所示,图4为本申请实施例提供的域名解析方法的第三种流程示意图。该方法应用于DNS的第一服务器,具体包括以下步骤。
步骤S401,接收用户端发送的第一DNS请求报文,该第一DNS请求报文包括目标域名。
步骤S402,基于预设的算法,确定第一DNS请求报文对应的第一标识。
上述步骤S401-步骤S402与上述步骤S201-步骤S202相同。
步骤S403,向第二服务器发送携带预设标识的第二DNS请求报文,以使第二服务器在确定接收到的第二DNS请求报文携带有预设标识时,对第二DNS请求报文中的第一标识进行加密处理,得到第二标识,向第一服务器发送携带预设标识的DNS响应报文。
在本步骤中,第一服务器可以向第二服务器发送携带有预设标识的第二DNS请求报文。第二服务器在接收到第二DNS请求报文,且确定该第二DNS请求报文中携带有预设标识时,第二服务器可以对该第二DNS请求报文中的第一标识进行加密处理,得到第二标识。第二服务器可以向第一服务器发送携带预设标识的DNS响应报文。
一个可选的实施例中,上述预设标识可以为1。例如,第一服务器可以将第二DNS报文中的标志flag置1,并将flag为1的第二DNS请求报文发送给第二服务器。第二服务器在确定接收到的第二DNS请求报文的flag为1时,可以确定需要对第二DNS请求报文中预设位置处的第一标识进行加密处理。
在本申请实施例中,对于第二DNS请求报文中携带的预设标识,可以根据业务需求、网络环境的安全系数以及用户需求等确定第二DNS请求报文中是否需要携带预设标识。也就是根据业务需求、网络环境的安全系数以及用户需求等确定是否开启DNS缓存投毒攻击防护。
下面以flag为0指示不开启DNS缓存投毒攻击防护,flag为1开启DNS缓存投毒攻击防护为例进行说明。
一个实施例中,根据业务需求或用户需求,用户可以利用其它设备或其它用户端向第一服务器发送需要进行DNS缓存投毒攻击防护操作指令。DNS请求报文中的flag默认为0,当第一服务器在接收到该操作指令时,可以将第二DNS请求报文的flag置1。
另一个实施例中,第一服务器可以检测用户端的网络环境安全系数,或者从其他设备处获取用户端的网络环境安全系数,根据该网络环境安全系数确定是否将第二DNS请求报文中的flag置1。例如,用户端的当前网络环境为用户经常使用的家庭网络,此时,网络环境安全系数较高,第一服务器可以不将第二DNS请求报文中的flag置1,也就是flag默认为0。再例如,用户端的当前网络环境为一公共网络,如网吧或公交车上的无线网络等,此时,网络安全系数较低,第一服务器可以将第二DNS请求报文中的flag置1。
一个可选的实施例中,当第二DNS请求报文中不包括上述预设标识,也就是第二DNS请求报文中的flag为0时,第二DNS请求报文中可以不包括上述第一标识,第二服务器在接收到第二DNS请求报文后不需要执行对第二DNS请求报文中的第一标识进行加密处理的过程,也就是第一服务器和第二服务器按照现有域名解析过程对上述目标域名进行解析。
步骤S404,若DNS响应报文包括预设标识,则对DNS响应报文中的第二标识进行解密处理,得到第三标识。
在本步骤中,第一服务器在接收到第二服务器发送的DNS响应报文后,可以确定该DNS响应报文中是否包含预设标识。在确定DNS响应报文中包括预设标识时,第一服务器可以对DNS响应报文中的第二标识进行解密处理,得到第三标识。
一个可选的实施例中,第一服务器在确定DNS响应报文不包括上述预设标识时,第一服务器可以确定接收到的DNS响应报文不是第二DNS请求报文对应的响应报文。此时,第一服务器可以丢弃接收到的DNS响应报文。
具体的,第一服务器向第二服务器发送的第二DNS请求报文中包括预设标识。若第一服务器接收到的DNS响应报文中不包括预设标识,则第一服务器可以确定该DNS响应报文并不是第二服务器发送的,而是由其他设备发送的伪造的DNS响应报文。此时,第一服务器可以确定接收到的DNS响应报文不是第二DNS请求报文对应的DNS响应报文,即接收到的DNS响应报文为伪造的DNS响应报文,第一服务器可以丢弃接收到的DNS响应报文。
步骤S405,若第一标识和第三标识相同,则将DNS响应报文中的目标IP地址发送给用户端。
上述步骤S405与上述步骤S205相同。
根据图4提供的域名解析方法,第一服务器根据业务需求、网络环境的安全系数以及用户需求等确定在第二DNS请求报文中携带预设标识,从而使得第二服务器在接收到该第二DNS请求后,对携带预设标识的第二DNS请求报文中的第一标识进行加密处理,也就是开启DNS缓存投毒攻击防护;对未携带预设标识第二DNS请求,不执行加密处理过程,也就是不进行安全防护。这使得在域名解析时,对域名解析的方法更加灵活。
基于同一种发明构思,根据上述本申请实施例提供的域名解析方法,本申请实施例还提供了一种域名解析方法。如图5所示,图5为本申请实施例提供的域名解析方法的第四种流程示意图。该方法应用于DNS中的第二服务器,具体包括以下步骤。
步骤S501,接收第一服务器发送的第二DNS请求报文,该第二DNS请求报文包括目标域名和第一标识,该第一标识为第一服务器在接收到用户端发送的第一DNS请求报文后,基于预设的算法确定的,该第一DNS请求报文包括目标域名。
在本步骤中,第二服务器接收第一服务器发送的包括目标域名和第一标识的第二DNS请求报文。
一个实施例中,第一服务器在接收到用户端发送的第一DNS请求报文后,可以基于预设的算法,确定该第一DNS请求报文对应的第一标识,并向第二服务器发送包括目标域名和第一标识的第二DNS请求报文。其中,第一DNS请求报文中包括目标域名。
另一个实施例中,第一服务器在根据接收到用户端发送的第一DNS请求报文,确定第一服务器的缓存空间中不存在第一DNS请求报文中的目标域名对应的IP地址后,第一服务器可以基于预设的算法,确定该第一DNS请求报文对应的第一标识,并向第二服务器发送包括目标域名和第一标识的第二DNS请求报文。
步骤S502,对第二DNS请求报文中的第一标识进行加密处理,得到第二标识。
在本步骤中,第二服务器可以在第二DNS请求报文的预设位置处提取得到第一标识,并对提取到的第一标识进行加密处理,得到第二标识。
一个实施例中,第二服务器可以采用加密算法对第一标识进行加密处理,得到第二标识。在此,对加密算法不作具体限定。
另一个实施例中,第二服务器可以对第一标识进行一定的运算处理,并将运算后的IP地址确定为第二标识。例如,第二服务器可以对第一标识进行求反运算,如第一标识为7.7.7.7,十进制数7对应的二进制数为0111,对0111进行求反运算,得到的二进制数为1000=8,也就是对第一标识7.7.7.7进行求反后得到的第二标识为8.8.8.8。再例如,第二标识可以为第一标识与一预设IP地址之间的和或差。如第一标识为1.1.1.1,预设IP地址为4.3.5.1,则第二IP地可以为(1+4).(1+3).(1+5).(1+1),也就是5.4.6.2。
在本申请实施例中,根据第二服务器对第一标识加密时所采用的加密方法,第一服务器可以采用相应的解密方法对DNS响应报文中的第二标识进行解密处理,得到第三标识。例如,第二服务器通过对第一标识进行求反处理得到第二标识。第一服务器可以在对DNS响应报文中的第二标识进行求反处理得到第三标识。
步骤S503,获取目标域名对应的目标IP地址。
在本步骤中,第二服务器可以获取目标域名对应的目标IP地址。
一个实施例中,第二服务器可以根据缓存空间,即第二服务器的缓存空间中存储的域名与IP地址的对应关系,确定缓存空间中是否存在目标域名对应的IP地址。若存在,则第二服务器可以从缓存空间中获取该IP地址,作为目标IP地址。
另一个实施例中,在确定第二服务器的缓存空间中不存在目标域名对应的IP地址时,第二服务器可以将第二DNS请求报文转发给其他服务器,并接收其他服务器发送的DNS响应报文。第二服务器提取接收到的DNS响应报文中包括的目标域名对应的目标IP地址。其中,其他服务器为DNS中的其他DNS服务器,该其他服务器与第二服务器通讯连接。
步骤S504,向第一服务器发送DNS响应报文,该DNS响应报文包括第二标识和目标IP地址,以使第一服务器在接收到DNS响应报文后,对DNS响应报文中的第二标识进行解密处理,得到第三标识,并在第一标识与第三标识相同时,将DNS响应报文中的目标IP地址发送给用户端。
在本步骤中,第二服务器可以向第一服务器发送包括第二标识和目标IP地址的DNS响应报文。第一服务器在接收到该DNS响应报文后,可以对该DNS响应报文中的第二标识进行解密处理,得到第三标识。第一服务器在确定第一标识与第三标识相同时,第一服务器可以将DNS响应报文中目标IP地址。
在本申请实施例中,对上述步骤S502和步骤S503的执行顺序不作具体限定。
根据图5所示的域名解析方法,在域名解析过程中,DNS中的第一服务器和第二服务器间的通信遵循预设的规则,也就是第二服务器在接收到第一服务器发送的包括第一标识的DNS请求报文后,第二服务器可以对第一标识进行加密处理,并向第一服务器发送包括加密处理后的第一标识的DNS响应报文。第一服务器对接收到的DNS响应报文中的经加密处理后的第一标识进行相应的解密处理,得到第一标识,从而确定该DNS响应报文是第二服务器发送的,并不是其他服务器伪造的,得到目标域名对应的目标IP地址。这有效地对DNS缓存投毒攻击进行了防御,大大降低了目标IP地址出现错误的概率,提高了域名解析的准确性,降低了网络安全隐患。
一个可选的实施例中,根据图5所示的域名解析方法,本申请实施例还提供了一种域名解析方法。如图6所示,图6为本申请实施例提供的域名解析方法的第五种流程示意图。该方法应用于DNS的第二服务器,具体包括以下步骤。
步骤S601,接收第一服务器发送的第二DNS请求报文,该第二DNS请求报文包括目标域名和第一标识,该第一标识为第一服务器在接收到用户端发送的第一DNS请求报文后,基于预设的算法确定的,该第一DNS请求报文包括目标域名。
步骤S602,确定第二DNS请求报文中是否包括预设标识。若是,则执行步骤S603。
在本步骤中,第二服务器可以确定第二DNS请求报文中是否包括预设标识,也就是第二服务器检测DNS请求中是否携带预设标识,从而确定是否需要对预设位置处的第一标识进行加密处理。
步骤S603,对第二DNS请求报文中的第一标识进行加密处理,得到第二标识。
在本步骤中,在确定第二DNS请求报文中包括上述预设标识时,第二服务器可以对第二DNS请求的预设位置处的第一标识进行加密处理,得到第二标识。
一个可选的实施例中,当确定第二DNS请求报文中不包括预设标识时,第二服务器可以确定不需要对预设位置处的第一标识进行加密处理。此时,在预设位置处可能不存在第一标识,也可能存在第一标识。
步骤S604,获取目标域名对应的目标IP地址。
上述步骤S604与上述步骤S503相同。
步骤S605,向第一服务器发送DNS响应报文,该DNS响应报文包括第二标识和目标IP地址,以使第一服务器在接收到DNS响应报文后,对DNS响应报文中的第二标识进行解密处理,得到第三标识,并在第一标识与第三标识相同时,将DNS响应报文中的目标IP地址发送给用户端。
在本步骤中,第二服务器可以向第一服务器发送携带预设标识的DNS响应报文。第一服务器在接收到该DNS响应报文后,根据该DNS响应报文中包括的预设标识,确定需要对预设位置处的第二标识进行解密处理,得到第二标识,并在第一标识与第三标识相同时,将DNS响应报文中的目标IP地址发送给用户端。
根据图6所示的域名解析方法,第二服务器在检测到第二DNS请求报文中包括预设标识时,才对第二DNS请求报文中预设位置处的IP地址进行加密处理,从而可以根据业务需求、网络环境、用户需求等灵活的调整域名解析方法,提高了域名解析的灵活性和准确性,降低了网络安全隐患。
为方便理解,下面以图7为例进行说明,图7为本申请实施例提供的域名解析过程的一种信令图。第一服务器702分别与用户端701和第二服务器703通信连接。
用户端701在接收到用户输入的目标域名后,用户端701可以向第一服务器702发送第一DNS请求报文。该第一DNS请求报文中包括目标域名。
第一服务器702在接收到上述第一DNS请求报文后,可以在缓存空间中确定是否存在目标域名对应的目标IP地址。
若第一服务器702的缓存空间中存在目标IP地址,则第一服务器702可以将该目标IP地址发送给用户端701,也就是向用户端701发送包括目标IP地址的DNS响应报文。
若第一服务器702的缓存空间中不存在目标IP地址,则第一服务器702可以基于预设的算法,确定第一DNS请求报文度对应的第一标识,并向第二服务器703发送第二DNS请求报文。该第二DNS请求报文中的包括第一标识和目标域名。
第二服务器703在接收到上述第二DNS请求报文后,第二服务器703可以获取目标域名对应的目标IP地址。
当第二DNS请求报文中不包括预设标识时,如flag为0时,第二服务器703可以向第一服务器702发送DNS响应报文,该DNS响应报文中包括目标域名对应的目标IP地址。第一服务器702将接收到的DNS响应报文转发给用户端701。
当第二DNS请求报文中包括预设标识时,如flag为1时,第二服务器703可以对第二DNS请求报文的预设位置处的第一标识进行加密处理,得到第二标识,并向第一服务器702发送DNS响应报文。该DNS响应报文包括目标IP地址、第二标识以及预设标识。
第一服务器702在接收到DNS响应报文后,若该DNS响应报文不包括预设标识,如flag为0,则第一服务器702可以丢弃该DNS响应报文。若该DNS响应报文包括预设标识,如flag为1,则第一服务器702可以对该DNS响应报文的预设位置处的IP地址进行解密处理,得到第三标识。
第一服务器702确定第一标识和第三标识是否相同。若不相同,则丢弃该DNS响应报文。若相同,则向用户端701发送DNS响应报文。该DNS响应报文包括目标域名对应的目标IP地址。
基于同一种发明构思,根据上述本申请实施例提供的域名解析方法,本申请实施例还提供了一种域名解析装置。如图8所示,图8为本申请实施例提供的域名解析装置的第一种结构示意图。该装置应用于DNS中的第一服务器,具体包括以下模块。
第一接收模块801,用于接收用户端发送的第一DNS请求报文,该第一DNS请求报文包括目标域名。
第一确定模块802,用于基于预设的算法,确定第一DNS请求报文对应的第一标识。
第一发送模块803,用于向第二服务器发送第二DNS请求报文,该第二DNS请求报文包括目标域名和第一标识,以使第二服务器获取目标域名对应的目标IP地址,对第二DNS请求报文中的第一标识进行加密处理,得到第二标识,向第一服务器发送DNS响应报文,该DNS响应报文包括第二标识和目标IP地址。
解密模块804,用于接受第二服务器发送的DNS响应报文,并对DNS响应报文中的第二标识进行解密处理,得到第三标识。
第二发送模块805,用于在第一标识和第三标识相同时,将DNS响应报文中的目标IP地址发送给用户端。
可选的,上述第一发送模块803,具体可以用于向第二服务器发送携带预设标识的第二DNS请求报文,以使第二服务器在确定接收到的第二DNS请求报文携带有预设标识时,对第二DNS请求报文中的第一标识进行加密处理,得到第二标识,向第一服务器发送携带预设标识的DNS响应报文。
上述解密模块804,具体可以用于在DNS响应报文包括预设标识时,对第二标识进行解密处理,得到第三标识。
可选的,上述域名解析装置还可以包括:
丢弃模块,用于在DNS响应报文不包括预设标识时,丢弃DNS响应报文。
基于同一种发明构思,根据上述本申请实施例提供的域名解析方法,本申请实施例还提供了一种域名解析装置。如图9所示,图9为本申请实施例提供的域名解析装置的第二种结构示意图。该装置应用于DNS中的第二服务器,具体包括以下模块。
第二接收模块901,用于接收第一服务器发送的第二DNS请求报文,该第二DNS请求报文包括目标域名和第一标识,该第一标识为第一服务器在接收到用户端发送的第一DNS请求报文后,基于预设的算法确定的,该第一DNS请求报文包括目标域名。
加密模块902,用于对第二DNS请求报文中的第一标识进行加密处理,得到第二标识。
获取模块903,用于获取目标域名对应的目标IP地址。
第四发送模块904,用于向第一服务器发送DNS响应报文,该DNS响应报文包括第二标识和目标IP地址,以使第一服务器在接收到DNS响应报文后,对DNS响应报文中的第二标识进行解密处理,得到第三标识,并在第一标识与第三标识相同时,将DNS响应报文中的目标IP地址发送给用户端。
可选的,上述域名解析装置还可以包括:
第二确定模块,用于确定第二DNS请求报文中是否包括预设标识。
上述加密模块902,具体可以用于在第二DNS请求报文包括预设标识时,对第二DNS请求报文中的第一标识进行加密处理,得到第二标识。
上述第四发送模块904,具体可以用于向第一服务器发送携带预设标识的DNS响应报文。
通过本申请实施例提供的装置,在域名解析过程中,DNS中的第一服务器和第二服务器间的通信遵循预设的规则,也就是第二服务器在接收到第一服务器发送的包括第一标识的DNS请求报文后,第二服务器可以对第一标识进行加密处理,并向第一服务器发送包括加密处理后的第一标识的DNS响应报文。第一服务器对接收到的DNS响应报文中的经加密处理后的第一标识进行相应的解密处理,得到第一标识,从而确定该DNS响应报文是第二服务器发送的,并不是其他服务器伪造的,得到目标域名对应的目标IP地址。这有效地对DNS缓存投毒攻击进行了防御,大大降低了目标IP地址出现错误的概率,提高了域名解析的准确性,降低了网络安全隐患。
基于同一种发明构思,根据上述本申请实施例提供的域名解析方法,本申请实施例还提供了一种第一服务器,如图10所示,包括处理器1001和机器可读存储介质1002,机器可读存储介质1002存储有能够被处理器1001执行的机器可执行指令。
另外,如图10所示,电子设备还可以包括:通信接口1003和通信总线1004;其中,处理器1001、机器可读存储介质1002、通信接口1003通过通信总线1004完成相互间的通信,通信接口1003用于上述电子设备与其他设备之间的通信。
处理器1001被机器可执行指令促使实现如下步骤:
接收用户端发送的第一DNS请求报文,第一DNS请求报文包括目标域名;
基于预设的算法,确定第一DNS请求报文对应的第一标识;
向第二服务器发送第二DNS请求报文,该第二DNS请求报文包括目标域名和第一标识,以使第二服务器获取目标域名对应的目标IP地址,对第二DNS请求报文中的第一标识进行加密处理,得到第二标识,向第一服务器发送DNS响应报文,该DNS响应报文包括第二标识和目标IP地址;
接收第二服务器发送的DNS响应报文,并对DNS响应报文中的第二标识进行解密处理,得到第三标识;
若第一标识和第三标识相同,则将DNS响应报文中的目标IP地址发送给用户端。
通过本申请实施例提供的第一服务器,在域名解析过程中,DNS中的第一服务器和第二服务器间的通信遵循预设的规则,也就是第二服务器在接收到第一服务器发送的包括第一标识的DNS请求报文后,第二服务器可以对第一标识进行加密处理,并向第一服务器发送包括加密处理后的第一标识的DNS响应报文。第一服务器对接收到的DNS响应报文中的经加密处理后的第一标识进行相应的解密处理,得到第一标识,从而确定该DNS响应报文是第二服务器发送的,并不是其他服务器伪造的,得到目标域名对应的目标IP地址。这有效地对DNS缓存投毒攻击进行了防御,大大降低了目标IP地址出现错误的概率,提高了域名解析的准确性,降低了网络安全隐患。
上述通信总线1004可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(Extended Industry Standard Architecture,扩展工业标准结构)总线等。该通信总线1004可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
机器可读存储介质1002可以包括RAM(Random Access Memory,随机存取存储器),也可以包括NVM(Non-Volatile Memory,非易失性存储器),例如至少一个磁盘存储器。另外,机器可读存储介质1002还可以是至少一个位于远离前述处理器的存储装置。
上述处理器1001可以是通用处理器,包括CPU(Central Processing Unit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(Digital SignalProcessing,数字信号处理器)、ASIC(Application Specific Integrated Circuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
基于同一种发明构思,根据上述本申请实施例提供的域名解析方法,本申请实施例还提供了一种第二服务器,如图11所示,包括处理器1101和机器可读存储介质1102,机器可读存储介质1102存储有能够被处理器1101执行的机器可执行指令。
另外,如图11所示,电子设备还可以包括:通信接口1103和通信总线1104;其中,处理器1101、机器可读存储介质1102、通信接口1103通过通信总1104完成相互间的通信,通信接口1103用于上述电子设备与其他设备之间的通信。
处理器1101被机器可执行指令促使实现如下步骤:
接收第一服务器发送的第二DNS请求报文,第二DNS请求报文包括目标域名和第一标识,第一标识为第一服务器在接收到用户端发送的第一DNS请求报文后,基于预设的算法确定的,该第一DNS请求报文包括目标域名;
对第二DNS请求报文中的第一标识进行加密处理,得到第二标识;
获取目标域名对应的目标IP地址;
向第一服务器发送DNS响应报文,DNS响应报文包括第二标识和目标IP地址,以使第一服务器在接收到DNS响应报文后,对DNS响应报文中的第二标识进行解密处理,得到第三标识,并在第一标识与第三标识相同时,将DNS响应报文中的目标IP地址发送给用户端。
通过本申请实施例提供的第二服务器,在域名解析过程中,第一服务器和第二服务器间的通信遵循预设的规则,也就是第二服务器在接收到第一服务器发送的包括第一标识的DNS请求报文后,第二服务器可以对第一标识进行加密处理,并向第一服务器发送包括加密处理后的第一标识的DNS响应报文。第一服务器对接收到的DNS响应报文中的经加密处理后的第一标识进行相应的解密处理,得到第一标识,从而确定该DNS响应报文是第二服务器发送的,并不是其他服务器伪造的,得到目标域名对应的目标IP地址。这有效地对DNS缓存投毒攻击进行了防御,大大降低了目标IP地址出现错误的概率,提高了域名解析的准确性,降低了网络安全隐患。
上述通信总线1104可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(Extended Industry Standard Architecture,扩展工业标准结构)总线等。该通信总线1104可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
机器可读存储介质1102可以包括RAM(Random Access Memory,随机存取存储器),也可以包括NVM(Non-Volatile Memory,非易失性存储器),例如至少一个磁盘存储器。另外,机器可读存储介质1102还可以是至少一个位于远离前述处理器的存储装置。
上述处理器1101可以是通用处理器,包括CPU(Central Processing Unit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(Digital SignalProcessing,数字信号处理器)、ASIC(Application Specific Integrated Circuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、第一服务器、第二服务器及机器可读存储介质等实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
Claims (10)
1.一种域名解析方法,其特征在于,应用于域名系统DNS中的第一服务器,所述DNS还包括第二服务器,包括:
接收用户端发送的第一DNS请求报文,所述第一DNS请求报文包括目标域名;
基于预设的算法,确定所述第一DNS请求报文对应的第一标识;
向所述第二服务器发送第二DNS请求报文,所述第二DNS请求报文包括所述目标域名和所述第一标识,以使所述第二服务器获取所述目标域名对应的目标互联网协议IP地址,对所述第二DNS请求报文中的第一标识进行加密处理,得到第二标识,向所述第一服务器发送DNS响应报文,所述DNS响应报文包括所述第二标识和所述目标IP地址;
接收所述第二服务器发送的所述DNS响应报文,并对所述DNS响应报文中的第二标识进行解密处理,得到第三标识;
若所述第一标识和所述第三标识相同,则将所述DNS响应报文中的目标IP地址发送给所述用户端。
2.根据权利要求1所述的方法,其特征在于,所述向所述第二服务器发送第二DNS请求报文的步骤,包括:
向所述第二服务器发送携带预设标识的第二DNS请求报文,以使所述第二服务器在确定接收到的所述第二DNS请求报文携带有所述预设标识时,对所述第二DNS请求报文中的第一标识进行加密处理,得到第二标识,向所述第一服务器发送携带所述预设标识的DNS响应报文;
所述对所述DNS响应报文中的第二标识进行解密处理,得到第三标识的步骤,包括:
若所述DNS响应报文包括所述预设标识,则对所述DNS响应报文中的第二标识进行解密处理,得到第三标识。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若所述DNS响应报文不包括所述预设标识,则丢弃所述DNS响应报文。
4.一种域名解析方法,其特征在于,应用于域名系统DNS中的第二服务器,所述DNS还包括第一服务器,包括:
接收所述第一服务器发送的第二DNS请求报文,所述第二DNS请求报文包括目标域名和第一标识,所述第一标识为所述第一服务器在接收到用户端发送的第一DNS请求报文后,基于预设的算法确定的,所述第一DNS请求报文包括所述目标域名;
对所述第二DNS请求报文中的第一标识进行加密处理,得到第二标识;
获取所述目标域名对应的目标互联网协议IP地址;
向所述第一服务器发送DNS响应报文,所述DNS响应报文包括所述第二标识和所述目标IP地址,以使所述第一服务器在接收到所述DNS响应报文后,对所述DNS响应报文中的第二标识进行解密处理,得到第三标识,并在所述第一标识与所述第三标识相同时,将所述DNS响应报文中的目标IP地址发送给所述用户端。
5.根据权利要求4所述的方法,其特征在于,在接收所述第一服务器发送的第二DNS请求报文之后,还包括:
确定所述第二DNS请求报文中是否包括预设标识;
所述对所述第二DNS请求报文中的第一标识进行加密处理,得到第二标识的步骤,包括:
若包括所述预设标识,则对所述第二DNS请求报文中的第一标识进行加密处理,得到第二标识;
所述向所述第一服务器发送DNS响应报文的步骤,包括:
向所述第一服务器发送携带所述预设标识的DNS响应报文。
6.一种域名解析装置,其特征在于,应用于域名系统DNS中的第一服务器,所述DNS还包括第二服务器,包括:
第一接收模块,用于接收用户端发送的第一DNS请求报文,所述第一DNS请求报文包括目标域名;
第一确定模块,用于基于预设的算法,确定所述第一DNS请求报文对应的第一标识;
第一发送模块,用于向所述第二服务器发送第二DNS请求报文,所述第二DNS请求报文包括所述目标域名和所述第一标识,以使所述第二服务器获取所述目标域名对应的目标互联网协议IP地址,对所述第二DNS请求报文中的第一标识进行加密处理,得到第二标识,向所述第一服务器发送DNS响应报文,所述DNS响应报文包括所述第二标识和所述目标IP地址;
解密模块,用于接收所述第二服务器发送的所述DNS响应报文,并对所述DNS响应报文中的第二标识进行解密处理,得到第三标识;
第二发送模块,用于在所述第一标识和所述第三标识相同时,将所述DNS响应报文中的目标IP地址发送给所述用户端。
7.根据权利要求6所述的装置,其特征在于,所述第一发送模块,具体用于向所述第二服务器发送携带预设标识的第二DNS请求报文,以使所述第二服务器在确定接收到的所述第二DNS请求报文携带有所述预设标识时,对所述第二DNS请求报文中的第一标识进行加密处理,得到第二标识,向所述第一服务器发送携带所述预设标识的DNS响应报文;
所述解密模块,具体用于在所述DNS响应报文包括所述预设标识时,对所述DNS响应报文中的第二标识进行解密处理,得到第三标识。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
丢弃模块,用于在所述DNS响应报文不包括所述预设标识时,丢弃所述DNS响应报文。
9.一种域名解析装置,其特征在于,应用于域名系统DNS中的第二服务器,所述DNS还包括第一服务器,包括:
第二接收模块,用于接收所述第一服务器发送的第二DNS请求报文,所述第二DNS请求报文包括目标域名和第一标识,所述第一标识为所述第一服务器在接收到用户端发送的第一DNS请求报文后,基于预设的算法确定的,所述第一DNS请求报文包括所述目标域名;
加密模块,用于对所述第二DNS请求报文中的第一标识进行加密处理,得到第二标识;
获取模块,用于获取所述目标域名对应的目标互联网协议IP地址;
第四发送模块,用于向所述第一服务器发送DNS响应报文,所述DNS响应报文包括所述第二标识和所述目标IP地址,以使所述第一服务器在接收到所述DNS响应报文后,对所述DNS响应报文中的第二标识进行解密处理,得到第三标识,并在所述第一标识与所述第三标识相同时,将所述DNS响应报文中的目标IP地址发送给所述用户端。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
第二确定模块,用于确定所述第二DNS请求报文中是否包括预设标识;
所述加密模块,具体用于在所述第二DNS请求报文包括所述预设标识时,对所述第二DNS请求报文中的第一标识进行加密处理,得到第二标识;
所述第四发送模块,具体用于向所述第一服务器发送携带所述预设标识的DNS响应报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910611880.9A CN110266832A (zh) | 2019-07-08 | 2019-07-08 | 一种域名解析方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910611880.9A CN110266832A (zh) | 2019-07-08 | 2019-07-08 | 一种域名解析方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110266832A true CN110266832A (zh) | 2019-09-20 |
Family
ID=67925045
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910611880.9A Pending CN110266832A (zh) | 2019-07-08 | 2019-07-08 | 一种域名解析方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110266832A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111049948A (zh) * | 2019-12-30 | 2020-04-21 | 杭州迪普科技股份有限公司 | 域名检测方法和装置 |
CN113194076A (zh) * | 2021-04-16 | 2021-07-30 | 中盈优创资讯科技有限公司 | 一种安全控制器及其实现方法 |
CN115734211A (zh) * | 2021-08-30 | 2023-03-03 | 中移物联网有限公司 | 一种标识解析方法和系统,及存储介质 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101651677A (zh) * | 2009-09-11 | 2010-02-17 | 北京交通大学 | 基于混沌加密算法解决ims网络dns欺骗攻击的方法 |
CN103152443A (zh) * | 2013-03-04 | 2013-06-12 | 北京快网科技有限公司 | 一种基于域名解析技术的可控负载均衡方法 |
CN103825969A (zh) * | 2013-10-29 | 2014-05-28 | 电子科技大学 | 一种基于匿名网络的dns查询方法 |
CN104348924A (zh) * | 2013-07-30 | 2015-02-11 | 深圳市腾讯计算机系统有限公司 | 一种域名解析方法、系统及装置 |
CN104468865A (zh) * | 2014-12-25 | 2015-03-25 | 北京奇虎科技有限公司 | 域名解析控制、响应方法及相应的装置 |
CN105141575A (zh) * | 2015-06-25 | 2015-12-09 | 北京网康科技有限公司 | 加密应用识别和加密网页内容分类方法及装置 |
CN106331215A (zh) * | 2016-08-30 | 2017-01-11 | 常州化龙网络科技股份有限公司 | 数据请求的处理系统及其处理方法 |
CN106357841A (zh) * | 2016-11-02 | 2017-01-25 | 腾讯科技(深圳)有限公司 | 一种域名解析方法、装置和系统 |
CN107070988A (zh) * | 2017-03-06 | 2017-08-18 | 北京安博通科技股份有限公司 | 报文处理方法及装置 |
CN107360269A (zh) * | 2017-07-21 | 2017-11-17 | 中国移动通信集团江苏有限公司 | 域名解析系统优化方法、装置、设备和存储介质 |
CN108476246A (zh) * | 2015-09-25 | 2018-08-31 | 微软技术许可有限责任公司 | 计算机网络中的安全域名解析 |
CN109413076A (zh) * | 2018-11-06 | 2019-03-01 | 北京奇虎科技有限公司 | 域名解析方法及装置 |
CN109714447A (zh) * | 2018-12-20 | 2019-05-03 | 全链通有限公司 | 基于区块链域名系统的域名生成方法和系统 |
-
2019
- 2019-07-08 CN CN201910611880.9A patent/CN110266832A/zh active Pending
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101651677A (zh) * | 2009-09-11 | 2010-02-17 | 北京交通大学 | 基于混沌加密算法解决ims网络dns欺骗攻击的方法 |
CN103152443A (zh) * | 2013-03-04 | 2013-06-12 | 北京快网科技有限公司 | 一种基于域名解析技术的可控负载均衡方法 |
CN104348924A (zh) * | 2013-07-30 | 2015-02-11 | 深圳市腾讯计算机系统有限公司 | 一种域名解析方法、系统及装置 |
CN103825969A (zh) * | 2013-10-29 | 2014-05-28 | 电子科技大学 | 一种基于匿名网络的dns查询方法 |
CN104468865A (zh) * | 2014-12-25 | 2015-03-25 | 北京奇虎科技有限公司 | 域名解析控制、响应方法及相应的装置 |
CN105141575A (zh) * | 2015-06-25 | 2015-12-09 | 北京网康科技有限公司 | 加密应用识别和加密网页内容分类方法及装置 |
CN108476246A (zh) * | 2015-09-25 | 2018-08-31 | 微软技术许可有限责任公司 | 计算机网络中的安全域名解析 |
CN106331215A (zh) * | 2016-08-30 | 2017-01-11 | 常州化龙网络科技股份有限公司 | 数据请求的处理系统及其处理方法 |
CN106357841A (zh) * | 2016-11-02 | 2017-01-25 | 腾讯科技(深圳)有限公司 | 一种域名解析方法、装置和系统 |
CN107070988A (zh) * | 2017-03-06 | 2017-08-18 | 北京安博通科技股份有限公司 | 报文处理方法及装置 |
CN107360269A (zh) * | 2017-07-21 | 2017-11-17 | 中国移动通信集团江苏有限公司 | 域名解析系统优化方法、装置、设备和存储介质 |
CN109413076A (zh) * | 2018-11-06 | 2019-03-01 | 北京奇虎科技有限公司 | 域名解析方法及装置 |
CN109714447A (zh) * | 2018-12-20 | 2019-05-03 | 全链通有限公司 | 基于区块链域名系统的域名生成方法和系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111049948A (zh) * | 2019-12-30 | 2020-04-21 | 杭州迪普科技股份有限公司 | 域名检测方法和装置 |
CN113194076A (zh) * | 2021-04-16 | 2021-07-30 | 中盈优创资讯科技有限公司 | 一种安全控制器及其实现方法 |
CN113194076B (zh) * | 2021-04-16 | 2023-04-21 | 中盈优创资讯科技有限公司 | 一种安全控制器及其实现方法 |
CN115734211A (zh) * | 2021-08-30 | 2023-03-03 | 中移物联网有限公司 | 一种标识解析方法和系统,及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Liu et al. | Cloudy with a chance of breach: Forecasting cyber security incidents | |
CN101702660B (zh) | 异常域名检测方法及系统 | |
CN103843002B (zh) | 使用云技术对恶意软件的动态清理 | |
US8533581B2 (en) | Optimizing security seals on web pages | |
CN103067385B (zh) | 防御会话劫持攻击的方法和防火墙 | |
CN102884764B (zh) | 一种报文接收方法、深度包检测设备及系统 | |
AU2020202168B2 (en) | Method and system related to authentication of users for accessing data networks | |
CN110266832A (zh) | 一种域名解析方法及装置 | |
CN108259425A (zh) | 攻击请求的确定方法、装置及服务器 | |
CN108063833B (zh) | Http dns解析报文处理方法及装置 | |
US20110093786A1 (en) | Geographical vulnerability mitgation response mapping system | |
CN108632221B (zh) | 定位内网中的受控主机的方法、设备及系统 | |
CN107547488A (zh) | 一种dns隧道检测方法以及dns隧道检测装置 | |
CN107241292B (zh) | 漏洞检测方法及装置 | |
CN109067768B (zh) | 一种域名查询安全性的检测方法、系统、设备和介质 | |
Lee et al. | Fluxing botnet command and control channels with URL shortening services | |
CN114124476B (zh) | 一种Web应用的敏感信息泄露漏洞检测方法、系统及装置 | |
Kamaldeep et al. | Implementation of single‐packet hybrid IP traceback for IPv4 and IPv6 networks | |
CN106790296A (zh) | 域名记录验证方法及装置 | |
CN104410642B (zh) | 基于arp协议的设备接入感知方法 | |
EP3382981B1 (en) | A user equipment and method for protection of user privacy in communication networks | |
Choi et al. | Understanding the proxy ecosystem: A comparative analysis of residential and open proxies on the internet | |
CN106790073B (zh) | 一种Web服务器恶意攻击的阻断方法、装置及防火墙 | |
US8296425B2 (en) | Method and system for lawful interception of internet service | |
CN101651677B (zh) | 基于混沌加密算法解决ims网络dns欺骗攻击的方法 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190920 |
|
RJ01 | Rejection of invention patent application after publication |