第4章:PSA Crypto API 实战
摘要TF-M 提供四大核心服务Crypto密钥不离开安全世界、ITS/PS安全存储、Attestation设备证明。本文用代码示例 Zephyr/FreeRTOS 集成 自研 vs TF-M 成本对比给出芯片厂商可执行的选型决策。开篇密钥不离开安全世界上一期我们讲了 TF-M 的架构——TrustZone-M 两个世界、DEN0063 三级隔离、SPM 调度与 IPC。这一期进入工程实战——TF-M 的四大核心服务怎么用代码怎么写PSA Crypto API 的核心价值是一句话密钥不离开安全世界。应用调用psa_generate_key()生成密钥拿到的是key_id一个整数句柄而非密钥本身。所有加密操作在安全世界执行应用只拿到结果。即使应用被完全攻破攻击者也拿不到私钥。一、Crypto 分区密钥不离开安全世界支持的算法算法类支持硬件加速对称加密AES-128/256CBC/CTR/GCM✅哈希SHA-1/256/384/512✅HMACHMAC-SHA256/384✅非对称RSA-2048/3072、ECDSA P-256/P-384✅密钥派生HKDF、PBKDF2软件随机数TRNG DRBGNIST 800-90A✅PSA Crypto API 代码示例#includepsa/crypto.h// 1. 初始化psa_crypto_init();// 2. 生成 ECDSA P-256 密钥对私钥留在安全世界应用拿不到psa_key_id_tkey_id;psa_key_attributes_tattrsPSA_KEY_ATTRIBUTES_INIT;psa_set_key_type(attrs,PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_FAMILY_SECP_R1));psa_set_key_bits(attrs,256);psa_set_key_usage_flags(attrs,PSA_KEY_USAGE_SIGN_HASH|PSA_KEY_USAGE_VERIFY_HASH);psa_set_key_algorithm(attrs,PSA_ALG_ECDSA(PSA_ALG_SHA_256));psa_generate_key(attrs,key_id);// 3. 签名私钥操作在安全世界执行返回签名给应用uint8_thash[32],sig[64];size_tsig_len;psa_sign_hash(key_id,PSA_ALG_ECDSA(PSA_ALG_SHA_256),hash,sizeof(hash),sig,sizeof(sig),sig_len);// 4. 应用永远无法导出私钥——psa_export_key() 对不可导出密钥返回错误工程视角PSA Crypto API 的核心价值是密钥不离开安全世界。应用调用psa_generate_key()生成密钥拿到的是key_id一个整数句柄而非密钥本身。所有加密操作在安全世界执行应用只拿到结果。即使应用被完全攻破攻击者也拿不到私钥。配图提示PSA Crypto API 密钥流示意图应用 → key_id → 安全世界 → 结果返回二、ITS 分区片上安全存储存储位置片上 Secure Flash容量典型 4-32 KB用途高价值小数据——设备私钥、证书、计数器安全机制加密 完整性校验 访问控制#includepsa/protected_storage.h// 写入设备证书只有安全世界可读psa_ps_set(uid0x0001,data_len1024,p_datacert,create_flagsPSA_STORAGE_FLAG_NO_ROLLBACK);// 安全世界内读取psa_ps_get(uid0x0001,offset0,data_len1024,p_datacert,p_data_len);三、PS 分区外部加密存储存储位置外部 Flash非安全区域容量典型 64 KB - 1 MB用途较大数据——配置文件、日志、OTA 备份安全机制加密 完整性校验 反回滚密钥存在安全世界数据加密后存外部对比ITSPS存储位置片上 Secure Flash外部 Flash容量小KB 级大MB 级性能快直接访问慢加解密开销抗物理攻击强中密钥不在外存选型建议高价值小数据私钥、证书用 ITS大文件配置、日志、OTA 备份用 PS。四、Initial Attestation 分区设备证明设备证明服务——向第三方证明我是这台设备运行这个固件版本。#includepsa/initial_attestation.h;// 生成设备证明 tokenCOSE/CWT 格式uint8_tchallenge[32]{...};// 验证方下发的随机挑战uint8_ttoken[512];size_ttoken_len;psa_initial_attest_get_token(challenge,sizeof(challenge),token,sizeof(token),token_len);Token 包含设备唯一 ID由 OTP 中的设备密钥派生固件版本 哈希生命周期状态LCSPSA-RoT 测量值对 challenge 的签名工程视角设备证明是CRA Article 13(4)“设备身份”的关键实现。云平台通过验证 token 签名确认设备身份 固件完整性决定是否允许接入。某厂商的云平台要求所有设备首次接入时提交 attestation token未通过验证的设备直接拒绝——这把伪造设备攻击的成本从复制一台设备提高到破解 ECDSA P-256。五、TF-M Zephyr/FreeRTOS 集成双系统架构TF-M 是安全世界的固件非安全世界需要一个 RTOS 跑应用。主流组合组合安全世界非安全世界适用场景TF-M ZephyrTF-MZephyr RTOSMatter/Thread 设备TF-M FreeRTOSTF-MFreeRTOS工业/消费电子TF-M 裸机TF-M裸机 main 循环极简设备Zephyr TF-M 集成最简单Zephyr 原生支持 TF-M配置最简单# West 构建命令nRF5340 示例west build-bnrf5340dk_nrf5340_cpuapp --\-DCONFIG_TFMy-DCONFIG_TFM_PROFILE_TYPEm# 关键配置CONFIG_TFMy# 启用 TF-MCONFIG_TFM_PROFILE_TYPEm# Medium profileCrypto ITS PS AttestationCONFIG_TFM_BL2y# 启用 MCUBoot BL2CONFIG_TFM_PARTITION_CRYPTOy# Crypto 分区CONFIG_TFM_PARTITION_INITIAL_ATTESTATIONy# Attestation 分区Zephyr 应用通过 PSA API 调用 TF-M 服务无需额外封装。FreeRTOS TF-M 集成FreeRTOS 集成 TF-M 需要更多手工配置TF-M 构建为静态库链接到安全世界镜像FreeRTOS 跑在非安全世界通过 NSC 接口调用 TF-M 服务双核架构nRF5340nRF5340 采用双核设计——核 0应用核跑 Zephyr/FreeRTOS BLE 协议栈核 1网络核跑 TF-M 无线协议。两核通过 RPMsg共享内存 中断通信。对比单核 TZ-M双核隔离隔离强度硬件属性TZ-M物理隔离独立核通信开销SG 指令μs 级RPMsg10-100μs成本低单核高双核PSA LevelL2L2-L3配图提示单核 TZ-M vs 双核隔离对比图六、自研隔离 vs TF-M 成本对比成本对比表维度TF-M开源自研隔离初始开发0直接用6-12 个月3-5 人PSA 认证适配低已预适配高需证明符合 DEN0063长期维护社区维护自维护漏洞响应社区快速响应自行排查定制灵活性中需遵循 TF-M 架构高自由设计生态支持Nordic/ST/NXP/Zephyr无工程视角除非有极强定制需求否则用 TF-M。某厂商自研隔离方案花了 8 个月、4 人PSA Level 2 评估时被要求额外提供 DEN0063 符合性证明又花了 3 个月。总成本 11 个月而用 TF-M 的厂商 1 个月就集成了。TF-M 的不够灵活远比自研的从零证明便宜。何时考虑自研仅在以下场景考虑自研非 Arm 架构RISC-V 需要用 PMP OpenSBI 等效方案极端资源约束Flash 64KBTF-M 最小配置也要 ~40KB已有成熟方案公司已有通过认证的隔离框架特殊安全需求需要 TF-M 不支持的自定义隔离策略配图提示自研 vs TF-M 决策树七、CRA/PSA 钩子速查本章技术要点对应的 CRA 条款与 PSA Level 要求技术要点CRA Article 13 对应PSA Level 要求TrustZone-M 硬件隔离Art. 13(2) 安全隔离L2NSC SG 指令受控入口Art. 13(2) 攻击面最小化L2DEN0063 分区化框架Art. 13(2) 安全架构L1Level 3 分区间 MPU 隔离Art. 13(2) 故障隔离L3PSA Crypto API 密钥不离开安全世界Art. 13(3) 密钥保护L2ITS 片上安全存储Art. 13(3) 加密存储L2PS 外部加密存储 反回滚Art. 13(3)(5) 加密存储 防降级L2Initial Attestation 设备证明Art. 13(4) 设备身份L2合规映射提示撰写PSA → EN 18031 映射文档时本章内容直接对应 EN 18031-2 的要求 4.2安全隔离、4.3密钥管理、4.6设备身份。八、Checklist硬件选型Cortex-M23/M33/M55/M85带 TZ-MTF-M 集成选用 TF-M 而非自研隔离级别L2 用世界隔离L3 用分区间隔离NSC 接口SG 函数 ≤20 个参数白名单校验PSA Crypto API密钥不可导出PSA_KEY_USAGE_EXPORT不设ITS/PS 分区高价值数据用 ITS大文件用 PSAttestation云平台首接入验证 tokenIPC 优化用一次性 API 替代多步 APIRTOS 适配TF-M IPC 期间禁任务切换SAU/MPU 配置安全区域最小化九、给芯片厂商的行动建议P02026-09-11 前选型 Cortex-M33 TZ-M——PSA Level 2 的硬件基础集成 TF-M——从 trustedfirmware.org 获取按官方 quickstart 集成P12027-Q1 前完成 TF-M Zephyr/FreeRTOS 双系统验证PSA Crypto API 替换应用层加密调用——密钥移入安全世界配置 Attestation 服务——对接云平台设备认证P22027-Q3 前隔离级别升 Level 3——分区间 MPU 隔离冲刺 PSA Level 3App-RoT 分区开发——厂商自定义安全服务IPC 性能优化——减少 IPC 次数一次性 API给管理者的一句话TF-M 是 PSA Certified Level 2 的事实标准——Nordic/ST/NXP/Silicon Labs 全在用。自研隔离方案在 PSA 评估中要额外证明符合 DEN0063成本远高于直接用 TF-M。对国产芯片厂商2027-Q1 前必须完成 TF-M 集成与 PSA Crypto API 适配。本期小结PSA Crypto API 核心价值密钥不离开安全世界应用只拿到 key_idTF-M 四大服务Crypto ITS片上 PS外部 Attestation设备证明Zephyr TF-M 集成最简单原生支持CONFIG_TFMy 即可自研 vs TF-M11 个月 vs 1 个月除非非 Arm 架构否则用 TF-MP0 项2026-09-11 前选型 Cortex-M33 TZ-M 并集成 TF-M下期预告第 5 期PSA Level 1-4 申请材料从工程实现进入认证流程。PSA Certified 四级认证需要什么材料加密算法选型有哪些坑EN 18031 符合性评估怎么做下一期我们将讲清楚PSA Certified Level 1-4 申请材料清单CRA 与 PSA 对加密算法的强制要求推荐算法清单与禁用清单PSA → EN 18031-2 映射文档关注本系列从代码走向认证。互动话题你的项目用 TF-M 还是自研PSA Crypto API 替换过程中遇到什么坑留言区分享你的集成经验转发给固件团队对照 Checklist 检查收藏本文随时查阅 PSA Crypto API 示例关注本账号每周更新 CRA × PSA 合规实战内容。话题标签#PSA#CryptoAPI#TF-M#Zephyr#FreeRTOS#IoT安全#芯片安全#密钥保护

