文章
技术

用个人VPS代替Tor和I2P

首先下载 https://github.com/oilel/pqt 然后用tar解压文件,

cd pqt
cargo build --release

需要一台VPS,一般会收费,极个别有免费VPS。在本机输入

ssh-keygen -b 521 -o -t ecdsa

把公钥通过网页添加到VPS,暂时还别用命令行ssh-copy-id。因为网页可以采用数字证书,SSH没有数字证书,通过网页添加好公钥再用命令行。接下去就可以命令行sftp把文件上传到VPS,在VPS上也要用cargo编译可执行文件,如果VPS处理器架构和本地处理器架构都是x86或者都是ARM,就没必要再编译一次,用sftp传上去即可。ssh远程登录VPS或用网页输命令(两种方式均可),在VPS上创建名为config的文件,文件内容是:

max-client-connections 100000000000000000
listen-address 127.0.0.1:1024
forward / .

在VPS上安装privoxy,确保config在当前目录,然后运行

privoxy

。在VPS上可以用pqt了,命令参考:

<PATH_TO_pqt> -a server -g 127.0.0.1:1024

请将<PATH_TO_pqt>替换为自己的pqt路径,会在当前目录生成pubkey。本地用sftp把它下载下来

sftp <VPS_hostname>

请将<VPS_hostname>替换为VPS的IP地址或域名。

get pubkey
exit

防止ssh断线,在 /etc/ssh/ssh_config~/.ssh/config输入

ServerAliveInterval 60

本地再用ssh

ssh -L 2345:127.0.0.1:2250 <VPS_hostname>

请将<VPS_hostname>替换为VPS的IP地址或域名。确保之前下载的pubkey在当前目录,可以在本机输入

pwd

查看工作目录。然后在本机输入:

<PATH_TO_pqt> -a client -g 127.0.0.1:2345

请将<PATH_TO_pqt>替换为自己的pqt路径。此时,外界看起来你的流量会像SSH,而不是奇奇怪怪的协议。当心pqt的协议特征比较明显,在独裁国家需要伪装一下协议,比如用SSH掩盖pqt特征。最后在本机浏览器设置代理为HTTP类型,对应于上述步骤在VPS上采用了privoxy,浏览器代理设置为 http://127.0.0.1:2250 理论上就能代替Tor和I2P了。

菜单
  1. IE11  

    当年IBM提交了DES(Data Encryption Standard)草案,NSA(美国国安局)修改了IBM的草案,最终成为DES。外界不理解为何这样修改,直到二十年后发现了差分攻击,二十年后才知道NSA这样修改IBM草案是为了避免这个差分攻击,说明NSA还是领先了二十年。现在我觉得还是可以相信NSA的。一些密码学家建议把传统的加密方式ECC(椭圆曲线)结合Kyber,就是 Hybrid Mode,但是NSA认为光光Kyber就够了。NSA发表的 https://media.defense.gov/2022/Sep/07/2003071836/-1/-1/0/CSI_CNSA_2.0_FAQ_.PDF 明确了态度:

    Q: What is NSA’s position on the use of hybrid solutions? A: NSA has confidence in CNSA 2.0 algorithms and will not require NSS developers to use hybrid certified products for security purposes.

    根据之前NSA修改IBM草案并发布DES的例子,NSA至少领先二十年,提前预测了针对IBM草案的差分攻击,NSA修改过的DES免疫这个差分攻击。看来直接使用Kyber足矣,无需使用Hybrid Mode。