论文部分内容阅读
域名系统是互联网最为核心的基础设施,其负责将无规则数字序列组成的网际协议地址(Internet Protocol Address,IP)与可读性高的域名进行相互转换,是维持互联网正常运行的重要前提。但是由于域名系统(Domain Name System,DNS)采用中心化的设计方式,来自底层的域名解析请求不可避免得需要在域名服务器排队等待响应,从而给应用访问带来了额外的时延。为解决此问题,域名解析采用了缓存机制将最近解析得到的域名记录在本地DNS服务器中缓存一段时间,后续DNS域名解析直接通过本地DNS服务器高速缓存解析,从而大大提升域名解析的效率。研究表明,本地DNS服务器中可以命中80%的DNS查询,但是仍然没有有效的解决方案来解决本地DNS服务器的安全问题。尽管互联网工程任务组(Internet Engineering Task Force,IETF)早在1999年即发布RFC2535,提出了以公钥密码学机制为基础的域名系统安全拓展协议(Domain Name System Security Extensions,DNSSEC)解决方案,但是DNSSEC在仅在顶级域部署,在递归域名服务器大规模部署时仍面临许多挑战。论文主要工作内容如下:(1)本文提出了一种将区块链技术与企业级DNS缓存服务器相结合的方案,该方案可以安全地实现企业级DNS服务。企业级DNS缓存服务器构建在区块链之上,可用于处理局域网内用户的DNS请求。区块链上的所有节点搭载负载均衡机制并轮流提供域名解析服务,即使攻击敌手可以捕捉某个时刻区块链节点的网络地址并发起分布式拒绝服务攻击(Distributed Denial of Service,DDo S),其余节点仍可替代其继续提供域名解析服务从而提高系统的可用性。(2)本文提出域名记录正反两轮验证机制来实现域名记录的合法性验证,企业局域网内多个域名服务器节点向不同的公共DNS服务器发起域名解析请求并在特定时间内通过智能合约达成共识,实验结果表明证明,该机制可以解决域名单源解析所带来的DNS欺骗问题。(3)本文提出使用区块链存储域名记录的方案,开发域名合约作为域名记录存储和查询的接口,通过域名解析效率测试实验证明,在域名缓存命中的情况下,本文实验系统比基线系统查询时延高5ms;在缓存未命中的情况下,本文实验系统比基线系统查询时延低100ms。综上,本文利用区块链技术构建了一种新型的企业级DNS缓存服务器,可以有效解决单点故障,DNS污染和DDo S攻击易损性等一系列安全问题。