第5章:PSA Level 1-4 申请材料
摘要
PSA Certified 四级认证需要什么材料?加密算法怎么选才能通过评估?本文用四级材料清单 + 推荐与禁用算法清单 + PSA Crypto API 标准化处理 + EN 18031 映射指南,讲清楚认证申请的"标准答案"。
开篇:一场真实的认证对话
场景:2026 年 3 月,某国产芯片厂商会议室。CEO、CTO、安全负责人,与 PSA Certified 评估实验室的评估员 Alice 围坐。
CEO:“我们想 6 个月拿到 PSA Level 2 证书,赶 2027 年欧盟窗口,能做到吗?”
Alice:"6 个月拿到 Level 2 是可能的,但有两个前提:
- 你们的 TF-M 集成已完成且通过自测
- 渗透测试发现的漏洞不超过 3 个严重项
如果这两条满足,3 个月准备 + 3 个月评估,刚好赶上。"
CEO:“成本呢?”
Alice:“Level 2 全流程,实验室费用 10-30 万美元,加上你们的内部人力和 IP 投入,总成本35-95 万美元。如果要做 EN 18031 符合性评估,额外加 5-15 万美元和 1-2 个月。”
CEO:“渗透测试会怎样?”
Alice:“实验室会拿你们 5 台开发板,从 JTAG、侧信道、故障注入、固件提取四个方向攻击。任何一条路径拿到密钥,就是漏洞。建议先做内部预审,把三个高频问题堵掉。”
这场对话浓缩了认证申请的三个核心问题。本文先讲第一个——要准备什么材料。
一、PSA Certified 四级申请材料
Level 1:自我评估(最轻量)
Level 1 是厂商自我评估,无需实验室:
| 材料 | 内容 | 工作量 |
|---|---|---|
| 问卷 | 100+ 道安全设计问题 | 2-4 周 |
| 架构文档 | PSA-RoT 七组件设计说明 | 1-2 周 |
| 威胁模型 | STRIDE / 攻击树 | 1-2 周 |
| SBOM | 软件物料清单 | 1 周 |
| 自测报告 | BootROM/TF-M/Crypto 自测结果 | 1-2 周 |
提交到 PSA Certified 官网,Arm 审核 1-2 周,通过后获 Level 1 证书。
Level 2:渗透测试(性价比拐点)
Level 2 在 Level 1 基础上增加实验室渗透测试:
| 额外材料 | 内容 |
|---|---|
| 渗透测试样本 | 5 台开发板 + 调试器 |
| 源码访问 | TF-M 配置 + 安全分区源码(只读) |
| 设计文档 | 完整架构图 + SG 接口清单 + 密钥流图 |
| 生命周期文档 | LCS 状态机 + 烧录流程 |
| 渗透测试计划 | 双方协商的测试范围与用例 |
Level 3:白盒审查 + 物理攻击
Level 3 在 Level 2 基础上增加白盒源码审查 + 物理攻击测试:
| 额外材料 | 内容 |
|---|---|
| 完整源码 | BootROM 源码 + RTL 设计文档 |
| 物理样本 | 10 台去封装样本 |
| 侧信道数据 | 功耗/电磁轨迹样本 |
| 故障注入计划 | 电压毛刺 / 激光 / 时钟毛刺范围 |
| 安全设计依据 | 每个安全决策的设计文档 |
Level 4:高阶物理防护
Level 4 在 Level 3 基础增加高阶物理攻击(去层、SEM 成像、微探针):
| 额外材料 | 内容 |
|---|---|
| 芯片版图 | GDSII 部分(受控披露) |
| PUF 设计文档 | 纠错码 + 熵评估 |
| iSE 隔离证明 | 独立安全核的隔离测试 |
| 6-9 个月预审文档 | 高阶物理防护设计依据 |
⚠️重要提醒:Level 4 的材料涉及芯片版图等核心 IP,需签 NDA。目前全球仅 Silicon Labs SiXG301 通过 Level 4,评估周期 12-18 个月。
📌配图提示:四级认证材料对比表
二、加密算法选型:认证评估的"标准答案"
白盒审查中"加密实现"一栏会追问两个问题:① 你选了哪个算法?② 为什么选它?
CRA Article 13(3) 要求产品"在使用加密时必须采用业界最佳实践"。但"最佳实践"是模糊的——认证评估需要可执行的清单。PSA Certified 通过两层文件把"最佳实践"具体化:
| 层级 | 文件 | 作用 |
|---|---|---|
| 规范层 | PSA Crypto API 规范(1.0+) | 定义算法 ID、参数、用法 |
| 评估层 | SESIP / PSA Level 2 PP | 审查算法选型是否符合规范 |
📌规范引用:EN 18031-2 要求 4.5(加密)直接引用 PSA Crypto API 规范作为符合性依据。即"用了 PSA Crypto API 标准算法 = 推定符合 EN 18031-2 的 4.5"。
推荐算法清单(认证"标准答案")
| 用途 | 推荐算法 | PSA Crypto API 标识 | 安全强度 |
|---|---|---|---|
| 对称加密 | AES-CCM / AES-GCM | PSA_ALG_CCM/PSA_ALG_GCM | 128/256 bit |
| 哈希 | SHA-256 / SHA-384 | PSA_ALG_SHA_256/PSA_ALG_SHA_384 | 128/192 bit |
| MAC | HMAC-SHA256 | PSA_ALG_HMAC(PSA_ALG_SHA_256) | 128 bit |
| RSA | RSA-2048 / RSA-3072 | PSA_ALG_RSA_PKCS1V15_SIGN | 112/128 bit |
| ECC | ECDSA P-256 / P-384 | PSA_ALG_ECDSA(PSA_ALG_SHA_256) | 128/192 bit |
| 密钥派生 | HKDF-SHA256 | PSA_ALG_HKDF(PSA_ALG_SHA_256) | 128 bit |
禁用/不推荐算法(认证"扣分项")
| 算法 | 状态 | 原因 |
|---|---|---|
| DES / 3DES | 禁用 | 64-bit 块 + 中间相遇攻击 |
| RC4 | 禁用 | 偏差攻击 |
| MD5 | 禁用 | 碰撞攻击 |
| SHA-1 | 禁用(新设计) | SHAttered 碰撞 |
| RSA-1024 | 禁用 | NIST 2014 年淘汰 |
| E0(蓝牙) | 禁用(新设计) | 128-bit 块不足 |
| ECB 模式 | 不推荐 | 相同明文相同密文 |
⚠️重要提醒:认证评估中,使用禁用算法直接判定不符合 EN 18031-2 的 4.5。某厂商在 BootROM 验签中残留 SHA-1,Level 2 评估被判定"不符合",要求改为 SHA-256 后复测——损失 2 个月。
提交评估前必须清查所有加密调用,包括 BootROM、固件签名、TLS、配对协议。用
grep -r "SHA1\|RSA_1024\|DES\|MD5\|RC4"全代码库扫描,确认零残留。实验室会做同样的扫描——不要心存侥幸。
📌配图提示:推荐 vs 禁用算法对比表
PSA Crypto API 的算法标准化处理
PSA Crypto API 把算法选型标准化为三步,避免研发"自由发挥":
💡工程视角:这套标准化流程的价值在于——评估时实验室能快速核验每个加密调用是否合规,不用翻代码猜算法。某厂商自研加密接口随意命名,评估耗时增加 3 周;改用 PSA Crypto API 后,评估员对照 PSA 算法清单 1 天完成核验。
三、算法选型的工程依据
认证评估要求每个算法选型都有"为什么"——基于安全强度、性能、互操作性、标准寿命四个维度:
| 维度 | 评估问题 | 标准答案 |
|---|---|---|
| 安全强度 | 算法是否提供 ≥128-bit 安全强度? | AES-128/256、SHA-256、P-256 均满足 |
| 性能 | 算法在目标 MCU 上的耗时? | AES 硬件加速 <1ms/块,ECC P-256 <100ms/签名 |
| 互操作性 | 算法是否被主流协议支持? | TLS 1.3、Matter、蓝牙均支持 AES-CCM |
| 标准寿命 | 算法在 NIST/ETSI 的淘汰时间? | AES/SHA-2 至 2030+,RSA-2048 至 2030 |
为什么是 AES-CCM 而不是 AES-GCM?
| 维度 | AES-CCM | AES-GCM |
|---|---|---|
| 硬件加速 | 多数 BLE SoC 内置 | 较少内置 |
| 抗 nonce 重用 | 单 nonce 不可重用 | nonce 重用灾难性(可恢复明文) |
| 互操作 | 蓝牙 LE、Zigbee、Matter、Thread | TLS 1.3、IPsec |
| 认证推荐 | ✅ PSA / SESIP 首选 | ⚠️ 需硬件支持 GHASH |
💡工程视角:嵌入式首选 AES-CCM——蓝牙/Matter/Zigbee 全用 CCM,且 nonce 重用风险低于 GCM。GCM 的 GHASH 需要硬件乘法器,多数 Cortex-M0/M4 无此加速,软件实现慢 5-10 倍。
为什么是 ECDSA P-256 而不是 RSA-2048?
| 维度 | ECDSA P-256 | RSA-2048 |
|---|---|---|
| 签名大小 | 64 字节 | 256 字节 |
| 签名耗时 | ~20ms(M4 @64MHz) | ~200ms |
| 密钥大小 | 32 字节 | 256 字节 |
| BootROM 适用 | ✅ 签名小、存储省 | ⚠️ 签名大 |
💡工程视角:BootROM 验签首选 ECDSA P-256——签名 64 字节 vs RSA-2048 的 256 字节,节省 75% 存储。
四、认证评估中的加密审查要点
实验室在 Level 2/3 评估中,对加密实现的审查清单:
| 审查项 | 审查内容 | 常见问题 |
|---|---|---|
| 算法清单 | 列出所有加密调用 + 算法 | 残留 SHA-1 / RSA-1024 |
| 密钥长度 | 所有密钥 ≥128-bit | AES-64 / RSA-768 残留 |
| IV/Nonce 生成 | 随机 IV,不重用 | 固定 IV = 0x00 |
| 密钥派生 | HKDF 而非直接 KDF | 用 SHA-256(key) 直接派生 |
| 随机数源 | TRNG + DRBG,有健康检查 | 用 rand() 或固定种子 |
| 侧信道防护 | AES/ECC 是否有掩码 | 软件 AES 无掩码,DPA 可破 |
| 密钥用法约束 | usage_flags 限定 | 密钥可同时加密+签名(滥用) |
| 算法组合 | 加密+MAC 顺序 | MAC-then-Encrypt(错误) |
💡工程视角:加密审查的高频扣分项是"残留"——某算法在新代码中不用了,但旧代码/BootROM/配网协议里还在。
五、EN 18031 符合性评估
EN 18031 vs PSA Certified
| 维度 | PSA Certified | EN 18031 |
|---|---|---|
| 性质 | 认证体系 | 协调标准 |
| 法律效力 | 市场驱动 | 推定符合 CRA |
| 评估方式 | 实验室测试 | 文档审查 + 测试 |
| 关系 | 证据基础 | 合规路径 |
映射文档撰写
EN 18031-2 的 13 项要求,每项需提供:
| 字段 | 内容 |
|---|---|
| 要求编号 | 如 4.1 安全启动 |
| 要求内容 | 标准原文摘要 |
| 实现方式 | 本产品的技术实现 |
| 证据材料 | 设计文档 + 测试报告 + PSA 证书 |
| PSA 对应 | 对应的 PSA Certified 评估项 |
| 符合性结论 | 符合 / 部分符合 / 不符合 |
PSA → EN 18031-2 映射
📌配图提示:PSA → EN 18031-2 映射关系图
💡工程视角:先 PSA 后 EN 18031 是最省成本的路径——PSA Level 2 拿证后,EN 18031 映射文档撰写只需 2-4 周。如果直接做 EN 18031 符合性评估,需要重新做所有测试,成本和周期翻倍。
本期小结
- PSA Certified 四级材料:L1 自评(问卷+架构)→ L2 渗透(5 台样本)→ L3 白盒(完整源码+去封装)→ L4 高阶物理(芯片版图)
- 加密算法"标准答案":AES-CCM、SHA-256、ECDSA P-256、HKDF
- 禁用算法零残留:SHA-1/MD5/DES/RC4/RSA-1024/E0,用 grep 全代码库扫描
- AES-CCM 优于 AES-GCM:嵌入式场景 nonce 重用风险更低
- ECDSA P-256 优于 RSA-2048:签名小 75%,存储省
- 先 PSA 后 EN 18031:映射文档 2-4 周,最省成本
下期预告
第 6 期:实验室选型 + 渗透测试
最后一期讲认证申请的实操——选哪个实验室?渗透测试到底测什么?要花多少钱?
- 6 家授权实验室对比 + 选型策略
- Level 2 渗透测试四攻击面(JTAG/侧信道/故障注入/固件提取)
- Level 3 白盒审查 + 物理攻击
- Nordic nRF5340 Level 2 认证真实时间线
- P0-P3 行动建议
关注本系列,完结篇不见不散。
📣互动话题:
你的公司准备做 PSA 哪个级别?加密算法有残留问题吗?
- 留言区分享你的认证计划
- 转发给安全/认证团队,对照禁用算法清单检查
- 收藏本文,随时查阅推荐算法表
关注本账号,每周更新 CRA × PSA 合规实战内容。
话题标签
#PSA#PSACertified#加密算法#EN18031#认证申请#IoT安全#芯片安全#CRA
