代理协议独立百科词条SIP022 现代标准

Shadowsocks 2022 (SIP022)

BLAKE3 密钥派生 · 独立 Header AEAD · 强制滑动窗口防重放

Shadowsocks 2022 是由 Shadowsocks 社区官方在 2022 年 5 月正式推出的全新世代规范(代号 SIP022)[1][2]。 为了彻底解决旧版 AEAD 规范在网络审查主动探测与大规模重放攻击下的历史安全缺陷, 2022 规范全量引入了 BLAKE3 密钥派生、独立的包头认证保护、严格的时间戳与滑动窗口防重放, 并重构了具有会话概念的 UDP 代理通道,是目前所有 Shadowsocks 派生协议中最严谨、性能最极致的代际标杆。

核心组织Shadowsocks-org
SIP022 发布2022.05.18
密钥派生BLAKE3 Key Derivation
核心防御强制滑动窗口防重放

日期辨析:2022 年 5 月 8 日 SIP022 提案公示 vs 5 月 18 日参考实现正式发布

SIP022 提案公示2022.05.08

社区在 shadowsocks-org 仓库提交 issue #196,正式提出 Shadowsocks 2022 Edition 架构。

官方参考实现正式发布2022.05.18

shadowsocks-rust v1.15.0 发布,成为业界首个完整支持 2022-blake3 系列密码套件的官方稳定实现。

现代主流内核全量收录2022.08.01

sing-box、Xray-core、Mihomo 等现代内核全部完成协议标准化跟进,确立其作为现代 SS 的唯一事实标准。

编写口径:Shadowsocks 2022 是独立的技术世代,绝非简单的旧加密套件别名;所有时间线均有 GitHub 官方 Issue 与 Release 为证。

词条概览与核心定位

01

2017 年制定的 SIP004/SIP008 AEAD 规范虽然解决了早期流加密的篡改被识别问题, 但经过数年演变,审查系统发展出了更具侵略性的重放手段: 审查防火墙在侦测到疑似 SS 连接后,会截获其历史握手首包并向服务端重复发起连接, 旧版 SS 服务端在接收到旧包后因缺乏绝对防重放机制,会根据解密结果暴露出的响应行为特征向审查端泄露服务端身份。

Shadowsocks 2022 的诞生彻底终结了这些历史隐患。 它要求服务端强制维护防重放滑动窗口,对于超过时间容差窗口或已见过的会话首包,直接静默断开且不产生任何差错回包; 同时,它摒弃了易受 CPU 瓶颈限制的旧哈希派生,采用极其高效现代的 BLAKE3 KDF[1], 在高带宽软路由与万兆服务器上能轻松释放出数倍于旧协议的吞吐能力。

定位结论

Shadowsocks 2022 属于对称加密代理协议的现代工业级天花板。 它不依赖复杂的 TLS 证书伪造,凭借极致纯粹的对称加密开销,成为各大企业级内网穿透、商业中转与 IPLC/IEPL 优质专线的不二首选。

密钥派生与防重放核心原理

02
1. BLAKE3 会话子密钥派生(Subkey Derivation via BLAKE3)使用主预共享密钥(PSK)结合每个连接独一无二的随机盐(Salt),通过超高速的 BLAKE3 KDF 派生出会话专用的对称加解密密钥, 彻底杜绝多连接间密钥材料泄露与碰撞。
2. 独立 Header AEAD 保护与定长包头将连接请求头(包含时间戳、目标地址类型等)与后续数据流分离,包头独立使用 AEAD 密文包裹; 任何对包头的细微篡改在首字节解密阶段即告失败,杜绝内层协议探针渗透。
3. 强制时间戳与滑动窗口防重放(Sliding Window Filter)报头强制包含精确到秒的时间戳,服务端结合滑动窗口布隆过滤器核对; 时间戳超出 ±30 秒容差范围或重复出现的包被立即静默丢弃,令防火墙重放攻击完全失效。

TCP / UDP 代理生命周期

  1. 首包派生与时间戳校验:客户端生成 Client Salt,派生会话密钥,构造包含精确时间戳的加密请求头;服务端校验时钟窗口与重放列表。
  2. 双向独立会话密钥:服务端响应时生成独立的 Server Salt 与会话响应头,实现双向完全对称但密钥完全隔离的安全传输。
  3. 有状态 UDP 会话代理:引入 64 位 Session ID,使无连接的 UDP 流量也能建立有状态会话,消除旧 SS 在 UDP 转发中的包长特征抖动。

网络环境设计边界

Shadowsocks 2022 属于「纯对称随机流」,其流量在公网呈现纯随机高熵特征。 在部分对高熵流量实行一刀切丢包的恶劣公网省份,建议搭配 ShadowTLS 等外层伪装协议复合使用。

精确到日的核验时间线(共 8 个关键节点)

03

以下时间线记录了 Shadowsocks 2022 从规范草案提交到各大内核标准化的核心迭代,全部依据官方 GitHub 仓库记录核验:

2022 年

