David TaylorSatou ProtocolSVP/0

SATOU SECURE CHANNEL PROTOCOL · DRAFT 0

在陌生网络里,也能建立一条可信的加密通道。

无论是在咖啡店、机场还是酒店,设备都可能接入无法确认的网络。Satou Protocol(SVP/0)尝试用 Noise 双向认证、独立记录加密、重放防护、路径验证与可选后量子混合密钥建立,为每次连接重新确认可信边界。

Experimental draft · Not independently audited

LIVE MODELSVP/0

SVP/0IP DATAprotected payload

认证会话:确认双方身份并派生会话材料。

01 / SUITABLE USE

从咖啡店到机场,先确认通信双方,再开始传输。

公共网络很方便,却很难确认同一网络里的设备与路径是否可信。Satou 希望在这些环境中先建立身份明确的加密通道,再让设备交换数据。

02 / SECURITY MODEL

真正的保护,来自每一步都能被确认。

Satou 将外层连接、身份认证、会话状态、记录保护和路径验证拆成独立层。每一层只承担明确职责,未知状态与认证失败都按关闭候选路径处理。

外层 TLS 负责标准网络连接,内层 Noise 会话继续完成发起端与响应端认证。中转层只处理已经加密的协议记录。

ChaCha20-Poly1305 保护记录完整性,1024 位滑动窗口拒绝重复、过旧或认证失败的数据。

Noise 临时密钥与会话级派生材料在使用后擦除,使会话结束后的长期密钥泄露不应解密已经记录的历史会话。

连接载体可以转发加密记录,但不能替代 Satou 端点身份,也不获得内层会话密钥或记录明文。

方向独立的流量密钥、包序号、会话纪元和硬性使用上限共同限制密钥复用与旧状态回流。

解析器必须先检查长度、版本和分配边界;无效输入不能触发大响应或长期状态。廉价握手 cookie 仍属于待完成工作。

03 / PROTOCOL STRUCTURE

每一层只做一件事,也只信任该信任的状态。

协议把系统数据面、认证会话、记录保护与连接载体分离。每一层只处理自身状态,外层连接不持有内层流量密钥。

AUTHENTICATED FLOW

一次连接的安全路径

01 / 06
  1. 01

    选择协议参数

    确认版本、能力、载体与记录大小边界。

  2. 02

    建立标准外层连接

    完成 TLS 或 QUIC 握手后才进入协议认证。

  3. 03

    完成内层双向认证

    双方确认身份、能力和记录边界。

  4. 04

    确认会话密钥

    双方完成密钥确认后才接受数据记录。

  5. 05

    加密、批处理与传输

    内层数据经过分片合并、认证加密和有界队列。

  6. 06

    健康检查与安全恢复

    路径异常时重新认证,不复用未验证状态。

04 / CRYPTOGRAPHIC PROFILE

成熟算法守护当下,后量子混合能力面向未来。

SVP/0 组合已有密码学构造,并通过固定域分离字符串、能力协商和明确的密钥用途限制它们的关系。协议不创造新的底层加密算法。

01

双向身份认证

Noise IKpsk2

基础路径

当前套件为 Noise_IKpsk2_25519_ChaChaPoly_BLAKE2s。发起方固定服务端静态公钥,PSK 提供额外的部署级密钥材料。

02

可选混合密钥建立

ML-KEM-768 + HKDF-SHA256

实验能力

可选路径把 ML-KEM shared secret、既有 PSK、密文摘要和固定上下文混合后用于本次 Noise 会话。它是实验性增强,不是绝对安全声明。

03

记录机密性与完整性

ChaCha20-Poly1305

记录核心

每个方向使用独立密钥和递增包序号。可见路由头会在受保护明文中重复并在认证后比较。

04

签名路由票据

Ed25519

控制数据

入口信息通过签名、有效期与单调序列约束。票据属于声明式数据,不执行代码,也不传递隧道明文。

05

可选 RelaySeal 外层信封

XChaCha20-Poly1305

可选能力

当双方协商 RelaySeal 时,已建立的 WSS 数据记录可使用独立根密钥派生的方向密钥再次封装。

握手域分离Satou Secure Channel Protocol draft 0 authenticated carrier session

05 / RECORD FORMAT

让必要的路由信息可见,让内容始终保持加密。

多字节整数使用网络字节序。外层头部没有固定明文 magic 或版本;完整头部会进入 Noise 保护区,任何修改都会导致认证失败。

可见外层头部

VISIBLE ROUTING
connection_id 8 bytes
随机会话路由标识,不是用户身份。
packet_number 8 bytes
方向独立的 AEAD nonce 计数器。
encrypted_record variable
经过 Noise 认证加密的完整内层记录。

认证内层记录

AUTHENTICATED INNER
version 1 B
当前值为 0。
kind 1 B
Padding、Control、Path、Close 或 TunnelBatch。
flags 2 B
受认证的记录标志。
key_epoch 4 B
记录所属密钥纪元。
payload_len 2 B
有效载荷长度。
padding_len 2 B
认证加密的填充长度。

06 / SESSION LIFECYCLE

连接不是一次授权,而是一段持续被验证的过程。

协议不把一次成功握手视为永久授权。包序号、重放窗口、密钥纪元、路径挑战和硬性使用上限共同约束会话生命周期。

07 / PROTOCOL BOUNDARIES

不仅说明能保护什么,也诚实标出仍需完成的部分。

SVP/0 的安全目标集中在认证连接、记录机密性与完整性、重放拒绝和路径验证。它尚未经过独立审计,规范与线格式仍可能发生不兼容变化。

协议目标

05
  • 只有认证双方可以建立会话
  • IP 数据包具备机密性与完整性
  • 记录具备方向独立的重放防护
  • 中转层不获得内层流量密钥
  • 路径变化必须经过认证确认

明确不保证

05
  • 端点设备被完全控制后的保护
  • 隐藏总流量、连接时长或端点信息
  • 全局观察者下的匿名性
  • 任何网络条件下都保持连接
  • 把私有线格式当作密码学安全边界

生产前必须完成

05
  • 公开确定性的互操作测试向量
  • 对所有未认证解析器持续模糊测试
  • 重组、乱序、漫游与 MTU 黑洞测试
  • 独立设计评审与实现审计
  • 完整依赖与安全响应文档