域名记录验证方法及装置与流程

文档序号:12493979阅读:434来源:国知局
域名记录验证方法及装置与流程

本发明实施例涉及通信技术领域,尤其涉及一种域名记录验证方法及装置。



背景技术:

域名服务器(Domain Name Server,DNS)是进行域名(domain name)和与之相对应的IP地址(IP address)转换的服务器。DNS中保存了一张域名(domain name)和与之相对应的IP地址(IP address)的表,以解析消息的域名。域名是Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。域名是由一串用点分隔的名字组成的,通常包含组织名,而且始终包括两到三个字母的后缀,以指明组织的类型或该域所在的国家或地区。

但是现有技术中,服务器发布的域名对应的IP地址可能并不是该服务器本地的IP地址,导致客户端在对该服务器的域名进行解析时获得的IP地址并不是该服务器本地的IP地址,造成客户端访问错误,从而降低了域名解析的安全性。



技术实现要素:

本发明实施例提供一种域名记录验证方法及装置,以提高域名解析的安全性。

本发明实施例的一个方面是提供一种域名记录验证方法,包括:

网络节点接收服务器发送的签名信息、公钥信息和注册信息,所述注册信息包括所述服务器的域名、IP地址和注册时间,其中,所述网络节点为对等网络中的对等节点;

所述网络节点采用所述公钥信息对所述签名信息进行验证;

如果验证通过,则所述网络节点查询历史记录中是否存储有所述域名信息和所述IP地址信息的对应关系;

所述网络节点检测所述IP地址信息和承载所述注册信息的报文的源IP地址是否一致;

若所述历史记录中没有存储所述域名信息和所述IP地址信息的对应关系,且所述IP地址信息和承载所述注册信息的报文的源IP地址一致,则所述网络节点将所述服务器的公钥信息和注册信息存储到所述历史记录中。

本发明实施例的另一个方面是提供一种域名记录验证装置,包括:

接收模块,用于接收服务器发送的签名信息、公钥信息和注册信息,所述注册信息包括所述服务器的域名、IP地址和注册时间,其中,所述网络节点为对等网络中的对等节点;

验证模块,用于采用所述公钥信息对所述签名信息进行验证;

查询模块,用于查询历史记录中是否存储有所述域名信息和所述IP地址信息的对应关系;

检测模块,用于检测所述IP地址信息和承载所述注册信息的报文的源IP地址是否一致;

存储模块,用于当所述历史记录中没有存储所述域名信息和所述IP地址信息的对应关系,且所述IP地址信息和承载所述注册信息的报文的源IP地址一致时,将所述服务器的公钥信息和注册信息存储到所述历史记录中。

本发明实施例提供的域名记录验证方法及装置,通过服务器在发布自己的域名、IP地址时携带公钥信息和签名信息,以便网络节点接收到该域名、IP地址时,对服务器的身份进行验证,通过比较该IP地址和承载注册信息的报文的源IP地址是否一致,确定该服务器发布的IP地址是否为其真实的IP地址,避免虚假的服务器上报域名、IP地址、以及不真实的IP地址,提高了域名解析的安全性。

附图说明

图1为本发明实施例提供的域名记录验证方法流程图;

图2为本发明实施例提供的网络架构图;

图3为本发明另一实施例提供的域名解析实现方法流程图;

图4为本发明实施例提供的域名记录验证装置的结构图;

图5为本发明另一实施例提供的域名记录验证装置的结构图。

具体实施方式

图1为本发明实施例提供的域名记录验证方法流程图;图2为本发明实施例提供的网络架构图。本发明实施例针对服务器发布错误的IP地址,导致域名解析错误的现象,提供了域名记录验证方法,该方法具体步骤如下:

步骤S101、网络节点接收服务器发送的签名信息、公钥信息和注册信息,所述注册信息包括所述服务器的域名、IP地址和注册时间,其中,所述网络节点为对等网络中的对等节点。

如图2所示,网络节点21-24是对等网络(Peer-to-peer networking,P2P)中的对等节点,对等网络可包括多个对等节点,本实施例以4个对等节点为例。服务器31或服务器32可以将自己的域名和IP地址发布到对等网络中的任一个网络节点即对等节点,例如,服务器31将自己的域名和IP地址发布到网络节点21,服务器32将自己的域名和IP地址发布到网络节点22,网络节点21接收到服务器31发布的域名和IP地址后,将服务器31的域名和IP地址记录在历史记录中,该历史记录可以是一个DNS账本,DNS账本记录有各个服务器的域名和IP地址的对应关系,DNS账本中的每条记录即域名和IP地址的对应关系是按照各服务器发布的时间先后顺序排列的。

客户端41和客户端42可以向对等网络中的任一个网络节点发送域名解析请求,或者,从对等网络中的任一个网络节点获取DNS账本,DNS账本记录有各个服务器的域名和IP地址的对应关系。例如,客户端41从网络节点21获取DNS账本,客户端42从网络节点22获取DNS账本,或者,客户端41向网络节点21发送域名解析请求,客户端42向网络节点22发送域名解析请求。

