一种基于复杂网络上的DNSSEC解析方法技术

技术编号:10279202 阅读:216 留言:0更新日期:2014-08-02 20:23
本发明专利技术公开了一种基于复杂网络上的DNSSEC解析方法。本方法为:1)递归服务器根据DNS请求查询缓存数据,有则将相应缓存数据返回给用户;没有则转2);2)根据该DNS请求向权威服务器查询DNSSEC数据;若没获得该数据,则转3);获得则转5);3)递归服务器使用动态选择策略挑选的传输协议向权威服务器查询DNSSEC数据;若未获得则转4);获得则转5);4)使用动态选择策略挑选的传输协议采用非DNSSEC方式查询DNS数据,若获得则返回不含AD位的DNS数据;否则返回失败信息;5)验证DNS数据,通过则返回含有AD位的DNS数据;否则返回失败信息。本发明专利技术提升了DNS数据报文的可达性和服务稳定性。

【技术实现步骤摘要】
—种基于复杂网络上的DNSSEC解析方法
本专利技术涉及一种基于复杂网络上的DNSSEC解析方法,属于计算机网络

技术介绍
近年来,为了解决DNS域名系统的安全漏洞问题(例如中间人攻击),DNSSEC(Domain Name System Security Extensions)协议逐渐得到广泛部署并成为趋势。它使用了公钥加密技术和数字签名技术来为DNS提供端点鉴别和数据完整性保护(RFC4034, RFC4035),目前根节点、com、us和cn等顶级域名都已实施部署。引入DNSSEC功能后,DNS报文将会明显增大,数据报文的大小将会超过512字节,甚至会超过1500字节。虽然EDNSO技术扩充了 DNS报文的大小,但是一些路由器不支持大于1500字节的DNS数据包,一些防火墙不支持ENDSO协议。这些限制将直接阻塞DNSSEC数据报文在互联网上的传输,最终导致相应域名无法解析。
技术实现思路
本专利技术的目的在于降低DNSSEC带来的DNS解析失败风险,提供一种复杂网络上的DNSSEC解析方法。本专利技术的技术方案为:一种基于复杂网络上的DNSSEC解析方法,其步骤为:I)递归服务器根据用户的DNS查询请求查询缓存数据,如果有对应的缓存数据,则将该缓存数据返回给该用户;如果没有则进行步骤2);2)递归服务器根据该DNS查询请求使用DNSSEC查询方式向权威服务器查询DNSSEC数据;如果没有获得该数据,则进行步骤3);如果获得该数据,则使用DNSSEC协议验证该数据,如果验证通过,则返回给该用户含有AD位的DNS数据;如果验证失败,则返回查询失败信息;3)递归服务器使用动态选择策略挑选的传输协议向权威服务器查询DNSSEC数据;如果未获得该数据,则进行步骤4);如果获得该数据,则使用DNSSEC协议验证DNS数据,如果验证通过,返回给该用户含有AD位的DNS数据;如果验证失败,返回查询失败信息;4)递归服务器使用动态选择策略挑选的传输协议,采用非DNSSEC方式向权威服务器查询DNS数据,如果获得该数据,则返回给该用户不含AD位的DNS数据,完成查询;否则返回查询失败信息。进一步的,所述步骤2)中,递归服务器采用UPD协议,使用DNSSEC查询方式向权威服务器查询DNSSEC数据。进一步的,所述步骤3)中,所述动态选择策略挑选的传输协议是指根据网络环境进行选择传输协议,例如TCP、UDP等。动态选择策略可以根据网络延时等等作为参数,选择出适合当前网络状态的通信协议。进一步的,所述步骤4)中,所述动态选择策略挑选的传输协议是指根据网络环境进行选择传输协议,例如TCP、UDP等。动态选择策略可以根据网络延时等等作为参数,同时考虑上次失败的通信协议选择结果,选择出适合当前网络状态的通信协议。在DNSSEC技术中,递归服务将会根据DNS权威服务的数据进行验证。在验证过程中,递归服务采用UDP协议作为默认传输协议进行通信,使用DNSSEC查询方式获得所需的DNS数据(即包含DNSSEC信息的DNS数据或DNSSEC数据)。当递归服务获得来自权威服务的包含DNSSEC信息的DNS数据时,将会对该数据做DNSSEC验证。如果验证成功,将会给最终用户返回含有“AD”位的DNS数据(即从客户端角度考虑,表明该DNS数据是可信赖的);如果验证失败,将分为2种情况来处理,分别如下:I)获得DNS数据,但是发现数据被篡改获得DNS数据,但是根据DNSSEC协议发现数据被篡改时,将会为最终用户返回“ ServFai I ”,停止为该域名提供解析服务。2)没有获得DNS数据采用动态选择策略挑选的传输协议进行重新查询,获得数据,然后重新验证DNS数据。当重新查询获得数据时,将会继续验证DNS报文,验证通过时,返回含有“AD”位的DNS报文,验证没有通过时返回“ServFail”,停止为该域名提供服务;当再次没有获得数据时,递归服务将会再次动态选择传输协议并且使用非DNSSEC查询方式查询权威服务。当获得来自权威服务的报文时,将不做DNSSEC验证,并且将不含有“AD”位的DNS报文返回给最终用户,从而保证DNS能够继续工作,使得用户请求访问的URL依然可用;当再次没有获得来自权威服务的报文时,递归服务将会返回“ServFail”的DNS报文。与现有技术相比,本专利技术的优点:该方法可以满足DNS安全需求,在不降低DNSSEC安全需求的同时,可以降低复杂网络对DNSSEC数据包的影响。该方法与现有DNS解析方法相比,创造性地利用动态选择策略来选择传输协议进行通信和重试,以当前网络状况等等为参数,选择不同传输协议,当递归服务由一种传输协议无法获得DNSSEC数据时,递归服务将会自动采用其他传输协议获得数据,从而提升了DNS数据报文的可达性和服务的稳定性,降低递归服务部署DNSSEC的风险。该方法与现有DNS相比,增加了数据不可达的处理方法,当UDP和TCP传输协议都无法获得DNSSEC数据时,递归服务将会自动切换成非DNSSEC模式重新查询权威服务,保障域名可以被解析;本专利技术降低了路由器MTU问题对DNSSEC数据包的影响,解决了由于防火墙不支持EDNSO协议而造成DNS无法解析的问题,同时没有降低DNS对中间人攻击的安全性,因为中间人攻击无法制造DNS报文不可达的情况,所以该方法能够验证DNS的正确性。【附图说明】附图为递归服务解析图。【具体实施方式】本实施例的流程如图所示。其步骤描述如下:递归服务器开启DNSSEC验证功能后,将按如下流程查询:I)递归服务器接收用户的DNS查询请求。接收到用户的DNS查询请求后查询缓存数据,如果缓存数据有该信息,将该信息返回给用户;如果缓存数据没有该信息,则跳至第OI KZt /J/ O2)采用UPD协议,使用ENDSO向权威服务器查询DNSSEC数据。如果获得该数据,则跳至第5步。3)当第2步没有返回数据时,使用动态选择策略挑选的传输协议向权威服务器查询DNSSEC数据,如果获得该数据,则跳至第5步。4)当第3步没有返回数据时,则再次动态选择传输协议,采用非DNSSEC方式向权威服务器查询DNS数据。如果获得该数据,则返回给用户不含“AD”位的DNS数据,完成查询;如果仍然没有数据,则返回给用户“ServFail”信息,完成查询。5)使用DNSSEC协议验证DNS数据,如果验证通过,返回给用户含有“AD”位的DNS数据;如果验证失败,返回给用户“ServFail”信息,完成查询。本文档来自技高网...
一种基于复杂网络上的DNSSEC解析方法

