Verify signed node registration claims

This commit is contained in:
冰朔 2026-08-10 07:01:36 +08:00
commit 2bfede2376
9 changed files with 965 additions and 54 deletions

View file

@ -0,0 +1,46 @@
# HoloLake 节点登记与验证来源契约 · 2026-08-10
> 阶段:`DEV-20260809-007 / NODE-REGISTRATION-CONTRACT-001`
>
> 上游:`HLP-CURRENT-ARCH-001` 第 5 节“节点与登录协议”
>
> 状态:`IMPLEMENTATION_STAGE_ACCEPTANCE_BASELINE`
## 验收标准
1. 账号验证源只能返回账号身份与用户选择的节点编号,不能直接声明节点已经登记。
2. HoloLake 只读取 REPO-012 当前公共锚点同一提交声明的
`GH-AIOS-NODE-REGISTRATION-ENDPOINTS-001`;任意本地配置、账号响应或未登记 URL 都不能成为
节点登记权威。
3. 节点登记声明使用 Ed25519 签名,并精确绑定账号、域、节点编号、节点类型、节点公钥
SHA-256 指纹、登记端点、签发者、签发时间与过期时间。
4. 注册表缺失、来源降级、端点撤销、端点范围不匹配、声明过期、未知字段、签名错误或任一
绑定字段不匹配时,`nodeRegistrationVerified` 必须保持 `false`,且不得请求域运行体交接。
5. 当前 REPO-012 锚点尚未登记此端点注册表,因此当前生产判断必须是
`NODE_REGISTRATION_NOT_EXISTS_0`;本阶段代码完成不得冒充生产登记服务、节点密钥证明、
域会话或在线运行已经存在。
## 注册表契约
注册表固定路径为 `routing/node-registration-endpoints.json`,由公共锚点的
`maps.node_registration_endpoints` 指向。每个端点声明:
- `endpointId``signerId``Ed25519 publicKeyPem`
- HTTPS `guanghulab.com/api/ai/v1/...` 端点;
- 允许的 `domainIds``local-terminal / cloud-resident` 节点类型;
- `ACTIVE / REVOKED` 状态。
同一域与节点类型不得存在两个活跃端点,避免客户端自行猜测权威。
## 登记声明契约
`gh-aios.node-registration-claim/v1` 只表达灯塔登记服务已经验证的账号—节点—公钥绑定。
声明最长有效 24 小时,必须周期刷新。它不代替后续登录挑战中的实时节点私钥持有证明,也不
代替域成员权限、短期会话能力、签名域清单和在线连接回执。
## 当前现实边界
- 当前公共锚点没有 `maps.node_registration_endpoints`
- 当前桌面没有可调用的登记声明端点;
- 当前没有生产节点登记签发公钥、登记声明或节点密钥挑战回执;
- 因而 Forgejo 账号验证以后仍停留在“需要节点登记”,这是正确的失败关闭结果。

View file

@ -8,6 +8,7 @@
- [`HOLOLAKE-INTENT-REASONING-MAP-20260809.md`](HOLOLAKE-INTENT-REASONING-MAP-20260809.md):当前产品意图、纠正、思维推理与因果链。
- [`HOLOLAKE-SYSTEM-ARCHITECTURE-20260809.md`](HOLOLAKE-SYSTEM-ARCHITECTURE-20260809.md)`HLP-CURRENT-ARCH-001` 当前完整系统蓝图,覆盖 GH-AIOS 灯塔、五域独立入口、光湖本源域、节点登录与光湖桥。
- [`HOLOLAKE-DESKTOP-0.8.0-CURRENT-CAPABILITY-GAP-20260809.md`](HOLOLAKE-DESKTOP-0.8.0-CURRENT-CAPABILITY-GAP-20260809.md):桌面 0.8.0 已观察能力与最终规划的逐项差距;同时登记线上产品源码仍为 0.4.6 的分叉事实。
- [`HOLOLAKE-NODE-REGISTRATION-CONTRACT-20260810.md`](HOLOLAKE-NODE-REGISTRATION-CONTRACT-20260810.md):账号验证与节点登记分离后的签名声明、端点注册表、失败关闭和当前生产缺口验收基线。
- [`HOLOLAKE-LANGUAGE-PERSONA-OS.md`](HOLOLAKE-LANGUAGE-PERSONA-OS.md)HoloLake 作为 AI 语言人格驱动操作系统的当前正式产品定位、操作系统映射、原生应用边界与实现缺口。
- [`HOLOLAKE-INTENT-REASONING-MAP-20260807.md`](HOLOLAKE-INTENT-REASONING-MAP-20260807.md)2026-08-07 历史意图层,继续保存形成过程;不再作为当前默认入口。