我正在努力为我的CS专业的最后一年项目提出想法。讲师建议他对监督感兴趣的一个想法是探索ID-based encyption在保护DNS方面的应用。从我的初步研究来看,我倾向于一个项目,我试图将DNSSEC与这个加密标准结合起来。
我的想法是,我可能能够使用BIND9的简单DNS级别,减去DNSSEC,并在它们之上构建一个类似于DNSSEC的定制方案。我可能也必须修改库的部分,以便在我的新方案中使用RFC 2535的功能,例如KEY和SIG RRsets。或者最好的方法是编辑DNNSEC在库中的实现方式,并尝试撕掉OpenSSL并用挂钩代替我自己的迷你加密库?有没有人有任何使用BIND库的经验,可以告诉我这种方法有多糟糕,库如何适应可扩展性等?
答案 0 :(得分:0)
请说明当您说“保护DNS”时,您的意思是:
这三个特征或多或少完全正交。
TSIG执行第一项操作 - 它可以防止单个数据包在传输过程中被修改,并且只能从跳到跳。
DNScurve执行第二次,因此隐式第一次(因为如果数据包被修改,解密将不起作用),但不是标准化的。这是一个有趣的想法,但距离任何重要部署都有很长的路要走。
DNSSEC只执行三个中的最后一个。它旨在提供端到端加密证明,即DNS客户端接收的数据与权威服务器中包含的数据相同,无论涉及多少递归解析器。
在维基百科页面上,基于身份的加密似乎是关于在双方之间保护消息,而不是关于签署数据。如果这是正确的,它更接近TSIG或DNScurve而不是DNSSEC。