第 0 章:引言与一致性
0.1 文档状态
本文档是 Control Authority Protocol(CAP)的规范性技术规格说明的草案版本。草案版本不承诺向后兼容性,可在正式发布前进行任意变更。当本草案稳定并通过完整测试验证后,将作为首个正式版本发布到 specification/2025-10-25/。
本文档与 CAP 架构蓝图(docs/zh-CN/blueprint/)配套使用:
- 蓝图回答"是什么、为什么、做什么"——定义协议的设计意图、能力边界和核心机制
- 规范回答"怎么做、怎么验证"——定义协议的消息格式、流程步骤、错误处理和一致性要求
蓝图中的非规范性描述与本规范中的规范性条款冲突时,以本规范为准。
0.2 范围
本规范定义 CAP 协议 v1 版本的技术细节,覆盖蓝图第三章 3.1 节列出的 6 项核心能力:
- 离线授权(Authorization_Descriptor)的签发、存储、校验、撤销、更新
- 在线票据(Trusted_Ticket)的签发、查询、与离线授权的转换
- 会话管理(Session)的完整生命周期
- 控制权交接策略(Handover_Policy)的三类策略与原子性保证
- 存活检测(Liveness_Detection)的双重判定机制
- 资源访问模式(Resource_Access_Mode)的读写锁模型
本规范明确排除蓝图第三章 3.2 节列出的功能,包括跨终端会话迁移、多终端协同授权、授权委托链、ABAC、审计日志标准化格式、协议消息加密传输规范、分布式撤销共识、Session 内动态权限提升。
0.3 一致性术语
本规范遵循 RFC 2119 和 RFC 8174 的关键词约定。以下关键词以全大写出现时具有规范性含义:
- MUST / 必须:绝对要求。不满足该要求的实现不符合本规范
- MUST NOT / 不得:绝对禁止。违反该禁止的实现不符合本规范
- SHOULD / 应当:强烈建议。在充分理解后果的前提下可有正当理由偏离
- SHOULD NOT / 不应:强烈不建议。在充分理解后果的前提下可有正当理由偏离
- MAY / 可以:可选项。实现可自行决定是否提供
不以全大写出现的相同词汇仅表达字面含义,不具有规范效力。
0.4 术语对齐
本规范使用的术语与蓝图 00-术语表.md 完全一致。当本规范引用某术语时,使用蓝图定义的标识符(如 Authorization_Descriptor、Fay、Terminal_Resource)。
为方便引用,本规范在各章节首次使用某关键术语时以粗体标注,并附蓝图术语表中的简短定义。术语完整定义以蓝图为准。
0.5 一致性级别
本规范定义 3 种实现一致性级别。一个实现 MUST 至少满足"终端一致性级别"才能声称符合 CAP v1。
0.5.1 终端一致性级别(Terminal Conformance)
适用于实现 Descriptor_Validator、Protocol_Engine 和会话管理逻辑的终端设备。终端实现 MUST:
- 完整实现第 3 章定义的 Authorization_Descriptor 校验流程
- 完整实现第 5 章定义的 Session 生命周期与 Liveness_Detection 机制
- 完整实现第 7 章定义的 Resource_Access_Mode 读写锁语义
- 拒绝所有不通过校验的请求,并按第 9 章返回标准化错误码
- 维护本地撤销列表,并在联网时按第 3 章定义的策略进行同步
0.5.2 签发方一致性级别(Issuer Conformance)
适用于实现 Descriptor_Issuer 或 Ticket_Issuer 的可信实体。签发方实现 MUST:
- 按第 2 章定义的字段约束生成合法的 Authorization_Descriptor 和 Trusted_Ticket
- 按第 8 章定义的密码学要求对凭证进行数字签名
- 维护已签发凭证的状态记录,支持撤销操作
- 实现第 4 章定义的 Trusted_Ticket 到 Authorization_Descriptor 的转换
0.5.3 运行时一致性级别(Runtime Conformance)
适用于实现 iFay_Runtime 的 Fay 运行时环境。运行时实现 MUST:
- 按第 1 章定义的接口契约向 Protocol_Engine 提交授权校验请求
- 维持长连接并按第 5 章定义的频率发送应用层心跳
- 接收并转达 Protocol_Engine 推送的会话状态变更通知
- 在 Fay 实例终止时主动通知 Protocol_Engine 释放相关 Session
实现可同时满足多个一致性级别。例如,集成式终端可同时是终端实现和运行时实现。
0.6 引用规范
本规范以规范性方式引用以下文档:
- RFC 2119 / RFC 8174:本规范使用的关键词约定
- RFC 8949(CBOR):用于 Authorization_Descriptor 的紧凑二进制序列化(参见第 2 章)
- RFC 8032(EdDSA):默认数字签名算法(参见第 8 章)
- RFC 7515(JWS):Trusted_Ticket 的 JSON 序列化与签名(参见第 4 章)
- RFC 5280(X.509):可选的证书格式(参见第 8 章)
CAP Schema 定义文件(schema/{version}/schema.json)作为本规范第 2 章的形式化补充,与本规范同等具有规范效力。当 schema.json 与本规范文字描述存在冲突时,以 schema.json 为准。
0.7 文档结构
本规范按以下顺序组织:
| 章节 | 主题 | 关键内容 |
|---|---|---|
| 第 1 章 | 架构与角色 | 协议角色、信任链、外部接口契约 |
| 第 2 章 | 数据模型 | 核心数据结构的字段级定义 |
| 第 3 章 | 离线授权协议 | Authorization_Descriptor 完整流程 |
| 第 4 章 | 在线票据协议 | Trusted_Ticket 完整流程与降级 |
| 第 5 章 | 会话管理与存活检测 | Session 状态机与心跳 |
| 第 6 章 | 控制权交接协议 | Handover_Policy 三类策略 |
| 第 7 章 | 资源访问模式 | read/write/execute/configure 语义 |
| 第 8 章 | 密码学与签名 | 算法集、密钥格式、分发 |
| 第 9 章 | 错误码与一致性级别 | 标准错误码、级别声明 |
| 第 10 章 | 安全考量 | 威胁模型、已知风险 |
读者建议按顺序阅读第 0–2 章建立基础,再根据实现关注点跳转到相关章节。
