26

Asher · 2019年11月03日

Arm的TrustZone, CryptoCell, 以及Cryptoisland到底什么关系?

上周参加2019年中国(上海)嵌入式系统安全论坛期间,朋友发来一个问题:“Arm的TrustZone,CryptoCell,以及Cryptoisland分别什么定位,区别是什么”,然后昨天又有收到两个类似的问题,发现如果不是十分了解Arm Security IP产品的话,可能确实容易混淆,这次借offsite meeting空挡时间向大家一起介绍下,三者之间到底是什么关系。
        TrustZone是Arm架构的一个安全扩展,现在Armv7-A、Armv8-A,以及Armv8-M都是支持的,实现CPU时可以选择是否实现这个安全扩展,现在Arm设计的所有的Cortex-A,以及所有的Armv8-M的CPU都是实现了这个安全扩展。
                                                                      TrustZoneTechnology.JPG
       当客户设计SoC时如果用带TrustZone的CPU,也可选择是否使能TrustZone。但是使用带TrustZone的CPU,并不是就意味着SoC就支持TrustZone,因为TrustZone是个系统级别的安全方案,包括硬件和软件。那么即使硬件上支持了TrustZone,也需要软件来配合,例如国内外有很多Secure OS,Secure Service公司提供专业服务。那么一个SoC如果要支持TrustZone,硬件上主要包含了三部分:CPU,TrustZone System IP,TrustZone Security IP。现在所有的Cortex-A的CPU,和所有Armv8-M的CPU都是实现TrustZone安全扩展的;那么除了CPU以外,还需要有System IP的支持,例如Bus,GIC,SMMU, Coresight,TZASC等,如果选用Arm的IP都是天生支持的,如果是自己实现的话,需要考虑实现安全扩展。
               TBSA-A.JPG

Security IP也是TrustZone系统中非常重要的一部分,其中CryptoCell就是其中一个Security IP,也通过FIPS认证,CryptoCell 有两个系列,分别是CryptoCell 700系列和CryptoCell 300系列,CryptoCell 700系列主要是针对一个些高性能的安全产品,一般是与Cortex-A CPU配合使用,CryptoCell 300系列主要是针对低功耗的产品,一般是跟Cortex-M的产品配合使用。
CryptoCell7xx&3xx.JPG
        这个要提别强调的CryptoCell不是Crypto Engine,是一个综合安全IP,这里也是客户问的最多的地方,说哪家的加速器面积又小,价格又便宜,因为那只是个加解密引擎,离安全的方案还差非常远。CryptoCell的定位是支持TrustZone,并且符合Arm TBSA,TBBR,TZMP的安全设计要求,也是目前市场上支持TrustZone最完善的Security IP。CryptoCell 支持常用的加解密算法,也支持国密,它能够与Arm Secure debug完美结合来管理SoC的不同调试权限,并支持TRNG,秘钥存储和管理,key provisioning来简化产线流程,支持生命周期管理限制不同的状态的访问权限,也支持防回滚攻击,具备安全的timer,同时提供secure lib集成到客户方案来实现secure boot和secure update等功能。CryptoCell有非常完善的生态,已经与很多主流的Secure OS进行了集成,大大简化开发流程并提高效率,现在CryptoCell已经运用到非常多的领域。当然如果SoC不使能trustzone,也可以使用CryptoCell。
CryptoCell.JPG

Cryptoisland是2017年Arm发布的另外一个Security IP系列,跟CryptoCell有非常大的不同,CryptoCell可以认为SoC里面一个Slave,由CPU来调用才能工作。Cryptoisland可以认为是Subsystem,包含了一个可以防物理攻击的Secure CPU,有单独Bus,单独的timer,ROM,SRAM,甚至可以把CryptoCell312集成到Cryptoisland内部提供安全服务,隔离程度更高,通过后端防护,可以达到CC EAL4+,配合TrustZone可以支持更高安全要求的应用,例如支付、交通卡、SIM、Strongbox,eID等应用,已经被一些想引导安全大厂所采用,提供高安全应用和服务。
                                     Cryptoisland.JPG
        总结来说,TrustZone是系统安全方案,Crytocell是这个TrustZone系统安全的重要的部分,Cryptoisland是针对高安全的应用需求,配合TrustZone系统提供高附加值安全服务。安全不复杂,只要能发现问题,总能够想办法去解决,难点在于不知道潜在的安全需求对系统有哪些安全要求。我们提供提供TrustZone,CryptoCell,Crytoisland就是简化安全需求分析和架构定义,让大家可以更聚焦于高附加值的服务。

上述只是个人见解,会持续更新,如果有问题,欢迎随时沟通,同时附上offsite的美图。
WeChat Image_20191103162804.jpg

推荐阅读
关注数
4553
内容数
128
Arm发布的PSA旨在为物联网安全提供一套全面的安全指导方针,使从芯片制造商到设备开发商等价值链中的每位成员都能成功实现安全运行。
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息