一颗MCU同时拿下PSA L2和SESIP L2,这事到底有多大?
最近在选型时看到某家MCU厂商宣布自家旗舰产品同时拿到了PSA Level 2和SESIP Level 2两项安全认证,圈里不少人都在讨论。老实说,这类认证在MCU领域现在越来越常见,但大部分人可能只看到了新闻标题,并不清楚这两个认证到底意味着什么、对产品设计有什么实际影响。今天我就从一颗MCU的角度,把这两个认证背后的门道完整拆一遍。
这篇文章适合三类人看:正在做物联网产品选型的硬件工程师,负责产品安全合规的架构师,以及单纯想了解MCU安全能力边界的技术爱好者。我尽量用实际项目中的视角来讲,不堆概念,说清楚认证体系、硬件改动、开发流程影响和实操中的坑。
1. 先搞懂PSA L2和SESIP L2到底是什么
1.1 PSA认证:Arm提出的一套安全架构评估体系
PSA(Platform Security Architecture)是Arm在2017年前后推动的一套物联网安全框架,目的很简单:给碎片化的物联网设备定义一个统一的安全基线。它从威胁模型、安全分析、硬件架构到软件接口,给出了一套完整的安全设计方法论。PSA认证则是由Arm认可的独立实验室对芯片或设备进行安全评估,通过后颁发对应等级的证书。
PSA认证分为三个等级。Level 1是自评估问卷,主要考察安全设计流程是否健全,比如有没有威胁建模、有没有安全开发生命周期,这个级别基本是"走流程"。Level 2就动真格了,它要求芯片具备可验证的硬件级安全能力,包括安全启动、信任根、安全存储、隔离执行环境,并且要通过实验室的实际攻击测试。Level 3则在Level 2基础上增加了对更高强度物理攻击的防御要求,比如侧信道分析、故障注入等,只有少数高端安全芯片能达到。
所以当一款MCU拿到PSA Level 2,意味着它的硬件安全能力不是厂商自己吹的,而是经过独立实验室按统一标准实测过的。这对下游开发者来说,省去了自己评估芯片安全能力的大量工作。
1.2 SESIP认证:GlobalPlatform定义的安全评估标准
SESIP(Security Evaluation Standard for IoT Platforms)是GlobalPlatform组织推出的安全评估标准,专门针对物联网平台组件。它的设计目标比PSA更聚焦:提供一种可复用、可组合的安全评估方法,让安全声明和评估结果能够在不同产品之间进行比较。
SESIP认证同样分等级,Level 1到Level 3,等级越高要求越严。Level 1关注安全功能的存在性,偏功能验证;Level 2要求通过独立实验室的评估,验证安全功能的有效性,应对软件攻击和部分硬件攻击;Level 3则要求更强的抗物理攻击能力。
SESIP的一个显著特点是"声明式"评估——厂商可以明确声明自己实现了哪些安全功能,评估机构只针对这些声明进行验证。这种方式比传统的通用评估标准(比如CC)灵活很多,也更适应物联网产品快速迭代的节奏。
1.3 两份认证的差异:侧重点和使用场景
我在项目里同时梳理过PSA和SESIP的要求,两者核心差异可以总结成一张表:
| 对比维度 | PSA Level 2 | SESIP Level 2 |
|---|---|---|
| 推出方 | Arm | GlobalPlatform |
| 评估对象 | 芯片/设备的安全能力 | 物联网平台组件(含MCU) |
| 核心关注点 | 安全架构完整性、硬件安全能力 | 安全声明与实际防御能力的匹配 |
| 评估方式 | 实验室实测+架构审查 | 实验室评估,声明式验证 |
| 覆盖维度 | 安全启动、隔离、存储、密钥管理 | 安全启动、安全存储、密码学实现、抗攻击 |
| 证书互认性 | 业界广泛应用 | 与CC评估有映射关系,欧洲市场认可度高 |
| 对MCU开发者的意义 | 硬件安全底座有保障 | 安全声明可信,便于合规论证 |
实际操作中,很多MCU厂商会同时申请这两个认证,因为不同市场的客户有不同的要求。北美市场更认可PSA,欧洲尤其是涉及通用标准合规的项目往往看SESIP。两颗认证都拿到,意味着这颗MCU在绝大多数市场的安全合规审查中,芯片层面的安全能力都可以直接引用评估结果,不需要从头补测。
2. 为了拿L2认证,MCU内部到底做了什么改造
2.1 硬件信任根与安全启动链路
拿到L2认证的MCU,第一个硬指标就是要有不可篡改的信任根。信任根通常实现为芯片内部的一次性可编程存储器(OTP)或专用的efuse区域,用来存放根密钥的哈希值或根公钥。芯片出厂后,这段区域只能写入一次,之后任何软件都无法修改。
安全启动的链路逻辑大致是这样:芯片上电后,ROM里固化的一级引导代码(BootROM)先校验二级引导程序的签名,二级引导程序再校验应用固件的签名,每一级校验通过才跳转执行。如果校验失败,芯片会进入安全异常状态,拒绝运行未签名代码。
我建议你在实际项目中做个实验:尝试用调试器往Flash里写一段未签名的测试程序,然后复位运行。你会看到芯片直接拒绝启动,或者卡在BootROM轮询状态。这个行为就是安全启动在起作用,它能从根本上防止攻击者通过篡改固件植入后门。
2.2 安全存储、密钥管理与隔离机制
L2认证对安全存储的要求是:密钥和敏感数据必须存放在受保护的区域,普通代码读写不到。常见的实现方案有两种,一是芯片内置安全元素(Secure Element)或专用安全子系统,二是利用TrustZone等硬件隔离技术划分安全世界和普通世界。
以TrustZone为例,MCU的地址空间被划分为安全区域(Secure World)和非安全区域(Non-Secure World)。安全代码运行在安全世界,可以访问所有资源;普通应用代码运行在非安全世界,只能访问分配给它的那部分地址空间。两个世界之间的切换有硬件机制强制隔离,即使普通世界的代码写得再烂,也碰不到安全世界的密钥。
密钥管理方面,L2认证芯片通常会把私钥直接放在OTP或专用安全Flash中,由硬件加密引擎负责使用,软件永远拿不到明文。这里有个容易被忽略的细节:密钥的"使用权限"和"读取权限"是两回事。硬件加密引擎可以在不解密密钥的情况下完成签名、解密操作,但软件只能触发这些操作,不能直接把密钥读取出来。这种设计即使固件被攻破,密钥也不会泄露。
2.3 安全生命周期管理与调试接口保护
还有一个容易忽略但认证必查的部分:安全生命周期管理。芯片不同阶段处于不同状态,比如开发态、生产态、安全态、报废态。L2认证要求芯片必须具备安全的生命周期状态转换机制,防止攻击者把芯片从安全态回退到开发态。
调试接口(JTAG/SWD)是另一个重点。默认情况下,拿到L2认证的芯片在安全态下都会禁用调试端口,或者要求身份认证才能打开。工业现场经常有工程师吐槽"板子上的芯片没法连调试器了",其实就是安全生命周期起作用了。生产阶段需要先完成固件烧录、密钥注入,再把芯片永久锁定到安全态,之后调试口就彻底关闭了。
需要特别提醒的是,生命周期状态转换通常是单向的。一旦从开发态切换到安全态,就无法回到开发态。所以开发阶段一定要把所有人调试需求都满足后再做状态迁移,否则只能换芯片。
3. 这两份认证对开发者意味着什么
3.1 选型时可以少啃几百页安全文档
做过物联网产品安全合规的朋友都知道,给产品做安全评估时,芯片层面的安全能力论证是最耗时的一环。如果用的是没经过认证的MCU,你需要自己分析芯片的安全启动是否可靠、密钥存储是否有防护、隔离机制是否到位等,这些分析需要啃芯片手册、安全白皮书,有时候还要做实际的攻击测试,工作量极大。
芯片拿到PSA L2和SESIP L2认证后,这部分工作直接省掉了。评估报告里会详细列出这颗芯片实现了哪些安全功能、通过了哪些攻击测试、防护等级是什么。你做产品合规时,直接把认证报告作为参考依据附上就行,评审方通常都认。这一点在对接欧美客户时尤其重要,他们的安全审查流程非常严格,有认证和没认证的效率差距可能是数周和数月的区别。
3.2 安全架构设计有章可循,不再靠拍脑袋
PSA认证体系本身附带了一套完整的安全威胁建模方法论,包括定义资产、识别威胁、分析攻击路径、制定缓解措施。即使你不做认证,这套方法论也能直接用在产品设计里。我自己的习惯是拿到一颗L2认证MCU后,先按照它的安全模型划分信任边界,再决定哪些功能放在安全区、哪些放在普通区。
以智能门锁为例,典型的划分方式是:指纹算法和指纹模板数据放安全世界,密钥和加密通信放安全世界,UI交互和蓝牙协议栈放普通世界。这样做的好处是,即使蓝牙协议栈被攻击者利用缓冲区溢出漏洞拿下,攻击者也触摸不到指纹和密钥,门锁的核心资产仍然安全。
3.3 应用场景和影响范围:不止是"更安全"这么简单
L2认证MCU的应用范围很广,我随手就能列出几个典型场景:
- 智能家居:智能门锁、摄像头、网关需要保护用户隐私和通信密钥,安全芯片能防住本地攻击。
- 工业控制:PLC、变频器等设备现在都在联网,一旦被篡改固件可能会造成安全事故。安全启动和证书校验能保证只有可信代码才能运行。
- 医疗设备:远程医疗设备涉及患者隐私数据,合规要求越来越高,有认证的芯片能简化监管审批。
- 车联网终端:T-Box、OBU等车载设备要求高安全等级,L2认证是入门门槛。
影响范围上,认证带来的不只是单点产品安全,而是整个产品线安全能力的提升。你在一颗芯片上把安全框架搭好,后续多款产品可以复用同一套安全方案,边际成本会越来越低。
3.4 选型时的几个推荐标准
我自己选L2认证MCU时会重点看几项指标:
安全启动性能:启动时间增加是否在可接受范围内。有些MCU安全启动需要几百毫秒,对要求毫秒级上电响应的设备来说很致命。
安全密钥存储容量:OTP区域多大、能存几组密钥。如果产品需要支持多租户或频繁更换密钥,容量太小会成为瓶颈。
认证服务商能力:不同安全IP的成熟度和生态差异很大,比如Arm TrustZone生态明显更成熟,文档和中间件齐全;自研安全方案则可能需要你自己写很多东西。
软件生态:拿到认证后,原厂提供的Secure Boot、Secure Storage、Crypto等中间件质量如何。很多芯片安全功能强大但SDK堪称灾难,开发效率会被拖垮。
成本权衡:带认证的安全MCU通常比普通MCU贵20%到50%,但如果省去了外部安全芯片(Secure Element)的成本,总体BOM可能反而更低。
4. 认证背后的评估过程,我替大家扒了一遍
4.1 实验室评估全流程
很多人把认证理解为"厂商送样品去实验室测一下",这么说太简单了。一颗MCU从启动认证到拿到L2证书,通常要经历完成安全架构设计、准备安全功能清单、提交安全目标文档、实验室功能测试、实验室攻击测试、漏洞分析和修复、签发证书这个流程,整个周期一般在6到12个月。
实验室的评估人员会先审查芯片的安全架构文档和相关源码,确认安全功能的实现方案和声明一致。审查通过后进入实验室实测阶段,评估人员会按照预先定义的攻击方法对芯片进行测试,包括静态代码分析、动态模糊测试、侧信道分析等。整个过程中评估人员会不断挑战芯片的安全边界,尝试绕过安全启动、提取密钥、跨权限访问等,任何一条攻击路径成功,芯片厂商都得修复后重新测试。
4.2 攻击测试都在测什么
L2认证的攻击测试是实实在在的攻击,不是走过场。最常见的测试项目包括:
安全启动绕过测试:评估人员会尝试篡改引导程序的某个字节、替换公钥、注入错误签名等,观察芯片是否仍能启动。我见过一些实现不严谨的芯片,对签名校验参数处理不当,在特定边界条件下可以绕过校验,这类问题在L2测试中完全藏不住。
调试接口攻击测试:尝试通过JTAG/SWD读取Flash内容,或者挂接调试器修改运行状态。L2认证要求芯片在安全状态下不能暴露调试接口,或者必须通过强认证才能解锁。
存储安全测试:尝试通过电压毛刺、激光切割等方式读取OTP或安全Flash中的密钥。这部分测试对芯片的物理防护设计提出了很高要求。
侧信道分析:对加密操作的功耗曲线进行统计分析,尝试恢复密钥。MCU级产品通常不会要求做太深入的侧信道防护,但基础的掩码和噪声注入是必须的。
4.3 认证之后的维护与风险
证书不是永久的。PSA和SESIP都有证书有效期,通常是3年左右。有效期内如果芯片安全架构发生重大变更,或者发现新的安全漏洞,证书状态可能被暂停或撤销。
作为开发者要特别注意这一点:选型时核对一下认证日期。一颗芯片如果是5年前拿的认证,评估时针对的攻击面可能已经过时了,当前流行的攻击方法未必覆盖到。我在实际项目里会主动向原厂索取最新的安全公告,确认没有已公开但未修复的漏洞,同时核对自己使用的芯片版本和认证时的版本是否一致,避免因为芯片版本更新导致认证失效。
另外还要关注一个问题:芯片拿到认证只代表芯片本身的安全能力,不代表你的产品就是安全的。芯片安全能力只是一个底座,产品层面的安全还需要开发者自己设计。把一颗L2芯片用的像裸片一样,没有安全启动、密钥裸存、调试口大开,那认证也救不了你。
5. 拿到带L2认证的MCU之后,建议这样落地
5.1 先规划密钥体系再画板子
这是我最想强调的一点。很多团队拿到安全MCU就开干,软件写完才考虑密钥和证书,结果发现板子上没有预留安全烧录接口,或者密钥注入流程和生产环节冲突,只能返工。
正确的顺序是:在硬件设计阶段就确定密钥注入方案。常见做法是预留一个专用的烧录接口,生产时通过安全烧录器一次性注入根密钥和初始证书。安全烧录器和普通烧录器的区别是,它会通过安全通道把密钥写入芯片的OTP区域,并用厂商密钥签名,确保只有合法设备才能完成注入。这个过程一定不要省,否则密钥在产线上明文传输,等于白搞。
5.2 利用安全分区做业务隔离
拿到L2认证MCU后,最值得做的架构改进就是引入安全分区机制。以带TrustZone的MCU为例,前期把各个业务模块的信任等级梳理清楚,确定哪些放安全世界、哪些放普通世界。一个常用的参考划分经验是:
| 模块类型 | 典型示例 | 放置区域 |
|---|---|---|
| 安全密钥与证书 | 根密钥、设备证书 | 安全世界 |
| 安全逻辑 | 身份认证、访问控制 | 安全世界 |
| 加密引擎调用接口 | 硬件加密API封装 | 安全世界 |
| 业务应用 | UI、协议栈、业务逻辑 | 普通世界 |
| 调试与日志接口 | 远程调试、log输出 | 普通世界,安全区不开放 |
把安全逻辑和业务逻辑分开后,业务侧开发效率反而会提升,因为每次安全审查只关注安全世界的代码,普通世界的代码迭代不会带来额外的安全回归压力。
5.3 安全启动的密钥轮换机制一定要设计
很多产品出厂后遭遇密钥泄露事件,原因不是初始密钥不安全,而是密钥生命周期内没有轮换机制。拿到L2认证的MCU后,建议在产品设计时就做好密钥轮换方案。
比如每台设备出厂时注入一组初始密钥,设备联网后通过安全通道向服务端申请新的会话密钥,会话密钥定期轮换。即使某台设备的会话密钥被破解,攻击者也拿不到设备根密钥,影响范围被限制在一台设备上。这种"短生命周期密钥+强保护根密钥"的分层设计,是物联网安全的核心思路。
5.4 使用安全中间件,别自己造轮子
我见过不少团队喜欢自己写安全协议,结果漏洞百出。L2认证MCU的原厂通常会提供经过验证的安全中间件,包括安全启动、安全存储、TLS/DTLS、安全OTA等,这些中间件已经通过标准安全测试,比从零开始写的代码靠谱得多。
使用中间件时注意看版本和配置方式。有些中间件默认配置为了兼容旧产品,安全参数并不符合L2认证要求,比如允许低版本的TLS协议。拿到手之后建议检查默认配置,关闭一切不必要的兼容模式,确保加密算法、协议版本都符合当前安全基线。
5.5 安全OTA升级的设计要点
带认证的MCU做OTA升级时,有几点跟普通MCU不一样:
升级包必须带签名,这是基础要求。签名算法建议用椭圆曲线(如ECDSA P-256),速度快且签名文件小。
升级包要支持版本回滚防护。很多设备被攻击者"降级"到有漏洞的旧固件版本,就是因为升级流程没有防回滚机制。芯片级实现方式是维护一个最小允许版本号(Anti-Rollback Counter),存在OTP中,只增不减。
升级过程要有断电恢复能力。新固件先写入备份分区,校验通过后再切换到主分区,任何一步失败都不影响当前运行版本。
6. 常见问题速查与避坑清单
6.1 关于认证的常见问题
问:PSA L2和SESIP L2能互相替代吗?
不能。两个认证虽然等级名称一样,但评估体系和认证机构不同,客户认可度也不同。项目具体对标哪个市场,认证证书就要对号入座。做出口欧洲项目时,SESIP认可度更高;做北美或Arm生态相关项目时,PSA更常见。两颗都拿是最稳妥的。
问:芯片通过认证后,我的产品还需要再做认证吗?
通常还需要。芯片认证只是组件级认证,你的产品整机如果要做安全评估,芯片认证可以作为重要参考,但不等于整机认证。整机认证需要评估产品整体的安全设计、外围电路、通信协议、应用软件等。
问:L2能替代L1吗?
不需要替代。L1是流程性认证,L2是能力性认证,两者维度不同。芯片如果已经拿到L2,通常默认满足更高等级要求,L1可作为附加参考。
6.2 实操中的避坑清单
关于安全启动,先验证再量产,别拿到烧录文件就铺产线。我见过某项目量产时发现安全启动配置错误,所有设备变砖,整条产线停了三天。
关于密钥注入,密钥注入和产线环境要隔离,禁止在共用网络上传输密钥文件,传输过程全程加密。
关于调试接口,我把开发阶段的调试接口在安全态关闭前的步骤整理成文档模板,每次切换生命周期状态前逐条核对,防止遗漏。
关于安全存储,别贪方便把不敏感数据也塞进安全存储区,安全Flash擦写寿命有限,频繁写入会提前报废。
6.3 开发调试技能速查表
| 场景 | 操作环节 | 关键步骤 | 易错点 |
|---|---|---|---|
| 首次上电 | 安全启动配置 | 烧录BootROM镜像、写入根密钥 | OTP写入前确认密钥正确,无法重写 |
| 开发调试 | 调试口保护 | 配置调试认证、设置临时通道 | 开关全部调试通道会自动锁死 |
| 量产前 | 安全生命周期切换 | 确认固件和密钥已固化、切换到安全态 | 切换前完整全功能回归测试 |
| 售后 | 设备取证 | 通过安全接口提取日志 | 调取安全日志需专用密钥,提前申请 |
6.4 常见排查技巧:启动失败先看这里
安全MCU的启动失败排查思路和普通MCU不太一样。芯片上电后不跑、串口无输出,先按这个顺序排查:
先确认芯片是否处于安全态,读取生命周期状态寄存器。如果已经处于安全态,要用安全固件并通过签名校验才能启动。
再确认签名是否有效且匹配当前引导程序,用原厂工具检查固件签名信息,确保签名密钥对和烧录进OTP的公钥一致。
然后确认启动地址和配置字是否正确,安全芯片的启动配置比普通芯片严格得多,一个配置字错误就有可能导致拒启动。
最后检查Secure Boot是否进入永久性错误状态,部分芯片连续校验失败后会把错误状态锁死在OTP里,此时只能换芯片。
最后再分享一点小建议
做了这几年带安全认证MCU的项目,我最深的体会是:安全不是加一个芯片就完事,而是一整套贯穿硬件、软件、生产、维护的流程。拿到L2认证的MCU只是给了你一副好牌,怎么打好完全看设计者的安全功底。如果你刚接触这类芯片,建议先用官方开发板把安全启动、密钥注入、安全存储这几个核心流程完整跑通,再投入实际产品设计。另外记得定期查看原厂的安全公告,安全领域的攻击手段一直在进化,没有一劳永逸的防护。希望这篇拆解能帮大家少踩一些坑,让安全认证真正成为产品竞争力的加速器,而不是停留在新闻稿里的一句宣传语。