今天,互聯網已經發展成為了一張覆蓋全球、連接數十億設備的巨大網絡,承載著對生產生活十分重要的通信任務。為了使得距離遙遠、互不相識的兩個節點能夠可信、可靠地通信,互聯網提供了相應的基礎設施。從網絡層到應用層,共有 3 個最重要的基礎設施,如圖 1所示。
・邊界網關協議(border gateway protocol,BGP)通過將 IP 地址前綴關聯到自治域和域間拓撲,計算域間路由,實現了全球互聯網的基礎連通性。
・域名系統(domain name system,DNS)通過將域名映射為 IP 地址,將應用層服務名與網絡層地址關聯起來,使得服務能夠在網絡中被訪問。
・公鑰基礎設施(public key infrastructure, PKI)通過將企業身份信息和其他信息關聯到公鑰,將網絡通信實體與真實世界的真實身份關聯起來,使得通信變得可信。
當前,這些基礎設施或其背後所依賴的安全可信系統都採取了如(a)所示的集中化的設計。該設計的基本原理是,單一可信根節點為整個系統的信任錨點,它為中間層的可信節點 “背書”,中間層節點進而再為葉子節點 “背書”,可信關係由根層層傳遞到葉子。以 BGP 為例,BGP 本身雖然是分佈式的協議,但其可信基礎是資源公鑰基礎設施(RPKI),用以驗證 BGP 地址前綴宣告的合法性、保障 BGP 的安全。RPKI 採用了集中化、層次化的機構,RPKI 的系統設計的具體介紹如(b)所示。RPKI 以 IANA 為根節點,全球五大地區的 RIR 為第二層節點,向下可能還包含國家 NIR 節點,各個運營商為葉子節點。RPKI 自頂向下的信任關係靠逐級頒發的資源證書(resource certificate,RC)來承載,RC 用於聲明某個節點對某個 IP 地址前綴的所有權。最終,擁有資源證書的葉子節點可以通過發布路由源認證(route origin authorization,ROA)授權某個自治系統(AS)號,允許該 AS 在發出的 BGP 消息中進行該節點持有的 IP 地址前綴的宣告。相應地, BGP 路由器在收到 BGP 消息後可以利用 PRKI 形成的證書鏈來驗證 BGP 前綴宣告的合法性。類似地,DNS 系統也是以根服務器為中心的層次化系統,各級頂級域名服務器為中間節點,權威域名服務器為葉子節點。DNS 系統的安全擴展 DNSSEC 仍然依賴於 DNS 的系統結構,自上而下逐級進行公鑰背書和簽名,其基本安全原理仍然是集中化的。而 PKI 系統也同樣採取了具有中心根節點的層次化結構。
以上這類集中化的系統存在一些根本的問題。該類系統中,集中化的權威節點是系統的信任錨點,其權利過大,可以單方面地通過撤銷證書或者數字簽名,移除對後繼節點的信任背書或者給虛假節點授信,從而損害真實節點的利益。由於這些基礎設施是全球化的,所以一個中心節點的惡意操作帶來的負面影響是全球性的。比如一個中心節點可以為其他國家的節點進行信任背書,撤銷授信或者為虛假節點授信,這都會對其他國家的可信服務帶來破壞性的影響。這些中心權威節點可能有各種各樣的原因去做這樣的操作,比如因為被黑客控制或者管理員錯誤配置。一個中心節點也可能無法做到完全中立,由於利益衝突、政治或法律原因而存在偏見。以下列舉了一些現實中由於前述集中化架構而導致的安全事件。
分佈式賬本層為名字空間管理層提供去中心化的基礎能力,主要關注構建去中心化的底層基礎平台。名字空間管理層在分佈式賬本層提供的基礎平台上,實現互聯網名字空間的去中心化。同時,又為依賴這些名字空間的應用層 App 提供可信基礎,實現更貼近用戶業務的應用開發。
近些年來,以區塊鏈為代表的分佈式賬本技術得到了快速的發展。然而,分佈式賬本更重要的價值,是作為去中心化的平台,支持去中心化的網絡應用。D 利用分佈式賬本的如下能力,構建去中心化的互聯網基礎設施。
(1) 去中心化的系統結構 系統中沒有恆定的特權節點(儘管在某段時間內有些節點擁有更大的權力,但如果該節點用特權作惡,則會被其他節點替代),長期來看所有節點的地位是平等的。這符合去中心化互聯網基礎設施的信任模型。
(2) 分佈式共識機制 這是分佈式賬本技術的核心,所有節點採用去中心化的機制達成共識。D 需要共識機制來實現互聯網名字空間等網絡資源所有權的唯一性以及相關應用的一致性。
(3) 智能合約 運行於分佈式賬本之上的計算環境,先進的智能合約能夠支持圖靈完備的計算模型,理論上支持任何應用程序。D 對於互聯網名字空間的管理需要複雜的邏輯,而開放的應用層則需要支撐任意的應用程序,因此需要智能合約技術。
(4) 可信交易的能力 各個賬戶之間可以通過交易相互轉賬,這賦予了分佈式賬本內在的價值傳遞能力。利用該能力,不僅可以為第三方的開發者提供技術平台,還能夠提供技術變現能力。
3.1D 川對分佈式賬本的技術需求 當前的分佈式賬本主要分為兩類:公有鏈和聯盟鏈,然而這兩類分佈式賬本均存在一定問題,不能直接用於 D 系統。 公有鏈以比特幣和以太坊為代表,運行在公有互聯網之上,開放給任意節點加入,具有很好的動態性。但是由於其不對加入節點做任何限制,導致節點數量過於龐大且系統過於暴露,進而導致系統共識效率低下,且惡意攻擊層出不窮。
作為互聯網核心資源 (P 地址、ASN、域名等) 的管理平台,從安全的角度考慮,不希望任何人都能不加約束地隨意加入;從需求角度講,也並非任何人都有申請核心資源的需求(例如只有 SP 或者較大組織才有申請大塊地址的需求)。
公有鏈並不滿足以上要求。 聯盟鏈以超級賬本為代表,一般運行在局部網絡中,只有被認證准入的節點才能夠加入,節點數量較少。相比公有鏈,聯盟鏈具有更高的性能和更好的安全性,即使出了問題也可以通過認證渠道進行追責和解決。但是,聯盟鏈技術難以直接應用於 D。這是因為 D 作為全球互聯網的基礎設施,參與的節點數量是非常龐大的。而當前聯盟鏈依賴靜態配置的准入列表,難以適應龐大系統的動態性。比如 Hyperledger 就需要手動靜態配置節點列表,列表的更新需要系統重啟,甚至會引入集中化管理配置。
3.2 准入控制機制 現有公有鏈沒有准入機制,但有很好的動態性,節點可以動態加入和下線。而聯盟鏈擁有准入機制,但是系統擴展性一般較差,容納節點數有限。為了僅允許合格的組織(如運營商、企業、高校)等動態加入系統申請資源,簡單給出一種同時實現背書准入機制和動態節點管理的機制,該機制允許 D 川系統中的已有背書節點為新節點背書或者停止背書,從而實現節點加入和離開。該機制的基本原理如圖 4 所示。DI 川系統初始化會有一個背書者 (endorser) 列表,該列表中記錄了 D 系統內有背書能力的節點信息。所有要加入的節點均需要通過一個或多個背書者的背書才允許加入該系統。圖 4 中以各大地區的互聯網註冊中心 RIR (AFRINIC、APNIC、ARIN、LACNIC、RIPE NCC) 以及各個國家的註冊中心 NIR (如 CNNIC、JPNIC 等) 作為背書機構,只有被至少一個背書機構准入的組織才有資格加入 D 川,其賬戶信息才被寫入由智能合約維護的准入節點列表。實際使用中,該列表的初始化確定需要通過線下的溝通和協商。背書機構的名單也可以增加或減少,這由背書機構彼此投票來確定。具體的加入流程如下。
(1) 假如某個 NSPX 要加入 DI 系統,X 需要首先在本地下載 DI 系統的區塊鏈客戶端,並生成自己的賬戶 (account) 和節點標識符 (node ID)。
(2) X 通過線下的方式向某個背書者申請背書,並將自己的信息(加入 D 設備的 P 地址信息、X 的賬戶和節點標識符)發送給某個背書者 A。同時 X 還要通過線下方式獲取背書者 A 的相關信息(如能證明其身份的某個公鑰)。
(3) 背書者 A 在 Dl 系統中發起背書交易,將 X 的節點標識符信息寫入區塊鏈的背書清單 (endorsement list) 中。背書清單保存有當前系統裡所有的節點背書信息。
(4) 背書者 A 向 X 提供的 IP 地址發起節點詢問 (ping node) 消息,確定該背書申請確實是 X 發起的;節點詢問消息中還要攜帶 A 的簽名,用於 X 驗證 A 的身份。節點詢問消息為以太坊系統中節點間的握手消息為準,此處以此消息為例,不同系統可能有不同消息,但功能大致類似。
(6) X 根據背書清單和相關節點發現算法進行節點發現,接入 D 川系統。雖然 D 系統中仍然存在 RIR 和 NR 等作為背書者的角色存在,但他們的職能與現有 RPKI 等集中化系統不一樣。首先,在 DI 中,這些背書者只做申請組織的身份背書和准入認證,但並不主導資源分配。一個組織一旦被准入,即可獨立地申請和擁有相關資源,且資源歸屋權不依賴於背書者。其次,一個組織可以從多個背書機構得到背書,因此即便有背書機構單方面撤銷背書,該組織仍然符合准入條件。
因此,D 大大消除了這些組織的集中化權利。以上只是給出了准入控制的一個基本原理,在具體實現過程中,可以依照上述原理對已有的分佈式賬本技術(如以太坊等)進行改造和增強,也可以按照實際需求實現定制化的分佈式賬本。此外,可以根據不同的應用需求來設計多個背書者列表,並根據不同的背書者列表實現相應的准入控制實例;
這些背書者列表等信息以及後續所有 D 系統維護的信息均可以通過智能合約或者類似的方式來實現。總之,以上問題都是需要在未來的研究和具體實現中進一步詳細設計和深入解決的,本文不再詳細展開。
4 名字空間管理層 互聯網名字空間是 TCPP 協議的核心,也是互聯網基礎設施的核心。互聯網最重要的兩大基礎設施,即 BGP 與 DNS, 都是圍繞名字空間展開的。其中 BGP 將 P 地址前綴映射到 ASN (AS 號) 和 AS path (AS 路徑),從而計算出 IP 地址空間的域間路由。 可信的 P 地址前綴歸屋權和映射關係十分重要,否則將存在 BGP 前綴劫持和路徑劫持等網絡攻擊。DNS 將域名空間映射到 P 地址空間,從而讓服務在網絡層能夠被訪問。可信的域名歸屋權和映射關係也十分關鍵,否則將存在域名緩存污染等漏洞。
可信可靠的名字歸屋和名字映射是基礎設施可信可靠的基礎。正因如此,將名字空間管理層作為 D 架構的中間層,通過去中心化的可信的名字歸屬和映射,保障互聯網基礎設施的安全可信,進而支持可信的上層應用。
4.1IP 地址和 AS 號管理 當前 P 地址和 ASN 的可信基礎設施為 RPW.RPW 沿用了全球 P 地址分配系統的集中化樹狀結構,一方面通過中心權威機構保障 P 地址和 ASN 的保證歸屬權的唯一性,另一方面要評估申請者的合理使用需求,在分配過程中防止名字空間的耗尽並防止路由碎片化。 下面分析採用去中心化的方式實現全球 P 地址分配的可行性。
如果 P 地址初始歸屬權確定,則 P 地址轉移可以採用交易的方式在分佈式賬本上完成,過程相對簡單,不展開闡述。此處主要介紹地址的初始分配過程。由於 PV4 地址空間已經分配完畢,此處聚焦 IPv6 地址。DI 系統中,考慮 Pv6 地址分配的基本單位為 / 32,與 32 位 ASN 的可分配數量是相近的。
下面分析採用去中心化的方式實現全球 P 地址分配的可行性。如果 P 地址初始歸屬權確定,則 P 地址轉移可以採用交易的方式在分佈式賬本上完成,過程相對簡單,不展開闡述。此處主要介紹地址的初始分配過程。由於 PV4 地址空間已經分配完畢,此處聚焦 IPv6 地址。DI 系統中,考慮 Pv6 地址分配的基本單位為 / 32,與 32 位 ASN 的可分配數量是相近的。IPv6 地址分配的系統如圖 5 所示。已被准入的組織可以發起 IPv6 地址申請。以 ISPB 為例,它首先發起一個分佈式賬本交易,內容是申請一個 32Pv6 地址的一年使用權,並支付地址使用年費。其他節點收到該交易後,通過智能合約檢查申請者的合法性和年費,並採用稀疏委託 (sparse delegation) 算法為 lSPB 計算出一個適合它的地址前綴。該算法的基本功能是為每個申請者計算連續的地址空間,從而防止地址碎片化及路由膨脹。由於算法是確定的,全網對地址的分配也就是一致的、唯一的。使用權到期之前,申請者要發起一個續約的交易並續交年費,否則該前綴將被智能合約重新放回地址池。
域名的管理與 P 地址有所不同。首先,域名是層次化的,P 地址空間是扁平的;其次,域名空間現實中是不可耗尽的,而 P 地址空間是有限的。對於 D 川來說,最應關心的是屬於全人類共同資產的域名空間,而非歸属于某個國家或機構的域名空間。本文重點討論通用二級域名(如 example.com、example.net 等)。這是因為:
,.com、ne 等通用頂層域名屬於人類共同資產,可以自由申請的就是相應的二級域名:
・在二級域名歸屬權確定後,相應的三級域名一股受同一管理域內管理,屬於私有資產,不在去中心化管理範圍內。此外,國家碼頂級域名 (。cn、jp 等) 需要線下協商,受篇幅所限不在本文中討論。
域名管理邏輯可以在單獨的智能合約中實現。不同於 P 地址申請者(以大型組織結構為主),域名申請者包括大量的個人和小微組織,其部署分佈式賬本、承擔維護開銷的意願較低。因此,可以利用當前域名管理體系中的域名中介代替申請者參與去中心化域名申請過程,同時要避免權力的集中化。
去中心化的域名申請與轉移如圖 6 所示,二級域名 (SLD) 的申請者首先要生成一對公私鑰(公鑰即 kX 和私鑰 skX)。它將自己的公鑰 pkX 和要申請的域名 example.com 提交給某個域名代理 A.A 先檢查該域名是否仍然閒置,如果閒置,則在分佈式賬本中發起一個交易,內容是 pkX 申請域名 example.com。其他節點收到交易後,同樣要檢查域名的可用性,如果可用,則寫入 “example.com 的所有者是 pkX”。域名的申請與 lP 地址不同,前者採取先到先得的辦法,後者需要用算法防止地址碎片化。域名使用年費以及續期和逾期的處理辦法與 P 地址類似,這裡不再整述。
雖然 D 採用了域名中介在分佈式賬本上代替申請者管理域名,但域名的所有權仍然受申請者自身控制,不存在集中化問題。這是因為,分佈式賬本中寫入的是域名歸屬於 kX,而只有持有相應私鑰 skX 的申請者才能證明對域名的擁有權。即使域名代理不為該申請者提供服務,申請者也可以通過其他的中介進行域名管理,而不会被中介綁定或挾持。以圖 6 中的域名轉移為例,域名持有者需要通過私鑰簽名,才能操作相關域名的轉移。其申請時可以通過中介 A, 轉移時可以通過中介 B, 從而獨立掌握了域名的控制權。
由於域名解析數據量巨大且動態性極高,把全部解析數據(如將域名 ww.example.com 映射到某些 IP 地址)全部存儲在分佈式賬本上是不現實的。因此,D 僅將對安全域名解析最關鍵的信息存儲在分佈式賬本中。域名 example.com 的特有者僅將自己的公鑰和域名的權威名字服務器的地址存儲在分佈式賬本中,如圖 7 所示。這些信息的特點是佔用的存儲量小、動態性小,不會對分佈式賬本的性能和可擴展性帶來過大的挑戰。而存儲量大、動態性高的信息存儲在權威服務器中。
5.2BGP 路徑算改檢測 當惡意 AS 通過發布虛假 AS path 劫特路由時,通過現有 BGP 本身很難發現 AS path 被篡改,導致路由被劫持到惡意 AS, 造成巨大危害。圖 9 給出了一種 BGP 路徑篡改的例子,AS400 偽造前綴 20.20.0.0/16,並發布虛假 AS path (400,200).AS600 收到 2 條到達 20.20.0.0/16 的 AS path (400,200) 和 (500,100,200),AS600 根據最短路徑原則,優選 AS400 到達 20.20.0.0/16。結果是,AS600 中目的地址為 20.20.0.0/16 的流量被劫特到 AS400 中。 基於 DI 系統,可以採用如下的 BGP 路徑驗證方法來檢測 BGP 路徑篡改。 AS 的擁有者可以通過交易的方式在 DI 上發布和其他 AS 之間的鄰居關係,其他節點會驗證發布者是否為該 AS 的真正擁有者,驗證通過後,該 AS 的鄰居關係會被其他節點寫入 D 川系統。由於發布虛假信息會導致某個 AS 的流量被劫持或進入黑洞,受害者只有該 AS,因此,AS 的真正擁有者不會有動機來發布虛假信息,即 DI 系統維護的 AS 鄰居關係表是安全並且可信的。路由婴收 BCP 前圖雨新當自
仍然以圖 9 為例。假設 AS200 發布的鄰居關係見表 1,當 AS600 收到 AS400 發布的 AS path (400,200) 時,可以通過表 1 驗證 AS200 同 AS400 域間鄰居關係的可信性。顯然 AS200 沒有發布同 AS400 域間鄰居關係,表明 AS200 沒有同 AS400 建立域間鄰居坐弦大比 AS600 可 l▣品川山 AC400 號 H 的口 GP nath 信自為志用言自
5.3BGP 路由洩露檢測 互聯網工程任務組 IETF) 的標準 RFC7908 針對 BGP 路由洩毒進行了分類,本節提供檢測該 RFC 定義的前 4 種路由洩毒類型的方法。具體路由洩盡類型如下。 AS 將接收自提供商的路由通告給了其他的提供商; AS 將接收自對等者的路由通告給了其他的對等者; AS 將接收自提供商的路由通告給了它的對等者; AS 將接收自對等者的路由通告給了它的提供商。 AS200 收到來自提供商 AS100 的前綴 30.30.0.0/16,通告給了它的對等者 AS300, 該行為符合上述 BGP 路由洩毒類型 3,如圖 10 所示。AS300 根據現有的 BGP 無法識別出 AS200 洩露了前綴 30.30.0.0/16,如果 AS300 到 30.30.0.0/16 的流量優選 AS200 轉發,導致流量被錯誤地吸引到 AS200, 如果 AS200 負載能力不足,可能號致流量轉發延遲或者被丟棄。
傳統網站的可信性主要通過 PKⅪ 證書來保障兩類信息的實現:域名的所有權和運營者的真實身份。只提供域名所有權證明的證書被稱為 DV 證書,而同時提供這兩類信息保障的證書被稱為 EV 證書,一股認為後者的可信性更高。基於第 4 節中介紹的域名管理,D 可以利用智能合約提供的信息來提供網站運營者對該域名的所有權,即 DV 證書不再依賴任何第三方數字證書認證機構 (CA),網站運營者可以自行向其用戶提供智能合約相關信息來證明其對該域名的所有權。
在此基礎上,可以在 D 中引入 CA 角色作為參與節點。CA 節點可以通過智能合約發布對其他節點賬戶的身份背書信息。邏輯上,該身份背書信息完全獨立於域名管理系統信息。如果某個節點在已有身份背書的同時也擁有某些域名,則其可以同時提供給其網站用戶相關的域名所有權信息和身份背書信息。
用戶可以基於 D 來對這兩類信息進行驗證,從而實現 V 證書級別的認證。 需要說明的是,網站在通信中使用的公鑰僅與域名所有權綁定,而不與身份背書綁定。因為域名所有權的證明已經完全地去中心化了,安全性更高,而後者仍然依賴於 CA。在 D 川中,一個網站可同時從多個 CA 獲得身份背書,以避免當前 PN 證書體系下單個 CA 單方撤銷證書而造成網站信任錨點的情況。在最壞的情況下,即使所有 CA 同時取消對某個節點賬戶的身份背書,也無法剝奪其域名所有權,最多將該賬戶所運營網站的可信性從 EV 級別降到 DV 級別,從而削弱了集中化 CA 單方面操作造成的影響。
由於現有的互聯網核心資源(包括 P 地址、ASN 和域名)的分配和管理已成為事實並廣泛使用,不可能一次全部轉移到 D 川系統上,本節提供了一種可以從當前集中式資源管理方式進行演進的方案,在不影響資源使用的基礎上,逐步實現核心資源的去中心化管理。
6.1IP 地址管理和 ROA 能力 D 川系統可以在不改變現有 P 地址分配系統的基礎上,通過收集現網 BGP 前綴信息、獲取 P 地址歸屬權和 ASN 映射關係,進而維護在 D 系統中,為後續應用提供真實可信的信息。具體方案如圖所示。
步驟 1ISPA 通過現有 IPv6 地址分配機制獲得地址 2001da8:32.ISPA 向其他 AS 發布 BGP 消息,該消息攜帶地址前綴 2001:da8:32、AS path100 以及所有者的公鑰信息 pkA。該消息實際上實現了兩個功能,一是將 1P 地址 2001:da8:32 和公鑰 pkA 進行了綁定,在步驟 3 中被其他節點用來驗證該 1P 地址在 D 系統中的歸屋權;二是將 P 地址 2001:da8:32 和 AS100 進行了綁定,在步票 3 中被其他節點用來驗證 ROA 詳細的合法性。公鑰信息 pkA 可以通過擴展現有的 BGP 更新 (update) 消息來攜帶,具體的消息格式不在本文闡述。 步票 2SPA 在 D 川系統中發起 IP 地址歸屋權和 ASN 映射關係的交易。交易內容是公鑰 PkA 所對應的私鑰特有者(即 ISPA)是 IPv6 地址 2001da8:32 的所有者,並通過 AS100 發布相應的前綴”。為了防止作惡,路由被短暫地劫特,該路由需要在網絡中穩定存在一段時間。例如 10 天內,穩定存在 5 天以上,其他節點才會認為 lSPA 是該地址的真正擁有者。ISPA 待路由滿足上述規則後,再發起交易,確保網絡中的節點都認同該前綴相關信息的可信性,避免交易失敗。 步驟 3 驗證節點收到交易後,獲取 P 地址前綴、所有者的公鑰信息和授權進行 BGP 宣告的 ASN。然後驗證節點再從路由器獲取該地址前綴的相關路由信息,包括在本地存儲路由的存活時間、ASN、地址所有者的公鑰等信息,對交易的信息進行驗證。
如果路由器上的消息和交易消息一致,則驗證通過。驗證節點達成共識後,將 P 地址的歸屬信息和 ROA 信息寫入分佈式賬本。 通過上述方法,路由的 ROA 存儲在分佈式賬本中。各個網絡可以讀取 ROA,並生成路由的驗證列表,寫入 BGP 路由器,進行 BGP 源地址驗證,提升路由安全]。
地址的所有者對於 ROA 有完全的控制權限,並不依賴於任何第三方權威,避免中心節點單方面撤銷授信或者為虛假節點授信,對可信服務帶來破壞性的影響。 6.2ASN 管理和域間鄰居關係 DI 系統可以在不改變現有 ASN 分配系統的基礎上,通過收集現網 BGP 信息,將 ASN 的歸屬信息存儲在分佈式賬本中,進而支持 AS 擁有者在分佈式賬本中存儲可信的 AS 域間鄰居關係,實現去中心化的 AS 域間鄰居關係管理。ASN 的管理類似於 P 地址管理方式,具體方案如圖 12 所示。
(1) ISPB 通過現有 ASN 分配機制獲得 ASN200.ISPB 向其他 AS 發布前綴信息時,攜帶 ASN:200 和該 ASN 所有者的公鑰信息 pkB。該方案需要擴展 BGP 更新消息,攜帶 ASN 所有者的公鑰信息,從而綁定 ASN 和所有者的關係,具體的消息格式不在本文闡述。
(2) ISPB 發起擁有 ASN:200 的交易,交易內容是 " 公鑰 kB 所對應的私鑰的特有者(即 ISPB)是 AS200 的所有者”。為了防止作惡,ASN 信息需要在網絡中穩定存在一段時間,再發起交易,確保網絡中的節點都認同 ASN 所有者信息的可信性,避免交易失敗。
(3) 驗證節點收到交易後,根據 ASN 獲取 ASN 所有者的公鑰信息,驗證通過後接收該交易。驗證節點達成共識後,將 ASN 所有者的信息存儲在分佈式賬本中。
明確了 ASN 的所有權後,ASN 的所有者可以發起該 AS 域間鄰居關係的交易。驗證節點收到該交易後,先驗證 ASN 的所有權,只有 ASN 的所有者才能發起 ASN 的相關交易。驗證節點達成共識後,將 AS 域間鄰居關係存儲在分佈式賬本中,見表 1。可信的域間鄰居關係可以應用於 BGP 路徑算改和路由洩露檢,方法詳見第 5 節。
6.3 域名管理 D 川可以在不改變基於現有域名分配系統的基礎上,基於既成事實的域名所有權狀態來實現 D 川系統裡的域名所有權的初始化。基本原理如圖 13 所示。
(1)假設某個用戶 A 已經通過現有域名管理系統獲得域名 example.com。用戶 A 需要啟用該域名,並該域名對應網站的 P 地址維護到現有的 DNS 系統中。對應的網站(以 www.example.com 為例)需要有提供驗證信息的能力。
(2) 用戶 A 在 DI 系統上發起交易,宣告對 example.com 的擁有權,並將該域名和某個公鑰 PK 綁定,即聲明公鑰 PK 對應的私鑰的持有者才是該域名的擁有者。
(3) 驗證節點(如 C)收到交易後,從當前 DNS 系統中獲取目標網站對應的 IP 地址。
(4) 驗證者 C 和該網站建立連接並執行驗證;驗證通過後,C 認為該交易合法。
(5) 多數節點驗證通過後,該域名的所有權信息被寫入 D 系統。
驗證的方式取決於網站自身,D 不做任何限制,本文提供兩種思路供讀者參考。第一種方式,網站上可以發布某個隨機數和相關私鑰 sk 對應的簽名,驗證者憑 D 系統上獲取的公鑰 k 可以對簽名進行驗證,驗證通過則說明該域名的擁有者持有的私鑰 sk 和 D 上發布的公鑰 pk 是一對密鑰對,即私鑰 sk 的持有者就是域名的擁有者。第二種方式,網站可以使能某種交互能力,驗證者生成一個隨機數,用公鑰 k 加密並發送該網站,要求網站回覆私鑰 sk 解密後的隨機數,解密的隨機數正確,說明該網站擁有 D 川系統上公鑰 PK 對應的私鑰 sk。 明確了域名的所有權後,域名的所有者可以撤銷現有 DNS 系統內的發布信息,並將該信息維護在 D 系統上,進而可以用圖 7 所示的方式來提供 DNS 服務。
以上 3 種過渡方案僅給出了如何將既成的資源所有權事實同步到 D 系統中。一旦資源所有權信息同步到 D 系統中以後,就可以在 D 川系統上增加新的資源回收能力,資源過期後由智能合約回收到 D 資源池。資源池中的資源則可以使能第 4 節所述完全去中心化的管理方式。資源的回收和再分配將受到國際機構間的策略和博弈的影響,超出了技術範疇,本文不再詳細討論。
互聯網基礎設施的去中心化議題已經得到了越來越多的關注。國際互聯網工程任務組(IETF)成立了去中心化互聯網基礎設施研究組(DINRG)。在 DINRG,斯坦福大學的團隊提出了適合互聯網基礎設施的去中心化一致性協議 SCP [9];伯克利大學提出去中心化的映射系統 [10];去中心化身份基金會推動去中心化身份系統 [11],受到了學術界和工業界的廣泛關注。
針對 RPKI 的集中化問題,Cloud Flare 推出了 RPKI Transparency 技術和產品 [12],但只是採用事後審計的方式來檢查中心節點的惡意行為,無法做事前預防。單點問題的本質是中心節點的權威和數據,DII 通過分佈式共識取代了中心權威節點,通過分佈式賬本取代了中心數據庫,從根本上解決了集中化問題。西班牙加泰羅尼亞理工大學(UPC)分析採用 Proof of Stake 算法管理 IP 地址空間 [13]。西班牙馬德里卡洛斯三世大學(UC3M)則基於以太坊開展了用區塊鏈管理 IP 地址空間的實驗 [14]。
針對域名系統的集中化問題,業界已經有多個去中心化域名項目,如 Namecoin [15]、BNS (Blockstack Naming System)[16]、ENS(Ethereum Naming Service)[17] 等。這些方案都聚焦於解決集中化問題,但也帶來了域名解析過程中的其他問題。Namecoin 和 BNS 中,DNS 客戶端仍然需要無條件信任某些本地的域名解析器,而無法對解析結果進行驗證。這些本地域名解析器可通過單方面的信息篡改對客戶端和域名持有者作惡。ENS 中,客戶端雖然可以對解析結果進行驗證,但是每次請求需要付出巨大的驗證開銷。
針對 PKI 的集中化問題,谷歌提出了證書透明化(certificate transparency,CT)方案 [18]。該方案利用一個額外的 Log 系統來記錄證書發布的所有歷史,同時各網站合法運營者會通過監控器(monitor)實時監測相關證書的發布行為。一旦出現 CA 作惡的情況,監控器會向合法的網站運營者進行告警。CT 在一定程度上可以緩解 PKI 體系的集中化問題,但由於它是一種被動式的防禦方案,只能在事後進行彌補,無法從根本上阻止集中化問題帶來的惡意行為。