[发明专利]一个基于开源DNS软件的自证根实现方法有效
申请号: | 201910342826.9 | 申请日: | 2019-04-25 |
公开(公告)号: | CN110071810B | 公开(公告)日: | 2021-10-01 |
发明(设计)人: | 张宇;张文佳;方滨兴;张宏莉;刘文峰 | 申请(专利权)人: | 哈尔滨工业大学 |
主分类号: | H04L9/32 | 分类号: | H04L9/32;H04L9/08;H04L29/06;H04L29/12 |
代理公司: | 哈尔滨市松花江专利商标事务所 23109 | 代理人: | 杨立超 |
地址: | 150001 黑龙*** | 国省代码: | 黑龙江;23 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一个 基于 dns 软件 实现 方法 | ||
1.一个基于开源DNS软件的自证根实现方法,所述自证根为一个根区数据本身可自证来源真实性的安全DNS加密方案,自证根主要包含三个设计目标:
一、胶水签名:对胶水记录添加来自顶级域权威的数字签名,令根区胶水记录来源可公开验证;自证根在开源DNS软件bind中实现服务器端胶水签名;
二、公钥钉:解析器采用公钥白名单或首用信任的方法来获得顶级域公钥;
三、双重签名:当顶级域密钥滚动时,新的顶级域公钥证书需要来自根权威和顶级域权威的两个签名;
水签名、公钥钉以及双重签名在开源DNS软件bind中实现的;
于,自证根在开源DNS软件bind中实现服务器端胶水签名的过程包括:
(1)服务器配置:
(1.1)先进行顶级域服务器的配置,包含配置系统环境、配置顶级域区文件、配置named服务器中的选项;其中,配置顶级域区文件的步骤如下:
(1.1.1)建立区文件,添加TTL记录、顶级域SOA记录、顶级域NS记录和对应的A记录;
(1.1.2)使用dnssec-keygen工具生成顶级域DNSKEY记录(DNSKEY记录包含KSK和ZSK密钥),将生成的密钥添加到所述顶级域区文件中;
(1.1.3)使用dnssec-signzone工具生成对顶级域区文件进行签名,生成相关记录的RRSIG和NSEC记录,所述的相关记录包含根区的胶水记录;
(1.2)再进行根服务器的配置,因为根服务器的区文件中的顶级域DS记录需要在完成顶级域服务器配置后才能获得;
根服务器的配置包含配置系统环境、配置区文件、配置named服务器中的options;其中,区文件内容除包含根区本身的TTL记录、SOA记录、NS记录和名称服务器对应的A记录外,还需要加入顶级域NS记录和顶级域名称服务器对应的A记录,以及顶级域区文件签名成功后生成的DS记录;
(2)信任链合成,其过程为:
(2.1)建立根服务器的区文件时添加顶级域密钥;
(2.2)对根区文件进行签名后,生成顶级域NSEC记录;
(2.3)在签名后的根区文件中,添加顶级域DNSKEY记录的签名和NS记录的签名,生成一条由根到顶级域的信任链;
(3)查询验证,
在递归解析器上向根服务器查询顶级域NS记录,并进行DNSSEC验证,验证成功即得到一条由根到顶级域的完整信任链,其过程具体包括:
(3.1)配置递归解析器,开启递归选项,配置信任锚为根服务器的KSK;
(3.2)在递归解析器中,使用dig工具向根服务器查询顶级域NS记录,并使用sigchase选项进行DNSSEC验证。
2.根据权利要求1所述的一个基于开源DNS软件的自证根实现方法,其特征在于,自证根在开源DNS软件bind中通过修改服务器端源码的方式实现解析器端的查询验证。
3.根据权利要求2所述的一个基于开源DNS软件的自证根实现方法,其特征在于,在查询验证前,所述步骤(3)中根服务器并不能返回目标的胶水记录签名及其信任链的数据,因此对基于bind根服务器的源码进行修改:bind源码的数据存储形式呈现为层级式,具体为每个区文件以一个树的形式存储于bind数据库中;在每个树下,不同域的数据存储在不同节点中;其中,第一个节点代表该区的权威节点,即对这部分数据具有权威性;在查询过程中,如果目标数据存储在非权威节点中,并且目标数据不是DS记录,表明该区文件对目标数据不具有权威性,服务器不会返回目标数据;为实现对服务器中目标记录的获取,修改在遍历树形数据库下的节点进行匹配的过程的源码,将修改后的bind重新编译,在递归解析器中使用dig+sigchase查询测试,修改后的根服务器对顶级域数据给出的完整的应答,形成了一条由根到顶级域的信任链。
4.根据权利要求1、2或3所述的一个基于开源DNS软件的自证根实现方法,其特征在于,自证根在开源DNS软件bind中实现解析器端公钥钉和双重签名验证的过程如下:
(1)解析器向服务器查询顶级域公钥,与本地公钥白名单进行匹配;若本地不存在该顶级域公钥,转至步骤(2);若本地存在该顶级域的公钥,但与当前公钥不同,转至步骤(3);否则不作处理;
(2)对于本地白名单中新顶级域的公钥,采用首用信任的方式,将其加入本地公钥白名单;
(3)对于本地白名单中已存在的顶级域的新公钥,视为密钥更新,使用本地旧公钥对新公钥进行验证,验证成功则更新当前白名单,否则返回验证失败信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨工业大学,未经哈尔滨工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910342826.9/1.html,转载请声明来源钻瓜专利网。