现阶段比Tor和I2P更安全的上网方式

现阶段可以比Tor(洋葱路由)和I2P(大蒜路由)更安全,直到Tor和I2P都支持Lattice或Code问题为止。试试 GitHub - oilel/pqt: Post-quantum TCP proxy that uses Kyber1024 and triple AES 这款代理采用基于Lattice问题的加密算法,搭配三重AES;因为Lattice困难问题抵抗量子计算机破解,而AES和ChaCha20只会被Grover量子算法开平方根,因此AES还能用,但是非对称加密就换成了基于Lattice问题的Kyber1024。建议现阶段别再用Tor了,换成这款代理;直到Tor和I2P提供Lattice算法之前,都只能用知名度很低很低的冷门的软件,热门的匿名网络都不能用,只有比较偏僻、冷门的软件提供Lattice算法。下面介绍一下如何使用 pqt :服务端需要开一个 Privoxy (第三方代理),因为 pqt 只管加密与解密,需要 Privoxy 接管浏览器的流量; Privoxy 只要放在服务端即可,客户端是不用装 Privoxy 的,千万别把软件装错地方。但是服务端和客户端都要装 pqt ,两个地方都要装。

1 个赞

如果Tor和I2P支持Lattice-based算法,还是可能赶不上这款代理的安全性。因为Kyber官方推荐用Kyber768,官方认为768维够安全了,所以Tor和I2P说不定也就采用768维;但是pqt直接采用Kyber1024,或许仍然比未来的Tor和I2P更安全,pqt采用的是比官方推荐的768维还要安全的参数,1024维;假设未来Tor和I2P也用1024维,那么不用争论,肯定是未来的Tor和I2P更安全;那也得到了未来某一天才知道Tor和I2P采用多少维的。

1 个赞

不得不提一下,pqt客户端只会采用一条TCP连接,这样能掩盖用户在访问多少个网站。用户连接不同网站,需要多条TCP连接,因为不同网站连域名都不同,分别给这些网站建立TCP连接;但是pqt客户端不管收到多少TCP连接都会堵塞成一条TCP,发给pqt服务端,服务端再把堵塞的数据流拆成原来那么多TCP连接发到公网,为了向用户当地的运营商掩盖用户在看多少网站。既然很多TCP连接都堵塞成一条TCP,那么很容易比Tor还要慢的,说不定接近I2P的速度;但是用户只访问一个网站的情况下,应该不至于比Tor慢,用户只有一个TCP连接应该是比Tor快的。Tor没有刻意掩盖TCP连接数。 @nullchinchilla

1 个赞

我得找几个人运行VPS,因为光有软件还不够,需要一台主机才能运行。 @linux @天子习 @_geph
温馨提示:不是用来翻墙的,而是用来强加密的;Tor和I2P的流量特征都被墙识别了,Tor和I2P的设计初衷也不是用来翻墙。I2P刚开始依赖P2P、ed2k协议来避免封杀,但是现在也被精准识别了。也就是说,Tor、I2P、pqt都需要翻墙以后才能连接。本来就是为了匿名和强加密的,需要先翻墙才能连接,这种软件本身通常是不提供翻墙功能的。

这些个人开发的号称可以翻墙的代理软件太多了,为了我和其他人的安全,我不会使用这些软件,除非它们有很多人用,证明它们已经足够成熟。建议你先自己用一段时间,包括 GFW 加高的敏感时期,确定稳定了再来推广。

我并没有号称“翻墙”。

我没有VPS,只提供软件,所以安全性要你自己确保;我没有VPS,需要你自己搭建VPS,因此完全是你自己的责任了。除非我搭了VPS,再发出来,才可能是我的责任,但是我根本没有VPS。

你开发的不是翻墙软件么?

我的意思是,我不会使用那些成熟度不够的软件,我不做小白鼠,你的软件不值得我去买 VPS 测试。

不然我就不会说“比Tor和I2P更安全”,不会跟匿名网络来比了。如果是翻墙软件,我会说“比V2Ray、Clash还要稳定”。

