重啓DNS根密鑰服務器的七個人

來源: 時間:2020-09-08

根密鑰儀式的舉行機制是什麽?帶有神秘色彩的重啓根密鑰系統的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域名系統當前已形成了一套全球互聯網利益攸關方共同維護的自治系統,大家自願加入,并且變得越來越自治,很難受某一種意志的把控。”姚健康說。