SIP022 规范诞生与参考实现

  • Shadowsocks-org 正式提出 SIP022 规范

    发布 issue #196,针对旧版 AEAD 在 GFW 大规模主动重放探测下的脆弱性,提出重新设计的新世代协议。

    GitHub:SIP022 Issue #196
  • SIP022 AEAD-2022 规范合并至官方文档

    正式确立 2022-blake3-aes-128-gcm、2022-blake3-aes-256-gcm 与 2022-blake3-chacha20-poly1305 核心套件。

    Shadowsocks 官方规范文档
  • shadowsocks-rust v1.15.0 正式发布

    作为 SIP022 的官方参考实现首发,引入 BLAKE3 密钥派生、独立 Header AEAD 保护与滑动窗口防重放。

    GitHub:shadowsocks-rust v1.15.0
  • sing-box v1.1.0 原生集成 Shadowsocks 2022

    下一代通用代理内核 sing-box 将 SS 2022 作为重点协议集成,大幅降低了用户的配置与迁移门槛。

    GitHub:sing-box Release
  • Xray-core v1.6.0 正式支持 Shadowsocks 2022

    Xray-core 合并社区 PR,完整适配 2022 密码套件,彻底废弃易受重放攻击的旧单端口多用户方案。

    GitHub:Xray-core v1.6.0 Release
2023–2024 年

专线基石与生态稳固

  • shadowsocks-rust 增强服务端多用户派生与限速

    完善基于独立 Client Session ID 的多用户密钥派生与精细化限速,成为高端商业机场专线的主力出站。

    shadowsocks-rust 官方文档
  • Shadowsocks 2022 广泛结合 ShadowTLS 复合落地

    在公网高阻断机房中,社区广泛将 SS 2022 作为内层高性能转发,外层套接 ShadowTLS 伪造真实握手。

    ShadowTLS 协议文档
  • 各大现代内核全面将 SS 2022 设为默认推荐选项

    旧版 Stream 加密(如 rc4-md5)与旧 AEAD 逐步在主流 UI 中被标记为废弃,SS 2022 成为 Shadowsocks 的代名词。

    Shadowsocks 官方规范汇总

生态实现与客户端兼容性

04

Shadowsocks 2022 已经成为当前所有主流开源网络工具的标配; 无论是基于 Rust 的官方核心,还是 Go 语言生态的 sing-box、Xray-core,均提供了第一梯队的高性能实现。

软件 / 内核类型支持平台支持级别起始版本发布日期特性说明
shadowsocks-rust核心内核Linux / macOS / Windows / BSD官方参考实现v1.15.0+2022.05.18官方第一方 Rust 核心,首个完整实现 SIP022 TCP/UDP 规范及多用户中继功能的参考实现。
sing-box核心内核全平台跨平台核心完整原生支持v1.1.0+2022.07.12原生完整支持 SS 2022 各大密码套件,支持单端口多用户派生及与 ShadowTLS 复合编排。
Xray-core核心内核全平台跨平台核心完整原生支持v1.6.0+2022.08.01完整集成 2022-blake3-aes 与 chacha20 套件,修复历史重放探测漏洞。
Surge (iOS / macOS)客户端iOS / iPadOS / macOS出站客户端支持Surge v5.1.0+2023.04.10原生支持 Shadowsocks 2022 单端口多用户及 2022-blake3 加密协议。

适用场景、网络边界与部署建议

05

最佳适用场景

优质内网专线与商业中转(IPLC / IEPL):以最小 CPU 和内存开销跑满数千兆高吞吐带宽; 与 ShadowTLS 复合搭建:内层作为高效代理,外层伪造真实主流网站握手; 嵌入式软路由与低功耗设备:借助硬件加速实现弱 CPU 线速转发。

网络边界与安全注意事项

两端系统时间同步:时间戳防重放强制偏差小于 30 秒,否则所有连接将被静默丢弃; 严禁使用弱密码:规范强制根据套件位数提供标准 Base64 预共享密钥; 不提供前向保密:若主 PSK 泄露,历史被截获流量存在被解密风险。

第一手文献与官方参考资料

06

词条事实与技术定义均以 Shadowsocks-org 官方代码库与 SIP022 规范记录为准:

  1. [1]Shadowsocks SIP022 Official SpecificationShadowsocks-org 发布的 SIP022 官方技术规范,定义了 2022 Edition 的握手、密码套件与报文格式。https://shadowsocks.org/doc/sip022.html
  2. [2]Shadowsocks-org SIP022 Proposal on GitHubSIP022 在 GitHub 上的原始设计讨论与评审提案,记录了针对旧 AEAD 缺陷的推导过程。https://github.com/shadowsocks/shadowsocks-org/issues/196
  3. [3]shadowsocks-rust GitHub 官方参考实现由 shadowsocks-rust 团队维护的官方第一方 Rust 核心,是 SIP022 的标杆代码库。https://github.com/shadowsocks/shadowsocks-rust
  4. [4]sing-box Shadowsocks Outbound Configurationsing-box 官方文档关于 Shadowsocks 2022 模式、参数配置与多用户调优指南。https://sing-box.sagernet.org/configuration/outbound/shadowsocks/