EDN China > 技术文章 > 汽车电子 > 安全控制 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

新一代MCU如何提升车联网汽车安全性

Danilo Gaetano Ciancitto?? STMicroelectronics汽车电子事业部?? 2015年07月24日 ?? 收藏0

启动安全机制

在启动阶段,MCU四个内核中只有两个通过重置被唤醒。这两个是IOP(输入输出处理器)和HSM内核。通过一个DCF记录,IOP与HSM CPU之间的一个信号交换过程被激活。IOP执行BAF启动辅助闪存,而HSM CPU执行客户定义的代码。IOP内核执行系统设置,如果敏感数据遭到修改或者发现有侵入企图,HSM内核就会进行各种检验,例如闪存完整性检验。

安全启动能够一直保持并处于受控状态,同时进入特殊的预定边界和微启动阶段,与此同时,能够检测篡改攻击或ROM中的固件操纵。在这种情况下,它可以禁用所有的加密功能,使所有密钥不可用。

POR(加电重置)过程中的IOP内核,如果处于设备的客户交付阶段,则对其编程以便执行BAF辅助闪存。这个BAF是写入某些内存地址中的嵌入代码,利用两种机制加以保护:OTP(一次性可编程)和OPP(程序外保护)。通过这种方式,启动永远在受控状态下执行,也可以利用一个串行引导装入过程,或者在直接跳转到应用代码起点的情况下,把访问权授予RAM。各种软件开发者都参与到最后的应用发布中,仅在客户交付和OEM生产阶段启用BAF,允许上载固件,而在现场设备阶段则完全禁用。通过这种方式,应用代码在执行过程中遭到限制,不可能利用硬件系统资源进行未经授权的固件升级。在现场设备阶段,只有OEM厂商开发的应用才能执行固件升级。

防范外部访问

汽车选用电子器件是因为其可以通过多种通信总线实现先进的互连功能,因此对于安全设计者来说,保护和外部界面的访问是最大的挑战。为了能对器件访问具有较强的选择性,业内开发出一种多层JTAG安全架构。

JTAG安全架构采用了所谓的“PASS”模块,除了保护器件闪存访问的基本任务以外,它利用一种口令机制来限制JTAG端口访问。因此,JTAG端口得到了严格控制,采用一种挑战/响应协议,封锁任何自由访问。

与PASS模块相配合的还有“审查模块”,在设备遭到审查或JTAG口令无法识别的时候,启用闪存读出保护和调试界面访问。换句话说,从OEM生产阶段及后续阶段,审查模块可以让设备被审查或不被审查,在授权调试器访问的时候,修改闪存可以被JTAG界面读取。

此外,设备访问也依赖来自现场设备阶段的“生产禁用”DCF设备配置格式,具有高于所有访问控制的优先级,可以禁用调试端口界面。在设置DCF之后,MCU的运行将不受任何限制,但调试端口界面将被禁用。软件开发者可以决定重新启用这个端口,但设备不再能够使用。实际上,这种机制是在CAN和FlexRay总线波特率中添加了一个时钟偏差,使得这些通信总线无法工作。

另一方面,还需增加两个安全级别,以限制利用调试端口界面对MCU的内存访问。HSM使用两个寄存器(HSMDUR和MDUR)来控制外部工具对主内核与HSM内核的访问。这样一来,在发生非法访问的情况下,同一个TAP控制器就可以受到严格限制。换句话说,即使攻击者能够在调试端口进行未经授权的访问,但仍然无法访问HSM及其代码。

最弱环节:MCU闪存

对于任何外部攻击来说,最薄弱的环节也许就是MCU闪存,这里存放着固件以及所有的安全配置,如口令和密钥。

因此很自然,在MCU内部采取了多种机制和模块加以保护,与MPU(内存保护单元)一道,另外两个模块完全用于保护设备闪存内容:即PASS和TDM模块。此外还有上面提到的HSM、审查模块和密封模块能够有效地限制闪存访问。

如图3所示,PASS与TDM模块组合可以禁用所有的闪存擦除与程序操作,而一个专用DCF(OTP_EN)可以启用原始设备的编程。

图3 MCU闪存封锁保护系统
图3 MCU闪存封锁保护系统

尽管MPU在不同访问层级(读/写或用户/审查模式等等)保护和管理内存,但无法抵抗可以修改内存内容的侵入攻击和外部操纵。进入PASS模块,该模块不仅可以利用256位口令机制控制任何闪存操作(闪存读取、闪存编程、闪存擦除),而且也能检查外部调试访问端口。这些口令是受到保护的,而且与OEM生产和后续阶段相隔离。一旦那些256位口令写入用户闪存测试DCF,就不能再被访问,只能通过PASS模块输入寄存器来修改受到保护的存储区。

TDM篡改检测模块可提供一个非常有效的针对数据操纵企图的反制措施,因为它创建出一种电子日志,当某些受保护的内存区被擦除的时候,操作者不得不在日志上留下数字记录。也就是受到TDM保护的所有内存区块只能通过对特殊的闪存区编程来擦除,从而确保不可撤销的机制留下修改和固件升级企图的证据。

设备中采取的其它闪存保护机制还有OTP和OPP,它们只在原始设备和密封阶段才允许内存擦除请求。这完全保护了内存区,禁止在故障分析阶段访问某些内存区。此外,就HSM模块而言,还有其它两种保护机制限制对这个安全内核中专用闪存区的访问:HSM执行机制和替代接口机制。第一种机制只允许HSM访问HSM闪存专用部分,而第二种机制允许通过专用界面访问HSM闪存寄存器,只供HSM内核使用。

HSM模块的每个存储区可以指定为“HSM专用”。这样,该存储区就可以利用替代接口机制来访问。替代接口机制是一组闪存寄存器,复制主接口寄存器功能用于擦除与编程操作。这样,一旦HSM存储区通过DCF被映射到替代接口,对于主接口来说,任何访问、编程或擦除该存储区的企图都不可能得逞。

【分页导航】

《电子技术设计》网站版权所有,谢绝转载。


?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

车联网? ADAS? MCU? HSM?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