Colitu VPN
TCP · AEAD · 2022-blake3-aes-256-gcm

Shadowsocks 2022

Shadowsocks 2022 (SIP022) 使用 2022-blake3-aes-256-gcm 加密每一个字节,并拒绝重放。介绍它的工作原理、适用场景,以及 Colitu 为什么最后才尝试它。

Shadowsocks 2022 是 Colitu Adaptive Connect 在 Android 和 iOS 上尝试的第五种,也是最后一种模式,同时也是 Windows 和 Linux 上按连接时间排序的 TCP 模式之一。与其他四种不同,它不试图看起来像任何东西:从第一个字节开始,Shadowsocks 连接看起来就是随机数据。

它是什么

Shadowsocks 是最古老的开源加密代理协议之一。“2022”指的是 SIP022 规范,这是一次重新设计,修复了早期版本的弱点。它要求使用强预共享密钥而不是密码,使用 BLAKE3 派生每个会话的密钥,并增加了基于时间戳的重放保护。该规范同时涵盖 TCP 和 UDP。Colitu 服务器使用 sing-box 以 2022-blake3-aes-256-gcm 方法运行它,采用多用户模式:一个服务器密钥,加上每个用户凭据各自独立的密钥。

工作原理

  1. 密钥。 应用持有服务器密钥和自己的用户密钥,二者均为 256 位,在登录后通过加密通道交付。
  2. 每个连接使用新的密钥。 对每个连接,客户端选择一个随机的 32 字节盐值,并用 BLAKE3 从密钥和盐值派生出会话子密钥。因此每个会话都使用新的加密密钥。
  3. 请求头。 第一条消息携带一个定长的头部,包含消息类型、时间戳和长度,其后是一个变长的头部,包含目标地址和可选的填充。一切都使用 AES-256-GCM 加密并认证。
  4. 重放保护。 服务器会拒绝时间戳与自己的时钟相差太大的请求(SIP022 允许 30 秒),并记住最近见过的盐值,因此被录制的连接无法被重放。
  5. 响应。 服务器的第一条回复包含客户端的盐值,从而将响应与该特定请求绑定在一起。
  6. 数据。 此后,数据以加密并认证的数据块形式流动。在任何环节都没有可识别的握手。

为什么 Colitu 使用它

Shadowsocks 2022 很轻量:没有 TLS 握手,每个数据包的开销很小,启动很快。它也与其他所有模式都不同。针对 TLS 或 QUIC 调校的过滤系统没有任何熟悉的特征可供匹配,所以在出于自身原因而干扰发往陌生地址的 TLS 或 QUIC 的网络上,它仍然可能通过。作为顺序中的最后一种模式,它为 Adaptive Connect 提供了又一种完全不同类型的选择。

它的强项

  • 过滤较轻的网络: 开销极小,延迟低。
  • 专门干扰 TLS 或 QUIC 的网络: 没有 TLS 或 QUIC 握手可供干扰。
  • 低功耗设备: AES-GCM 在大多数现代处理器上有硬件加速。

局限,以及何时它不是最佳选择

  • 没有伪装。 “看起来像随机数据”本身就是一种信号。研究人员已记录到有过滤系统以启发式方法标记完全加密的流量。在 DPI 严格的网络上,基于 Reality 的模式更有可能奏效,这就是 Shadowsocks 2022 在移动端排在最后的原因。
  • 没有证书。 安全性完全依赖于预共享密钥的保密;服务器没有公钥身份。
  • 没有前向保密。 没有临时密钥交换:会话密钥由长期密钥派生,因此任何获得这些密钥的人都可以解密被录制的会话。基于 TLS 的模式没有这个弱点。
  • 没有什么可展示给探测者。 服务器不会给探测者任何有用的应答,但与 Reality 不同,它背后也没有真实的网站。
  • 丢包链路上的 TCP。 在移动数据或糟糕的 Wi-Fi 上,它会像任何 TCP 协议一样降速;在那里 Hysteria2 通常更快。

Adaptive Connect 如何使用它

在 Android 和 iOS 上,Shadowsocks 2022 排在最后,位于 Hysteria2、VLESS Reality、VLESS XHTTP 和 Trojan 之后。当其他四种都没有通过流量检查时才会尝试它。在 Windows 和 Linux 上,它与其他 TCP 模式一起,按测得的连接时间排序。如果 Shadowsocks 2022 也没有通过检查,说明该网络不放行五种模式中的任何一种;指南 VPN 无法连接说明了接下来该检查什么。

安全与加密

  • 密码: AES-256-GCM,一种 AEAD 密码:每个数据块都既经过加密又经过认证,因此任何篡改都会被发现。
  • 密钥派生: BLAKE3 为每个连接,根据预共享密钥和随机盐值派生出新的会话子密钥。
  • 重放保护: 时间戳加上最近使用过的盐值缓存。
  • 每用户密钥: 除服务器密钥外,每个用户的凭据中还包含独立的密钥。
  • 密钥处理: 密钥以加密形式交付给应用,从不公开。
  • 没有访问日志: 参见安全页面。

来源

立即体验

Shadowsocks 2022 作为最后的备用方案,是每个 Colitu 应用的一部分,无需任何配置。下载 Colitu,或查看服务器位置。