Encryption 修改BIND9加密的可行性

Encryption 修改BIND9加密的可行性,encryption,dns,bind,Encryption,Dns,Bind,我正在为我的计算机科学专业的最后一年的项目想出主意。一位讲师提出的一个想法是,他有兴趣进行监督,即探索DNS安全的应用。根据我的初步研究,我倾向于一个项目,我试图将DNSSEC与此加密标准结合起来 我的想法是,我可能能够使用简单的DNS级别BIND9减去DNSSEC,并在其上构建一个定制的类似DNSSEC的方案。我可能也必须修改库的某些部分,以便在我的新方案中使用RFC2535的功能,例如密钥和SIG RRSET。或者,最好的方法是编辑DNNSEC在库中的实现方式,并尝试删除OpenSSL并用我

我正在为我的计算机科学专业的最后一年的项目想出主意。一位讲师提出的一个想法是,他有兴趣进行监督,即探索DNS安全的应用。根据我的初步研究,我倾向于一个项目,我试图将DNSSEC与此加密标准结合起来


我的想法是,我可能能够使用简单的DNS级别BIND9减去DNSSEC,并在其上构建一个定制的类似DNSSEC的方案。我可能也必须修改库的某些部分,以便在我的新方案中使用RFC2535的功能,例如密钥和SIG RRSET。或者,最好的方法是编辑DNNSEC在库中的实现方式,并尝试删除OpenSSL并用我自己的迷你加密库的挂钩替换它?有没有人有过使用绑定库的经验,可以告诉我这种方法有多糟糕,库如何扩展等?

请澄清,当你说“保护DNS”时,你的意思是:

  • 对单个DNS消息的内容进行加密签名(在传输级别),或
  • 加密单个DNS消息的内容,或
  • 以加密方式对DNS区域数据进行签名,以便不会对其进行欺骗
  • 这三个特征或多或少是完全正交的

    TSIG做了第一件事——它防止单个数据包在传输过程中被修改,并且只在一跳到另一跳之间工作

    DNScurve执行第二个操作,因此隐式地执行第一个操作(因为如果数据包被修改,解密将不起作用),但不是标准化的。这是一个有趣的想法,但距离任何重要的部署都还有很长的路要走

    DNSSEC只执行三项中的最后一项。它旨在提供端到端加密证明,证明DNS客户端接收的数据与权威服务器中包含的数据相同,而不管涉及多少递归解析器


    从维基百科的页面上看,基于ID的加密似乎是为了保护双方之间的消息,而不是为数据签名。如果这是正确的,它比DNSSEC更接近TSIG或DNScurve。

    首先,研究当前的DNSSEC标准。您需要RFC4033+,而不是2525。给我的简要说明如下:“这里的想法是使用IBE来做同样的事情,例如,可以使用机器的IP地址来派生希望更新其DNS记录的机器的公钥。如果可以快速、安全地更新DNS记录,那么这就意味着像移动IP这样的协议由于系统中节点的移动性而需要频繁的路由更新。“从这一点和讨论来看,这实际上不是你的三个选择中的任何一个。我在这里忙得不可开交,我会忘记这个项目的。谢谢。看看GSS-TSIG(RFC3645)——这听起来和你要找的最接近。TSIG的正常问题是,双方必须预先约定一个共享秘密。拥有一个更通用的动态方法将是一件好事(tm)。