1. 为什么须要硬件安全
①安全是系统级的,如果只是软件进行安全防护,那么无法建立强有力的信赖根;

②Crypto Engine只是办理了密码打算问题,只是纯挚的拼凑组合是无法组成安全系统的;

③各种高档级的认证哀求底层的核心安全,密码实现须要由硬件来完成参与。
2. 传统安全办理方案比拟
三种方法:MCU,TEE,SE方案无好坏之分,只有是否符合系统的运用处景来选择办理方案。
3. SoC安全办理方案
①将传统的SE的功能集成到SoC中,避免了板级走线带来的安全风险;
②避免了外部的数据传输性能的瓶颈,可以作为加速器利用;
③无需额外的芯片,降落了整体本钱;
④目前手机AP厂商大多数利用该办理方案
二、Root of Trust(信赖根)
1. 信赖根(RoT)是建立信赖链的来源,也是SoC中安全根基
其涉及安全启动、密钥管理两部分。
2. 安全启动
①硬件卖力初始化安全启动过程中须要利用的模块,例如随机数发生器、安全传感器、NVM掌握器等
②CPU从自身ROM中读取一级启动代码,对外部的二级Bootloader 进行解密和验签,确保二级Bootloader的完全性和认证性
3. 密钥管理
①保护密钥的机密性,密钥一样平常存储在NVM中;
②确认密钥的完全性;
③提前考虑各种角色,确保在实际场景中的可用性;
④结合芯片生命周期管控烧写、利用、debug干系权限
三、关键安全模块
01 MPU/MMU
访问地址、权限隔离
02 Crypto Engine
①供应各种秘钥运算的支持;
②提升秘钥运算的性能和安全性;
③避免软件可以访问关键秘钥,高档级的安全认证密钥硬件化。
03 Detector
探测环境的非常变革;
当在攻击硬件时,可能须要通过升压,提高频率等方法,而当SoC系统中存在这些监控非常变革时,能够及早的预防这些非常变革,从而保护硬件安全。
04 Storage Protection Unit
保护存储单元内的数据,地址总线和数据总线都须要加密、加扰。
05 Bus Protection Unit
保护总线上传输的信息,地址和数据都须要加扰(实时性比较高,一样平常只做加扰)。
06 Secure Processor
①利用Memory Tagging等技能防止关于Memory的攻击;
②利用Time constant计数防止Timing Attack。
四、安全系统的运用—— 智能电表
1.智能电表是IoT范例安全敏感运用;
2.智能电表处于一个开放的不可控的环境下;
3.只能电表覆盖量极大,并且与根本民生干系,有着很高的代价;
4.智能电表是一个范例的基于MCU的SoC芯片,SoC中有着很多的防护方法保护RoT和运行安全。
五、总结
1.安全系统方案多种多样,根据实际业务场景进行选择;
2.单一模块无法担保系统安全,系统安全须要从硬件、软件、生产和利用统筹考虑;
3.RoT须要由硬件来实现从而达到不可修改的特性;
4.随着新兴行业(IoT,5G)的发展,硬件安全的重视程度逐渐提升。
(原文链接:https://blog.csdn.net/vivid117/article/details/117380971)







