基础原理
VPN 与网络过滤术语表
这个领域的词汇密度很高,其中不少还被用得相当随意。以下定义刻意写得直白,每一条都能独立成立。
阅读约 1 分钟最后复核
A – E
- 主动探测(Active probing)
- 过滤系统自己去连接一个可疑端点、模仿客户端,以确认那里运行着什么。它之所以有效,是因为它不依赖于实时正确地分类你的流量。
- AEAD
- 带关联数据的认证加密。一种一步同时提供机密性与完整性的密码学构造,使得篡改会被检测出来,而不是被悄悄解密成一堆乱码。这是任何现代协议中的标准做法。
- ALPN
- 应用层协议协商。一个 TLS 扩展,客户端在其中声明它打算在连接内部使用哪种协议,例如 HTTP/2。它以明文发送,是又一个必须与其他一切保持一致的字段。
- 桥(Bridge)
- 一个不在任何公开列表中发布、只作小范围分发的入口点,以增加被枚举和封锁的难度。这个词来自 Tor,但这个思路是通用的。
- 证书透明度(Certificate Transparency)
- 记录由公共受信任机构所签发证书的一份只可追加的公开日志。它的存在是为了让误签发的证书能被发现,副作用是任何域名的证书历史都可以被任何人检索。
- 深度包检测(DPI)
- 检查网络流量的内容而不仅仅是其寻址信息,以识别正在使用的协议并据此采取行动。
- DNS-over-HTTPS(DoH)
- 承载在普通 HTTPS 连接内部的域名查询,使本地网络既读不到也改不了它们。它并不隐藏你随后向查到的那个地址发起的连接。
- Encrypted Client Hello(ECH)
- 一种 TLS 机制,用于加密初始握手中的敏感部分,包括所请求的主机名,从而让观察者只看到一个通用的公开名称。
F – O
- 指纹识别(Fingerprinting)
- 根据软件做某件事的确切方式、而非它自称的身份来识别它。在 TLS 中,这指的是客户端所提供的有序密码套件与扩展集合;参见 JA3 与 JA4。
- 伪造重置(Forged reset)
- 由中间设备注入、并伪装成来自对端的 TCP RST 包,它会终止一条两端都以为健康的连接。
- JA3 / JA4
- 把 TLS Client Hello 哈希成客户端软件简短标识符的方案。JA4 是两者中较新的一个,对刻意打乱扩展顺序的客户端更有韧性。
- 断网开关(Kill switch)
- 一种机制:只要隧道未建立,就阻断普通网络流量,使隧道掉线时不至于悄悄把流量泄漏到明网上。
- MTU
- 最大传输单元——一条链路所能承载的最大数据包。隧道会增加头部,因此可用大小会缩小;不匹配通常表现为小请求正常而大页面卡住。
- 多路复用(Multiplexing)
- 在一条传输连接内部承载多条逻辑流。它减少了观察者看到的连接数量,代价是一个丢包就可能让共享该连接的所有流一起停顿。
- 「无日志」(No-logs)
- 一种声称服务商不保留用户活动记录的说法。它是针对特定一组数据类型的政策声明,只有在那份清单被明确列出时才有意义。
- 混淆(Obfuscation)
- 塑造一条连接的可见特征,使其不被识别为某个特定协议。它区别于加密——加密隐藏的是内容,而非身份。
P – Z
- 可插拔传输(Pluggable transport)
- 一个模块化的层,在发送前把流量变换成不同的形态,从而可以在不改动下层协议的情况下替换混淆策略。
- REALITY
- 一种 TLS 方案:端点在一个真实的第三方网站上完成握手,并把未经认证的访客交给那个网站,因此它自己不持有任何证书。
- Shadowsocks
- 一种加密代理协议,设计上不呈现任何可辨识的握手,使其流量更像随机字节而非任何可识别的协议。
- SNI
- Server Name Indication。客户端所请求的主机名,在 TLS 握手开始时以明文发送,以便一个地址能服务许多站点。它是过滤决策中被使用得最广泛的输入。
- 分流(Split tunnelling)
- 只让一部分流量走隧道,其余直连。这对把本地或对延迟敏感的流量挡在隧道之外很有用,代价是被排除的流量对本地网络可见。
- 限速(Throttling)
- 刻意限制一条流的速率而不是封锁它。它比封锁更难归因,因为不容易与拥塞区分开。
- VLESS
- 一种轻量隧道协议,不做自己的加密,只添加极少的封装,机密性依赖其下的传输层——通常是 TLS。
- VMess
- VLESS 的前身,自带加密和一套基于时间戳的认证机制。两者都带来了额外开销和可供识别的特征。
- WireGuard
- 一个现代的、刻意极简的 VPN 协议,性能出色、代码库小巧。它不试图隐藏自己,其握手的指纹也很容易被提取。
- XTLS Vision
- 一种机制,避免对本身已是 TLS 的负载再次加密,从而同时消除了双重加密的处理开销和嵌套 TLS 所产生的特征性长度模式。