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