AHP-01 · Protocol Note·2026

自治 AI 平台的
可信握手协议

接入方不再只是浏览器,而是会自行决策、跨节点写共享资产、携带自身规则集的 Agent。因此接入环节必须一次回答四件事:它是不是它声称的节点、它能做什么、它认不认现行规则、本次会话密钥归谁。

PHASES
4
握手往返
ALGORITHM
Ed25519 + X25519
签名 / 协商
ERROR CODES
9
0x81 – 0x89
SELF-TEST
11/11 PASS
含 9 条攻击路径
01

它要解决什么

传统接入机制解决"你是谁",自治平台还要解决"你带着什么规则、能写哪里"。只校验身份的实现,会放行携带过期规则的合法节点。

GAP 01

身份可仿冒

匿名或自签节点混入集群,后续脏数据无法归因到具体节点。

GAP 02

权限无处下发

身份合法不等于可写。权限需由服务端在握手时裁决并绑定到会话。

GAP 03

规则集不同步

节点载着三天前的元规则接入,仍按旧规则写共享资产——最隐蔽的一类破坏。

协议不替代 TLS:传输层的机密性由 TLS 提供,AHP 叠加的是节点身份语义、权限视图、认知版本这三件 TLS 不回答的事。

02

三层信任,失效半径不同

把"谁来签、签什么、用多久"拆成三层,目的是让一次泄露不波及全域。

LAYER 1 · OFFLINE

根信任锚

私钥离线,仅签发节点凭证;生产环境置于 TEE/TPM 只读边界内,签名运算不出安全区。

泄露后果:可签发任意身份 → 全域失守(P0)
LAYER 2 · LONG-LIVED

节点凭证 NodeCred

DID + 角色 + 权限位 + 有效期 + 根签名。有效期必须在签名覆盖范围内,否则改期即越权。

泄露后果:单节点被冒充,可吊销(P0 但可收敛)
LAYER 3 · EPHEMERAL

会话临时密钥

每次握手新生成 X25519 密钥对,会话销毁即丢弃;长期私钥不参与协商。

泄露后果:单次会话(TTL 自灭,P1)
03

四阶段流程

四个往返内完成身份、权限、认知、密钥四件事。失败分支只回标准错误码,不回原因。

接入节点 C AGENT / WORKER 中枢网关 S HUB GATE 0x01 HELLO cred · spk · epk · nonce_c · ts · baseline · sig VERIFY 10 STEPS 版本→凭证→DID→黑名单→时钟 →先验签→记 Nonce→容量→基线协商 任一失败 → 0x81 / 0x84 / 0x85 / 0x86 / 0x87(仅回码) 0x02 HELLO_ACK cred_s · spk_s · epk_s · nonce_s · echo_nonce · params · sig C-CHECK 验网关凭证+报文签名+echo_nonce → X25519 → HKDF 派生 SK 0x03 READY AEAD(SK, nonce_s 回显 + caps) 0x04 READY_ACK AEAD(SK, sid + perm_mask + ttl + 心跳/退出码) OPEN → 业务加密流 · 0x05/0x06 心跳 · 0x07 BYE · TTL 到期自动销毁 SK
图 1 四阶段握手与失败分支。网关侧校验顺序固定:先验签再记 Nonce,否则伪造报文可污染 Nonce 表、对合法节点造成定向拒绝。
04

签名域与密钥派生

签名不覆盖线路编码,只覆盖一段确定性字节串——同一报文可换 protobuf / JSON / 总线消息体上线而不破坏验签。

// scope:被签名的确定性字节串,长度恒定
AHP/1.0 | CMD | DID | b64(nonce) | ts | b64(epk) | SHA256(canonical(payload)) | sid

// 会话密钥:双向 Nonce 都进盐,跨会话不可能复用同一 SK
SH = X25519(sk_eph_own, pk_eph_peer)
SK = HKDF-SHA256(SH, salt = nonce_c ‖ nonce_s, info = "AHP1-SESSION-KEY", L = 32)

// 会话标识由密钥推导,两侧可独立复算,审计不依赖单点记录
SID = "SID-" + SHA256(SK ‖ nonce_s)[:16]

sid 进入签名域的直接收益:把已授权报文搬到另一个会话(跨会话重放)时签名失配,攻击者无法用旧会话的授权帧操作新会话。

05

认知版本协商

把规则集按层聚合成 baseline_id,节点在 HELLO 中声明它接受的基线,网关逐层比对,得出三态。漂移不拒绝,而是降级。

ACCEPTED

基线一致

按角色发放会话与完整 perm_mask。

DOWNGRADED

基线漂移

