今年参加了几个展会,看到越来越多的IOT芯片和设备公司开始重视安全。在交流的过程中也发现这些公司的苦恼,因为安全技术比较泛,不知道怎么选型才能满足自己的安全要求,例如安全芯片和TrustZone到底什么区别,分别用在什么场景,以及什么关系。其实这些问题在2013年至2015年已经在手机圈谈论了无数遍,今年又在IOT圈重新被大家提起。最直接的答案是SE和TrustZone不是竞争关系,是互补关系,各自发挥长处解决不同的问题,这个在手机上已经有了很好的证明,手机同时支持TrustZone和SE,两者之间并不矛盾。TrustZone已经成为手机的安全基础,例如数字版权保护,生物识别支付、系统安全,BYOD等场景都是依赖于TrustZone来保证,其中交通卡、eSIM,strongbox等场景是通过SE来实现。
安全芯片技术已经非常成熟,有安全的生产环境,秘钥管理体系,同时能够防止物理攻击,也有很多安全芯片通过了CC EAL4+的认证,很多IOT设备已经集成了安全芯片来提升安全性,比较典型的场景就是存放证书,实现IOT设备和云端的双向认证。那为什么IOT设备集成了SE,还需要使用TrustZone来保证呢?因为攻击面不一样了,安全是个系统级别的方案,如果有一个环节出了问题,那么所做的安全方案都前功尽弃,例如我们要建安全房子,需要从房屋结构,门的材质,防盗窗,以及地基等全面考虑,而不只是简单的买把锁。那IOT的系统级别安全方案怎么实现呢,Arm的平台安全架构(PSA)给出了IOT设备的安全基本功能,如果缺失任何环节的话都可能会造成安全问题。
现在IOT系统越来越复杂,我们不可能设计出一个绝对安全的IOT设备,在我们设计IOT安全方案时要提前考虑到底要保护什么,保护资产的最大价值是什么,以及保护范围是什么?我们要保护的范围是IOT设备系统,而不只是某些点,集成安全芯片的保护范围在安全芯片本身,而安全芯片的频率比较低,资源受限,比较难做应用扩展,很难解决IOT设备的系统级别的安全问题,那么TrustZone刚好可以补充这些问题。TrustZone是指令集级别的安全解决方案,是从芯片设计最早阶段从最底层来解决安全问题,例如隔离环境,安全启动,安全升级和防止回滚攻击等,另外TrustZone天生具备灵活的优势,可以非常灵活来管理安全外设,提供运行时的保护,资源可配置,能够动态分配安全资源满足更多的应用场景的要求,TrustZone+安全芯片会逐渐成为IOT的趋势。
有些智能家居、智能门锁的方案公司希望通过安全拉升品牌形象,通过实现系统级别的安全方案来实现产品差异化。使用TrustZone和SE分别解决不同的安全问题,例如安全芯片来存放证书,通过TrustZone技术来保证安全启动,安全升级,防回滚攻击,安全存储,安全设备管理,安全调试等基础安全能力,并通过TrustZone技术来保证用户密码,生物特征的安全性。
本文会持续更新,如果有任何问题,欢迎随时沟通。