第 0 章:引言与一致性

0.1 文档状态

本文档是 Control Authority Protocol(CAP)的规范性技术规格说明的草案版本。草案版本不承诺向后兼容性,可在正式发布前进行任意变更。当本草案稳定并通过完整测试验证后,将作为首个正式版本发布到 specification/2025-10-25/

本文档与 CAP 架构蓝图(docs/zh-CN/blueprint/)配套使用:

  • 蓝图回答"是什么、为什么、做什么"——定义协议的设计意图、能力边界和核心机制
  • 规范回答"怎么做、怎么验证"——定义协议的消息格式、流程步骤、错误处理和一致性要求

蓝图中的非规范性描述与本规范中的规范性条款冲突时,以本规范为准。

0.2 范围

本规范定义 CAP 协议 v1 版本的技术细节,覆盖蓝图第三章 3.1 节列出的 6 项核心能力:

  1. 离线授权(Authorization_Descriptor)的签发、存储、校验、撤销、更新
  2. 在线票据(Trusted_Ticket)的签发、查询、与离线授权的转换
  3. 会话管理(Session)的完整生命周期
  4. 控制权交接策略(Handover_Policy)的三类策略与原子性保证
  5. 存活检测(Liveness_Detection)的双重判定机制
  6. 资源访问模式(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_DescriptorFayTerminal_Resource)。

为方便引用,本规范在各章节首次使用某关键术语时以粗体标注,并附蓝图术语表中的简短定义。术语完整定义以蓝图为准。

0.5 一致性级别

本规范定义 3 种实现一致性级别。一个实现 MUST 至少满足"终端一致性级别"才能声称符合 CAP v1。

0.5.1 终端一致性级别(Terminal Conformance)

适用于实现 Descriptor_ValidatorProtocol_Engine 和会话管理逻辑的终端设备。终端实现 MUST:

  1. 完整实现第 3 章定义的 Authorization_Descriptor 校验流程
  2. 完整实现第 5 章定义的 Session 生命周期与 Liveness_Detection 机制
  3. 完整实现第 7 章定义的 Resource_Access_Mode 读写锁语义
  4. 拒绝所有不通过校验的请求,并按第 9 章返回标准化错误码
  5. 维护本地撤销列表,并在联网时按第 3 章定义的策略进行同步

0.5.2 签发方一致性级别(Issuer Conformance)

适用于实现 Descriptor_IssuerTicket_Issuer 的可信实体。签发方实现 MUST:

  1. 按第 2 章定义的字段约束生成合法的 Authorization_Descriptor 和 Trusted_Ticket
  2. 按第 8 章定义的密码学要求对凭证进行数字签名
  3. 维护已签发凭证的状态记录,支持撤销操作
  4. 实现第 4 章定义的 Trusted_Ticket 到 Authorization_Descriptor 的转换

0.5.3 运行时一致性级别(Runtime Conformance)

适用于实现 iFay_Runtime 的 Fay 运行时环境。运行时实现 MUST:

  1. 按第 1 章定义的接口契约向 Protocol_Engine 提交授权校验请求
  2. 维持长连接并按第 5 章定义的频率发送应用层心跳
  3. 接收并转达 Protocol_Engine 推送的会话状态变更通知
  4. 在 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 章建立基础,再根据实现关注点跳转到相关章节。