CN105812503B - 根服务器地址更新方法和一种递归服务器 - Google Patents
根服务器地址更新方法和一种递归服务器 Download PDFInfo
- Publication number
- CN105812503B CN105812503B CN201610146446.4A CN201610146446A CN105812503B CN 105812503 B CN105812503 B CN 105812503B CN 201610146446 A CN201610146446 A CN 201610146446A CN 105812503 B CN105812503 B CN 105812503B
- Authority
- CN
- China
- Prior art keywords
- server
- record
- root server
- root
- original document
- 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
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/08—Network architectures or network communication protocols for network security for authentication of entities
Abstract
本发明公开了一种根服务器地址更新方法和递归服务器,应用于计算机技术领域,提高根服务器地址更新效率,降低出错率。所述方法包括:将当前时刻存储的根服务器域名及地址列表作为初始文件,设置根服务器地址更新触发事件;若所述更新触发事件发生,则在初始文件中选择目标服务器,所述目标服务器为根服务器域名列表未被篡改的任一根服务器;对于目标服务器的根服务器域名列表中每个根服务器,获取每个根服务器的A记录和AAAA记录;根据获取的每个根服务器的A记录和AAAA记录更新所述初始文件。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及根服务器地址更新方法和一种递归服务器。
背景技术
在互联网领域,DNS(Domain Name System,域名系统)作为将域名解析为IP地址的协议,有着非常重要的作用。在DNS协议中,当用户发出一个域名查询到自动配置的DNS递归解析器(Recursive Resolver)时,如果本地的递归服务器缓存了这个DNS请求条目,则递归服务器直接向用户返回DNS相应消息。如果本地的递归服务器没有缓存这个DNS请求消息,则本地的递归服务器从根服务器开始,根据所返回的信息,一级一级地递归查询所请求的域名,最终查找到所要查询的DNS信息。递归服务器将返回的DNS查询结果存储到自己的缓存中,同时将结果返回给用户。这样一个完整的DNS查询过程就完成了(参考图1所示)。
从DNS解析流程可知,为了能够成功解析未缓存的DNS请求,递归服务器需要得知根服务器的地址。通常,递归服务器将根服务器地址保存在一个本地文件中,此后将此文件称作hint-file。所以,对于递归服务器来说,hint-file是否处于最新状态将直接影响其正常解析DNS地址。
传统对hint-file更新的方式主要采取的是管理员手动使用ftp(File TransferProtocol,文件传输协议)或http(HyperText Transfer Protocol,超文本传输协议)协议获取内容后更新的方式。此过程完全由人工的手动操作完成,依赖于管理员的经验和工作态度,不仅更新效率较低,而且更新错误率较高(比如管理员缺乏经验或疏忽遗忘,导致hint-file过期)。
发明内容
本发明针对递归服务器在更新根服务器地址文件主要依靠人工完成造成的地址更新效率低和错误率高的问题,本发明的实施方式期望提供一种根服务器地址更新方法和一种递归服务器,解决上述问题,采用一种非手动的方式,提高更新效率,降低更新的错误率。
在本发明第一方面提供了一种根服务器地址更新方法,例如可以包括:
将当前时刻存储的根服务器域名及地址列表作为初始文件,所述方法包括:
设置根服务器地址更新触发事件;
若所述更新触发事件发生,则在初始文件中选择目标服务器,所述目标服务器为根服务器域名列表未被篡改的任一根服务器;
对于目标服务器的根服务器域名列表中每个根服务器,获取每个根服务器的A记录和AAAA记录;
根据获取的每个根服务器的A记录和AAAA记录更新所述初始文件。
优选的,设置根服务器地址更新触发事件包括:设置根服务器地址更新时间和周期。
优选的,在初始文件中选择目标服务器,包括:
从初始文件中随机选择一个根服务器,获取所述随机选择的根服务器的密钥;
向初始文件中的任一根服务器查询其根服务器域名列表,使用所述密钥,对查询的根服务器域名列表签名进行验证;
若验证通过,则确定该根服务器为目标服务器,反之则在除所述随机选择的根服务器剩余的根服务器中随机选择一个根服务器,返回所述获取所述随机选择的根服务器的密钥的步骤,直至找到目标服务器。
优选的,根据获取的每个根服务器的A记录和AAAA记录更新所述初始文件之前,所述方法还包括:
每获取一个根服务器的A记录和AAAA记录之后,验证获取的根服务器的A记录和AAAA记录的签名;
若签名验证通过,则验证对应根服务器的DS记录,若签名验证未通过,则返回在初始文件中选择目标服务器的步骤;
若DS记录验证通过,则确定获取的A记录和AAAA记录有效;若DS记录验证未通过,则返回在初始文件中选择目标服务器的步骤。
优选的,根据获取的每个根服务器的A记录和AAAA记录更新所述初始文件,包括:
根据目标服务器的根服务器域名列表、每个根服务器的A记录和AAAA记录生成新的地址文件;
比较初始文件与新的地址文件是否相同,若相同,则保留初始文件,删除新的地址文件;反之,则备份初始文件,将新生成的地址文件作为下次地址更新的初始文件。
本发明第二方面提供一种递归服务器,例如可以包括:
设置模块,用于设置根服务器地址更新触发事件;
选择模块,用于所述更新触发事件发生后,在初始文件中选择目标服务器,初始文件为当前时刻存储的根服务器域名及地址文件,所述目标服务器为根服务器域名列表未被篡改的任一根服务器;
获取模块,用于对于目标服务器的根服务器域名列表中每个根服务器,获取每个根服务器的A记录和AAAA记录;
更新模块,用于根据获取的每个根服务器的A记录和AAAA记录更新所述初始文件。
优选的,所述设置模块通过设置根服务器地址更新时间和周期设置根服务器地址更新触发事件。
优选的,所述选择模块包括:
获取子模块,用于从初始文件中随机选择一个根服务器,获取所述随机选择的根服务器的密钥;
查询子模块,用于向初始文件中的任一根服务器查询其根服务器域名列表;
签名子模块,用于使用所述密钥,对查询的根服务器域名列表签名进行验证;
确定子模块,用于根服务器列表签名验证通过后,确定该根服务器为目标服务器;
选择子模块,用于根服务器列表签名验证未通过时,在除所述随机选择的根服务器剩余的根服务器中随机选择一个根服务器;触发所述获取子模块,获取所述选择子模块所选择的根服务器的密钥,直至找到目标服务器。
优选的,所述服务器还包括:
第一验证模块,用于每获取一个根服务器的A记录和AAAA记录之后,验证获取的根服务器的A记录和AAAA记录的签名;
第二验证模块,用于A记录和AAAA记录的签名验证通过后,验证对应根服务器的DS记录;
确认模块,用于所述第二验证模块验证DS记录通过时,确认该根服务器的A记录和AAAA记录有效;
触发模块,用于A记录和AAAA记录的签名验证未通过时,触发所述选择模块;对应根服务器的DS记录验证未通过时,触发所述选择模块。
优选的,所述更新模块包括:
生成子模块,用于根据目标服务器的根服务器域名列表、每个根服务器的A记录和AAAA记录生成新的地址文件;
比较子模块,用于比较初始文件与新的地址文件是否相同;
执行子模块,用于初始文件与新的地址文件相同时,保留初始文件,删除新的地址文件;初始文件与新的地址文件不同时,备份初始文件,将新生成的地址文件作为下次地址更新的初始文件。
与现有技术相比,本发明的实施方式具有如下优点:
本发明的技术方案中,通过设置更新触发事件的方式启动根服务器地址的更新过程,更新触发事件发生后,在初始文件中选择目标服务器,对于目标服务器的地址文件中每个根服务器,获取每个根服务器的A记录和AAAA记录,最后根据获取的每个根服务器的A记录和AAAA记录更新初始文件。整个过程不依赖于人工操作,可以避免人工误操作带来的错误,以及人工操作效率低的问题。整个过程不依赖于人工操作,可以避免人工误操作带来的错误,以及人工操作效率低的问题。
进一步的,引入DNSSEC(Domain Name System Security Extensions,DNS安全扩展)验证机制,保证递归服务器获取的每条记录以及每条记录的来源的可靠性,即没有被恶意篡改,保证地址更新的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为DNS解析过程示意图;
图2为本发明提供的根服务器地址更新方法实施例1的流程图;
图3本发明实施例提供的技术方案对应的一实例中递归服务器的数据流图;
图4为本发明提供的一种递归服务器的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面对本发明实施例提供的技术方案进行详细、公开的描述。参考图2所示,为本发明实施例提供的一种根服务器地址更新方法实施例1的流程图,本实施例具体可以包括:
S11、设置根服务器地址更新触发事件;
为了便于根服务器地址的自动更新,这里为地址更新设置启动条件(即触发事件),这里不对具体的启动条件做具体限定,可以在实际应用中根据需求具体设定。
S12、若所述更新触发事件发生,则在初始文件中选择目标服务器;
所述初始文件为当前时刻递归服务器存储的根服务器域名及地址列表,即本次触发事件发生时,作为根服务器域名及地址更新的参考对照文件。
所述触发事件发生,则表示要启动本次的根服务器地址更新过程,首先从初始文件中选择目标服务器,这里的目标服务器是指根服务器域名列表未被篡改的任一根服务器。在递归服务器中存储了当前时刻的根服务器域名及地址列表即初始文件,选择目标服务器即是在初始文件中找到一根服务器,通过向该根服务器查询根服务器域名列表的方式,获取其根服务器域名列表,如果该根服务器本身存储的根服务器域名列表没有被篡改(或有效),则找到的该根服务器即为目标服务器。
S13、对于目标服务器的根服务器域名列表中每个根服务器,获取每个根服务器的A记录和AAAA记录;
在确定目标服务器后,向目标服务器查询其存储的根服务器域名列表,对于其域名列表中的每个根服务器,获取域名列表中每个根服务器的A记录(Address,记录,是用来指定主机名(或域名)对应的IP地址记录)和AAAA记录(AAAA record,是用来将域名解析到IPv6地址的DNS记录),A记录和AAAA记录均是根服务器域名及地址列表的组成元素,然后即可进入步骤S14执行初始文件的更新。
S14、根据获取的每个根服务器的A记录和AAAA记录更新所述初始文件。
本实施例提供的技术方案中,通过设置更新触发事件的方式启动根服务器地址的更新过程,更新触发事件发生后,在初始文件中选择目标服务器,对于目标服务器的域名列表中每个根服务器,获取每个根服务器的A记录和AAAA记录,最后根据获取的每个根服务器的A记录和AAAA记录更新初始文件。整个过程不依赖于人工操作,可以避免人工误操作带来的错误,以及人工操作效率低的问题。
本发明还提供一种根服务器地址更新方法实施例2,本实施例可以看作是基于实施例1的一种具体实现,本实施例具体可以包括:
S21、设置根服务器地址更新时间和周期;
本实施例以触发事件为更新时间和周期为例,比如设置每天的某个具体时间进行地址更新,或者每隔几天进行一次更新。所述触发事件发生,则表示要启动本次的根服务器地址更新过程,首先从初始文件中选择目标服务器,所述初始文件为当前时刻递归服务器存储的根服务器域名及地址列表,即本次触发事件发生时,作为根服务器地址更新的参考对照文件。
这里的目标服务器是指根服务器域名列表未被篡改的任一根服务器。在递归服务器中存储了当前时刻的根服务器域名及地址列表即初始文件,选择目标服务器即是在初始文件中找到一根服务器,向该服务器查询其根服务器域名列表,如果从该服务器查询得到的根服务器域名列表没有被篡改(或有效),则找到的该根服务器即为目标服务器。
S22、从初始文件中随机选择一个根服务器,获取所述随机选择的根服务器的密钥;
密钥获取的过程如下:递归服务器通过TCP协议向所述随机选择的根服务器发送一个QTYPE=DNSKEY的DNS查询请求,向该根服务器查询根区密钥,其中包括ZSK和KSK(KSK表示密钥签名密钥(Key Signing key)(一种长期密钥),ZSK表示区域签名密钥(ZoneSigning Key)(一种短期密钥)),随后根服务器通过TCP协议返回根区的DNSKEY(DNSKEY:用于存储验证DNS数据的公钥)密钥记录。
在实际操作中,可以为地址更新单独建立一新的缓存文件,专用于地址更新过程中信息的缓存,比如本步骤获取密钥的缓存。
S23、向初始文件中的任一根服务器查询其根服务器域名列表;
本步骤中所述的任一根服务器为初始文件中的任意一个根服务器,不一定是所述随机选择的根服务器。
S24、使用所述密钥,对查询的根服务器域名列表签名进行验证,若验证通过,则进入步骤S25,反之进入步骤S26;
递归服务器获取所述随机选择的根服务器的密钥后,查询初始文件中任一根服务器的域名列表,根服务器通过报文的形式返回域名列表,使用步骤S22中获得的密钥,对根服务器的域名列表报文中的RRSIG签名文件(RRSIG:用于存储DNS资源记录的签名信息),按照其签名方式(例RSHA256,一种哈希算法)进行验证。本步骤的实质是使用获取的密钥,通过DNNSEC验证查询的根服务器域名列表签名以保证根服务器域名列表未被篡改。
S25、确定该根服务器为目标服务器;
S26、在除所述随机选择的根服务器剩余的根服务器中随机选择一个根服务器,返回步骤S22,直至找到目标服务器。
S27、对于目标服务器的地址文件中每个根服务器,获取每个根服务器的A记录和AAAA记录;
S28、根据获取的每个根服务器的A记录和AAAA记录更新所述初始文件。
本实施例可以带来方法实施例1相同的有益效果。
在实际操作中,除了要实现根服务器域名及地址列表的自动更新,还要考虑到网络安全问题,如果在地址列表更新过程中,除了要验证接收的记录有没有被篡改,同时还要考虑发出记录的服务器是否可信。因此,除了验证根服务器域名列表没有被篡改之外,基于实施例1和实施例2,还可以在获得服务器的A记录和AAAA记录后,对获得的记录进行验证,以保证获取的A记录和AAAA记录有效。具体可以通过这样一种方式实现:每获取一个根服务器的A记录和AAAA记录之后,验证获取的根服务器的A记录和AAAA记录的签名;如果签名验证通过,再验证对应根服务器的DS记录,若DS记录验证通过,则说明获取的该根服务器的A记录和AAAA记录是有效的。验证A记录和AAAA记录签名,主要是保证获取的记录本身没有被篡改,其次验证DS记录是为了保证A记录和AAAA记录的来源是可靠的,即是否来源于可信的服务器。
其中,根服务器的DS记录验证过程包括:采用自顶而下方法,依次向根服务器、.net顶级域服务器,以及当前查询的服务器发送DS记录查询。对查询的记录采用验证RRSIG的方法(见前文)保证其未受篡改。随后核对根服务器、顶级域服务器、以及当前查询的根服务器的DS记录是否一致,一致说明信息来源可靠。
如果签名验证未通过,或者DS记录验证未通过,则再次返回在初始文件中选择目标服务器的步骤,即选择另一根服务器地址列表未被篡改的根服务器作为目标服务器,继续地址更新过程。
通过增加A记录和AAAA记录的验证,以及DS记录的验证过程,可以进一步保证地址更新数据的安全性。
基于上述各实施例,在实际操作中,获取A记录和AAAA记录后,或者进一步确认A记录和AAAA记录有效后,执行根服务器域名及地址列表(初始文件)的更新,比如:
在获取目标服务器的根服务器域名列表,以及每个根服务器的A记录和AAAA记录以后,可以进一步按照根服务器域名及地址列表的格式重新组合一新的地址文件,比较初始文件和新的地址文件是否相同,如果二者的内容相同,则可以认为根服务器地址没有发生变化,则保留初始文件,删除新的地址文件。如果二者不同,则说明根服务器地址发生了变化,此时,以新的地址文件作为初始文件,作为下次地址更新的参考文件。为了防止误修改,在二者内容不同的情况下,可以备份原有的初始文件。
为了加深对本发明实施例提供的技术方案的理解,下面举例对本发明实施例提供的技术方案进行描述。以递归服务器对G根服务器进行IPv6地址添加为例简述。
递归服务器现存根服务器地址列表(初始文件)如表1:
表1递归服务器存储的更新前的根服务器域名及地址列表
为了提供对IPv6的支持,现为G根服务器添加一个IPv6的地址。在无本方案的情况下,只能公开发布地址变动后,依靠各递归服务器运营者自行维护。由于运营者的疏忽甚至有些递归服务器并无专人负责维护,可能导致地址列表得不到更新。造成由于未更新G根服务器的IPv6地址,仍然无法通过IPv6访问G根服务器的情况。
基于本发明实施例提供的技术方案,这里以每日零点作为触发事件,零点时,启动地址更新过程,递归服务器从hint-file(初始文件)中随机选取一根服务器,例如选取了A根服务器,查询A根服务器的密钥。可以预先建立一缓存文件,将密钥放入缓存文件中。然后随机选择一根服务器,比如B根服务器,向B根服务器查询根服务器域名列表,使用缓存的密钥进行DNSSEC验证,无误后将列表加入缓存文件中。
随后,递归服务器获取从B根服务器查询的根服务器域名列表中所有根服务器的A记录和AAAA记录,并通过验证A根服务器的DS记录保证获取的服务器的A记录和AAAA记录可信。以获取A根服务器的记录为例,参考图3所示的递归服务器数据流图,递归服务器向C根(随机选取)查询
A.ROOT-SERVERS.NET.(即A根服务器)的A记录。随后,本实例采取“自顶而下”的方式,同时向C根和.net的顶级域查询A根服务器的DS记录,验证两份DS记录的一致性。
获取所有根服务器A记录和AAAA记录后,整合成新的根服务器地址列表如表2所示,对比后发现,新的域名及地址列表增加了G根服务器的AAAA记录。使用新地址列表代替旧的地址列表,备份旧的地址列表,删除缓存文件夹。
表2递归服务器存储的更新后的根服务器域名及地址列表
本发明实施例提供的技术方案,能够提供全自动的hint-file检测和更新,并对全过程提供DNSSEC的安全验证,具有全自动启动、配置、查询、更新属性,使得本方案可以有效避免递归服务器由于运营人员的过失导致hint-file过期,最终导致递归服务器无法正常进行DNS解析。通过在全过程中使用DNSSEC验证,提高了本方案对DNS注入攻击以及DNS中间人攻击的抗性。可以有效避免递归服务器由于这些攻击导致得到错误的DNS解析结果。
上面对本发明实施例中的根服务器地址更新方法进行了描述,下面对本发明实施例中的更新方法的执行主体即递归服务器进行描述,请参阅图4,本发明实施例中一种递归服务器实施例1的结构示意图,可以包括:
设置模块401,用于设置根服务器地址更新触发事件;
为了便于根服务器地址的自动更新,这里为地址更新设置启动条件(即触发事件),这里不对具体的启动条件做具体限定,可以在实际应用中根据需求具体设定。
选择模块402,用于所述更新触发事件发生后,在初始文件中选择目标服务器,初始文件为当前时刻存储的根服务器域名及地址文件,所述目标服务器为根服务器域名列表未被篡改的任一根服务器;
获取模块403,用于对于目标服务器的根服务器域名列表中每个根服务器,获取每个根服务器的A记录和AAAA记录;
更新模块404,用于根据获取的每个根服务器的A记录和AAAA记录更新所述初始文件。
本实施例中,通过设置模块设置更新触发事件的方式启动根服务器地址的更新过程,选择模块402在更新触发事件发生后,在初始文件中选择目标服务器,获取模块403对于目标服务器的域名列表中每个根服务器,获取每个根服务器的A记录和AAAA记录,由更新模块根据获取的每个根服务器的A记录和AAAA记录更新初始文件。整个过程不依赖于人工操作,可以避免人工误操作带来的错误,以及人工操作效率低的问题。
优选的,本发明还提供一种递归服务器实施例2,除了实施例1所示的模块外,本实施例中:所述设置模块通过设置根服务器地址更新时间和周期设置根服务器地址更新触发事件。本实施例以触发事件为更新时间和周期为例,比如设置每天或者没几天的某一个具体时间触发更新过程。触发事件发生,则表示要启动本次的根服务器地址更新过程,首先要选择目标服务器,具体由选择模块完成,所述选择模块可以包括:
获取子模块,用于从初始文件中随机选择一个根服务器,获取所述随机选择的根服务器的密钥;
查询子模块,用于向初始文件中的任一根服务器查询其根服务器域名列表;
签名子模块,用于使用所述密钥,对查询的根服务器域名列表签名进行验证;
确定子模块,用于根服务器列表签名验证通过后,确定该根服务器为目标服务器;
选择子模块,用于根服务器列表签名验证未通过时,在除所述随机选择的根服务器剩余的根服务器中随机选择一个根服务器;触发所述获取子模块,获取所述选择子模块所选择的根服务器的密钥,直至找到目标服务器。
本发明还提供一种递归服务器实施例3,进一步的,引入DNSSEC验证机制,保证根服务器列表以及每个根服务器的A记录和AAAA记录均可信,即没有被恶意篡改,保证地址更新的安全性。本实施例中,递归服务器除了实施例1和服务器实施例2所示的模块外,本实施例中所述服务器进一步可以包括:
第一验证模块,用于每获取一个根服务器的A记录和AAAA记录之后,验证获取的根服务器的A记录和AAAA记录的签名;
第二验证模块,用于A记录和AAAA记录的签名验证通过后,验证对应根服务器的DS记录;
确认模块,用于所述第二验证模块验证DS记录通过时,确认该根服务器的A记录和AAAA记录有效;
触发模块,用于A记录和AAAA记录的签名验证未通过时,触发所述选择模块;对应根服务器的DS记录验证未通过时,触发所述选择模块。
优选的,在上述各实施例中,所述更新模块可以包括:
生成子模块,用于根据目标服务器的根服务器域名列表、每个根服务器的A记录和AAAA记录生成新的地址文件;
比较子模块,用于比较初始文件与新的地址文件是否相同;
执行子模块,用于初始文件与新的地址文件相同时,保留初始文件,删除新的地址文件;初始文件与新的地址文件不同时,备份初始文件,将新生成的地址文件作为下次地址更新的初始文件。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本发明时可以把各模块的功能在同一个或多个软件和/或硬件中实现,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。以上所述仅是本发明的具体实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.根服务器地址更新方法,其特征在于,将当前时刻存储的根服务器域名及地址列表作为初始文件,所述方法包括:
设置根服务器地址更新触发事件;
若所述更新触发事件发生,则在初始文件中选择目标服务器,所述目标服务器为根服务器域名列表未被篡改的任一根服务器;
对于目标服务器的根服务器域名列表中每个根服务器,获取每个根服务器的A记录和AAAA记录;
根据获取的每个根服务器的A记录和AAAA记录更新所述初始文件。
2.根据权利要求1所述的方法,其特征在于,设置根服务器地址更新触发事件包括:设置根服务器地址更新时间和周期。
3.根据权利要求1所述的方法,其特征在于,在初始文件中选择目标服务器,包括:
从初始文件中随机选择一个根服务器,获取所述随机选择的根服务器的密钥;
向初始文件中的任一根服务器查询其根服务器域名列表,使用所述密钥,对查询的根服务器域名列表签名进行验证;
若验证通过,则确定该根服务器为目标服务器,反之则在除所述随机选择的根服务器剩余的根服务器中随机选择一个根服务器,返回所述获取所述随机选择的根服务器的密钥的步骤,直至找到目标服务器。
4.根据权利要求1所述的方法,其特征在于,根据获取的每个根服务器的A记录和AAAA记录更新所述初始文件之前,所述方法还包括:
每获取一个根服务器的A记录和AAAA记录之后,验证获取的根服务器的A记录和AAAA记录的签名;
若签名验证通过,则验证对应根服务器的DS记录,若签名验证未通过,则返回在初始文件中选择目标服务器的步骤;
若DS记录验证通过,则确定获取的A记录和AAAA记录有效;若DS记录验证未通过,则返回在初始文件中选择目标服务器的步骤。
5.根据权利要求1或4所述的方法,其特征在于,根据获取的每个根服务器的A记录和AAAA记录更新所述初始文件,包括:
根据目标服务器的根服务器域名列表、每个根服务器的A记录和AAAA记录生成新的地址文件;
比较初始文件与新的地址文件是否相同,若相同,则保留初始文件,删除新的地址文件;反之,则备份初始文件,将新生成的地址文件作为下次地址更新的初始文件。
6.一种递归服务器,其特征在于,所述服务器包括:
设置模块,用于设置根服务器地址更新触发事件;
选择模块,用于所述更新触发事件发生后,在初始文件中选择目标服务器,初始文件为当前时刻存储的根服务器域名及地址文件,所述目标服务器为根服务器域名列表未被篡改的任一根服务器;
获取模块,用于对于目标服务器的根服务器域名列表中每个根服务器,获取每个根服务器的A记录和AAAA记录;
更新模块,用于根据获取的每个根服务器的A记录和AAAA记录更新所述初始文件。
7.根据权利要求6所述的服务器,其特征在于,所述设置模块通过设置根服务器地址更新时间和周期设置根服务器地址更新触发事件。
8.根据权利要求6所述的服务器,其特征在于,所述选择模块包括:
获取子模块,用于从初始文件中随机选择一个根服务器,获取所述随机选择的根服务器的密钥;
查询子模块,用于向初始文件中的任一根服务器查询其根服务器域名列表;
签名子模块,用于使用所述密钥,对查询的根服务器域名列表签名进行验证;
确定子模块,用于根服务器列表签名验证通过后,确定该根服务器为目标服务器;
选择子模块,用于根服务器列表签名验证未通过时,在除所述随机选择的根服务器剩余的根服务器中随机选择一个根服务器;触发所述获取子模块,获取所述选择子模块所选择的根服务器的密钥,直至找到目标服务器。
9.根据权利要求6所述的服务器,其特征在于,所述服务器还包括:
第一验证模块,用于每获取一个根服务器的A记录和AAAA记录之后,验证获取的根服务器的A记录和AAAA记录的签名;
第二验证模块,用于A记录和AAAA记录的签名验证通过后,验证对应根服务器的DS记录;
确认模块,用于所述第二验证模块验证DS记录通过时,确认该根服务器的A记录和AAAA记录有效;
触发模块,用于A记录和AAAA记录的签名验证未通过时,触发所述选择模块;对应根服务器的DS记录验证未通过时,触发所述选择模块。
10.根据权利要求6或9所述的服务器,其特征在于,所述更新模块包括:
生成子模块,用于根据目标服务器的根服务器域名列表、每个根服务器的A记录和AAAA记录生成新的地址文件;
比较子模块,用于比较初始文件与新的地址文件是否相同;
执行子模块,用于初始文件与新的地址文件相同时,保留初始文件,删除新的地址文件;初始文件与新的地址文件不同时,备份初始文件,将新生成的地址文件作为下次地址更新的初始文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610146446.4A CN105812503B (zh) | 2016-03-15 | 2016-03-15 | 根服务器地址更新方法和一种递归服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610146446.4A CN105812503B (zh) | 2016-03-15 | 2016-03-15 | 根服务器地址更新方法和一种递归服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105812503A CN105812503A (zh) | 2016-07-27 |
CN105812503B true CN105812503B (zh) | 2018-11-16 |
Family
ID=56467451
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610146446.4A Active CN105812503B (zh) | 2016-03-15 | 2016-03-15 | 根服务器地址更新方法和一种递归服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105812503B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109067768B (zh) * | 2018-08-31 | 2021-11-26 | 赛尔网络有限公司 | 一种域名查询安全性的检测方法、系统、设备和介质 |
CN110071810B (zh) * | 2019-04-25 | 2021-10-01 | 哈尔滨工业大学 | 一个基于开源dns软件的自证根实现方法 |
CN111182059B (zh) * | 2019-12-30 | 2022-10-28 | 互联网域名系统北京市工程研究中心有限公司 | 一种域名缓存更新的查询解析方法 |
CN114727278B (zh) * | 2022-04-19 | 2023-07-28 | 广州爱浦路网络技术有限公司 | 一种单个nrf网元的地址变更方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101442566A (zh) * | 2009-01-08 | 2009-05-27 | 中国电信股份有限公司 | 实现动态域名更新的方法和设备 |
CN101938529A (zh) * | 2010-09-02 | 2011-01-05 | 中国科学院计算机网络信息中心 | 域名数据生存期的过期干预方法和递归服务器 |
CN104144123A (zh) * | 2013-05-10 | 2014-11-12 | 中国电信股份有限公司 | 访问互联网的方法、系统与路由型网关装置 |
CN104170356A (zh) * | 2013-12-30 | 2014-11-26 | 华为技术有限公司 | 一种处理域名请求的方法及设备 |
CN104519148A (zh) * | 2013-09-30 | 2015-04-15 | 中国电信股份有限公司 | 应用服务器地址的可达性检测方法与系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8645700B2 (en) * | 2011-04-29 | 2014-02-04 | Verisign, Inc. | DNSSEC inline signing |
-
2016
- 2016-03-15 CN CN201610146446.4A patent/CN105812503B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101442566A (zh) * | 2009-01-08 | 2009-05-27 | 中国电信股份有限公司 | 实现动态域名更新的方法和设备 |
CN101938529A (zh) * | 2010-09-02 | 2011-01-05 | 中国科学院计算机网络信息中心 | 域名数据生存期的过期干预方法和递归服务器 |
CN104144123A (zh) * | 2013-05-10 | 2014-11-12 | 中国电信股份有限公司 | 访问互联网的方法、系统与路由型网关装置 |
CN104519148A (zh) * | 2013-09-30 | 2015-04-15 | 中国电信股份有限公司 | 应用服务器地址的可达性检测方法与系统 |
CN104170356A (zh) * | 2013-12-30 | 2014-11-26 | 华为技术有限公司 | 一种处理域名请求的方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN105812503A (zh) | 2016-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10621054B2 (en) | Method and system for recovery of a failed registry | |
US11831772B2 (en) | Blockchain multi-party shared-governance-based system for maintaining domain name information | |
US8645700B2 (en) | DNSSEC inline signing | |
CN105812503B (zh) | 根服务器地址更新方法和一种递归服务器 | |
US9794221B2 (en) | Recovery of a failed registry | |
CN105119973B (zh) | 用户信息处理方法和服务器 | |
US11265397B2 (en) | Systems and methods for providing secure access to shared registration systems | |
US20210160067A1 (en) | Method for bidirectional authorization of blockchain-based resource public key infrastructure | |
CN109495604A (zh) | 一种泛根域名解析的方法 | |
CN106936945B (zh) | 分布式域名解析方法及装置 | |
CN103678676A (zh) | Ip库处理方法和系统 | |
CN106973125A (zh) | 域名解析实现方法及装置 | |
CN109167850A (zh) | 一种确定cdn服务运营商的方法、装置和存储介质 | |
CN105592083A (zh) | 终端利用令牌访问服务器的方法和装置 | |
Allman | On eliminating root nameservers from the DNS | |
CN112187900B (zh) | 基于区块链共享缓存的dns数据更新方法和系统 | |
KR101645222B1 (ko) | 어드밴스드 도메인 네임 시스템 및 운용 방법 | |
US10462180B1 (en) | System and method for mitigating phishing attacks against a secured computing device | |
Neumann et al. | DNStamp: Short-lived trusted timestamping | |
CN105610809A (zh) | 网络准入控制的方法、装置及系统 | |
CN116415304A (zh) | 一种区块链信息验证方法、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |