Tor 項(xiàng)目完全使用 Rust 重寫(xiě)的 Tor 協(xié)議實(shí)現(xiàn):Arti
Tor 宣布了完全使用 Rust 重寫(xiě) Tor 協(xié)議實(shí)現(xiàn)的項(xiàng)目,被稱(chēng)為 Arti。
據(jù)介紹,其開(kāi)發(fā)團(tuán)隊(duì)已經(jīng)在這個(gè)項(xiàng)目上工作了一年多的時(shí)間,由于得到了 Zcash Open Major Grants (ZOMG) 的資金支持,他們可以把 Arti 項(xiàng)目放在優(yōu)先級(jí)列表中,并投入更多的時(shí)間。
Tor 是一組可以在互聯(lián)網(wǎng)上提供匿名性、隱私性和抗審查性的協(xié)議,同時(shí)也是一個(gè)用 C 語(yǔ)言編寫(xiě)的程序,提供了協(xié)議的客戶(hù)端和服務(wù)器端實(shí)現(xiàn)。
開(kāi)發(fā)者表示,Tor 是用 C 語(yǔ)言編寫(xiě)的。盡管 C 是一門(mén)古老且無(wú)處不在的語(yǔ)言,但眾所周知,它使用起來(lái)很容易出錯(cuò),而且 C 缺乏高級(jí)功能,使得許多編程任務(wù)比使用更現(xiàn)代的語(yǔ)言更復(fù)雜。對(duì)于他們來(lái)說(shuō),這些問(wèn)題意味著用 C 編程是一個(gè)緩慢而艱苦的過(guò)程。他們編寫(xiě)的所有代碼都比計(jì)劃的要多很多,而且還需要仔細(xì)檢查以確保它不會(huì)落入 C 的“巨大陷阱”。這嚴(yán)重拖延了開(kāi)發(fā)進(jìn)度,并增加添加新功能所需的成本。
在這樣的背景下,Rust 似乎是擺脫 C 束縛的方法。它是一門(mén)現(xiàn)代的高級(jí)語(yǔ)言,并且比 C 更具表現(xiàn)力。更重要的是,它具有一些真正創(chuàng)新的功能,可以讓該語(yǔ)言在編譯時(shí)強(qiáng)制執(zhí)行某些安全屬性。這對(duì)于 Tor 開(kāi)發(fā)者在編程和調(diào)試方面帶來(lái)了許多便利之處,此外對(duì)于項(xiàng)目本身而言,也增強(qiáng)了安全性和可靠性,比如更容易實(shí)現(xiàn)多線(xiàn)程加密。
開(kāi)發(fā)者還指出,自 2016 年以來(lái),他們一直在跟蹤在 Tor 中發(fā)現(xiàn)的所有安全漏洞,結(jié)果證明其中至少有一半錯(cuò)誤不會(huì)在 Rust 代碼中出現(xiàn)。
開(kāi)發(fā)者原本的計(jì)劃是慢慢地用 Rust 替換 Tor 的 C 代碼,但發(fā)現(xiàn)這樣行不通,原因是 Tor 項(xiàng)目的 C 模塊過(guò)于耦合,所以他們很無(wú)法逐漸地使用 Rust 重寫(xiě)每一個(gè) C 模塊。因此他們決定重寫(xiě),這樣就可以保持現(xiàn)有的 C 代碼穩(wěn)定性,并且只對(duì)其進(jìn)行最少的更改,同時(shí)構(gòu)建 Rust 代碼的 work base 以作為未來(lái)開(kāi)發(fā)的基礎(chǔ)。
本文轉(zhuǎn)自O(shè)SCHINA
本文標(biāo)題:Tor 項(xiàng)目完全使用 Rust 重寫(xiě)的 Tor 協(xié)議實(shí)現(xiàn):Arti
本文地址:https://www.oschina.net/news/150525/torproject-arti















 
 
 






 
 
 
 