System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() DNS查询方法技术_技高网

DNS查询方法技术

技术编号:44706575 阅读:6 留言:0更新日期:2025-03-21 17:39
本申请提供一种DNS查询方法,所述方法响应于DNS的查询指令,生成DNS查询信息,再调用客户端代理模块,对DNS查询信息签名并生成签名查询包,其中,签名查询包携带有第一扩展报头,向服务器发送签名查询包,以使服务器对签名查询包解析并生成签名应答包,其中,签名应答包携带有第二扩展报头,再调用客户端代理模块,接收服务器发送的签名应答包,签名应答包中包括对签名查询包解析生成的DNS应答信息。所述方法通过引入国密算法进行签名以及在签名查询包中携带扩展报头,可增强DNS查询的安全性。

【技术实现步骤摘要】

本申请涉及通信,尤其涉及一种dns查询方法。


技术介绍

1、dns(domain name system,域名系统)消息是dns协议中用于在客户端和服务器之间交换信息的基本单元。tsig(transaction signature,事务签名)是用于dns协议的安全机制,tsig通过使用共享密钥和哈希算法来生成消息认证码,以确保dns通信的双方能够确认消息未被篡改,并且确实来自预期的发送方。

2、国密算法是密码算法标准,这些算法被应用于各种信息安全场景中,包括但不限于数据加密、数字签名、身份认证等。一些dns服务中会保留国外dns开源软件或不开源的商业软件,以构建异构安全体系,但这些软件不支持国密算法,代码不可见或代码开源但复杂性高,软件适配国密算法改造成本高。

3、部署相关软件的dns服务器在与上下游dns服务器通信时,虽然支持tsig机制,但无法基于国密算法有效的确保数据完整性和身份认证,导致dns查询的安全性低。


技术实现思路

1、本申请提供一种dns查询方法,以解决dns查询的安全性低的问题。

2、第一方面,本申请提供一种dns查询方法,应用于客户端,所述客户端安装有客户端代理模块,所述方法包括:

3、响应于dns的查询指令,生成dns查询信息,所述dns查询信息用于查询服务器的信息;

4、调用所述客户端代理模块,对所述dns查询信息签名并生成签名查询包,所述签名查询包携带有第一扩展报头;

5、向所述服务器发送所述签名查询包,以使所述服务器对所述签名查询包解析并生成签名应答包,所述签名应答包携带有第二扩展报头;

6、调用所述客户端代理模块,接收所述服务器发送的签名应答包,所述签名应答包中包括对所述签名查询包解析生成的dns应答信息。

7、在一些可行的实施例中,所述对所述dns查询信息签名并生成签名查询包,包括:

8、接收第一dns消息,如果所述第一dns消息为非签名应答包,调用所述客户端代理模块,通过密钥机制以及国密算法生成第一签名数据;

9、通过所述第一签名数据对所述dns查询信息签名;

10、获取第一预设字段,以基于所述第一预设字段生成第一扩展报头;

11、基于所述第一扩展报头以及签名后的dns查询信息,生成签名查询包。

12、在一些可行的实施例中,所述通过密钥机制以及国密算法生成第一签名数据,包括:

13、向所述服务器发送申请签名信息的请求,以从所述服务器获取第一会话编码以及第一随机数;

14、预设第一序列号,对所述第一序列号执行取模运算,以确定第一密钥;

15、基于所述第一密钥、第一会话编码、第一序列号以及第一随机数,通过国密算法生成第一签名数据,并记录所述第一序列号以及第一签名数据。

16、在一些可行的实施例中,所述方法还包括:

17、如果所述第一dns消息为签名应答包,调用所述客户端代理模块,

18、接收从所述服务器发送的签名应答包,所述应答包还包括第二序列号以及第二签名数据,所述第二签名数据是所述服务器通过所述第一签名数据,通过国密算法生成的数据;

19、对所述第二序列号执行取模运算,以确定所述第二密钥;

20、基于所述第二密钥以及第一签名数据,生成第三签名数据,以根据所述第三签名数据得到dns应答信息。

21、在一些可行的实施例中,所述根据所述第三签名数据得到dns应答信息,包括:

22、如果所述第三签名数据与第二签名数据一致,将所述签名应答包中的第二扩展报头筛除,以获取dns应答信息;

23、如果所述第三签名数据与第二签名数据不一致,丢弃所述签名应答包,并删除所述第一序列号以及第一签名数据。

24、在一些可行的实施例中,所述接收所述服务器发送的签名应答包后,还包括:

25、获取连接状态,所述连接状态为客户端与服务器的连接状态,所述连接状态包括断开状态和非断开状态;

26、如果所述连接状态为断开状态,删除所述第一序列号以及第一签名数据;

