CN117097522A - 域名请求的安全应答方法、装置、设备和存储介质 - Google Patents
域名请求的安全应答方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN117097522A CN117097522A CN202310992373.0A CN202310992373A CN117097522A CN 117097522 A CN117097522 A CN 117097522A CN 202310992373 A CN202310992373 A CN 202310992373A CN 117097522 A CN117097522 A CN 117097522A
- Authority
- CN
- China
- Prior art keywords
- response
- domain name
- domain
- response result
- public key
- 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
- 230000004044 response Effects 0.000 title claims abstract description 352
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000012795 verification Methods 0.000 claims abstract description 33
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 230000000593 degrading effect Effects 0.000 claims description 5
- 238000001514 detection method Methods 0.000 claims description 3
- 230000000694 effects Effects 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 231100000572 poisoning Toxicity 0.000 description 3
- 230000000607 poisoning effect Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 238000002955 isolation Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000005641 tunneling Effects 0.000 description 2
- 241000700605 Viruses Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及一种域名请求的安全应答方法、装置、设备和存储介质。主要技术方案包括:响应于客户端发送的域名查询请求,触发检测是否配置有域公钥的操作;若配置有域公钥,则确认为安全应答,将域名查询请求转换成TXT类型发送至权威服务器,以及接收权威服务器返回的已加密应答结果;通过域公钥对已加密应答结果进行解密得到目标解密应答结果,以及对目标解密应答结果进行校验;若校验通过,则确认目标解密应答结果安全,将目标解密应答结果返回至客户端。本申请能够在确认为安全应答后,通过将域名查询请求的类型转化为查询TXT类型,基于查询TXT类型的加密特性为应答建立一个安全通道,以达到对域名应答数据进行有效的防护的效果。
Description
技术领域
本申请涉及数据安全的技术领域,特别是涉及一种域名请求的安全应答方法、装置、设备和存储介质。
背景技术
DNS(Domain Name System,域名系统)是互联网的基础服务之一,作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。但是,众所周知,DNS数据库也面临着来自于黑客攻击、恶意软件、网络病毒等安全威胁的侵害,其中包括但不限于DNS劫持、DNS解析投毒以及DNS隧道等。这些侵害行为不仅会降低DNS的性能和稳定性,还会导致用户数据遭受泄露、被不法分子利用以及其他一系列的损失。
在传统的实现方式中,目前已有的域名数据的安全应答方法有DNSSEC(DomainName System Security Extensions,DNS安全扩展)、基于TLS(Transport LayerSecurity,传输层安全性协议)和HTTPS(Hyper Text Transfer Protocol overSecureSocket Layer,超文本传输安全协议)安全通道传输DNS数据即DOTDOH(DNS overTLSDNS over HTTPS)、基于域名威胁情报的防护以及基于特征分析的隧道防护等。具体地,DNS安全扩展可以保护存储在DNS中数据的完整性,但是本身对DNS数据没有加密,且需要同步配置和改造同一任务链上的DNS节点;DOTDOH可以解决客户端到递归服务器的数据安全保障,但是客户端需要同步进行修改,但目前默认支持的客户端较少,只有部分主流浏览器和手机客户端支持,大部分应用特别是自己开发的应用不支持,需要二次开发;基于域名威胁情报的防护只能防护特定的域名,且需要额外购买域名库,域名的更新频率、准确性和及时性也不是很好;基于特征分析的隧道防护,需要根据静态分析的特征或动态学习得到的特征来进行防护,但如果攻击特征变化无常,跳跃性强则无法做到有效防护。
因此,综合比对上述方式,均存在或多或少的缺陷,不能对域名数据进行有效的防护。
发明内容
基于此,本申请提供了一种域名请求的安全应答方法、装置、设备和存储介质,在确认为安全应答后,通过将域名查询请求的类型转化为查询TXT类型,通过TXT类型的加密特性为应答建立一个安全通道,以达到对域名应答数据进行有效的防护的效果。
第一方面,提供一种域名请求的安全应答方法,该方法包括:
响应于客户端发送的域名查询请求,触发检测是否配置有域公钥的操作;其中,域公钥是预配置于递归服务器,且与用于对应答结果进行加密的域私钥组成的一对非对称密钥;
若配置有域公钥,则确认为安全应答,将域名查询请求转换成TXT类型发送至权威服务器,以及接收权威服务器返回的已加密应答结果;
通过域公钥对已加密应答结果进行解密得到目标解密应答结果,以及对目标解密应答结果进行校验;
若校验通过,则确认目标解密应答结果安全,将目标解密应答结果返回至客户端。
根据本申请实施例中一种可实现的方式,该方法还包括:
若校验未通过,则确认目标解密应答结果不安全,根据预设配置将域名查询请求降级为普通查询进行应答,或者将空白应答报文返回至客户端。
根据本申请实施例中一种可实现的方式,已加密应答结果有多个,通过域公钥对已加密应答结果进行解密得到目标解密应答结果,以及对目标解密应答结果进行校验,包括:
通过域公钥对多个已加密应答结果进行解密,得到多个候选解密应答结果;其中,候选解密应答结果包括候选查询类型;
根据候选查询类型从多个候选解密应答结果中选取与域名查询请求类型对应的目标解密应答结果,其中,目标解密应答结果包括目标应答报文和目标hash值;
根据目标hash值对目标应答报文进行校验。
根据本申请实施例中一种可实现的方式,候选解密应答结果还包括候选应答报文和候选hash值,该方法还包括:
分别对与各候选hash值对应的候选应答报文进行校验;
将校验通过的候选应答报文保存至缓存记录中,以及将校验未通过的候选应答报文丢弃。
根据本申请实施例中一种可实现的方式,若未配置有域公钥,则确认为普通应答,以及查看预设应答支持方式,预设应答支持方式包括既支持安全应答也支持普通应答;
在预设应答方式为既支持安全应答也支持普通应答时,将域名查询请求转发至权威服务器;
接收权威服务器发送的与域名查询请求对应的未加密应答结果,将未加密应答结果返回至客户端。
根据本申请实施例中一种可实现的方式,预设应答支持方式还包括仅支持安全应答不支持普通应答,该方法还包括:
在预设应答方式为仅支持安全应答不支持普通应答时,查看预配置策略;
根据预配置策略,对域名查询请求进行应答。
根据本申请实施例中一种可实现的方式,预配置策略包括限制查询速度、返回预设固定应答报文以及将域名查询请求丢弃中的任意一项,根据预配置策略,对域名查询请求进行应答,包括:
在预配置策略为限制查询速度时,降低对域名查询请求的查询速度,且将域名查询请求转发至权威服务器;接收权威服务器发送的与域名查询请求对应的未加密应答结果,将未加密应答结果返回至客户端;
在预配置策略为返回预设固定应答报文时,将预设固定应答报文返回至客户端;
在预配置策略为将域名查询请求丢弃时,将域名查询请求丢弃。
第二方面,提供了一种域名请求的安全应答装置,该装置包括:
接收检测单元,用于响应于客户端发送的域名查询请求,触发检测是否配置有域公钥的动作;其中,域公钥是预配置于递归服务器,且与用于对应答结果进行加密的域私钥组成的一对非对称密钥;
转换接收单元,用于若配置有域公钥,则确认为安全应答,将域名查询请求转换成TXT类型发送至权威服务器,以及接收权威服务器返回的已加密应答结果;
解密校验单元,用于通过域公钥对已加密应答结果进行解密得到目标解密应答结果,以及对目标解密应答结果进行校验;
结果返回单元,用于若校验通过,则确认目标解密应答结果安全,将目标解密应答结果返回至客户端。
第三方面,提供了一种计算机设备,包括:
至少一个处理器;以及
与至少一个处理器通信连接的存储器;其中,
存储器存储有可被至少一个处理器执行的计算机指令,计算机指令被至少一个处理器执行,以使至少一个处理器能够执行上述第一方面中涉及的方法。
第四方面,提供了一种计算机可读存储介质,其上存储有计算机指令,其特征在于,计算机指令用于使计算机执行上述第一方面中涉及的方法。
根据本申请实施例所提供的技术内容,通过响应于客户端发送的域名查询请求,触发检测是否配置有域公钥的操作;其中,域公钥是预配置于递归服务器,且与用于对应答结果进行加密的域私钥组成的一对非对称密钥;若配置有域公钥,则确认为安全应答,将域名查询请求转换成TXT类型发送至权威服务器,以及接收权威服务器返回的已加密应答结果;通过域公钥对已加密应答结果进行解密得到目标解密应答结果,以及对目标解密应答结果进行校验;若校验通过,则确认目标解密应答结果安全,将目标解密应答结果返回至客户端。上述操作,在确认为安全应答后,通过将域名查询请求的类型转化为查询TXT类型,通过TXT类型的加密特性为应答建立一个安全通道,实现在不改变现有DNS部署架构的前提下,轻量级的在客户端和DNS服务器之间做一个安全防护隔离,以达到对域名数据进行有效的防护的效果。
附图说明
图1为一个实施例中一种域名请求的安全应答方法的系统架构图;
图2为一个实施例中一种域名请求的安全应答方法的流程示意图;
图3为一个实施例中一种域名请求的安全应答方法的优选流程示意图;
图4为一个实施例中一种域名请求的安全应答装置的结构框图;
图5为一个实施例中计算机设备的示意性结构图。
具体实施方式
以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
为了方便理解,首先对本申请所适用的系统架构进行描述。本申请提供的一种域名请求的安全应答方法,可以应用于如图1所示的系统架构中。该系统架构包括:客户端101、递归服务器103以及权威服务器105。该系统架构的一般处理流程为:客户端101向递归服务器103发送域名查询请求,递归服务器103接收客户端101发送的域名查询请求并转发至权威服务器105,权威服务器105接收递归服务器103发送的域名查询请求后进行查询解析操作得到对应应答报文,并将该对应应答报文返回至递归服务器103,递归服务器103接收权威服务器发送的应答报文后将其返回至客户端101以完成应答。需要说明的是,在本申请中递归服务器103接收到客户端101发送的域名查询请求后,可以触发检测是否配置有域公钥的操作来确认是否为安全应答,进而达到对域名数据进行有效的防护的效果。
图2为本申请实施例提供的一种域名请求的安全应答方法的流程图,该方法可以由如图1所示系统架构中的递归服务器执行。如图2所示,该方法可以包括以下步骤:
步骤S201:响应于客户端发送的域名查询请求,触发检测是否配置有域公钥的操作。
其中,域公钥是预配置于递归服务器,且用于对应答结果进行加密的域私钥组成的一对非对称密钥。
这里,负责维护DNS(Domain Name System,域名系统)的某个区域的域管理员,可以生成一对非对称密钥即域私钥和域公钥,指定给DNS使用。域管理员自己保存域私钥,将域公钥开放给受信的用户,配置到“DNS安全防护设备”即递归服务器,以隔离安全和非安全的网络环境。具体地,客户端向递归服务器发送域名查询请求,递归服务器响应于客户端发送的域名查询请求,触发检测是否配置有域公钥的操作。
步骤S203:若配置有域公钥,则确认为安全应答,将域名查询请求转换成TXT类型发送至权威服务器,以及接收权威服务器返回的已加密应答结果。
这里,域管理员可以随机选定一个分割字符串,把域名查询请求类型、多个应答报文拼接为一个大的字符串假设为x,基于Hash Algorithm(hash算法)获取x字符串的hash值,并将获取的hash值拼接到x字符串前边假设为y,再用域私钥将y加密,形成最终的已加密应答报文,且整体作为TXT(text,文本文档)文档提前存储于权威服务器中。需要说明的是,针对域名查询请求的类型,每一种类型对应一个TXT文档,且域名查询请求的类型包括但不限于A(Address,从域名到IP地址的映射)、AAAA(AAAArecord,将域名主机指向一个IPv6地址)、TXT、CNAME(Canonical Name,将一个域名解析为另一个域名)以及NAPTR(Naming Authority Pointer,名称权威指针)等类型。
具体地,在触发检测是否配置有域公钥的操作后,若配置有域公钥,则确认为安全应答,且假设域名查询请求的类型为A类型,此时,递归服务器将A类型的域名查询请求转换成TXT类型后发送至权威服务器,权威服务器接收经过类型转换后的域名查询请求,基于该域名查询请求查找已加密结果,并将已加密结果发送至递归服务器,递归服务器接收权威服务器返回的已加密应答结果。
步骤S205:通过域公钥对已加密应答结果进行解密得到目标解密应答结果,以及对目标解密应答结果进行校验。
这里,递归服务器通过域公钥对接收到的已加密应答结果进行解密得到目标解密应答结果,具体的解密过程即为上述加密过程的反向过程,此处不再重新赘述。将已加密应答结果解密之后,得到目标解密应答结果且对目标解密应答结果进行校验,基于校验结果,确定目标解密应答结果的安全性。也即只有在设置有域公钥的前提下,才可以实现对已加密应答结果的解码校验,进而确定目标解密应答结果的安全性。
步骤S207:若校验通过,则确认目标解密应答结果安全,将目标解密应答结果返回至客户端。
这里,对目标解密应答结果进行校验,如果校验通过,则可以确认目标解密应答结果是安全的,进而可以将目标解密应答结果返回至客户端以完成对用户的应答。
可以看出,本申请实施例通过响应于客户端发送的域名查询请求,触发检测是否配置有域公钥的操作;其中,域公钥是预配置于递归服务器,且与用于对应答结果进行加密的域私钥组成的一对非对称密钥;若配置有域公钥,则确认为安全应答,将域名查询请求转换成TXT类型发送至权威服务器,以及接收权威服务器返回的已加密应答结果;通过域公钥对已加密应答结果进行解密得到目标解密应答结果,以及对目标解密应答结果进行校验;若校验通过,则确认目标解密应答结果安全,将目标解密应答结果返回至客户端。上述操作,在确认为安全应答后,通过将域名查询请求的类型转化为查询TXT类型,基于TXT类型的加密特性为应答建立一个安全通道,实现在不改变现有DNS部署架构的前提下,轻量级的在客户端和DNS服务器之间做一个安全防护隔离,以达到对域名数据进行有效的防护的效果。
在一个实施例中,该方法还包括:若校验未通过,则确认目标解密应答结果不安全,根据预设配置将域名查询请求降级为普通查询进行应答,或者将空白应答报文返回至客户端。
在一种可实现的方式中,在确认为安全应答后,如果校验未通过,则确认目标解密应答结果不安全,虽然应答结果是经过加密的,但是也可能已经被人篡改,因此,可以查看递归服务器内的预设配置,如果预设配置为降级为普通查询,则可以将域名查询请求降级为普通查询进行应答,即获取权威服务器查找得到的与域名查询请求对应的未加密应答结果,将未加密应答结果返回至客户端以完成应答。
在另一种可实现的方式中,若校验未通过,则确认目标解密应答结果不安全,可以查看递归服务器内的预设配置,如果预设配置为将空白应答报文返回至客户端,则可以直接将空白应答报文返回至客户端以完成应答。
上述操作,在校验未通过时,根据预设配置将域名查询请求降级为普通查询进行应答,或者将空白应答报文返回至客户端,以达到进一步满足客户端的查询请求的效果。
在一个实施例中,通过域公钥对已加密应答结果进行解密得到目标解密应答结果,以及对目标解密应答结果进行校验,包括:通过域公钥对多个已加密应答结果进行解密,得到多个候选解密应答结果;根据候选查询类型从多个候选解密应答结果中选取与域名查询请求类型对应的目标解密应答结果,目标解密应答结果包括目标应答报文和目标hash值;根据目标hash值对目标应答报文进行校验。
其中,已加密应答结果有多个;候选解密应答结果包括候选查询类型、候选应答报文以及候选hash值;目标解密应答结果包括目标查询类型、目标应答报文以及目标hash值。
这里,递归服务器在检测到有域公钥时,将域名查询请求转换成TXT类型发送至权威服务器,由于权威服务器内预设有多个TXT类型对应的已加密应答结果,因此,可以将多个已加密应答结果均返回至递归服务器,递归服务器接收到多个已加密应答结果后,通过域公钥可以对多个已加密应答结果进行解密,以得到多个候选解密应答结果。由于候选解密应答结果包括候选查询类型,因此,可以根据候选查询类型从多个候选解密应答结果中选取与域名查询请求类型对应的目标解密应答结果,即从多个候选查询类型中查找与域名查询请求类型一致的候选解密应答结果则为目标解密应答结果。且由于目标解密应答结果包括目标应答报文和目标hash值,所以,可以根据目标hash值对目标应答报文进行校验,如果校验通过,则可以直接将目标应答报文返回至客户端以实现安全应答。
上述操作,基于域公钥对多个已加密应答结果进行解密以得到目标解密应答结果,再通过目标hash值对目标应答报文进行校验,以实现对应答数据的校验和保护,达到可以有效处理缓存投毒、DNS劫持、数据泄露、隧道等常见安全攻击的问题,在保证应答数据的安全性的同时,杜绝了泄露和串改的效果。
在一个实施例中,该方法还包括:分别对与各候选hash值对应的候选应答报文进行校验;将校验通过的候选应答报文保存至缓存记录中,以及将校验未通过的候选应答报文丢弃。
这里,由于候选解密应答结果还包括候候选应答报文以及候选hash值,虽然此时客户端并没有发起除目标解密应答结果之外的与候选解密应答结果对应的域名查询请求,但是由于递归服务器已经接收到多个候选解密应答结果,因此,可以分别对与各候选hash值对应的候选应答报文进行校验,可以将校验通过的候选应答报文保存至缓存记录中,以便于下次客户端发起对应的域名查询请求时直接进而应答,而将校验未通过的候选应答报文直接丢弃。
上述操作,分别对与各候选hash值对应的候选应答报文进行校验,且将校验通过的候选应答报文保存至缓存记录中,以便于下次客户端发起域名查询请求时可以直接进行安全应答,避免不必要的运行资源的浪费。
在一个实施例中,该方法还包括:若未配置有域公钥,则确认为普通应答,以及查看预设应答支持方式,在预设应答方式为既支持安全应答也支持普通应答时,将域名查询请求转发至权威服务器;接收权威服务器发送的与域名查询请求对应的未加密应答结果,将未加密应答结果返回至客户端。
其中,预设应答支持方式包括但不限于既支持安全应答也支持普通应答和仅支持安全应答不支持普通应答。
这里,如果递归服务器检测未配置有域公钥,则确认为普通应答,此时,可以查看递归服务器的预设应答支持方式,在预设应答方式为既支持安全应答也支持普通应答时,说明此时可以进行普通应答,也就是可以执行常规的DNS查询应答流程,即递归服务器将域名查询请求转发至权威服务器;权威服务器接收递归服务器发送的域名查询请求,并基于该域名查询请求查询对应的未加密应答结果,且将查询到的对应未加密应答结果发送至递归服务器,递归服务器接收未加密应答结果,并将该未加密应答结果返回至客户端以完成应答。
上述操作,在递归服务器检测未配置有域公钥,且递归服务器的预设应答支持方式也支持普通应答时,按照常规的DNS查询应答流程进行处理,以满足用户的查询请求。
在一个实施例中,该方法还包括:在预设应答方式为仅支持安全应答不支持普通应答时,查看预配置策略;根据预配置策略,对域名查询请求进行应答。
其中,预配置策略包括限制查询速度、返回预设固定应答报文以及将域名查询请求丢弃中的任意一项。
在一种可实现的方式中,在预配置策略为限制查询速度时,降低对域名查询请求的查询速度,且将域名查询请求转发至权威服务器;权威服务器接收递归服务器发送的域名查询请求,并基于该域名查询请求查询对应的未加密应答结果,且将查询到的对应未加密应答结果发送至递归服务器,递归服务器接收权威服务器发送的与域名查询请求对应的未加密应答结果,将该未加密应答结果返回至客户端以完成应答。
在另一种可实现的方式中,在预配置策略为返回预设固定应答报文时,递归服务器直接将预设固定应答报文返回至客户端以完成应答。
在另一种可实现的方式中,在预配置策略为将域名查询请求丢弃时,可以直接将域名查询请求丢弃,以放弃应答。
上述操作,根据递归服务器的预配置策略,对域名查询请求进行应答,实现在满足用户的查询需求的同时保障应答结果的安全性的效果。
结合上述实施例中的实现方式,下面结合图3对本申请实施例提供的一优选的方法流程进行举例描述。如图3所示,该方法可以包括以下步骤:
步骤S301,响应于客户端发送的域名查询请求,触发检测是否配置有域公钥的操作;若配置有域公钥,则执行步骤S302;若未配置有域公钥,执行步骤S308。
步骤S302,确认为安全应答,将域名查询请求转换成TXT类型发送至权威服务器,以及接收权威服务器返回的多个已加密应答结果。
步骤S303,通过域公钥对多个已加密应答结果进行解密,得到多个候选解密应答结果;其中,候选解密应答结果包括候选查询类型。
步骤S304,根据候选查询类型从多个候选解密应答结果中选取与域名查询请求类型对应的目标解密应答结果,其中,目标解密应答结果包括目标应答报文和目标hash值。
步骤S305,根据目标hash值对目标应答报文进行校验;若校验通过,则执行步骤S306;若校验未通过,则执行步骤S307。
步骤S306,确认目标解密应答结果安全,将目标解密应答结果返回至客户端。
步骤S307,确认目标解密应答结果不安全,根据预设配置将域名查询请求降级为普通查询进行应答,或者将空白应答报文返回至客户端。
步骤S308,确认为普通应答,以及查看预设应答支持方式,在预设应答方式为既支持安全应答也支持普通应答时,执行步骤S309;在预设应答方式为仅支持安全应答不支持普通应答时,执行步骤S310。
步骤S309,将域名查询请求转发至权威服务器,以及接收权威服务器发送的与域名查询请求对应的未加密应答结果,将未加密应答结果返回至客户端。
步骤S310,查看预配置策略,在预配置策略为限制查询速度时,执行步骤S3101;在预配置策略为返回预设固定应答报文时,执行步骤S3102;在预配置策略为将域名查询请求丢弃时,执行步骤S3103。
步骤S3101,降低对域名查询请求的查询速度,且将域名查询请求转发至权威服务器;接收权威服务器发送的与域名查询请求对应的未加密应答结果,将未加密应答结果返回至客户端。
步骤S3102,将预设固定应答报文返回至客户端。
步骤S3103,将域名查询请求丢弃。
应该理解的是,虽然图2-图3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本申请中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-图3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
上述方法实施例可以应用于多种应用场景,例如可以包括但不限于响应于客户端发送的域名查询请求,通过触发检测是否配置有域公钥的操作,来确定是安全应答还是普通应答,在确定为安全应答时,再进行进一步的校验;在确定为普通应答时,按照预配置策略,对域名查询请求进行应答,以达到安全及时的满足客户端用户的查询需求的应用场景。
图4为本申请实施例提供的一种域名请求的安全应答装置的结构示意图,该装置可以设置于图1所示系统架构中的递归服务器,用以执行如图2-图3中所示的方法流程。如图4所示,该装置可以包括:接收检测单元401、转换接收单元403和解密校验单元405以及结果返回单元407。其中各组成模块的主要功能如下:
接收检测单元401,用于响应于客户端发送的域名查询请求,触发检测是否配置有域公钥的动作;其中,域公钥是预配置于递归服务器,且与用于对应答结果进行加密的域私钥组成的一对非对称密钥;
转换接收单元403,用于若配置有域公钥,则确认为安全应答,将域名查询请求转换成TXT类型发送至权威服务器,以及接收权威服务器返回的已加密应答结果;
解密校验单元405,用于通过域公钥对已加密应答结果进行解密得到目标解密应答结果,以及对目标解密应答结果进行校验;
结果返回单元407,用于若校验通过,则确认目标解密应答结果安全,将目标解密应答结果返回至客户端。
在一个实施例中,该装置还用于:
若校验未通过,则确认目标解密应答结果不安全,根据预设配置将域名查询请求降级为普通查询进行应答,或者将空白应答报文返回至客户端。
在一个实施例中,已加密应答结果有多个,解密校验单元405,还用于:
通过域公钥对多个已加密应答结果进行解密,得到多个候选解密应答结果;其中,候选解密应答结果包括候选查询类型;
根据候选查询类型从多个候选解密应答结果中选取与域名查询请求类型对应的目标解密应答结果,其中,目标解密应答结果包括目标应答报文和目标hash值;
根据目标hash值对目标应答报文进行校验。
在一个实施例中,候选解密应答结果还包括候选应答报文和候选hash值,该装置还用于:
分别对与各候选hash值对应的候选应答报文进行校验;
将校验通过的候选应答报文保存至缓存记录中,以及将校验未通过的候选应答报文丢弃。
在一个实施例中,该装置还用于:
若未配置有域公钥,则确认为普通应答,以及查看预设应答支持方式,预设应答支持方式包括既支持安全应答也支持普通应答;
在预设应答方式为既支持安全应答也支持普通应答时,将域名查询请求转发至权威服务器;
接收权威服务器发送的与域名查询请求对应的未加密应答结果,将未加密应答结果返回至客户端。
在一个实施例中,预设应答支持方式还包括仅支持安全应答不支持普通应答,该装置还用于:
在预设应答方式为仅支持安全应答不支持普通应答时,查看预配置策略;
根据预配置策略,对域名查询请求进行应答。
在一个实施例中,预配置策略包括限制查询速度、返回预设固定应答报文以及将域名查询请求丢弃中的任意一项,该装置还用于:
在预配置策略为限制查询速度时,降低对域名查询请求的查询速度,且将域名查询请求转发至权威服务器;接收权威服务器发送的与域名查询请求对应的未加密应答结果,将未加密应答结果返回至客户端;
在预配置策略为返回预设固定应答报文时,将预设固定应答报文返回至客户端;
在预配置策略为将域名查询请求丢弃时,将域名查询请求丢弃。
根据本申请提供的具体实施例,本申请所提供的技术方案可以具备以下优点:
1)基于非对称加密机制保障了应答数据的安全性,可以有效解决缓存投毒、域名劫持等问题。
2)通过把常规的域名查询请求转换封装为TXT类型,以建立一个安全隧道,达到可以防止隧道攻击的效果。
3)通过提前对应答结果进行加密,达到对应答数据的隐藏和保护的效果。
可以理解的是,实施本申请的任一方法或产品并不一定需要同时达到以上的所有优点。
上述各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,本申请实施例中可能会涉及到对用户数据的使用,在实际应用中,可以在符合所在国的适用法律法规要求的情况下(例如用户明确同意,对用户切实通知,用户明确授权等),在适用法律法规允许的范围内在本文描述的方案中使用用户特定的个人数据。
根据本申请的实施例,本申请还提供了一种计算机设备、一种计算机可读存储介质。
如图5所示,是根据本申请实施例的计算机设备的框图。计算机设备旨在表示各种形式的数字计算机或移动装置。其中数字计算机可以包括台式计算机、便携式计算机、工作台、个人数字助理、服务器、大型计算机和其它适合的计算机。移动装置可以包括平板电脑、智能电话、可穿戴式设备等。
如图5所示,设备500包括计算单元501、ROM 502、RAM 503、总线504以及输入/输出(I/O)接口505,计算单元501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
计算单元501可以根据存储在只读存储器(ROM)502中的计算机指令或者从存储单元508加载到随机访问存储器(RAM)503中的计算机指令,来执行本申请方法实施例中的各种处理。计算单元501可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元501可以包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。在一些实施例中,本申请实施例提供的方法可被实现为计算机软件程序,其被有形地包含于计算机可读存储介质,例如存储单元508。
RAM 503还可存储设备500操作所需的各种程序和数据。计算机程序的部分或者全部可以经由ROM 502和/或通信单元509而被载入和/或安装到设备500上。
设备500中的输入单元506、输出单元507、存储单元508和通信单元509可以连接至I/O接口505。其中,输入单元506可以是诸如键盘、鼠标、触摸屏、麦克风等;输出单元507可以是诸如显示器、扬声器、指示灯等。设备500能够通过通信单元509与其他设备进行信息、数据等的交换。
需要说明的是,该设备还可以包括实现正常运行所必需的其他组件。也可以仅包含实现本申请方案所必需的组件,而不必包含图中所示的全部组件。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件和/或它们的组合中实现。
用于实施本申请的方法的计算机指令可以采用一个或多个编程语言的任何组合来编写。这些计算机指令可以提供给计算单元501,使得计算机指令当由诸如处理器等计算单元501执行时使执行本申请方法实施例中涉及的各步骤。
本申请提供的计算机可读存储介质可以是有形的介质,其可以包含或存储计算机指令,用以执行本申请方法实施例中涉及的各步骤。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的等形式的存储介质。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (10)
1.一种域名请求的安全应答方法,其特征在于,所述方法包括:
响应于客户端发送的域名查询请求,触发检测是否配置有域公钥的操作;其中,所述域公钥是预配置于递归服务器,且与用于对应答结果进行加密的域私钥组成的一对非对称密钥;
若配置有所述域公钥,则确认为安全应答,将所述域名查询请求转换成TXT类型发送至所述权威服务器,以及接收所述权威服务器返回的已加密应答结果;
通过所述域公钥对所述已加密应答结果进行解密得到目标解密应答结果,以及对所述目标解密应答结果进行校验;
若校验通过,则确认所述目标解密应答结果安全,将所述目标解密应答结果返回至所述客户端。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若校验未通过,则确认所述目标解密应答结果不安全,根据预设配置将所述域名查询请求降级为普通查询进行应答,或者将空白应答报文返回至所述客户端。
3.根据权利要求1所述的方法,其特征在于,所述已加密应答结果有多个,所述通过所述域公钥对所述已加密应答结果进行解密得到目标解密应答结果,以及对所述目标解密应答结果进行校验,包括:
通过所述域公钥对多个所述已加密应答结果进行解密,得到多个候选解密应答结果;其中,所述候选解密应答结果包括候选查询类型;
根据所述候选查询类型从多个所述候选解密应答结果中选取与所述域名查询请求类型对应的目标解密应答结果,其中,所述目标解密应答结果包括目标应答报文和目标hash值;
根据所述目标hash值对所述目标应答报文进行校验。
4.根据权利要求3所述的方法,其特征在于,所述候选解密应答结果还包括候选应答报文和候选hash值,所述方法还包括:
分别对与各所述候选hash值对应的所述候选应答报文进行校验;
将校验通过的所述候选应答报文保存至缓存记录中,以及将校验未通过的所述候选应答报文丢弃。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若未配置有所述域公钥,则确认为普通应答,以及查看预设应答支持方式,所述预设应答支持方式包括既支持安全应答也支持普通应答;
在所述预设应答方式为既支持安全应答也支持普通应答时,将所述域名查询请求转发至所述权威服务器;
接收所述权威服务器发送的与所述域名查询请求对应的未加密应答结果,将所述未加密应答结果返回至所述客户端。
6.根据权利要求5所述的方法,其特征在于,所述预设应答支持方式还包括仅支持安全应答不支持普通应答,所述方法还包括:
在所述预设应答方式为仅支持安全应答不支持普通应答时,查看预配置策略;
根据所述预配置策略,对所述域名查询请求进行应答。
7.根据权利要求6所述的方法,其特征在于,所述预配置策略包括限制查询速度、返回预设固定应答报文以及将所述域名查询请求丢弃中的任意一项,所述根据所述预配置策略,对所述域名查询请求进行应答,包括:
在所述预配置策略为限制查询速度时,降低对所述域名查询请求的查询速度,且将所述域名查询请求转发至所述权威服务器;接收所述权威服务器发送的与所述域名查询请求对应的未加密应答结果,将所述未加密应答结果返回至所述客户端;
在所述预配置策略为返回预设固定应答报文时,将所述预设固定应答报文返回至所述客户端;
在所述预配置策略为将所述域名查询请求丢弃时,将所述域名查询请求丢弃。
8.一种域名请求的安全应答装置,其特征在于,所述装置包括:
接收检测单元,用于响应于客户端发送的域名查询请求,触发检测是否配置有域公钥的动作;其中,所述域公钥是预配置于递归服务器,且与用于对应答结果进行加密的域私钥组成的一对非对称密钥;
转换接收单元,用于若配置有所述域公钥,则确认为安全应答,将所述域名查询请求转换成TXT类型发送至所述权威服务器,以及接收所述权威服务器返回的已加密应答结果;
解密校验单元,用于通过所述域公钥对所述已加密应答结果进行解密得到目标解密应答结果,以及对所述目标解密应答结果进行校验;
结果返回单元,用于若校验通过,则确认所述目标解密应答结果安全,将所述目标解密应答结果返回至所述客户端。
9.一种计算机设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机指令,所述计算机指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述计算机指令用于使计算机执行权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310992373.0A CN117097522A (zh) | 2023-08-08 | 2023-08-08 | 域名请求的安全应答方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310992373.0A CN117097522A (zh) | 2023-08-08 | 2023-08-08 | 域名请求的安全应答方法、装置、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117097522A true CN117097522A (zh) | 2023-11-21 |
Family
ID=88769182
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310992373.0A Pending CN117097522A (zh) | 2023-08-08 | 2023-08-08 | 域名请求的安全应答方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117097522A (zh) |
-
2023
- 2023-08-08 CN CN202310992373.0A patent/CN117097522A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108476246B (zh) | 计算机网络中的安全域名解析 | |
CN109983752B (zh) | 带有编码dns级信息的网络地址 | |
Kogan et al. | Private blocklist lookups with checklist | |
US8533581B2 (en) | Optimizing security seals on web pages | |
Ariyapperuma et al. | Security vulnerabilities in DNS and DNSSEC | |
US9270646B2 (en) | Systems and methods for generating a DNS query to improve resistance against a DNS attack | |
US8549581B1 (en) | Distributed network security system deploying guard tables | |
CN108632221B (zh) | 定位内网中的受控主机的方法、设备及系统 | |
US9380053B1 (en) | Using resource records for digital certificate validation | |
US20220261798A1 (en) | Computer-Implemented System and Method for Facilitating Transactions Associated with a Blockchain Using a Network Identifier for Participating Entities | |
US8407802B2 (en) | Method and system for providing security seals on web pages | |
Morsy et al. | D-arp: An efficient scheme to detect and prevent arp spoofing | |
WO2020061051A1 (en) | Entity-separated email domain authentication for known and open sign-up domains | |
US11271894B1 (en) | Systems, devices, and methods for private query and exchange of domain information | |
US20230308414A1 (en) | Collecting passive dns traffic to generate a virtual authoritative dns server | |
Zhao et al. | DCG: A Client-side Protection Method for DNS Cache. | |
CN111865876B (zh) | 网络的访问控制方法和设备 | |
CN110875903B (zh) | 一种安全防御方法及设备 | |
EP3311555B1 (en) | Security for domain name system | |
CN117097522A (zh) | 域名请求的安全应答方法、装置、设备和存储介质 | |
Laprade et al. | Domain name service trust delegation in cloud computing: exploitation, risks, and defense | |
US11438166B2 (en) | System and method for use of a suffix tree to control blocking of blacklisted encrypted domains | |
Snigdha | A Framework for Security of DNS Using Cryptography | |
CN116962346A (zh) | Dns请求处理方法、设备、系统及计算机可读介质 | |
CN113810516A (zh) | 真实ip的查找方法、系统、可读存储介质及计算机设备 |
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 |