Tor 專案提出了 Rust 語言的實現,未來將取代 C 版本

匿名 Tor 網路的開發人員提出了 Arti 項目,該項目正在進行以 Rust 語言創建 Tor 協議的實作。 與最初被設計為 SOCKS 代理然後根據其他需求進行定制的 C 實現不同,Arti 最初以模組化可嵌入庫的形式開發,可供各種應用程式使用。 這項工作已經進行了一年多,資金來自 Zcash Open Major Grants (ZOMG) 資助計劃。 該程式碼根據 Apache 2.0 和 MIT 許可證分發。

用 Rust 重寫 Tor 的原因是希望透過使用確保記憶體安全操作的語言來實現更高層級的程式碼安全性。 據 Tor 開發人員稱,如果程式碼不使用「不安全」區塊,則該專案監控的所有漏洞中至少有一半將在 Rust 實作中消除。 Rust 還可以實現比使用 C 更快的開發速度,因為語言的表達能力和嚴格的保證可以讓您避免浪費時間進行雙重檢查和編寫不必要的程式碼。 此外,在開發新專案時,會考慮到所有過去的 Tor 開發經驗,這將避免已知的架構問題,並使專案更加模組化和高效。

在目前的狀態下,Arti 已經可以連接到 Tor 網絡,與目錄伺服器通信,並使用基於 SOCKS 的代理在 Tor 上建立匿名連接。 尚不建議在生產系統中使用該開發,因為並非所有隱私功能都已實現,且無法保證 API 層級的向後相容性。 客戶端的第一個符合安全要求的版本,支援保護節點和執行緒隔離,計劃於 XNUMX 月發布。

第一個 Beta 版預計將於 2022 年 2022 月發布,並對嵌入式函式庫和效能優化進行實驗性實作。 第一個穩定版本計劃於 2022 年 1.1 月中旬發布,具有穩定的 API、CLI 和配置格式以及審核功能。 此版本適合一般使用者的初次使用。 更新 1.2 預計將於 2.0 年 XNUMX 月底發布,支援插件傳輸和繞過阻塞的橋接。 計劃在 XNUMX 版本中支援洋蔥服務,並預計在 XNUMX 版本中實現與 C 客戶端的對等,但具體時間尚未確定。

未來,開發人員預計與 C 程式碼開發相關的活動將逐漸減少,而用於 Rust 編輯的時間將會增加。 當 Rust 實現達到可以取代 C 版本的水平時,開發人員將停止在 C 實現中添加新功能,並在一段時間後完全停止支援它。 但這不會很快發生,在 Rust 中的實現達到完全替代的水平之前,C 中的 Tor 用戶端和中繼的開發將會繼續。

來源: opennet.ru

添加評論