在本实施例中,服务器在发布自己的域名和IP地址的同时还需要发布一个时间戳,该时间戳是该服务器发布自己的域名和IP地址的时刻。例如,服务器31向网络节点21发送自己的签名信息、公钥信息和注册信息,该注册信息包括服务器31的域名www.domain.com和IP地址202.118.43.7的同时还携带一个时间戳2016:09:09:15:07:23,该签名信息的生成过程是:服务器31用一个哈希函数从注册信息中生成摘要信息,该哈希函数可以是现有技术中能够用于实现数字签名的任一哈希函数,该摘要信息可以是注册信息的部分信息,例如由域名www.domain.com的部分内容、IP地址202.118.43.7的部分内容和时间戳2016:09:09:15:07:23的部分内容组成,然后服务器31用自己的私钥对该摘要信息进行加密后得到加密的摘要信息,该加密的摘要信息即是该签名信息。

步骤S102、所述网络节点采用所述公钥信息对所述签名信息进行验证。

网络节点21接收到服务器31发送的签名信息、公钥信息和注册信息后,采用与服务器31相同的哈希函数从服务器31发送的注册信息中生成摘要信息,再用服务器31发送的公钥信息对服务器31发送的签名信息进行解密得到另一个摘要信息,如果这两个摘要信息一致,则说明验证通过,如果不一致,则验证不通过。

步骤S103、如果验证通过,则所述网络节点查询历史记录中是否存储有所述域名信息和所述IP地址信息的对应关系。

如果验证通过,则网络节点21查询本地的历史记录中是否存储有服务器31的域名信息和IP地址信息的对应关系。

步骤S104、所述网络节点检测所述IP地址信息和承载所述注册信息的报文的源IP地址是否一致。

另外,网络节点21接收到服务器31发送的注册信息时,其实是接收到一个IP报文,该IP报文中承载有服务器31的注册信息,因此,网络节点21还可以比较注册信息中的IP地址和该IP报文的源IP地址,如果注册信息中的IP地址和该IP报文的源IP地址一致,说明服务器31发布的注册信息中的IP地址确实是服务器31本地的IP地址,避免了服务器31在注册信息中携带错误的IP地址。

步骤S105、若所述历史记录中没有存储所述域名信息和所述IP地址信息的对应关系,且所述IP地址信息和承载所述注册信息的报文的源IP地址一致,则所述网络节点将所述服务器的公钥信息和注册信息存储到所述历史记录中。

因此,如果网络节点21本地的历史记录中没有存储服务器31的域名信息和IP地址信息的对应关系,且注册信息中的IP地址和该IP报文的源IP地址一致,则说明服务器31的域名信息和IP地址信息没有在网络节点21中注册过,且服务器31发布的注册信息中的IP地址确实是服务器31本地的IP地址,则网络节点21将服务器31的公钥信息和注册信息存储到本地的历史记录中。

本发明实施例通过服务器在发布自己的域名、IP地址时携带公钥信息和签名信息,以便网络节点接收到该域名、IP地址时,对服务器的身份进行验证,通过比较该IP地址和承载注册信息的报文的源IP地址是否一致,确定该服务器发布的IP地址是否为其真实的IP地址,避免虚假的服务器上报域名、IP地址、以及不真实的IP地址,提高了域名解析的安全性。

图3为本发明另一实施例提供的域名解析实现方法流程图。在上述实施例的基础上,网络节点21还可以向域名服务器发送域名解析请求,该域名解析请求中包括服务器31的域名,若域名服务器中存储有服务器31的域名和IP地址的对应关系,则将服务器31的IP地址发送给网络节点21,网络节点21还可以比较域名服务器发送的IP地址和服务器31发布的注册信息中的IP地址,确定域名服务器中存储的服务器31的IP地址和服务器31发布的注册信息中的IP地址是否一致,如果一致,还可以进一步说明服务器31发布的IP地址是一个真实的IP地址,增加了对服务器31发布的IP地址的真实性验证的方法。

另外,如图3所示,在上述实施例步骤S105之后,还包括如下步骤:

步骤S301、所述网络节点采用自己的私钥对所述服务器的注册信息进行加密得到加密后的加密信息。

网络节点21用自己的私钥对服务器31的注册信息进行加密得到加密后的加密信息。

步骤S302、所述网络节点将所述加密信息发送给所述网络节点中的其他对等节点。

网络节点21将加密后的加密信息发送具体可以是广播给网络节点中的其他对等节点例如网络节点22-24中的一个或多个网络节点。当网络节点22-24中的一个或多个网络节点接收到该加密信息后,采用网络节点21的公钥对该加密信息进行解密获得服务器31的注册信息,前提是网络节点22-24中的一个或多个网络节点预先存储有网络节点21的公钥,当网络节点22-24中的一个或多个网络节点确定本地没有存储有服务器31的注册信息后,将服务器31的注册信息存储在本地。