27、如果所述连接状态为非断开状态,更新所述第二序列号以及第二签名数据,以获取第三序列号以及第四签名数据。

28、第二方面,本申请提供一种dns查询方法,应用于服务器,所述服务器安装有服务器代理模块,包括:

29、调用所述服务器代理模块,解析由客户端发送的签名查询包,以得到dns查询信息,所述客户端安装有客户端代理模块,所述签名查询包为所述客户端代理模块响应于dns的查询指令后生成dns查询信息,并通过调用所述客户端代理模块对所述dns查询信息签名得到的,所述签名查询包携带有第一扩展报头,所述dns查询信息用于查询服务器的信息;

30、通过所述dns查询信息,生成所述dns应答信息;

31、调用所述服务器代理模块,对所述dns应答信息签名并生成签名应答包,所述签名应答包携带有第二扩展报头;

32、向所述客户端代理模块发送所述签名应答包,以使所述客户端代理模块解析所述签名应答包,得到dns应答信息。

33、在一些可行的实施例中,所述方法还包括:

34、接收第二dns消息,如果所述第二dns消息为签名查询包,解析由客户端发送的签名查询包,以得到dns查询信息;

35、如果所述第二dns消息为非查询包,调用所述服务器代理模块,以通过所述服务器代理模块对所述dns应答信息签名并生成签名应答包。

36、在一些可行的实施例中,所述通过所述dns查询信息,生成所述dns应答信息,包括:

37、调用所述服务器代理模块,解析所述签名查询包,以提取第一会话编码以及第一序列号;

38、基于所述第一会话编码,并对所述第一会话编码执行取模运算,以确认第二密钥所属的分组序号;

39、基于所述第一序列号,并对所述第一序列号执行取模运算,确定所述第二密钥;

40、基于所述第二密钥,通过国密算法生成第二签名数据;

41、如果所述第一签名数据与第二签名数据一致,将所述签名查询包中的第一扩展报头筛除,得到所述dns应答信息。

42、在一些可行的实施例中,所述调用所述服务器代理模块,以通过所述服务器代理模块对所述dns应答信息签名并生成签名应答包,包括:

43、调用所述服务器代理模块,通过密钥机制以及国密算法生成第五签名数据;

44、通过所述第五签名数据对所述dns应答信息签名;

45、获取第二预设字段,以基于所述第二预设字段生成第二扩展报头;

46、基于所述第二扩展报头以及签名后的dns应答信息,生成签名应答包。

47、由以上技术方案可知,本申请提供一种dns查询方法,所述方法响应于dns的查询指令,生成dns查询信息,再调用本文档来自技高网...

【技术保护点】

1.一种DNS查询方法,其特征在于,应用于客户端,所述客户端安装有客户端代理模块,所述方法包括:

2.根据权利要求1所述的DNS查询方法,其特征在于,所述对所述DNS查询信息签名并生成签名查询包,包括:

3.根据权利要求2所述的DNS查询方法,其特征在于,所述通过密钥机制以及国密算法生成第一签名数据,包括:

4.根据权利要求3所述的DNS查询方法,其特征在于,所述方法还包括:

5.根据权利要求4所述的DNS查询方法,其特征在于,所述根据所述第三签名数据得到DNS应答信息,包括:

6.根据权利要求5所述的DNS查询方法,其特征在于,所述接收所述服务器发送的签名应答包后,还包括:

7.一种DNS查询方法,其特征在于,应用于服务器,所述服务器安装有服务器代理模块,包括:

8.根据权利要求7所述的DNS查询方法,其特征在于,所述方法还包括:

9.根据权利要求7所述的DNS查询方法,其特征在于,所述通过所述DNS查询信息,生成所述DNS应答信息,包括:

10.根据权利要求7所述的DNS查询方法,其特征在于,所述调用所述服务器代理模块,以通过所述服务器代理模块对所述DNS应答信息签名并生成签名应答包,包括:

...

【技术特征摘要】

1.一种dns查询方法,其特征在于,应用于客户端,所述客户端安装有客户端代理模块,所述方法包括:

2.根据权利要求1所述的dns查询方法,其特征在于,所述对所述dns查询信息签名并生成签名查询包,包括:

3.根据权利要求2所述的dns查询方法,其特征在于,所述通过密钥机制以及国密算法生成第一签名数据,包括:

4.根据权利要求3所述的dns查询方法,其特征在于,所述方法还包括:

5.根据权利要求4所述的dns查询方法,其特征在于,所述根据所述第三签名数据得到dns应答信息,包括:

6.根据权利要求...

【专利技术属性】
技术研发人员:吕万波闫夏莉叶崛宇伦占群陈祝亚李洪涛张海阔
申请(专利权)人:中国互联网络信息中心
类型:发明
国别省市:

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

1