可以關(guān)閉互聯(lián)網(wǎng)的七個人,太厲害了!
這個世界上有7個人,如果他們愿意的話,可以把整個互聯(lián)網(wǎng)“關(guān)閉”。
他們之所以這么牛,主要因為每人掌握了一把神秘的鑰匙。
這個神秘的鑰匙是什么?
我們得從IP地址說起。
一、IP地址和DNS
世界上每臺計算機都有一個IP地址,這樣大家可以互相找到對方,進行通信。
圖片
很明顯,110.242.68.5這樣的IP地址太難記了,所以,人類又發(fā)明了域名
圖片
我們可以把所有的域名和IP地址的對應(yīng)關(guān)系都放到一個DNS服務(wù)器中,形成一個集中式的數(shù)據(jù)庫
圖片
但是這個設(shè)計會帶來幾個嚴重的問題
1.單點故障
如果該DNS服務(wù)器崩潰,整個互聯(lián)網(wǎng)就崩潰了
2.性能
全球的電腦都向它發(fā)出請求,這個服務(wù)器就累死了。
那些需要查詢IP地址的電腦可能距離DNS服務(wù)器很遠,導致嚴重的時延。
可以看出,單一集中式的DNS數(shù)據(jù)庫完全沒有擴展能力。
所以,人們設(shè)計的DNS系統(tǒng)是一個的分布式數(shù)據(jù)庫。
這個分布式數(shù)據(jù)庫分為三級:
圖片
根DNS服務(wù)器,全球有13個(實際上,每個根服務(wù)器都是個冗余服務(wù)器網(wǎng)絡(luò))
頂級域名服務(wù)器,負責頂級域名,例如com 、org、net、edu、gov等
權(quán)威DNS服務(wù)器,如果某個公司、組織機構(gòu)在互聯(lián)網(wǎng)上具有可以被公眾訪問的主機,那它必須要提供公共可訪問的DNS記錄。
除了這三級之外,還有個叫做“本地DNS服務(wù)器”的DNS,負責和這三級的DNS交互。
通常的交互過程是這樣的。
圖片
不是每次DNS查詢都這么復(fù)雜,為了減少時延和傳輸?shù)膱笪臄?shù)量,DNS廣泛使用了緩存,這里不再詳述。
二、解決DNS的漏洞
分布式,隨意擴展,這是個設(shè)計得非常漂亮的系統(tǒng)。
任何互聯(lián)網(wǎng)產(chǎn)品,只要不考慮安全,都會死得很難看。
如果有人冒充DNS服務(wù)器,給你返回了假IP怎么辦?
圖片
所以,這個DNS記錄發(fā)給瀏覽器的時候,必須得做個數(shù)字簽名。
數(shù)字簽名可以證明:
1.這的確是我給你發(fā)的DNS記錄
2.這個DNS記錄在傳輸過程中沒有被篡改過。
數(shù)字簽名依賴非對稱加密,也就是公鑰和私鑰,這里就不再詳述了,可以參考這篇文章《一個故事講完Https》
簡單來說就是DNS服務(wù)器用自己的私鑰來對DNS數(shù)據(jù)進行簽名,查詢方用公鑰來驗證。
這的確是一個完美的解決方案,可是和HTTPS一樣,這里也遇到了公鑰分發(fā)的問題。
查詢方如何確定自己拿到的DNS公鑰是合法的呢?
要知道公鑰可是經(jīng)過網(wǎng)絡(luò)傳輸?shù)模耆赡鼙恢虚g人篡改,進行中間人攻擊啊!
既然問題和HTTPS一樣,那解決思路也是一樣的:讓上級對下級服務(wù)器的公鑰進行簽名。然后用上級的公鑰來驗證。
可是,如何安全地拿到上級的公鑰?它在網(wǎng)絡(luò)傳輸中會不會被篡改呢?有可能。
那就用上上級對上級的公鑰簽名,用上上級的公鑰驗證簽名。
可是,上上級的公鑰在網(wǎng)絡(luò)傳輸?shù)倪^程中會不會被篡改呢?會的。
那就用上上上級對上上級的公鑰簽名,用上上上級的公鑰驗證簽名
......
如此下去,總得有個盡頭吧,那就是ICANN(“互聯(lián)網(wǎng)名稱與數(shù)字地址分配機構(gòu)”)的公鑰!
大家都信任ICANN,可以把它的公鑰內(nèi)置到系統(tǒng)中,這樣一個信任鏈就可以建立起來了!
三、可以關(guān)閉互聯(lián)網(wǎng)的7個人
而ICANN的私鑰,這可是天大的秘密了,一定得保護好。
私鑰本身其實是個文件,ICANN把它放到了一個叫做硬件安全模塊 (HSM) 的專用設(shè)備中。
圖片
這個HSM做了四個備份,分別保存在相距4000公里的美國東西海岸。
圖片
每個備份都被重重保護,保險箱、攝像頭、指紋、警衛(wèi)......你能想象的保護方式都用上了。
圖片
即使你通過了重重防衛(wèi),成功地拿到了一個HSM,你也很難打開它。
如果你嘗試暴力打開,HSM會擦除其保存的密鑰,你啥也拿不到。
正確的做法是使用幾張智能卡,但是這些智能卡保存在其他的保險箱里,只有使用物理的鑰匙才能打開。
這些鑰匙,被世界上7個人所持有(實際上,還有七個人作為備份)。嗯,這七個人終于出現(xiàn)了!
圖片
這些鑰匙持有者并不是各國的政要,而是安全領(lǐng)域的頂級專家,他們對這一套安全流程理解地比你我要透徹地多。
當需要使用ICANN私鑰的時候,七個人中的五個需要拿著它們的鑰匙,來到保存HSM的地方,取出各自的smart card,然后一起開啟HSM。
這個過程被稱為key ceremony(鑰匙儀式)。
圖片
由于必須要保證私鑰的安全性,key ceremony的安全措施非常嚴格。
參與者需要多次掃描指紋,使用多個密鑰代碼,才能打開進入會議室的一道道門。
圖片
這個會議室是密閉的,連電子信號都傳不出去。
大樓保安和清潔工也不能進,有一次,一個瑞典的鑰匙持有者買了個20美元的吸塵器專門做了清潔。
整個活動嚴格按照事先寫好的腳本來進行,有100多個步驟,所有操作都使用GMT時間記錄到分鐘,每一步都保持透明。
圖片
流程極其嚴謹,甚至連筆記本和HSM在桌子上的擺放位置都畫好了。
圖片
圖片
當然,有時候也會出差錯,有一次,安全控制器將保險箱的門關(guān)上時,觸發(fā)地震傳感器,進而觸發(fā)自動門鎖。儀式管理員和鑰匙持有者都被鎖在一個8英尺見方的籠子里!
儀式完畢之后,據(jù)說他們會去當?shù)氐牟宛^慶祝一番。
如需轉(zhuǎn)載,請通過作者微信公眾號coderising獲取授權(quán)。