此外,当服务器31的IP地址发生变动时,由于服务器31的公钥信息和签名信息在上述实施例中已经被认为是安全的,即服务器31是可信的,则服务器31可以向网络节点21发送更新信息,该更新信息包括服务器31的公钥信息和新的注册信息,其中,新的注册信息包括服务器31的域名、更新后的IP地址和新的注册时间。由于网络节点21的本地历史记录中存储有服务器31的公钥信息,因此,当网络节点21接收到服务器31的更新信息时,首先确定更新信息中的公钥信息和网络节点21本地历史记录中存储有服务器31的公钥信息是否一致,如果更新信息中的公钥信息和网络节点21本地历史记录中存储有服务器31的公钥信息一致,则网络节点21用新的注册信息更新更新本地历史记录中服务器31的注册信息。此外,网络节点21还可以将服务器31新的注册信息发布给其他的对等节点即网络节点22-24中的一个或多个网络节点。

本实施例通过网络节点用自己的私钥对服务器的注册信息进行加密得到加密信息,并将该加密信息发布给其他的网络节点,提高了服务器的注册信息在传输过程中的安全性;另外,服务器还可以对自己的注册信息进行更新,提高了服务器修改注册信息的灵活性。

图4为本发明实施例提供的域名记录验证装置的结构图。本发明实施例提供的域名记录验证装置可以执行域名记录验证方法实施例提供的处理流程,如图4所示,域名记录验证装置包括:接收模块41、验证模块42、查询模块43、检测模块44和存储模块45,其中,接收模块41用于接收服务器发送的签名信息、公钥信息和注册信息,所述注册信息包括所述服务器的域名、IP地址和注册时间,其中,所述网络节点为对等网络中的对等节点;验证模块42用于采用所述公钥信息对所述签名信息进行验证;查询模块43用于查询历史记录中是否存储有所述域名信息和所述IP地址信息的对应关系;检测模块44用于检测所述IP地址信息和承载所述注册信息的报文的源IP地址是否一致;存储模块45用于当所述历史记录中没有存储所述域名信息和所述IP地址信息的对应关系,且所述IP地址信息和承载所述注册信息的报文的源IP地址一致时,将所述服务器的公钥信息和注册信息存储到所述历史记录中。

本发明实施例通过服务器在发布自己的域名、IP地址时携带公钥信息和签名信息,以便网络节点接收到该域名、IP地址时,对服务器的身份进行验证,通过比较该IP地址和承载注册信息的报文的源IP地址是否一致,确定该服务器发布的IP地址是否为其真实的IP地址,避免虚假的服务器上报域名、IP地址、以及不真实的IP地址,提高了域名解析的安全性。

图5为本发明另一实施例提供的域名记录验证装置的结构图。在上述实施例的基础上,域名记录验证装置还包括:发送模块46和比较模块47;发送模块46用于向域名服务器发送域名解析请求,所述域名解析请求中包括所述服务器的域名;接收模块41还用于接收所述域名服务器发送的IP地址;比较模块47用于比较所述域名服务器发送的IP地址和所述注册信息中的IP地址是否一致。

另外,域名记录验证装置还包括:加密模块48,加密模块48用于采用私钥对所述服务器的注册信息进行加密得到加密后的加密信息;发送模块46还用于将所述加密信息发送给所述网络节点中的其他对等节点。

此外,接收模块41还用于接收所述服务器发送的更新信息,所述更新信息包括公钥信息和新的注册信息,所述新的注册信息包括所述服务器的域名、更新后的IP地址和新的注册时间。

域名记录验证装置还包括更新模块49,检测模块44还用于检测所述更新信息中的公钥信息和所述历史记录中所述服务器的公钥信息是否一致;更新模块49用于当所述更新信息中的公钥信息和所述历史记录中所述服务器的公钥信息一致时,用所述新的注册信息更新所述历史记录中所述服务器的注册信息。

本发明实施例提供的域名记录验证装置可以具体用于执行上述图1所提供的方法实施例,具体功能此处不再赘述。

本发明实施例通过网络节点用自己的私钥对服务器的注册信息进行加密得到加密信息,并将该加密信息发布给其他的网络节点,提高了服务器的注册信息在传输过程中的安全性;另外,服务器还可以对自己的注册信息进行更新,提高了服务器修改注册信息的灵活性。

综上所述,本发明实施例通过服务器在发布自己的域名、IP地址时携带公钥信息和签名信息,以便网络节点接收到该域名、IP地址时,对服务器的身份进行验证,通过比较该IP地址和承载注册信息的报文的源IP地址是否一致,确定该服务器发布的IP地址是否为其真实的IP地址,避免虚假的服务器上报域名、IP地址、以及不真实的IP地址,提高了域名解析的安全性;通过网络节点用自己的私钥对服务器的注册信息进行加密得到加密信息,并将该加密信息发布给其他的网络节点,提高了服务器的注册信息在传输过程中的安全性;另外,服务器还可以对自己的注册信息进行更新,提高了服务器修改注册信息的灵活性。

在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1