以rust重新实例让tor更安全,官方发布新项目arti – 十轮网-九游会官网真人游戏第一品牌

tor官方发布一个用rust重新实例的tor版本arti 1.0.0,目前这个版本已经可用于生产环境。arti与c客户端tor具有类似的隐私度、可用性和稳定性,而嵌入器(embedder)api也接近完全稳定阶段。

用户现在已经可使用arti代理连接tor网络,匿名化网络连接,官方提醒,不建议用户使用传统网络浏览器指向arti,因为网络浏览器会泄露许多隐私和可识别资讯,最好使用tor浏览器。

从2020年tor官方就已经开始着手以rust实例tor协议,而之所以要用rust重写tor,官方解释,在2001年的时候,c是一个合理的选择,但他们逐渐发现c的限制,像是c鼓励以不必要的低端方法,解决程序开发问题,而且要安全地使用c,需要付出许多心力,也由于这些限制,c语言的开发速度总是比期望更慢。

还有另一个重要原因,c实例发展这么多年,早已成为一个不那么模块化的设计,几乎所有东西都连接在一起,而这使得程序代码分析和进行安全性改进都变得困难。而转向以rust开发,是这些问题的好九游会官网真人游戏第一品牌的解决方案,在2017年的时候,官方就曾尝试在c tor程序代码库中添加rust,希望有一天能逐步替换程序代码。

因为c tor实例不够模块化,但要获得rust带来的好处,需要一次重写整个模块,而非仅重写单一函数,但能够被隔离出来用rust重写的模块,大部分微不足道,真正需要更换的部分又全部交织在一起,因此要在不破坏程序代码稳定性的情况下,要逐步替换成rust实例,官方认为是不可能的工作。

在2020年,tor共同创办人nick mathewson开始着手rust tor项目,随后更名arti作为tor官方项目,并获得zcash community grants的资助,使得tor公司得以聘用更多的开发者加入开发,历经数个测试版本,现在终于达到1.0.0里程碑。

从开发语言改变来看,官方提到,在每个可比较的开发阶段,以rust实例碰到的bug,都比c开发阶段少得多,会遇到的错误几乎都是语义或是算法错误,也就是真正的程序语言开发问题,而非是使用rust语言及其工具所遭遇到的问题。

rust以学习梯度陡闻名,而且编译器非常严谨,官方提到,一般而言,只要rust程序代码可以通过编译测试,在相同条件下,就可能比c程序代码更加正确。虽然是第二次构建tor,类似功能开发速度本来就会比较快,但官方强调,部分速度提升是因为rust更具表达式语义,且更可用的函数库生态系统,但主要还是归功于rust安全性所带来的信心。

不过rust还是有一些缺点,像是虽然rust可移植性比c更好,但还是需要处理操作系统之间的差异,另外,因为rust的标准函数库并不会默认安装在目标系统上,也因此增加二进制文件的大小,虽然通过使用平台原生tls实例改进支持,已经足以消除这个问题,但是仍有一些工作要进行。

比起c tor,官方发现arti更吸引贡献者,获得的程序代码贡献量更大且摩擦更小,由于rust强大的类型系统、api文件支持和安全性,极大程度帮助新的贡献者入手。

发表评论