外层 TLS 负责标准网络连接,内层 Noise 会话继续完成发起端与响应端认证。中转层只处理已经加密的协议记录。
SATOU SECURE CHANNEL PROTOCOL · DRAFT 0
在陌生网络里,也能建立一条可信的加密通道。
无论是在咖啡店、机场还是酒店,设备都可能接入无法确认的网络。Satou Protocol(SVP/0)尝试用 Noise 双向认证、独立记录加密、重放防护、路径验证与可选后量子混合密钥建立,为每次连接重新确认可信边界。
Experimental draft · Not independently audited
LIVE MODELSVP/0
认证会话:确认双方身份并派生会话材料。
01 / SUITABLE USE
从咖啡店到机场,先确认通信双方,再开始传输。
公共网络很方便,却很难确认同一网络里的设备与路径是否可信。Satou 希望在这些环境中先建立身份明确的加密通道,再让设备交换数据。
02 / SECURITY MODEL
真正的保护,来自每一步都能被确认。
Satou 将外层连接、身份认证、会话状态、记录保护和路径验证拆成独立层。每一层只承担明确职责,未知状态与认证失败都按关闭候选路径处理。
ChaCha20-Poly1305 保护记录完整性,1024 位滑动窗口拒绝重复、过旧或认证失败的数据。
Noise 临时密钥与会话级派生材料在使用后擦除,使会话结束后的长期密钥泄露不应解密已经记录的历史会话。
连接载体可以转发加密记录,但不能替代 Satou 端点身份,也不获得内层会话密钥或记录明文。
方向独立的流量密钥、包序号、会话纪元和硬性使用上限共同限制密钥复用与旧状态回流。
解析器必须先检查长度、版本和分配边界;无效输入不能触发大响应或长期状态。廉价握手 cookie 仍属于待完成工作。
03 / PROTOCOL STRUCTURE
每一层只做一件事,也只信任该信任的状态。
协议把系统数据面、认证会话、记录保护与连接载体分离。每一层只处理自身状态,外层连接不持有内层流量密钥。
AUTHENTICATED FLOW
一次连接的安全路径
- 0101
选择协议参数
确认版本、能力、载体与记录大小边界。
- 0202
建立标准外层连接
完成 TLS 或 QUIC 握手后才进入协议认证。
- 0303
完成内层双向认证
双方确认身份、能力和记录边界。
- 0404
确认会话密钥
双方完成密钥确认后才接受数据记录。
- 0505
加密、批处理与传输
内层数据经过分片合并、认证加密和有界队列。
- 0606
健康检查与安全恢复
路径异常时重新认证,不复用未验证状态。
04 / CRYPTOGRAPHIC PROFILE
成熟算法守护当下,后量子混合能力面向未来。
SVP/0 组合已有密码学构造,并通过固定域分离字符串、能力协商和明确的密钥用途限制它们的关系。协议不创造新的底层加密算法。
双向身份认证
Noise IKpsk2
基础路径当前套件为 Noise_IKpsk2_25519_ChaChaPoly_BLAKE2s。发起方固定服务端静态公钥,PSK 提供额外的部署级密钥材料。
可选混合密钥建立
ML-KEM-768 + HKDF-SHA256
实验能力可选路径把 ML-KEM shared secret、既有 PSK、密文摘要和固定上下文混合后用于本次 Noise 会话。它是实验性增强,不是绝对安全声明。
记录机密性与完整性
ChaCha20-Poly1305
记录核心每个方向使用独立密钥和递增包序号。可见路由头会在受保护明文中重复并在认证后比较。
签名路由票据
Ed25519
控制数据入口信息通过签名、有效期与单调序列约束。票据属于声明式数据,不执行代码,也不传递隧道明文。
可选 RelaySeal 外层信封
XChaCha20-Poly1305
可选能力当双方协商 RelaySeal 时,已建立的 WSS 数据记录可使用独立根密钥派生的方向密钥再次封装。
Satou Secure Channel Protocol draft 0 authenticated carrier session05 / 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
连接不是一次授权,而是一段持续被验证的过程。
协议不把一次成功握手视为永久授权。包序号、重放窗口、密钥纪元、路径挑战和硬性使用上限共同约束会话生命周期。
PROTOCOL NOTES
从规范到可验证的安全边界。
围绕协议结构、密码学选择、记录状态与公共网络应用场景,持续整理 SVP/0 的设计说明。
07 / PROTOCOL BOUNDARIES
不仅说明能保护什么,也诚实标出仍需完成的部分。
SVP/0 的安全目标集中在认证连接、记录机密性与完整性、重放拒绝和路径验证。它尚未经过独立审计,规范与线格式仍可能发生不兼容变化。
协议目标
05- 只有认证双方可以建立会话
- IP 数据包具备机密性与完整性
- 记录具备方向独立的重放防护
- 中转层不获得内层流量密钥
- 路径变化必须经过认证确认
明确不保证
05- 端点设备被完全控制后的保护
- 隐藏总流量、连接时长或端点信息
- 全局观察者下的匿名性
- 任何网络条件下都保持连接
- 把私有线格式当作密码学安全边界
生产前必须完成
05- 公开确定性的互操作测试向量
- 对所有未认证解析器持续模糊测试
- 重组、乱序、漫游与 MTU 黑洞测试
- 独立设计评审与实现审计
- 完整依赖与安全响应文档