这个是用Rust语言写的,可以保证没有内存问题(如use-after-free、double free)。但是Rust并没有完全解决内存泄漏,有时候也会导致内存泄漏。因此这款软件一上来就很成熟了;如果用C/C++写,后期要加很多补丁,一开始就难以确定是否稳定。

因为Rust语言专注内存安全,那就只有性能问题和逻辑问题了。编程随想(program-think,似乎已经公开身份:阮晓寰)说,为了安全性也要三重代理;那么我用Rust语言写一款天生内存安全的软件,为了内存安全也要这么差的性能,性能实在优化不了的话,那我也不会放弃Rust语言。然后有些水军或五毛还在编程随想博客的评论区针对“也要三重代理”这句话进行了攻击,水军或五毛是这样说的:为了安全也要65535重代理。实际只要换成Kyber1024搭配三重AES256,也要比Tor的65535重代理安全,因为用RSA或ECC针对TCP/IP数据包每加密一次就追加一次TCP包头加密65535次,对于量子计算机也顶多是65535倍的破解时间(何况有Grover开平方根)。

取代C++!微软改用Rust语言重写Win11内核:简洁安全、性能更佳

匿名网络的一大特征就是特征明显,而翻墙软件特征很模糊,迷雾通算是这两方面平衡得比较好的,你的软件能做到吗?

你对”成熟“的定义就是用 Rust 来编写?Rust 难度很大,要写出成熟度高的软件并非易事。要证明你的软件足够成熟,需要有足够多人用过并反馈,需要时间来证明。迷雾通已经证明了它是成熟的翻墙软件,你的软件满足这些条件吗?

不要光顾着所谓的安全就忽略了传输性能,再好的对称加密也扛不住社会工程学找到肉身打一顿吐出手里的密钥。还不如保证一定的破解难度的前提下大量传输数据,大规模用户基数才能掩护住你的踪迹。

快科技是中国网站吧?中国网站容易被政府要求添加木马,所以不建议发中国网站的网址。

1 个赞

TCP over TCP本来就慢。I2P采用UDP,但是很多前置代理不支持UDP,所以用V2Ray或Clash(先翻到墙外)再连接I2P的话,可能会因为UDP的原因也连不上;所以肯定用TCP,这样一来V2Ray或Clash前置代理有可能支持。Tor也不支持UDP,所以也无法实现I2P over Tor。大部分工具都不支持UDP,导致I2P就报废了。不想让工具报废,只有TCP可以用。所以pqt over V2Ray有可能成功,这样就是TCP over TCP,必须要这样慢。

我扯两句
看完帖子,楼主的软件提供的是“安全”,而不是“匿名”或者“翻墙”,我个人认为就目前而言,翻墙软件的加密安全性足够了(当然得看具体的软件和协议),实在不放心可以再后置Tor。

楼主说是自己的软件比Tor和I2P更安全,我觉得还是留给时间来考验,目前来说Tor和I2P是靠谱的。

另外,Tor和I2P是匿名网络,至少目前我并没有觉得楼主这个是匿名网络,所以我暂时还是不会去用。

理论上已经避免了从头开始(注意是从头开始)的重放攻击(replay attack),理由如下:客户端必须先拿到服务器的Lattice算法公钥(Lattice算法抵抗量子计算机),然后客户端生成自己的Lattice算法公钥,用服务器公钥加密客户端公钥发出去;服务器生成三把AES密钥,用客户端公钥加密以后发给客户端。为什么我要强调是从头开始的重放攻击?通信过程中的重放攻击,只要加个nonce就避免了,但是还有从头开始的重放攻击。由于是服务器生成三把AES密钥,攻击者截获了客户端和服务器的握手过程想要从头再发一遍完整的通信过程,攻击者就做不到了。客户端和服务器的握手过程都是加密的,攻击者确实不知道发了什么,但是SSL和TLS早期版本面临重放攻击,假设是客户端生成三把AES密钥,攻击者可以从头重放一遍;但是服务器生成最终通信采用的密钥,从头开始重放也无法攻击了,除非下一次服务器还生成相同的三把密钥,但是两次通信都生成相同密钥的概率几乎是零。概率问题,SHA512还是有概率碰撞的(不同信息用SHA512哈希一下得到相同哈希值),概率也是可以忽略不计了。