SE(Secure Element)加密芯片与MCU协同工作的典型流程
以下是SE(Secure Element)加密芯片与MCU协同工作的典型流程,综合安全认证、数据保护及防篡改机制:
一、基础认证流程(参数保护方案)
密钥预置
SE芯片与MCU分别预置相同的3DES密钥(Key1、Key2)。
参数存储
SE芯片预存产品关键参数(如Data),存储格式为离散化Lv结构,数据大小由宏定义控制。
随机数交换
MCU生成16字节随机数Rand1,加密后发送读指令至SE芯片;
SE生成16字节Rand2,计算临时密钥 TempKey = Rand1 ⊕ Rand2。
动态加密传输
SE用Key1加密Rand2得到密文C1,再用TempKey加密Data得到C2;返回复合密文C = C1 || C2 至MCU。
MCU端解密验证
MCU通过Key2解密C1获取Rand2,重构TempKey后解密C2得到Data,完成双向认证。
二、深度集成方案(算法移植)
核心逻辑移植
将MCU中关键算法(如校验逻辑、敏感计算)移植到SE芯片内独立运行。
离散化存储
SE芯片内部程序与数据采用离散存储,通过硬件级防护防止外部读取。
动态交互验证
MCU调用SE芯片执行移植算法,输入参数并接收加密结果,脱离SE则功能失效。
三、硬件级防护机制
物理防篡改
SE芯片内置自毁电路,检测到物理攻击时自动擦除敏感数据。
唯一标识绑定
MCU读取自身唯一ID(如STM32的96位UID);
将ID与密钥结合生成加密Password,预置至SE芯片;
运行时双向验证ID与Password一致性,实现芯片绑定。
四、增强型安全策略
多层加密叠加:结合SE硬件加密(如AES引擎)与MCU软件加密(代码混淆/指令伪装),提升破解成本。
动态密钥更新:通过SE生成临时会话密钥,每次通信使用不同密钥,防止重放攻击。
联网认证(可选):SE芯片接入网络进行远程授权验证,确保程序仅在合法设备运行。
方案选择建议
基础防护:参数保护方案(开发快,安全性适中);
高安全需求:算法移植+唯一ID绑定(防抄板最佳实践);
极端环境:物理自毁型SE芯片(金融/车载场景)。
典型流程示意图:
MCU发起请求 → 随机数加密传输 → SE动态生成密钥 → 参数加密返回 → MCU解密验证 → 功能执行
此流程确保无绝对比对点,程序执行中无显式对错判断,显著增加动态分析难度。