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

添加评论