本节摘要:当 MCU 掌管着门锁、支付、医疗与车控,它自己就成了攻击目标。本节讲清 MCU 面临的三类威胁(固件被读、固件被改、通信被窃听),与对应的防御机制:读保护、安全启动与信任链、硬件加密加速与密钥存储。读完你能为一个联网产品设计最小可行的安全方案,并理解"绝对安全不存在、提高攻击成本才是工程现实"。
安全设计第一步不是选加密算法,而是回答威胁模型三问。防谁:好奇的同行拆解抄板?职业黑客远程攻击?还是内部人员?对手的预算决定你的防线等级。防什么:三类典型资产——固件知识产权(被读走就被人抄了产品)、控制权完整性(固件被篡改,设备变成跳板)、数据机密性(通信与存储里的密钥与用户数据)。在哪防:物理攻击(拆芯片上编程器读固件)还是远程攻击(通过网络接口入侵)?防线完全不同。
一个清醒的认知先立住:MCU 是低成本单芯片系统,物理上被拆解分析基本无法完全防住(顶级实验室可以把芯片开盖逐层逆向)。工程意义上的安全是经济学概念:把攻击成本抬高到超过攻击收益。理解了这一点,下面每个机制的价值判断就清晰了。
**读保护(RDP)**是 MCU 的基础防御:使能后,调试接口与片内读机制都无法读出 Flash 内容——烧录器连接只能整片擦除后重写。这是防"同行拔下你的 Flash 芯片抄固件"的第一道墙,成本为零(使能一个选项字节),收益是挡住绝大多数低门槛拆解。三个使用要点:其一,等级概念——多数芯片提供两级保护,低级可降级回退(调试仍可用),高级不可逆(保护自己和锁死自己是一体两面),量产建议低级起步;其二,开发阶段就开,等量产才想起来,开发机密早已随样机散布;其三,读保护不防"运行时被读"——防的是离线读,在线侧的防线是下一层。
与读保护互补的是密钥不出芯片原则:加密用的密钥如果存在普通 Flash,读保护被绕过就全盘皆输。带安全特性的 MCU 提供专门的密钥存储区(写入后只写不可读,加密运算在芯片内部完成,密钥终生不出户)。安全要求高的场景(支付、车控),这一条是硬门槛。
**安全启动(Secure Boot)**回答的问题是:芯片上电后,怎么确定即将运行的固件是厂商签发、未被篡改的?原理是一条信任链:芯片内部固化(或一次性写入)一个公钥或其哈希,作为"根信任";每次上电,第一段不可改的引导代码用这个公钥验证应用固件的数字签名;验证通过才跳转执行,否则进入恢复模式(或拒绝启动)。这样任何篡改过的固件——哪怕攻击者完整写入 Flash——都过不了签名验证。
信任链的要点在"根"必须可信:验证用的公钥或哈希存在不可改写区域(一次性可编程区或带写保护的引导区),链条才立得住;根被改,整条链形同虚设。固件升级的安全版自然由此衍生:升级包同样签名,设备验签后才能写入——OTA 升级没有签名验证,等于给攻击者留了一扇"合法写入"的门。
联网 MCU 的通信安全基本盘是 TLS 类协议,其运算依赖三类密码操作:对称加密(快,保护 bulk 数据)、非对称加密(慢,用于握手与签名)、哈希(完整性校验)。这些算法在纯软件实现时,一个握手可能吃掉中低端 MCU 数秒的 CPU——于是厂商把密码运算做成硬件加速器(AES、SHA、RSA、ECC 硬件引擎),速度提升数十倍且密钥可配在芯片内。选型时的行话"带加密引擎的型号",指的就是这类;做联网产品的选型清单里,它应该与无线能力并列。
一个最小可行方案的组装:读保护开启(防拆读)+ 安全启动(防篡改)+ TLS 通信(防窃听)+ 密钥不出芯片(防提取)——四件套覆盖了绝大多数物联网产品的威胁模型,剩下的高风险场景(金融、车规)再引入安全元件(独立的安全芯片,专门保管密钥与执行敏感运算,即使主芯片被攻破密钥依然安全)。

⚠️ 四个高频误区:其一,"我的设备太小众没人攻击"——物联网时代攻击者批量扫描,小众设备恰恰防护最弱,是最大的猎场;其二,自造加密算法与私有协议当安全手段——自己设计的密码学几乎必然有漏洞,用经过时间检验的标准算法与协议,且不自己改动它们;其三,把密钥硬编码在固件里当"安全"——固件镜像一泄露密钥同步泄露,等于门锁的钥匙挂在门上;其四,混淆混淆与加密——混淆只增加阅读难度,不提供机密性,拿混淆当加密是自欺。
联网产品真正难的不是用加密,而是密钥的全生命周期管理。四个阶段各有一道必答题。生成:密钥必须在安全环境产生(专用工具加权限管控),绝不能是固件里的常量、时间戳派生或同一批次所有设备共用的"母钥匙"——共用意味着一处泄露全线沦陷。注入:生产环节把每台设备独有的密钥写入芯片(写入后立即开启写保护,最好落入只能写不能读的区域),产线工具与密钥明文的接触面要最小化。使用:运行时密钥只在芯片内部参与运算,通过芯片的加密引擎接口取用而非读出到内存——中高端 MCU 的密钥存储区与硬件加密外设就是为此设计的。轮换与吊销:设计通信协议时预留密钥版本号字段,让"换锁"成为可远程执行的操作;同时预留设备证书吊销机制,被攻破的设备要能被云端拉黑。四道题答完你会发现,安全机制的采购成本远低于事后补救——密钥管理的欠账,是利息最高的一种技术债。
会,这是读保护最著名的自伤场景。调试口与读保护联动:保护级别调高后调试器连不上,若固件里又没留升级通道,芯片就成了一块只能整片擦除的砖。纪律有三:开发期用最低保护级别(只防批量读出,保留调试),保护级别上调放在量产烧录环节的最后一道工序执行;量产固件必须自带自升级通道(UART、USB 或 OTA 任一),这是"锁了门也要给自己留钥匙孔"的正解;写一个"恢复演练"——拿三片样品走完整片擦除与重新烧录的流程,确认生产工具能救砖,再放开量产。安全机制的价值在防外人,工程的底线在不困死自己。