重启DNS根密钥服务器的七个人
根密钥仪式的举行机制是什么?带有神秘色彩的重启根密钥系统的7人需要做什么?顶级域名是否可被移除?
TCRs的来源
1983年,保罗·莫卡派乔斯(Paul Mockapetris)在南加州大学信息科学学院提出了关于DNS 体系结构的RFC882和883,本质上就是我们今天所使用的域名系统(DNS)。从那以后,DNS成为互联网重要的基础设施之一。
与很多其它互联网协议一样,它的初始设计场景为可信环境,并没有过多考虑安全问题,因此在发展过程中出现多种针对DNS的攻击,其中最难以解决的两种安全问题为欺骗攻击以及缓存污染问题。
鉴于对DNS安全性的考虑,上世纪90年代后期,IETF成立了工作组专门研究DNSSEC安全扩展协议(DNS Security Extensions),利用经典的加密算法和签名机制,完善了原有DNS体系的不足之处。
简单地说,基于安全环境设计的原有的DNS协议采用明文传输,中间人可以轻易截取DNS报文并进行篡改。DNSSEC则引入公开密钥技术,依靠数字签名保证DNS应答报文的真实性和完整性。其工作机制是这样:权威域名服务器用自己的私有密钥对资源记录(Resource Record, RR)进行签名,解析服务器用权威服务器的公开密钥对收到的应答信息进行验证。如果验证失败,表明这一报文可能是假冒的,或者在传输过程、缓存过程中被篡改了。
互联网之父Vint Cerf就是DNSSEC技术部署的积极推动者之一。在推动的过程中,ICANN有一些考虑,那就是如何建设DNSSEC信任锚点,让DNSSEC根服务器的密钥管理更加安全可信。DNSSEC根密钥是全球互联网DNSSEC信任的锚点,所有的DNS解析器必须设置这个锚点才能正确解析DNSSEC数据包。根密钥必须获得全球互联网社群的信任。由此,ICANN引入了TCRs(互联网信任社群代表)体系。
TCRs主要宗旨是维护根域名系统的正常运转。为了保证该组织的独立性,人员的选择有一些前提条件:首先从身份上看,TCRs不从PTI(公共技术标识机构,前身是互联网数字分配机构IANA)、ICANN(互联网名称与数字地址分配机构)或VeriSign(威瑞信公司,管理2台根服务器)的直属人员中选择。其次是考虑到代表们所处地理等综合因素。此外,TCRs的选择也会综合其在IETF等相关工作及贡献考虑。
举行第一次根密钥仪式的美国弗吉尼亚州的Culpepe
ICANN第一次DNSSEC根密钥生成仪式会议于2010年6月16日在美国弗吉尼亚州的Culpeper(库尔佩珀)召开。
ICANN推选出的21位TCRs聚集在此,见证了互联网历史上第一个根密钥签署仪式。仪式上,Vint Cerf博士总结说,根密钥的生成和WWW出现的意义一样重大,它的出现会让互联网更安全。
第一次DNSSEC根密钥生成仪式参与人员的签名(供图:姚健康)
TCRs的自愿和公益
DNSSEC的根密钥保存在两个数据中心,其中之一在西海岸,另外一个在东海岸,两者互为备份。
21位TCRs中,7位成员所持的密钥属于西海岸数据中心,另外7位所持的密钥属于东海岸数据中心。按照根密钥轮转机制,每年举行4次密钥签署仪式,分别在每个季度举行。举行地点在东西海岸间轮转。届时,7位密钥持有人中应至少有5位参与现场的密钥签署仪式,以向全球表示密钥的安全和可信。
21位TCRs中剩余的7位则是“恢复密钥持有人RKSH(Recovery Key share holder)”,来自中国的姚健康博士是其中之一 。
7位恢复密钥持有人
有一种说法是,这7人担当共同重启互联网的重责。姚健康博士表示,媒体经常用“7把钥匙可以掌控互联网”,“开启互联网,需要7把钥匙”等标题,实际上比较准确的说法是重启的是根密钥系统。重启根密钥系统的设计是2010年ICANN提出的,其目的是以防止互联网根域名系统基础设施遭受毁灭性灾难,比如发生意外、战争、灾难等突发极端事件,导致东西海岸的两个数据中心都遭到损伤不能正常工作等意外情况发生, ICANN将召集他们中的至少5位就能恢复根密钥——这种加密方法被称为Shamir's Secret Sharing——密钥被分成几部分,每一部分都独一无二,其中几部分或全部联合起来就能解密密钥。
当然这种情况的发生显而易见是一种万一的情况。ICANN的 Lamb表示,只有在极端灾难的情况下,恢复密钥持有人机制才会被启动。他说:“可能要等到美国西海岸坠入海中,而东海岸被核弹击中时,才会给七个人中的五个打电话。”
这7个人不介入具体域名(包括数据库)管理。一般情况下,他们也并不需要一定参与每季度一次的密钥签署仪式。但每年,ICANN都会对其所持有的密钥(类似于一个IC卡片)进行年检。早期的检查机制往往是TCRs将所持的装有密钥的信封放在当天的新闻报纸上进行拍照,以便于证明密钥是完整和安全的。
后来,有人提出:既然是可信任的代表,为什么还需要证明是可信任的?而且,密钥拿来拿去,也容易丢失。自此以后,ICANN改了规则,只需要持有者发送承诺函件表示密钥的安全和完整即可。
从互联网数字分配机构IANA的网站上查到,当前TCRs已从2010年的21位更新至30位,但据介绍,真正持有密钥的是21位,其他9位作为备选密钥持有人。TCRs也有自己的更新机制,比如早期互联网共同发明人Vint Cerf博士就是其中一位TCRs,参与多次密钥生成仪式,后来因时间问题,即不能保证出席足够的签署仪式而退出,从备选TCRs中进行替补。
成为一名TCRs,其工作完全出于自愿、公益。姚健康介绍说,互联网讲究多利益相关方的参与,鼓励所有利益相关方发言、提出诉求。这样其他人就会知道你在想什么,你做了什么。互联网的发展正是由于广大技术专家的自愿贡献,才有今天的基于开放技术开放标准的互联网。在互联网的环境里,做贡献是一个关键词。所以,自愿、公益、贡献,这也是互联网思维,TCRs同样如此。
移除一个顶级域的可能性
DNS根域名服务器话题最近几年一直很热,围绕其有诸多讨论和担忧,其中一种说法是,根服务器的管理机构可轻易修改根区文件内容甚至可移除特定的顶级域名。
姚健康博士表示,顶级域主要有两种,一种是国家地区顶级域ccTLD,另一种通用顶级域gTLD。gTLD,以及近年来新出现的新通用顶级域new gTLD属于商业范畴,和各国主权无关,因此由于运营以及经济等问题,gTLD的运营权有可能在不同的运营主体之间进行转换。
他介绍说,国家地区顶级域ccTLD属于各国的主权相关,因此任何对ccTLD的重大变动都需要获得对应的政府的授权。出于政治原因,不经ccTLD对应的政府的授权,突然移除一个ccTLD,其概率是很小的。“因为这件事收益很小,动静很大,付出和得到完全不成正比。”
而且,ICANN当前的机制是多利益攸关方参与的模式,各国政府代表、社群代表、运营商代表、域名注册机构代表等都积极参与ICANN的相关工作,推行从下而上的讨论和决策。这种机制就产生两种结果,第一,形成一个共识是很慢的,第二,可以充分吸收各种社区和利益相关方的意见,很少会做唐突的决定。
当前TCRs情况(来源:IANA)
但,即便ccTLD顶级域名被移除了,是否就意味着是将其从互联网上隔开?
事实也并非如此,正如中国工程院吴建平院士所言,DNS不是互联网的核按钮。DNS的作用就像是打电话的电话簿,方便易记,但没有电话本同样也可以打电话,只是需要记录相关IP地址。互联网最基本的访问方式是按IP地址在访问,域名解析最后还是解析至某一个IP地址上。
然后是RFC7706在技术上的支持。姚健康博士表示,根据IETF RFC7706,本地解析器可以直接从IANA下载根区数据在本地运行,相当于在本地运行了DNS根服务器,因此从这些解析器查询域名的DNS数据包就不需要到外面的根服务器查询根区数据了。当前全球有1000多台分布在世界各地的根域名服务器,所以一般情况下,DNS根解析都是就近查询本国内的根服务器,而不需要远渡重洋去国外查询。
他提到,目前有几千个顶级域,用户可以选择任一个顶级域进行注册域名。也就是说域名的替代性很强,相当于某个电话本用不了,可以换其他电话本查找电话号码。因此删除其中任何一个顶级域都不会让任何国家从互联网上消失。
“DNS域名系统当前已形成了一套全球互联网利益攸关方共同维护的自治系统,大家自愿加入,并且变得越来越自治,很难受某一种意志的把控。”姚健康说。