13 Revision History中文

变更记录

规范变更(2026-08-12,v1.7.2,OID 树瘦身)

变更 说明
OID 树瘦身 AIC 树仅保留核心三项:AgentIdentity(.1.1.1)、DelegationAuthorization(.1.1.2)、DelegationDepthControl(.1.1.4,FUTURE);删除 AlgorithmSuite(.1.1.10,v1.5 已删未清理)、TransparencyInfo(.1.1.12,CT 走 6.x 或外部标准)
MarketAccess 归一级分支 仅保留 .3.1 MarketAccessId;删除 AIC 树 .1.1.4 的 MarketAccessLite 残留(OIDAICMarketAccess 常量移除)
3 分支清理 删除 EUDIWallet 占位(.3.4),3 分支后续另行规划
命名统一 OIDAICUserAuthOIDAICDelegationAuthorization(.1.1.2)
isKnownExtension 移除 TransparencyInfo(.1.1.12);DDC OID 常量已加(.1.1.4 系列,规范 §3.7),扩展解析待 P1-11 委托链实现时接线

实现增强(2026-08-12,P1-13/14/15/16,非规范变更)

变更 说明
插件审计级别区分(P1-13 / P2-A-28) gateway-core AuditEntry/PluginAuditEntry 新增 Level 字段(JSON level):pipeline 插件拒绝与执行错误 → WARN、允许 → INFO;LogPluginDecision 空 Level 按 Decision 推断,兼容旧调用方
未知约束严格模式(P1-14 / P1-B-23) AdmissionConfig.StrictConstraints/PipelineConfig.StrictConstraints:默认关闭(未知约束审计告警+忽略,向前兼容),开启后 AIC 与 PA 两级未知 constraint 类型 fail-closed
续签阈值百分比化(P1-15 / P2-A-11) NeedRenewPct(默认 10%,DefaultRenewPct)与固定 2min 兜底并存(取 min);三网关改用 NeedRenewPct(cert,0)NeedRenew 固定窗口保留兼容
agent-proxy 有效期上限可配置(P1-16 / P1-B-09/25 / P2-A-04) agent-proxy(authorized 模式)证书有效期上限由硬编码 1h 改为 SignConfig.MaxAgentProxyValidityMaxAgentProxyValidityLimit(),0 → 默认 1h);配置项 defaults.agent_proxy_max_validity(默认 1h,≤24h 生效,超限忽略回退);apiIssueCert / apiAICIssue / reissue 三入口注入

实现增强(2026-08-12,P1-10 / P1-B-13,非规范变更)

