几毛钱能撑起安全芯片吗?从PQC、RISC-V到MCU选型与量产的成本拆解
发布时间:2026/10/7 9:17:19 锦皓数字建站

1. 从“几毛钱”说起安全芯片的成本困局到底卡在哪“几毛钱撑得起安全芯片的未来吗”这个问题我第一次在行业群里看到时正蹲在实验室调一块安全MCU的功耗曲线。说实话这句话戳中了太多人的痛点——不是技术做不到是成本压不下来。先把这个标题拆开看。安全芯片广义上指具备密钥存储、加解密运算、防侧信道攻击、防物理探测等能力的集成电路常见形态包括安全MCU、安全SoC、TEE协处理器、SE安全元件等。PQCPost-Quantum Cryptography后量子密码是这两年最热的方向因为传统RSA和ECC在量子计算面前迟早要退役。RISC-V作为开源指令集架构正在从IoT端往安全领域渗透。MCU和SoC则是安全芯片最常见的两种落地形态。那“几毛钱”是什么意思在消费类IoT市场一颗普通MCU的出厂价可以低到0.3到0.8元人民币。而一颗带安全功能的MCU成本往往要翻三到五倍。客户的第一反应永远是“我就做个智能插座你跟我谈安全芯片几毛钱的活儿你干不干”这个问题背后其实藏着三层矛盾安全能力需要硅面积硅面积需要钱安全认证需要流程流程也需要钱而消费市场对成本的容忍度极低。我见过太多项目方案评审时安全指标写得漂漂亮亮一到BOM成本核算就被砍掉。所以这篇文章不打算讲空泛的行业趋势而是从一颗安全芯片的实际设计、选型、验证、量产角度把“几毛钱能不能撑起安全”这件事掰开揉碎讲清楚。适合谁看如果你是从嵌入式转安全方向的工程师、在做IoT产品选型的硬件负责人、或者对PQC和RISC-V安全落地感兴趣的技术管理者这篇内容应该能给你一些可以直接参考的判断依据和实操思路。2. 安全芯片的核心架构与成本拆解2.1 一颗安全MCU的钱都花在哪了很多人以为安全芯片贵是因为“加了密码算法”这个理解太粗糙了。我把一颗典型安全MCU的成本构成拆一下你就能看到钱到底花在哪成本项占比估算说明晶圆面积40%-55%安全模块、密钥存储、真随机数发生器都吃面积封装测试15%-20%安全芯片通常需要防拆封装成本高于普通MCU认证费用10%-15%国密认证、CC EAL、FIPS等分摊到每颗芯片IP授权5%-10%密码算法IP、安全传感器IP软件与工具链5%-8%安全固件、烧录工具、密钥管理系统关键在晶圆面积。普通MCU的Flash和RAM占大头而安全MCU里密钥存储区、加密引擎、真随机数发生器、电压/频率/温度传感器、金属屏蔽层这些安全模块会显著增加die size。我实测过一颗带国密SM2/SM3/SM4硬件加速的MCU安全相关模块大约占了总面积的35%。如果工艺是55nm每平方毫米的成本大约在0.02-0.04元你算算35%的面积对应多少钱。2.2 PQC带来的额外成本压力PQC是这两年被讨论最多的方向。传统ECC在256位密钥下硬件加速器面积大约在15k-25k门。而PQC的主流算法比如KyberML-KEM和DilithiumML-DSA密钥尺寸和运算复杂度都大幅上升。Kyber-768的公钥是1184字节密文是1088字节而ECC P-256的公钥只有64字节。这意味着存储开销密钥存储区需要扩大10-20倍运算开销NTT数论变换运算需要更大的乘法器和更多的RAM通信开销密钥交换时的数据包更大对无线场景不友好我做过一个粗略估算在同等工艺下加入Kyber硬件加速的安全MCU面积比只支持ECC的版本增加约20%-30%。如果原本芯片成本是1.5元PQC版本可能要到1.9-2.0元。对于“几毛钱”的市场这确实是压力。但反过来看PQC的软件实现也是可行的。在RISC-V核上跑Kyber的优化软件实现Cortex-M4级别约100MHz完成一次Kyber-768封装大约需要2-5ms解封装类似。对于很多IoT场景这个延迟是可以接受的。所以我的判断是短期靠软件PQC过渡长期靠硬件加速降成本。2.3 RISC-V在安全芯片中的成本优势RISC-V对安全芯片的成本影响是结构性的。传统ARM Cortex-M系列需要授权费虽然单颗芯片分摊下来不多但对于出货量百万级的消费市场每颗省几分钱就是几万块。RISC-V开源指令集没有授权费而且可以根据安全需求做指令扩展。比如你可以给RISC-V核加自定义指令来加速SM4的轮函数或者加一条指令做常量时间的条件选择防止时序侧信道攻击。这种灵活性在ARM核上要么做不到要么需要额外IP。我见过一个团队用RISC-V核做安全MCU通过自定义指令把SM4的吞吐率提升了3倍同时面积只增加了不到5%。但RISC-V也有代价生态不成熟。安全认证工具链、调试器、RTOS支持都不如ARM完善。如果你要做CC EAL5以上的认证RISC-V的认证案例还比较少认证机构可能需要更多时间评估。这部分“时间成本”最终也会转化为“钱”。3. 安全芯片的实操选型与验证要点3.1 选型时最容易踩的三个坑我在选型安全芯片时踩过不少坑这里说三个最典型的第一个坑只看算法支持列表不看密钥管理能力。很多芯片 datasheet 上写着支持AES-256、SM2、SM4但你仔细看密钥存储——有些芯片的密钥是存在普通Flash里的通过软件读取。这意味着如果攻击者能读Flash密钥就泄露了。真正的安全芯片应该有独立的密钥存储区最好是一次性可编程OTP或者带物理防护的存储。第二个坑忽略真随机数发生器的质量。密码学里随机数质量决定了一切。我见过某款芯片的TRNG输出在低温下熵值明显下降导致密钥生成有偏差。选型时一定要看TRNG的熵源设计——是环形振荡器、还是热噪声、还是两者混合有没有健康测试这些细节决定了安全的上限。第三个坑低估认证成本和时间。国密认证、CC认证、FIPS认证每一个都是钱和时间。如果你只是做消费类产品可能不需要完整认证但至少要做安全启动和安全升级。这两个功能如果芯片原生支持能省掉大量软件开发时间。3.2 安全启动与防回滚的实操配置安全启动Secure Boot是安全芯片最基础也最重要的功能。它的核心逻辑是芯片上电后先用固化在ROM里的公钥验证第一级引导程序的签名验证通过才跳转执行。然后逐级验证直到应用固件。防回滚Anti-Rollback是安全启动的延伸。它的目的是防止攻击者把固件降级到有漏洞的旧版本。实现方式通常是用一个单调递增的计数器Monotonic Counter每次固件升级时计数器加一芯片拒绝加载计数器值低于当前值的固件。我在实际项目中用过的一种方案是在OTP区域划出几个bit作为版本号每次升级烧写一个bit。这样最多支持N次升级但成本极低。另一种方案是用Flash里的一个特殊扇区存储版本号配合签名保护。这种方案升级次数不受限但需要确保版本号本身不能被篡改。注意防回滚的版本号必须和固件签名绑定。如果只保护版本号不保护固件攻击者可以替换固件但保留版本号防回滚就失效了。3.3 侧信道攻击的防护与测试侧信道攻击是安全芯片面临的最实际威胁之一。攻击者通过测量芯片的功耗曲线或电磁辐射可以推断出密钥信息。防护手段主要有掩码Masking把敏感中间值拆分成多个随机份额单独测量每一份都得不到有用信息隐藏Hiding让功耗曲线和操作无关比如用双轨逻辑或随机插入伪操作常量时间实现确保所有操作的执行时间与密钥值无关测试侧信道防护是否有效通常用TVLATest Vector Leakage Assessment方法。简单说就是采集大量功耗曲线用统计检验判断是否存在泄漏。我在实验室用ChipWhisperer做过AES的CPA攻击一个没有防护的软件AES实现几千条曲线就能恢复密钥。加了掩码之后需要几百万条曲线攻击成本大幅上升。但掩码是有代价的面积增加30%-50%速度降低2-5倍。对于几毛钱的芯片这个代价很难承受。所以实际产品中往往只在最关键的密钥操作上加掩码其他部分用常量时间实现来降低风险。4. 从设计到量产安全芯片的完整落地流程4.1 需求定义与安全等级选择做安全芯片项目第一步不是选架构而是定安全等级。你需要回答几个问题产品面向什么市场消费类、工业类、还是金融类需要防什么级别的攻击软件攻击、物理攻击、还是侧信道攻击需要什么认证国密、CC、FIPS、还是不需要认证我一般建议客户用这个矩阵来判断应用场景推荐安全等级典型芯片形态成本区间智能家居基础安全启动安全升级安全MCU1-3元工业网关安全启动密钥存储TRNG安全MCU/SoC3-8元金融终端完整认证侧信道防护安全SoC10-30元车规安全功能安全信息安全安全MCU15-50元这个矩阵不是绝对的但能帮你快速定位。关键是不要过度设计。我见过一个做智能灯控的团队非要上CC EAL5结果成本翻了十倍产品根本卖不动。4.2 硬件设计中的安全细节安全芯片的硬件设计有几个容易被忽略但很关键的细节电源管理安全芯片对电源毛刺很敏感。攻击者可能通过快速掉电来绕过某些安全检查。所以电源设计要有掉电检测BOD在电压低于阈值时立即复位确保不会执行不完整的操作。时钟安全有些攻击通过注入时钟毛刺来跳过指令。安全芯片应该有时钟监控检测到异常时钟时触发复位。调试接口保护JTAG/SWD接口是最大的后门。量产芯片必须永久关闭调试接口或者用密码保护。我见过一个产品因为忘记关调试口被竞争对手读出了全部固件。PCB布局安全芯片的电源引脚要加去耦电容敏感信号线要远离时钟线。如果做防拆设计还需要在PCB上布置防拆网格一旦外壳被打开就触发密钥擦除。4.3 固件开发与密钥管理安全芯片的固件开发和普通MCU有本质区别你写的每一行代码都可能影响安全性。首先是安全启动链。从ROM到Bootloader到应用每一级都要验证下一级的签名。签名算法建议用ECDSA P-256或SM2验签速度比RSA快很多。公钥要烧在OTP里不能改。然后是密钥管理。设备密钥、会话密钥、升级密钥要分开。设备密钥用于身份认证会话密钥用于通信加密升级密钥用于固件签名验证。升级密钥绝对不能和设备密钥共用否则一台设备被攻破整个产品线的升级通道都危险了。密钥的生成和注入要在安全环境里做。我见过小团队直接在办公室用脚本生成密钥然后烧录这是大忌。密钥生成应该用HSM硬件安全模块注入过程要有审计日志。4.4 量产烧录与产线安全量产阶段的安全问题往往被低估。产线上有大量芯片、大量密钥、大量数据任何一个环节出问题都是灾难。烧录工具不要用通用的烧录器。安全芯片应该用加密烧录烧录器和芯片之间要有认证和加密通道。密钥在烧录器里是加密存储的烧录完成后立即销毁。产线数据每颗芯片的ID、密钥版本、烧录时间都要记录。这些数据可以用来追溯也可以在芯片被攻击时快速定位影响范围。不良品处理烧录失败的芯片不能随便丢弃要物理销毁或者擦除密钥。我见过一个案例产线把烧录失败的芯片当废品卖了结果里面的密钥被提取出来。5. 常见问题与排查技巧实录5.1 安全启动失败怎么排查安全启动失败是最常见的问题表现是芯片上电后不运行或者反复复位。排查思路确认公钥是否正确烧录。用烧录工具读回OTP区域对比公钥哈希。确认签名是否正确。用同样的私钥重新签名看是否能通过。确认启动模式。有些芯片有多个启动模式确认没有误入调试模式。看复位原因寄存器。安全芯片通常有复位原因寄存器能告诉你是因为签名验证失败还是其他原因复位。我遇到过一次签名验证一直失败最后发现是签名工具用的哈希算法和芯片期望的不一致。芯片期望SHA-256工具默认用了SHA-1。这种问题看寄存器就能快速定位。5.2 密钥读写异常的典型原因密钥读写异常通常有几种表现读出来全是0、读出来全是FF、读出来随机数、或者读一次之后就不能再读。全是0或FF通常是密钥区域没有正确初始化或者访问权限没配置对随机数可能是读到了未初始化的区域或者芯片进入了某种保护模式读一次后不能读这是正常的很多安全芯片的密钥区域设计成只读一次读完后自动锁死提示密钥区域的访问权限一定要在烧录前确认清楚。有些芯片的密钥区域一旦写入就不能再改写错了只能换芯片。5.3 侧信道测试不通过的整改思路如果TVLA测试发现泄漏整改思路按优先级排序检查是否有明显的与密钥相关的分支。比如if (key_bit) { ... } else { ... }这种代码在功耗上会直接暴露密钥位。检查是否有查表操作。AES的S盒如果直接用数组查表访问地址和密钥相关会泄漏。要用常量时间的S盒实现。加掩码。如果前两步都做了还有泄漏考虑对关键操作加一阶掩码。加噪声。在功耗曲线上加随机噪声可以增加攻击难度但不能从根本上解决问题。5.4 常见问题速查表问题现象可能原因排查方法解决思路安全启动失败公钥错误/签名算法不匹配读OTP对比公钥哈希重新烧录公钥统一签名算法密钥读出全0权限配置错误检查访问控制寄存器重新配置权限芯片反复复位时钟/电源异常查复位原因寄存器检查BOD和时钟监控配置TVLA测试泄漏代码有密钥相关分支用固定vs随机密钥对比改常量时间实现防回滚失效版本号未绑定签名检查签名覆盖范围把版本号纳入签名数据烧录后无法调试调试口被锁检查调试锁定位量产前保留调试口量产时锁定6. 成本与安全的平衡我的实操经验6.1 哪些安全功能可以省哪些不能省在成本压力下不是所有安全功能都必须上。我的经验是不能省的安全启动这是信任链的根没有它一切安全都是空中楼阁密钥存储保护密钥泄露等于全部泄露真随机数发生器随机数质量决定密钥质量调试接口保护这是最常见的攻击入口可以省的完整的侧信道防护如果产品不是高价值目标可以先不做掩码但要做常量时间实现硬件PQC加速软件PQC可以过渡等成本下降再上硬件高级物理防护防拆网格、金属屏蔽层这些可以后续版本再加6.2 用RISC-V做安全芯片的实操建议如果你打算用RISC-V做安全芯片我的建议是选一个经过验证的RISC-V核不要自己从头写。安全芯片的核需要经过严格验证自己写的核很难保证没有漏洞。用好自定义指令。RISC-V的扩展性是最大优势把SM4、SHA、TRNG这些关键操作做成自定义指令能大幅提升性能和安全性。注意工具链成熟度。RISC-V的编译器和调试器还在完善中安全相关的工具链支持可能不如ARM。提前评估工具链是否满足认证要求。考虑双核架构。一个核跑安全任务一个核跑应用任务通过硬件隔离。这样即使应用核被攻破安全核仍然安全。6.3 关于“几毛钱”的最终判断回到标题的问题几毛钱撑得起安全芯片的未来吗我的判断是几毛钱可以撑起基础安全但撑不起高级安全。对于消费类IoT几毛钱的安全MCU可以做到安全启动、安全升级、密钥保护这已经能挡住大部分软件攻击和低成本的物理攻击。但如果要防侧信道、防物理探测、过高级认证成本必然要上到几块钱甚至几十块钱。所以关键不是“能不能”而是“值不值”。你的产品值多少钱攻击者愿意花多少钱攻击你这两个问题的答案决定了你应该花多少钱做安全。我见过一个做智能门锁的团队芯片成本1.2元但因为他们做的是门锁安全等级要求高最终选了3.5元的安全MCU。也见过做智能灯泡的0.8元的安全MCU就够用了因为攻击一个灯泡没什么价值。最后分享一个我在实际项目中的小技巧在芯片选型阶段先做一个安全需求清单把“必须有”、“最好有”、“可以没有”分开。然后拿着这个清单去和芯片厂商谈往往能找到性价比最高的方案。不要一上来就看最贵的芯片也不要为了省几分钱牺牲核心安全功能。这个平衡点需要你对产品、对市场、对攻击者有足够深的理解才能找到。
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。