證書頒發(fā)機構(Certificate Authorities)自誕生以來,一直就是 DNS 及網絡的中心,并且在保護網絡安全方面扮演著不可或缺的角色。簡而言之,C
證書頒發(fā)機構(Certificate Authorities)自誕生以來,一直就是 DNS 及網絡的中心,并且在保護網絡安全方面扮演著不可或缺的角色。
簡而言之,CA 就是現(xiàn)代互聯(lián)網的信任之錨,發(fā)行著用于代表網絡實體的數(shù)字證書。數(shù)字證書是一種經過驗證的憑證,最終表現(xiàn)為線上的數(shù)字身份。CA 的職責就是確保這些信息受到保護、可用于加密網絡參與者(客戶端和主機)之間傳遞的數(shù)據。
與此同時,CA 也發(fā)行 SSL 證書,該證書將網站的所有權與一組公鑰綁定在了一起。然而,對政府層面的攻擊威脅與日俱增,未來當用戶使用這類中心化的證書存儲庫時,可能會遇見假冒的對手方。2017 年,用戶累計收到了超過 2.67 億個釣魚 URL 。此外,Zscalar 公布的一份云安全報告指出,僅在 2018 年就有超過 17 億個隱藏在 SSL 流量中的高級威脅被攔截。
2019 年 7 月期間,出現(xiàn)了 1 萬個企圖釣魚的 SSL 證書(CA 還沒有撤銷這些釣魚證書)。
如今,互聯(lián)網已經陪我們走過了 30 多年,我們也需要一個更加現(xiàn)代化、更加強健的解決方案來減少攻擊和對第三方中間機構(如 CA)的依賴。
于是,Handshake 應運而生。它是一種最新的協(xié)議,旨在提供一種強健的、可以替代 DNS 的方案,同時解決我們當前面臨的一些重大問題。作為我介紹 Handshake 系列的后續(xù)文章,我將更深入地探究互聯(lián)網協(xié)議組件的功能,以及 CA 是如何協(xié)同工作、讓現(xiàn)代的 web 運行起來的。
SSL/DNS 在互聯(lián)網的技術棧層中處于什么位置?
互聯(lián)網協(xié)議組件(IPS)驅動著我們今天所使用的互聯(lián)網。它是一套分層的網絡棧,允許全世界的計算機之間互相傳遞數(shù)據包。瀏覽器和主機之間使用超文本傳輸協(xié)議(HTTP)和安全套接層(SSL)來建立加密通信、進行數(shù)據傳輸。SSL 是一個與 HTTP 協(xié)同工作的協(xié)議層,它為瀏覽器的運行提供加密通信功能。
為了更好地理解 HTTP 和 SSL 協(xié)議實際上是如何運行的,我在下面舉了一個例子,來看看 Alice 是如何連接到 Bob 的網站的吧。
1. 首先,Alice 打開瀏覽器,在地址欄中輸入 Bob.com
2. 接著,Alice 的瀏覽器將連接到一個域名解析器,獲取目標網址的服務器地址(此過程未經加密)
3. 一旦域名解析完成以后,Bob 網站的服務器將向 Alice 的電腦發(fā)送一個證書以及對應的公鑰
4. Alice 的電腦通過該證書使用的 CA 來對該證書的合法性進行驗證
5. 一旦驗證成功,Alice 的電腦和 Bob 網站的服務器就彼此確認了眼神,然后建立起加密的 SSL/TLS 連接。
6. 到了這一步,Alice 的客戶端(她的電腦)和 Bob 的服務器之間就能暢快無阻的發(fā)送加密數(shù)據啦
網絡協(xié)議棧是一套用于在網絡中各參與方之間傳遞數(shù)據的組件,但它嚴重依賴于你所采用的 CA 或更重要的公鑰基礎設施(PKI),來確保你在網上沖浪時保持私密且不受侵害。
什么是公鑰基礎設施(PKI)
要想在數(shù)據交換的過程中確保數(shù)據的準確和安全,信任是不可或缺的。PKI 就是一套設定通信雙方交互策略、結構和流程的系統(tǒng),讓交互雙方可以相互信任并安全地交換信息。
一般來說,會有多個中間方來來協(xié)調兩個實體之間的信任。當你使用公開的互聯(lián)網也就意味著你信任根 CA 會為你提供正確無誤的信息。CA 的使命就是管理代表其它實體的數(shù)字證書。頒發(fā)數(shù)字證書是為了防止在數(shù)據傳遞的過程中發(fā)生中間人攻擊,這種攻擊可能會繞過信任機制并將用戶引導至惡意的網站。舉例來說,IdenTrust 就是一個典型的 CA,管理著諸如 Twitter 在內的其它實體的數(shù)字證書。
在上面這個例子里,IdenTrust 將發(fā)送一個 X.509 證書給請求訪問 Twitter 的用戶。在這個數(shù)字證書中包含了一系列信息,包括經過驗證的公鑰,證書的失效日期,數(shù)字簽名和其它重要條款。一旦用戶收到了數(shù)字簽名,他就可以使用該數(shù)字簽名對實體的身份及公鑰進行驗證。通常情況下,我們會使用 RSA(Rivest-Shamir-Adleman)算法或橢圓曲線數(shù)字簽名算法(ECDSA,Elliptical Curve Digital Signature Algorithm)來生成公鑰。
RSA 算法和 ECDSA 都是非對稱加密技術,這也就意味著用戶只需使用主機的公鑰就可以完成對信息的加密,然后在公開的網絡環(huán)境中將加密后的信息發(fā)送給主機(也就是這個例子中的 Twitter)。只有與公鑰關聯(lián)的私鑰(即主機所有的私鑰)能夠解密信息。
CA 存在的諸多問題
讀到這里,大家應該已經基本明白了互聯(lián)網協(xié)議組件中的 PKI 和 CA 是如何運行的,接下來,我們一起討論一下可能出現(xiàn)的一些問題。
CA 在整個過程中一直扮演著一個中心化認證組織的角色,它負責存儲數(shù)字證書,并充當兩個實體之間的中間人。每一個 CA 都有它獨有的驗證程序來判斷域名的有效性和安全性。此外,三家營利性組織占據了大約 90% 全球市場份額。最終,這種存儲和發(fā)行證書的方式可能出現(xiàn)安全漏洞。W3 Tech 近期公布的一篇報告中列出了主流 CA 的全球市場份額。
很顯然,還存在一些改進的空間。
當一個網絡實體(比如 Twitter)要向一個已知的 CA 申請獲取數(shù)字證書時,需要經過一個域名驗證的過程??煽康?SSL 證書讓用戶有信心防止網絡釣魚,詐騙,和欺詐。然而,接收數(shù)字證書的過程有點過于簡單了。CA 就只是向 WHOIS 記錄中的域名聯(lián)系人發(fā)送域名驗證型證書而已。這也太草率了吧!
整個事情就是:某個用戶申請一個數(shù)字證書,然后 CA 就會通過電子郵件向域名聯(lián)系人發(fā)送一個經過認證的證書。出于額外的安全考量,實體還可以注冊一個擴展驗證服務,在其它情況中通過身份檢查來進行驗證。但是,通常情況下,用戶不會發(fā)現(xiàn)其中的區(qū)別,除非他們看見了一個綠色的橫條或者點擊了瀏覽器左上角的小鎖頭。
這是相當危險的,因為壞蛋也可以注冊一個神似 Twitter 的域名,比如說 Twiter.com,然后展示出經過 CA 認證的證書。
域名驗證程序、密鑰存儲以及 CA 爆破,這些環(huán)節(jié)都對對諸如瀏覽器中間人、HTTPS 欺騙、ARP 欺騙及其它類型的中間人攻擊敞開了罪惡的大門。舉例來說,2000 年初,一家著名的 CA 公司 Verisign 向一名自稱是微軟公司的惡意用戶頒發(fā)了一份數(shù)字證書。
然后,攻擊者讓用戶誤以為自己收到了有效的 Windows 更新,然后用戶的電腦就被攻陷了。在 2011 年 3 月發(fā)生的一起事故中,Comodo(CA)向冒充微軟和 Google 等網站的惡意用戶頒發(fā)了虛假的證書。在這個案例中,用戶被引導進一個惡意的網站,卻誤以為自己正在登錄 Google(實際上并不是!)。最終 Comodo 發(fā)現(xiàn)了危害,并撤銷了訪問該證書的權限。
Handshake 的主張
今天,全球所有的頂級域名都由 13 個營利性組織管理。雖然 CA 由數(shù)千個組織進行管理,但其中三家組織占據了 90% 的全球市場份額。管理頂級域名和證書的組織都會遭遇中心故障的問題。這種問題會一直存在,除非我們將信任從中心化組織轉移到去中心化的解決方案上?;ヂ?lián)網協(xié)議組件和公鑰基礎設施高度依賴于整體的公共基礎設施。
我們?yōu)槭裁床荒芤揽抗妬磉M行域名管理和安全性認證呢?
眼下就有這么一場遷移,將貨幣的控制權交還到公眾手上。自比特幣創(chuàng)生始,貨幣的控制權便不斷從國家轉移到人民手中。全球的公民因此獲得了對沖國家政治風險的能力,還保持了采取行動的自由。
Handshake 提出了與比特幣相同的價值主張,但它改變的是信息流。正如我在以前的文章中提到的,Handshake 是一個去中心化域名管理協(xié)議,它從根源管理著頂級域名。正因為 Handshake 的頂級域名都被直接存儲在頂層,因此你不再需要 CA 來管理數(shù)字證書或私鑰了。
Handshake 如何解決當前在 CA 中存在的問題?
今天,CA 管理著包含公鑰,簽名和其它相關信息在內的各種數(shù)字記錄。因此,當你信任 CA 的時候,也意味著你相信 CA 擁有安全的數(shù)字文件和經過驗證的身份信息。Handshake 的重要性在于:私鑰始終直接由所有者注冊,并始終控制在所有者手中。
這意味著當我注冊 “TokenDaily.co” 這個域名的時候,Handshake 將在協(xié)議上鎖定域名的所有權,并通過網絡中的所有節(jié)點對其進行傳播。當用戶解析到命名空間時,它將直接指向一個簡潔的證書,并驗證請求的合法性。這將成為私鑰和已注冊域名之間的規(guī)范信任點。
總結
Handshake 協(xié)議正在減少我們對頂級域名和 CA 的需求,也將減少我們對第三方提供商的依賴。這場轉移最終將導致中間機構的減少,并給用戶帶來更強的安全性。這意味著信息將自由流動,而你無需再擔心攻擊者仿冒你的域名。今時今日,網絡上發(fā)生著數(shù)以十億計的攻擊,任何人都有可能成為釣魚 URL 或 SSL 隱藏威脅的受害者。我們越是需要信任,就越需要更快地找到這個問題的解決方案。
隨著 Handshake 協(xié)議、Handshake 聯(lián)盟、Urkel、和 Handshake 學院的發(fā)明,我們將開始見證一場從信任人到信任代碼的轉變 —— 這將帶給互聯(lián)網前所未有的安全。(作者: Imran Khan)