变更 说明
DA timestamp 新鲜度防线落地 CA 签发侧(POST /api/v1/certs agent-proxy 分支 + POST /api/v1/aic/issue)新增 `
网关侧可选开关 gateway-core AdmissionConfig 新增 CheckDAAge(默认 false)/DAAgeMax(默认 30s),CheckDAFreshness 独立 helper;默认关闭以保持"生命周期由 NotAfter 承担"的设计

实现增强(2026-08-12,P1-A-12,非规范变更)

变更 说明
keyHash 算法族落地 types KeyHashFromSPKI 支持 SHA-2/SHA-3 全族计算(SHA-256/384/512 + SHA3-256/384/512,共 6 种);MakePrincipalUidFromCertWithAlgo 新增算法参数;ValidatePrincipalUidKeyHashhashAlgo 输出长度校验(32/48/64 字节);SM3/BLAKE2/BLAKE3 零外部依赖策略仅登记 OID+长度映射、显式报 unsupported 不静默降级;core 副本同步(internal/ca/aic.go 委托 types 映射表)。MakePrincipalUidFromCert 旧签名保持默认 SHA-256 向后兼容

实现增强(2026-08-07,非规范变更)

变更 说明
多级委托链落地 gateway-core 新增 DelegationChainVerifier / VerifyDelegationChain:复用 DelegationAuthorization 结构(不新增 ASN.1 类型/OID),自底向上逐级验签 + chainDepth ≤ maxDepth 检查;aicverify chain CLI 递归验证。DelegationDepthControl OID(.1.1.4)仍为规范预留,未用于实现

v1.7 → v1.7.1(2026-08-05)

变更 说明
新增 Reason 类型 SEQUENCE { reasonCode UTF8String, description UTF8String }reasonCodedescription 均 MUST 存在且非空
Reason 字段命名 codereasonCodedisplaydescription(与 X.509 reasonCode 惯例对齐);reasonCode 为受控词表(SCREAMING_SNAKE)
DelegationAuthTBS 新增 reason 必填,位于 principalUid 之后,被主体签名覆盖
DelegationAuthorization 新增 reason DelegationAuthTBS.reason 为同一委托原因,必填,位于结构首位;reason 不进入 PrincipalAuthorization
reason 必填化 授权必有缘由:Reason 在 DA/TBS 中为必填字段(非 OPTIONAL),避免空白授权
03-validation 新增 Reason 校验 reasonCodedescription 均 MUST 存在(R1/R2),reasonCode 建议 SCREAMING_SNAKE(R3),长度上限 reasonCode≤64 / description≤512(R4/R5)
编码标签约定 所有 OPTIONAL 字段使用 context-specific [n] EXPLICIT,编号按结构内字段顺序从 0 开始;必填字段保持 universal tag(见 01-asn1.md §编码标签约定)
tag 重编号 AIC constraints [0]/extensions [1];TBS constraints [0](reason 必填不打 tag);DA 无 OPTIONAL 字段(reason 必填不打 tag);PA constraints [0]/delegationPolicy [1]/extensions [2];DelegationPolicy maxSessionHours [0];PrincipalUid hashAlgo [0];Capability parameters [0]
DelegationMode 类型 ENUMERATEDINTEGER (0..1)(Go encoding/asn1 原生支持,跨语言实现一致)
安全与完整性补强 keyHash 校验按 hashAlgo 输出长度(当前 SHA-256 = 32 字节);capabilities 与 authorizationConstraints 不得同时为空;capabilities 禁止 constraint schemeId
keyHash 算法化 keyHash = hashAlgo(SPKI),长度由算法决定(SIZE(1..64));规范不限定算法集合,当前实现 SHA-256,SM3 等后续通过 hashAlgo 扩展
约束 schemeId 白名单 authorizationConstraints 的 schemeId MUST ∈ {constraint, constraint-v1, varwof/constraint-v1},其他值拒绝
Reason 长度上限 reasonCode SIZE(1..64)、description SIZE(1..512),reasonCode 应尽可能短
DA 必填与双证书 delegationAuthorization 为必填;双证书下握手证书与授权证书均为完整 AIC,均 MUST 携带 DA
TBS SIZE 统一 TBS 与 AIC 对应字段约束一致(agentId 1..256、capabilities 0..256、constraints 0..8)
requestedLifetime 范围 ASN.1 (1..86400),SHOULD 3600–86400
能力参数子集校验明确 C_agent.parameters ⊆ P_grants.parameters 在 CA 签发阶段机械校验(能力层,与能力级子集同层);授权约束层不适用子集关系(v1.6.1 保持);01-asn1 §Parameters 交集语义补执行层说明;06 CA 签发校验补参数级子集
编码与流程补强 AIC/PA 扩展 MUST 非 critical;timestamp MUST UTC;主体证书链/吊销验证职责明确;签名算法集合明确(ECDSA-SHA256 / RSA-SHA256,Ed25519 MAY)

v1.6.1 → v1.7(2026-07-30)

变更 说明
signatureAlgosignatureAlgorithm 与 X.509 RFC 5280 命名对齐(algorithmIdentifier)
signaturesignatureValue 与 X.509 RFC 5280 命名对齐(signatureValue)
DA 字段顺序确认 requestedLifetime → timestamp → nonce → signatureAlgorithm → signatureValue(algorithm-before-value)
06-delegation-auth DA 定义修正 06-delegation-auth.md 中 DA 字段顺序与 01-asn1.md 一致
02-code-map / 06-delegation-auth / README 引用更新 所有 signature/signatureAlgo 引用统一为新名称

v1.6 → v1.6.1(2026-07-30)

变更 说明
PrincipalAuthorization 新增 authorizationConstraints PA 级别授权边界约束,复用 Capability 容器(schemeId ∈ {constraint, constraint-v1, varwof/constraint-v1})
PA/AIC 约束独立检查 PA 约束和 AIC 约束分别在各自语义层独立检查,不存在子集关系。PA 约束主体授权边界,AIC 约束 Agent 执行边界
CheckConstraintParameterBounds 删除 参数边界交集校验语义错误:PA 和 AIC 约束不同层,不应强制子集关系
03-validation 决策模型更新 加入 PA.authorizationConstraints
07-capability 插件模型 明确为 JSON 文件配置,非 .so/外部进程
10-enterprise-profile 新增 SPKI hash 查询 API 引用
01-asn1 PA 描述更新 字段表格明确 PA 约束与 AIC 约束独立

v1.5 → v1.6(2026-07-30)

变更 说明
新增 authorizationConstraints 字段 AIC 结构体 + DelegationAuthTBS
约束复用 Capability 容器 schemeId 固定为 "constraint"
内置 3 种约束类型 allowed-cidr / max-concurrent / time-window
约束数量上限 ≤ 32 条,单条 parameters ≤ 512 字节
网关离线检查 TLS 握手阶段验证,不依赖外部系统
约束参数边界校验 Agent 声明的参数值不超出主体(PrincipalAuthorization)授权范围
未知约束向前兼容 默认忽略 + 审计告警,EnforceUnknownConstraints: true 启用严格拒否
验证顺序固定 约束检查优先于能力检查(低成本快速拒绝)
DelegationAuthorization 签名覆盖约束 VerifyDelegationAuth TBS 重建包含 authorizationConstraints
PrincipalAuthorization OID 修复 isKnownExtension 列表 .1.5.1.2
PrincipalUid 安全策略 KeyHash 变更 = 新身份,存量证书 MUST 吊销
Parameters 交集语义明确 Agent 参数不越界,越界整条 Capability 无效
撤销在线/离线模式 在线 MUST OCSP/CRL,离线 fail-open + 高风险审计
time-window 强制 UTC timezone 字段废弃仅展示
PrincipalUid 字符串仅展示 机器判 etc. 基于 ASN.1 结构体反序列化
GatewaySession 逐步废弃 HardTimeout/MaxRetries 移入网关本地策略配置
委托深度控制规范预留 OID .1.1.4(DelegationDepthControl),chainDepth/maxDepth 字段定义,多级委托链架构描述。暂不实现
证书体积上限明确 12KB 安全上限覆盖四网关,16KB QUIC 硬限制,256 caps 条目上限

v1.4 → v1.5(2026-07-20)

变更 说明
删除 agentType Agent 自治等级由 Capability 隐含表达
删除 AlgorithmSuite 算法协商遵循 RFC 5280/TLS 1.3
删除 SPIFFE-Compatibility 可选 Profile,非 Core
删除 approvalScope/approvedCapIds Capability 本身足够表达粒度
删除 VendorRegistry(AIC 子节点) 移至 .1.4 独立分支
删除 PrincipalAuthorization.roles 授权决策不得依赖角色标签
删除 PrincipalAuthorization.externalRef 走 extensions 槽
删除 OfflineRBAC 独立扩展 由 Capability Scheme 实现
删除 UserExtensions 由内置 extensions 槽覆盖
删除 PrincipalProfile 组织属性由目录服务承载
ExecutionConstraint 改为 Capability Scheme 不再是独立 X.509 扩展
新增 Credential Bundle 概念 双凭证离线验证模型
OID 树重构 Core 仅保留 AIC、PrincipalAuthorization、Capability Registry
PrincipalUid.hashAlgo 改为 AlgorithmIdentifier OPTIONAL,省略默认 SHA-256
DelegationPolicy 新增 version 字段
DelegationAuthorization 新增 nonce 必填 32 字节防重放
DelegationAuthorization 新增 requestedLifetime 3600-86400 秒,默认 3600

v1.3 → v1.4(2026-07-13)

变更 说明
DelegationAuthorization nonce 防重放 32 字节 CSPRNG 必填
Offline Fail-Close 明确 任何验证失败即拒绝
Capability 数量上限 256 条硬上限
机器主体支持说明 realm 段可承载组织域名
representative 证书轮换约束 keyHash 不变则自动延续
GDPR 被遗忘权缓解 principalUid 使用 UUID
OCSP Must-Staple 要求 服务端证书签发时设置
证书体积约束 含全部扩展 ≤12KB

v1.2 → v1.3(2026-07-13)

变更 说明
OID 树扩展 国密 SM2/SM3/SM4 + CT
algorithmSuite 激活 PQC 算法套件 OID 占位
ExecutionConstraint keyDerivation HKDF 派生参数
signerCache 缓存 已解密签名器内存缓存
MemoryBuffer 三种持久化模式
批量签发 API 12 worker pool

v1.1 → v1.2(2026-07-12)

变更 说明
OID 澄清 principalUid 格式、PolicyRef/ExternalPolicyRef 区分
策略优先级裁决 5 级动态策略
migrating 状态 续签旧证书临时豁免 quota
admin disconnect API 管理员主动断开
Glob 详细规则 * / ** 通配语义

v1.0 → v1.1(2026-07-12)

变更 说明
PrincipalAuthorization 用户权限声明扩展
delegationMode authorized / representative
approvalScope + approvedCapIds 逐项签批
级联吊销 principalUid 索引
审计 WAL + traceId 完整性保障
Capability glob 匹配 * / ** 通配
v1 委托限制 仅单层 Principal → Agent

v1.0(2026-07-10)

初始定稿。