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