会话仍建立,但收敛为 0x0002 只读位;写路径不可达,裁决必须落审计。

REJECTED

硬校验失败

凭证、签名、版本不通过,不建会话,外部只回码。

为什么不直接拒绝:吊销会促使下游绕过受控入口去裸写共享资产,风险反而放大。保留读能力,节点取到新基线后重签,形成收敛路径。基线口径的三个坑写在白皮书 §6:按内容元字段归层、覆盖所有存放地、文件数与条目数分开统计。

06

错误码

外部只回码与枚举名;细分原因(过期 / 伪签 / 借壳)只进内部日志,避免用错误差异做凭证探测。

码名称触发
0x81HELLO_REJECT凭证非法/过期、DID 不一致、黑名单、时钟偏移、报文签名失败
0x82ACK_FAIL节点侧校验网关凭证或应答签名失败
0x83READY_INVALID协商失败、GCM 认证失败、Nonce 回显不符
0x84PERM_DENY角色 tier 不足(含降级后的写操作)
0x85VERSION_MISMATCH协议版本不兼容,含降级尝试
0x86REPLAYNonce 重复,或应答回显不匹配
0x87SESSION_FULL网关会话容量达上限
0x88BREAKER会话被熔断隔离
0x89SESSION_UNKNOWNSID 不存在、已销毁或已过期
07

STRIDE 威胁矩阵

六类威胁、24 条渗透用例。残余风险最高的一条不在密码学里,而在审计存储可被删改。

S
仿冒 · Spoofing
匿名接入、借壳 DID、伪装网关、长期私钥克隆
残余 中 · 建议加并发会话告警
T
篡改 · Tampering
改能力集、改有效期、改会话参数、改密文位、改 sid
残余 高 · 审计日志无密码学保护
R
抵赖 · Repudiation
否认接入、否认拒绝过某节点、降级裁决无记录
残余 中 · 依赖日志留存
I
泄露 · Disclosure
错误码区分原因、拓扑外泄、心跳明文、握手跑明文
残余 中 · 明文通道需部署检查
D
拒绝服务 · DoS
半开洪水、Nonce 表投毒、会话打满、运算打满
残余 中 · 需前置限流 + 压测
E
提权 · Elevation
低 tier 求高权、role 与 perm 冲突、跨会话重放
残余 中 · 两处权限需对账

三条已识别的攻击链:合法身份 + 过期认知(断链点:降级只读)、Nonce 表投毒(断链点:先验签后记 Nonce)、中间人诱导改参数(断链点:全字段签名 + 回显绑定)。

08

实测验证

参考实现纯标准库 + cryptography,本地执行 python3 selftest.py。判据为「返回码 + 台账事件 + 密钥状态」三者一致,不只看返回码。

用例场景期望实测结果
C01标准四阶段握手会话建立sid=SID-f465a…PASS
C02心跳保活 → BYE 销毁PONG + 密钥销毁pong=True sessions=0PASS
C03原样报文重放0x860x86PASS
C04载荷篡改(签名不符)0x810x81PASS
C05凭证过期0x810x81PASS
C06节点黑名单0x810x81PASS
C07协议版本降级0x850x85PASS
C08时间戳超窗 −120s0x810x81PASS
C09非会话密钥加密 READY0x830x83PASS
C10心跳密文篡改0x83 + 熔断0x83 sessions=0PASS
C11认知基线过期建会话仅读位perm=0x2 downgraded=TruePASS

实现过程中暴露的两个真实缺陷一并留档:AES-GCM nonce 拼接错误(库函数只返回密文+标签,取前 12 字节当 nonce 必然解密失败)、cmd 字段类型漂移(信封用整型码、签名域用枚举名,往返缺转换导致验签域拼接错误)——后者正是"签名域必须显式规范化"的现实理由。

09

交付与锁档

交付物内容
AHP-01_白皮书.md13 章规范 + 附录:信任模型、报文、签名域、生命周期、部署清单、与 TLS/mTLS/OIDC 对比
proto/ahp01.protoproto3 报文定义:Envelope / NodeCredential / Hello / HelloAck / Ready / ReadyAck / Reject
reference/*.py网关 + 节点 + 公共层 + 自验脚本,11 条用例可复跑
威胁矩阵.mdSTRIDE 六类 × 资产/攻击面,24 条渗透用例 + 覆盖矩阵 + 判定规范
本页规范速览,供评审与对外沟通;无外部依赖,可直接双击打开

锁档口径:全部交付物计算 SHA-256,汇总为清单并推导 Merkle 根;清单与根值随交付一并留档,供后续比对是否被静默改写。

主页·流水线·产品