相关新闻

【Bug已解决】[BUG] FP8 model cannot inference on B200 (SM>=100) 解决方案

【Bug已解决】[BUG] FP8 model cannot inference on B200 (SM>=100) 解决方案

【Bug已解决】[BUG] FP8 model cannot inference on B200 (SM>100) 解决方案 一、现象长什么样 把一个 FP8 量化的模型(或开启 FP8 推理的 transformers 模型)放到 NVIDIA B200(Blackwell 架构,compute capability SM>100&a…

2026/8/4 14:00:09 阅读更多 →
第3章:TF-M 架构 + SPM 调度

第3章:TF-M 架构 + SPM 调度

摘要 CRA Article 13(2) 要求"安全隔离",PSA Certified Level 2 强制硬件隔离。本文用 TrustZone-M 两个世界 三类硬件单元 DEN0063 三级隔离 SPM 调度与 IPC 全链路,讲清楚 TF-M 如何满足 CRA 与 PSA 双重要求。 开篇:一个 400…

2026/8/4 14:00:09 阅读更多 →
【Bug已解决】Different results for PPDocLayoutV3 on CPU and CUDA 解决方案

【Bug已解决】Different results for PPDocLayoutV3 on CPU and CUDA 解决方案

【Bug已解决】Different results for PPDocLayoutV3 on CPU and CUDA 解决方案 一、现象长什么样 用 PPDocLayoutV3(PaddlePaddle 文档版面分析模型,常经 transformers 桥接或在 GPU 机器上推理)做文档版面检测,发现同一张图&…

2026/8/4 14:00:09 阅读更多 →

最新新闻

Windows 10用户配置文件损坏导致无法登录的完整修复指南

Windows 10用户配置文件损坏导致无法登录的完整修复指南

1. 问题现象与核心原因剖析“无法登陆到你的账户”这个弹窗,绝对是Windows 10用户最不想看到的噩梦之一。它通常在你满怀期待地输入密码、PIN码,甚至刷完脸之后,屏幕上突然弹出一个冷冰冰的提示框,告诉你“无法登陆到你的账户。通…

2026/8/4 16:16:19 阅读更多 →
CocosCreator 3.8字体系统全解析:系统字体、动态字体与位图字体实战指南

CocosCreator 3.8字体系统全解析:系统字体、动态字体与位图字体实战指南

1. 项目概述:字体,不止是“显示文字”那么简单在CocosCreator里做游戏,尤其是需要适配多平台、多语言的商业项目,字体处理绝对是一个绕不开的“深水区”。新手可能觉得,不就是设置个fontFamily吗?但当你真正…

2026/8/4 16:16:19 阅读更多 →
RSTP端口角色选举进阶解析:从原理到排错实战

RSTP端口角色选举进阶解析:从原理到排错实战

1. 项目概述:为什么RSTP的端口角色选举值得深挖? 搞网络的朋友,尤其是和数据中心、园区网打交道的,对STP(生成树协议)和它的快速版本RSTP(快速生成树协议)肯定不陌生。大家配置交换机…

2026/8/4 16:16:19 阅读更多 →
Astra还没发布,OpenAI先公布了10项数学研究新结果——赛柏特AI快讯

Astra还没发布,OpenAI先公布了10项数学研究新结果——赛柏特AI快讯

8月1日,OpenAI公布了一组新的数学与理论计算机科学研究成果。完成这些工作的,是其尚未正式发布的下一代重要模型Astra的内部版本。按照OpenAI的说法,这10项成果对应的都是长期开放问题,涉及高维几何、编码理论、群论、量子复杂性、…

2026/8/4 16:16:19 阅读更多 →
Godot PCK文件解包全攻略:从工具使用到资源逆向分析

Godot PCK文件解包全攻略:从工具使用到资源逆向分析

1. 项目概述:为什么我们需要解包Godot的PCK文件?如果你是一名游戏开发者、Mod制作者,或者对游戏内部资源结构充满好奇的技术爱好者,那么你很可能已经接触过Godot引擎。Godot以其开源、轻量和高效的特点,在独立游戏开发…

2026/8/4 16:16:19 阅读更多 →
Python-PLAXIS自动化建模技术与典型岩土工程案例

Python-PLAXIS自动化建模技术与典型岩土工程案例

有限单元法在岩土工程问题中应用非常广泛,很多软件都采用有限单元解法。第一部分:Plaxis软件简介及 Plaxis Python API环境搭建1、Plaxis2D\Plaxis3D软件简介2、面向对象编程语言Python及其开发环境Spyder简介3、Plaxis输入程序、输出程序界面、应用开发…

2026/8/4 16:15:19 阅读更多 →

日新闻

AI Agent白手起家26: 使用标准事件驱动大模型实践

AI Agent白手起家26: 使用标准事件驱动大模型实践

纲要 练习目标:掌握大模型标准事件的调用回顾 LangChain 中的核心标准事件 invokestreambatchastream_eventswith_structured_output 环境准备实战代码:多种事件调用对比 同步调用与流式输出批量处理异步事件流监听结构化输出 运行说明与预期结果总结与扩…

2026/8/4 0:00:40 阅读更多 →
dealsea是什么?跨境卖家必知的美国deal站入门指南

dealsea是什么?跨境卖家必知的美国deal站入门指南

说实话,第一次听说美国这个老牌折扣网站的跨境卖家,十个有八个会问同一个问题:这个平台到底是干嘛的?我见过一个做家居出口的朋友,他在亚马逊上月销二十万美金,却从来没用过它。我给他看了首页——一屏一屏…

2026/8/4 0:01:40 阅读更多 →
清华大学重磅EST:植物自导电闪蒸焦耳热600°C/2600°C两步法!稀土超积累植物秒级转化为CeO₂-石墨烯电催化剂!

清华大学重磅EST:植物自导电闪蒸焦耳热600°C/2600°C两步法!稀土超积累植物秒级转化为CeO₂-石墨烯电催化剂!

通讯作者:邓兵、刘建国通讯单位:清华大学DOI:https://doi.org/10.1021/acs.est.6c00603研究背景稀土元素(REEs)是清洁能源技术与电子器件不可或缺的核心原料,然而传统提取方式依赖能耗高、排放大的采矿与强…

2026/8/4 0:01:40 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/4 13:24:41 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/4 11:41:39 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/4 5:26:40 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/4 13:38:24 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/4 11:09:16 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/4 13:38:40 阅读更多 →