Skip to content

安全链路(脚本签名)

Behemiron 对客户端脚本采用 签名 + 清单校验,防止脚本被篡改。 目前用于 Ponder / 客户端脚本包下发。

1. 流程概览

2. 校验要点

客户端会进行以下校验:

  1. 服务端身份校验
  • 通过握手获取服务端身份公钥
  • 验证「清单公钥」的签名
  1. 清单签名校验
  • 使用 Ed25519 公钥验证 manifest 签名
  1. 脚本哈希校验
  • 对每个脚本计算 SHA-256
  • 与 manifest 中的哈希逐项对比

任意一步失败,脚本包将被拒绝。

3. 清单格式

清单由以下信息组成:

  • namespace
  • version
  • scriptId -> sha256

服务端会将这些内容拼成字节后签名。

4. 注意事项

  • manifest 可存在于内存,不要求持久化文件。
  • 版本号用于客户端拒绝旧脚本。
  • 脚本变更必须更新版本并重新签名。