【技术保护点】
一种基于复杂网络上的DNSSEC解析方法,其步骤为:1)递归服务器根据用户的DNS查询请求查询缓存数据,如果有对应的缓存数据,则将该缓存数据返回给该用户;如果没有则进行步骤2);2)递归服务器根据该DNS查询请求使用DNSSEC查询方式向权威服务器查询DNSSEC数据;如果没有获得该数据,则进行步骤3);如果获得该数据,则使用DNSSEC协议验证该数据,如果验证通过,则返回给该用户含有AD位的DNS数据;如果验证失败,则返回查询失败信息;3)递归服务器使用动态选择策略挑选的传输协议向权威服务器查询DNSSEC数据;如果未获得该数据,则进行步骤4);如果获得该数据,则使用DNSSEC协议验证DNS数据,如果验证通过,返回给该用户含有AD位的DNS数据;如果验证失败,返回查询失败信息;4)递归服务器使用动态选择策略挑选的传输协议,采用非DNSSEC方式向权威服务器查询DNS数据,如果获得该数据,则返回给该用户不含AD位的DNS数据,完成查询;否则返回查询失败信息。

【技术特征摘要】
1.一种基于复杂网络上的DNSSEC解析方法,其步骤为: 1)递归服务器根据用户的DNS查询请求查询缓存数据,如果有对应的缓存数据,则将该缓存数据返回给该用户;如果没有则进行步骤2); 2)递归服务器根据该DNS查询请求使用DNSSEC查询方式向权威服务器查询DNSSEC数据;如果没有获得该数据,则进行步骤3);如果获得该数据,则使用DNSSEC协议验证该数据,如果验证通过,则返回给该用户含有AD位的DNS数据;如果验证失败,则返回查询失败信息; 3)递归服务器使用动态选择策略挑选的传输协议向权威服务器查询DNSSEC数据;如果未获得该数据,则进行步骤4);如果获得该数据,则使用DNSSEC协议验证DNS数据,如果验证通过,返回给该用户含有AD位的DNS数据;如果验证失败,返回查询失败信息; 4)递归服务器使用动态选择策略挑选的...

【专利技术属性】
技术研发人员:李晓东张海阔罗策王楠左鹏李洪涛
申请(专利权)人:中国科学院计算机网络信息中心
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1