Veilid:一種安全可屏蔽監控的點對點應用程序網絡
DEF CON信息安全超級樂隊“死牛教”發布了Veilid(發音為vay-lid),這是一個開源項目,應用程序可以使用它以點對點的去中心化方式連接客戶端并傳輸信息。
這里的想法是,移動、桌面、Web和無頭應用程序可以在互聯網上私密安全地找到彼此并進行交流,而無需經過集中且通常由公司擁有的系統。Veilid為應用程序開發人員提供了代碼,以便他們的客戶端可以加入并在點對點社區中進行通信。
在DEF CON演示中,Katelyn "medus4" Bowden和Christien "DilDog" Rioux介紹了該項目的技術細節,該項目顯然花費了三年時間進行開發。
該系統主要使用Rust編寫,還使用了一些Dart和Python,它借鑒了Tor匿名服務和點對點的星際文件系統(IPFS)的一些特點。如果一個設備上的應用程序通過Veilid連接到另一個應用程序,那么任何一方都不應該能夠從該連接中了解到對方的IP地址或位置,這對于隱私來說是有益的。應用程序制造商也無法獲得這些信息。
Veilid的設計文檔和源代碼,根據Mozilla公共許可證第2.0版提供。
“IPFS的設計并不考慮隱私問題,”Rioux告訴DEF CON的觀眾。“Tor考慮了隱私問題,但它并沒有考慮性能。當NSA運行100個[Tor]出口節點時,它可能會失敗。”
與Tor不同,Veilid不運行出口節點。Veilid網絡中的每個節點都是平等的,如果NSA想要像對Tor用戶那樣監視Veilid用戶,聯邦機構將不得不監視整個網絡,希望這對于“無此機構”來說是不可行的。Rioux將其描述為“就像Tor和IPFS發生了關系,產生了這個東西”。
Bowden補充道:“這里的可能性是無限的。所有的應用程序都是平等的,我們的強大程度取決于最弱的節點,而每個節點都是平等的。我們希望每個人都能在此基礎上構建。”
使用核心Veilid庫的每個應用程序副本都充當網絡節點,它可以與其他節點進行通信,并使用256位公鑰作為ID號。沒有特殊節點,也沒有單點故障。該項目支持Linux、macOS、Windows、Android、iOS和Web應用程序。
Veilid可以通過UDP和TCP進行通信,連接經過身份驗證、時間戳、強大的端到端加密和數字簽名,以防止竊聽、篡改和冒充。所涉及的密碼學被稱為VLD0,并使用了已建立的算法,因為該項目不想冒險引入“自己的算法”的弱點,Rioux說。
這意味著加密使用XChaCha20-Poly1305,公私鑰身份驗證和簽名使用橢圓曲線25519,DH密鑰交換使用x25519,密碼哈希使用BLAKE3,密碼哈希生成使用Argon2。如果需要,這些機制可以被更強大的機制替換。
Veilid通過加密寫入本地存儲的文件,并為開發人員提供了加密表存儲API。用于加密設備數據的密鑰可以受到密碼保護。
Bowden說:“該系統意味著沒有IP地址、沒有跟蹤、沒有數據收集和沒有追蹤-這是人們將你的互聯網使用貨幣化的最大方式。”
Bowden繼續說:“億萬富翁們圖將這些連接貨幣化,很多人都上當了。我們必須確保這是可用的。”希望應用程序將包括Veilid并使用它進行通信,以便用戶可以在不了解所有上述技術細節的情況下從網絡中受益:它應該對他們來說只是起作用的。
為了展示該系統的功能,團隊構建了一個基于Veilid的安全即時通訊應用程序,類似于Signal,名為VeilidChat,使用了Flutter框架。還需要更多的應用程序。
如果Veilid大規模推廣,可能會對監控資本主義經濟造成重大沖擊。盡管此前嘗試過,但結果好壞參半,不過“死牛教”以高效完成任務而聞名。