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