安全芯片:CC:2022 Part 1 第 8 章(Tailoring Security Requirements)解读与心得

📅 发布时间:2026/10/17 2:46:59
安全芯片:CC:2022 Part 1 第 8 章(Tailoring Security Requirements)解读与心得
摘要CC:2022 Part 1 第 8 章Tailoring Security Requirements裁剪安全需求回答的是一个极为务实的工程问题CC Part 2/Part 3 里的安全功能组件SFR与安全保障组件SAR都是通用模板厂商不能原样照抄进 ST必须按自家产品的安全策略做合法的裁剪。第 8 章规定了裁剪的唯一合法手段——四种操作Operations以及裁剪后如何保证需求自洽完整——组件间依赖Dependencies。对安全芯片团队而言这一章是读懂 ST 里每一个方括号的钥匙FCS_COP.1里[assignment: 密码算法]该填什么、FCS_RNG.1里[selection: physical, hybrid physical, hybrid deterministic]该选什么、为什么同一个组件会出现FCS_COP.1(1)/FCS_COP.1(2)两个实例——全部由第 8 章给出规则。一、第 8 章规范原文解读1.1 总述组件的两种使用方式CC 的功能/保证组件有两种使用方式原样使用exactly as defined通过允许的操作进行裁剪tailored through permitted operations。四种允许的操作原文定义操作原文定义一句话理解Iteration迭代允许一个组件被多次使用每次带不同操作一种组件应对多个场景Assignment赋值允许指定参数把待定变量填成具体值Selection选择允许从列表中指定一项或多项从候选集里挑出适用的项Refinement细化允许添加细节把通用需求收紧/明确到本 TOE关键约束赋值与选择仅允许在组件明确标注处执行迭代与细化允许用于所有组件。使用操作时作者须注意依赖本需求的其它需求的依赖仍被满足。1.2 8.1.1 迭代Iteration通过包含基于同一组件的多个需求实现每次迭代必须与其它迭代不同通过不同方式完成赋值/选择或施加不同细化。不同迭代应唯一标识以支持清晰的论证与双向追踪。迭代 vs 赋值范围的权衡有时可用赋值一个范围/列表替代迭代。作者应依据需要为整个范围提供一个整体论证还是为每个值单独论证以及是否需要单独追踪每个值来选择更合适的方式。1.3 8.1.2 赋值Assignment赋值发生在组件元素含作者可设置的参数时参数可以是不受限变量也可以是把变量收窄到特定值域的规则。PP 作者有四种处理a) 留空b) 完成c) 缩小范围进一步限制允许值域d) 转为选择。ST 作者必须完成赋值仅对应 ba/c/d 对 ST 不允许。完成/缩小/转选择所选值必须符合赋值指示的类型以集合完成时如主体集合可用所有主体 / 所有类型 X 的主体 / 除主体 a 外的所有主体等可明确推导的集合描述。1.4 8.1.3 选择Selection选择发生在组件元素需要从若干项中做出选择时。PP 作者有三种处理a) 留空b) 完成选一项或多项c) 限制删除部分选项保留两项及以上。ST 作者必须完成选择仅对应 ba/c 对 ST 不允许。所选项必须取自提供的列表。1.5 8.1.4 细化Refinement细化可用于每一条需求通过改动该需求实现。第一规则更严格性满足细化需求的 TOE 也满足未细化需求否则视为扩展需求。例外范围收窄允许细化到仅适用于部分主体/客体/操作/安全属性/外部实体但不适用于声明符合的 PP 中的 SFR。合法细化示例纯编辑性改动提升可读性/修正语法不改变需求范围、仅因 PP/ST 语境而收窄的改动。1.6 8.2 组件间依赖Dependencies依赖产生于组件不自足需依赖另一组件依赖可存在于功能组件之间、保证组件之间、以及功能组件与保证组件之间。为确保 TOE 需求完整纳入组件时应满足依赖。三种处理方式PP/ST 包含基于组件 A 的需求、且 A 依赖 B 时必须含其一a) 基于 B 的需求b) 层级高于 B 的组件的需求c) 论证为何不含 B。方式 c 的论证应说明该依赖不必要/无价值或已由运行环境处理需描述运行环境安全目标如何覆盖或已由其它 SFR 以某种方式承接。隐含满足需求Implicitly Satisfied Requirements允许以附录表格声明被省略需求及为何被满足的理由常见于用扩展组件替换标准依赖组件的场景。二、安全算法设计视角操作即算法选型的规范落点核心观点CC 的算法中立并非不关心算法而是把算法选择这一动作精确地放到了赋值/选择操作这个合规槽位上。SOG-IS 密码评估方案《Agreed Cryptographic Mechanisms》v1.3则给出了槽位里允许填什么的候选值域与推荐清单——两者一形一实共同约束算法选型。2.1 FCS_COP.1算法通过赋值落地密码运算组件的标准形态是示意FCS_COP.1.1TSF 应依据[assignment: 密码算法]与密钥长度[assignment: 密钥长度]执行[assignment: 密码运算列表]。三个赋值槽分别对应算法设计的三个决策点用什么算法、多长密钥、哪些运算加解密/签名/MAC/哈希/密钥协商。这正是 CC “实现无关哲学的落点——标准本身不写死 AES/RSA/ECC而是留给 ST 作者在赋值槽里填而 SOG-IS 方案决定了这个槽能填的合格候选”。2.2 SOG-IS 的 R/L 分类为选择提供候选域SOG-IS《Agreed Cryptographic Mechanisms》用两类标签管理算法生命周期RRecommended推荐当前应优先选用LLegacy遗留标注有效期如L[2025]、L[2030]默认遗留有效期为 L[2030]。这意味着算法的赋值候选集是随时间动态收窄的。例如 2048-bit MODP/FFDHE 组在 v1.3 中已被降级为 LegacyL[2025]3072-bit 及以上仍为 R。安全芯片团队在 ST 完成FCS_COP.1赋值时必须对照当期 SOG-IS 清单新系统应选 R 类算法与密钥长度选用 L 类须以向后兼容为由给出正当性论证——这本身就是第 8 章值须符合赋值指示类型 偏离须论证的规则在算法域的实例化。2.3 安全等级与密钥长度映射赋值的值域规则SOG-IS 以 bit 数表达安全等级攻击所需操作数取以 2 为底的对数对称128 / 192 / 256 bit与密钥长度直接对应非对称密钥/参数长度与安全等级的关系非线性须按 RSA / FF-DLOG / EC-DLOG 分别映射且非对称私钥的熵不得低于可接受对称密钥长度。这是[assignment: 密钥长度]的值域合法性判据填 3072-bit RSA、P-256 等须满足对应的安全等级目标。2.4 量子抗性hybrid 方案进入赋值域SOG-IS 明确建议对需长期保护的数据应结合一个已认可机制 一个候选量子抗性机制的hybrid混合方案以抵御经典攻击并预留抗量子迁移路径。这直接进入 ST 的赋值内容——FCS_COP.1的算法槽可能出现经典 PQC 混合的赋值。2.5 随机源的选择操作安全算法设计的关键实例SOG-IS 第 7 章将随机生成器分为True Random Source真随机源/ DRBG确定性随机比特生成器/ 带特定分布的 RNG三类。这与安全芯片 PP 中FCS_RNG.1的[selection: physical, hybrid physical, hybrid deterministic]物理 / 混合物理 / 混合确定性完全对应——随机源的选型是 CC 中选择操作的直接应用TRNG 架构纯物理、物理确定性后处理、混合由 ST 作者在 selection 槽中择一评估即按所选项验证。三、安全芯片设计视角操作是PP 裁剪到具体芯片的工具核心观点安全芯片 PP如 BSI 认证的 Security IC Platform PP v2.0即 PP0084-V2本身就是第 8 章操作的工业级范本——它把通用 SFR 通过选择/赋值裁剪到安全 IC这一类 TOE厂商再在 ST 中进一步裁剪到某一颗芯片。读懂 PP 里的每个方括号就是读懂芯片安全架构需求的出处。3.1 教科书实例PP0084-V2 的 FCS_RNG.1PP0084-V2 原文6.1.6 随机数FCS_RNG.1.1The TSF shall provide a[selection: physical, hybrid physical, hybrid deterministic]random number generator that implements:[assignment: list of security capabilities].FCS_RNG.1.2The TSF shall provide[selection: bits, octets of bits, numbers [assignment: format of the numbers]]that meet[assignment: a defined quality metric].这段真实文本几乎涵盖了第 8 章的全部操作类型选择RNG 类型、输出形态、赋值安全能力列表、数字格式、质量指标、甚至嵌套selection 内含 assignment。对芯片设计团队的直接含义选physical→ 必须设计纯物理熵源热噪声/振荡器抖动并证明其熵质量选hybrid physical→ 物理熵源 后处理如 SHA 压缩的组合[assignment: 质量指标]→ 须填入 AIS 20/31 或 NIST SP 800-90 系列的可量化指标并接受评估方核验。结论RTL 阶段就要为选择/赋值预留电路与面积预算——熵源、后处理、在线自检online test都是 FCS_RNG.1 赋值后的硬性落地项。3.2 芯片 SFR 的五大分类与裁剪PP0084-V2 把安全 IC 的 SFR 归为五类6.1.2–6.1.6每一类都是通过操作裁剪后的结果SFR 分类对抗的问题典型组件经裁剪Malfunction故障越界工作条件导致误动作FPT_FLS.1失效保安全、FRU_FLT.2容错Abuse of Functionality功能滥用生命周期/受限功能被滥用FMT_LIM.1/.2、FAU_SAS.1Physical Manipulation and Probing物理操作与探测逆向、探针、电接触测量FPT_PHP.3、FDP_SDC.1、FDP_SDI.2Leakage泄漏侧信道/电磁/故障诱导泄漏FDP_ITT.1、FPT_ITT.1Random Numbers随机数随机性不足FCS_RNG.1细化的芯片落地例如FPT_FLS.1失效保安全在芯片 PP 中被细化为在电压/频率/温度超出技术极限但仍在降额范围内时保持安全状态——这正是第 8 章细化更严格 明确适用范围的典型通用组件被细化到具体的工作条件矩形Figure 14 的内外虚线框。3.3 功能包Functional Packages与迭代/选择PP0084-V2 提供多个功能包Functional Packages如 Package Authentication of the Security IC、Package Loader、Package Cryptographic Services、Package Address-based Access Control。功能包本质上是可选增强的集合其纳入与否由 ST 作者选择当同一类密码服务需支持多种机制时用迭代生成多个FCS_COP.1实例。这解释了芯片里基平台 可选模块的 SoC 集成思路在 CC 需求层的对应物。3.4 生命周期与依赖的芯片意义PP0084-V2 将复合产品生命周期划分为 7 阶段IC 嵌入式软件开发 → IC 开发 → IC 制造 → IC 封装 → 复合产品集成 → 个人化 → 运行使用。依赖关系8.2在这里的现实含义是芯片级认证的 SFR 依赖必须在芯片 TOE 内自洽而不能甩给应用层——例如 FCS_RNG.1 若依赖 FPT_TST.1自检则自检电路必须在芯片内实现否则需按方式 c 论证由运行环境承接这通常不被安全芯片 PP 接受。四、软件 COS 设计视角把已完成的操作变成代码核心观点COS 是芯片专用软件IC Dedicated Software是把 ST 中已经完成赋值/选择/细化/迭代的 SFR翻译成可执行逻辑的载体。第 8 章对 COS 工程师的价值在于ST 里每一个已完成的操作都对应一段必须实现、且必须能被测试命中的代码。4.1 赋值 → COS 的硬参数ST 中已完成的赋值是 COS 的不可妥协参数。典型实例如FIA_AFL.1鉴别失败处理CC 原文示例FIA_AFL.1.1TSF 应检测[assignment: 4 到 9 之间的正整数]次失败鉴别尝试……COS 落地失败计数器的上限值直接取自该赋值如 8 次超过即锁定/拒绝——这是 PIN 暴力破解防护对应侧信道之外的应用层攻击的源头约束。COS 工程师应建立SFR 赋值 → 常量/宏/配置项的映射表保证代码参数与 ST 严格一致避免代码写 5 次、ST 写 8 次的评估失配。4.2 迭代 → COS 的多算法驱动FCS_COP.1(1) AES-128、FCS_COP.1(2) RSA-2048、FCS_COP.1(3) ECC P-256——迭代操作在 COS 层的直接产物是密码引擎的分发表crypto_dispatch(alg_id, op) { switch (alg_id) { case ALG_AES128: return aes_masked(...); // FCS_COP.1(1) case ALG_RSA2048: return rsa_crt(...); // FCS_COP.1(2) case ALG_ECC_P256: return ecc_scalar_mult(...); // FCS_COP.1(3) } }每个迭代实例都必须独立实现、独立测试——不能测了 AES 就认为 RSA 也覆盖了。这是第 8 章不同迭代应唯一标识、单独追踪在实现与测试层的落地。4.3 依赖 → COS 的配套功能不可省FIA_UAU.1鉴别依赖FIA_UID.1标识——COS 必须先完成标识获得外部实体身份才能鉴别验证 PIN/密钥。若 COS 只实现鉴别、跳过标识则该依赖被破坏ST 需求不完整。同理FCS_RNG.1依赖自检/故障安全FPT_TST.1/FPT_FLS.1COS 必须在随机数调用链上接入在线自检与失效保安全逻辑。4.4 细化 → COS 的安全状态机设计细化更严格 收窄适用范围在 COS 的典型体现是安全状态机把访问控制细化为仅在已鉴别状态AUTHENTICATED下允许执行受限命令。这是细化到仅适用于部分主体/操作的软件表达——一个被细化的FDP_ACF.1会在 COS 里落地为 if (state ! AUTHENTICATED) return SW_CONDITION_NOT_SATISFI