TrustZone不是新东西,可是外行人了解的并不多。最近又屡屡被提及,所以就拎出来说道说道吧!
 
先说两条相关新闻:

l、 近日在ARM Tech Symposia上,发布了新的一条产品线Cortex-M23和Cortex-M33。最大的卖点就是在TrustZone。M23是在M0+的基础上加上了TrustZone并进行了性能优化,M33是在M3和M4的基础上加上了TrustZone并且提升了整体架构性能。ARM的目的是为了满足在物联网时代节点的安全要求。
 
QQ截图20161108111237.png


l、 也是近日,GeekPwn上,华为P9 Lite的指纹识别功能被轻松攻破。破解手法正是通过修改麒麟650的底层TrustZone中的指纹识别模块的数据。
从上面两条热闻中无不体现出TrustZone的重要性:ARM将人类未来整个物联网安全押在了其上;这项ARM引以为豪的安全技术在黑客眼中还是一样的不堪一击。
TrustZone到底如何确保安全?
根据知乎用户大头的解释,TrustZone在技术层面上可以实现四大功能:1.防止操作系统被攻破后关键数据泄密,关键数据存放在特定内存区域,而那块区域,只有安全操作系统才有可能读到。


2.防止通过JTAG等调试接口读到寄存器,缓存,内存或者闪存数据。


3.从芯片制造开始,最初的密钥可以用芯片熔丝实现,往后启动的每一步都需要最高特权级和密钥验证,建立信任链,杜绝软件被替换或者被恶意读取。


4.防止边带攻击,比如量取内存颗粒的信号猜测数据,制造故障让检验模块停止工作,替换外围器件,输入特定数据确定电磁信号特征,打开芯片直接量内部信号线等。
QQ截图20161108111301.png


简单来讲,TrustZone是设计者在SoC内建的一种硬件安全机制。TrustZone的核心理念是将安全与不安全的硬件进行分离。
安全与不安全域之间的切换机制被称为Monitor。当不安全域的用户模式需要获取安全域的服务时,首先需要进入到不安全域的特权模式,在该模式下调用SMC,处理器将进入到monitor模式,monitor模式备份不安全域的上下文,然后进入到安全域的特权模式,此时的运行环境是安全域的执行环境,此后进入到安全域的用户模式,执行相应的安全服务。这里把安全域的用户模式和特权模式分离,是因为通常特权模式中的执行环境是系统级别的,而用户模式的安全服务是应用级别的,两者的提供者通常是不同的。

QQ截图20161108111324.png


依赖于TrustZone的指纹识别还安全吗?

曾经,手机厂商有多种指纹识别的安全方案,而TrustZone因为其安全度高而备受青睐。各大手机厂商都发扬自身技术优势,将TrustZone演变成各种安全机制。
Secure Enclave
苹果走的路一直是一枝独秀。苹果使用的也是TrustZone技术,不过是经过了其高度优化的TrustZone技术。这个神器就是Secure Enclave模块,它在处理安全时会启动序列码和软件更新机制,专门负责对数据保护加密操作的关键操作以及数据保护完整的流程。只有Secure Enclave能够访问用户指纹信息,苹果公司也无法获知,也不会传到iCould上面。

QQ截图20161108111339.png

mTouch
魅族的mTouch也是基于ARM TrustZone技术。需要注意的是,即使手机被root之后,你也不能接触到安全域中的数据,必须通过meizu的审核与签名才可以真正进入安全底层修改代码。

QQ截图20161108111356.png

tOS
华为在麒麟芯片中运行了自家定制的安全OS(tOS),在所录入的所有指纹模板信息在手机中是手机本身利用AES256算法进行加密的,每个芯片都有独一无二的密钥,这个密钥在芯片出厂时就是被一次性熔断写入的,根本无法从外部读取和修改。指纹模板数据只能写入和删除,无法读取和修改,自然也不会上传任何服务器,更不会被任何第三方程序读取。

QQ截图20161108111413.png

 
不管你是出厂一次性熔断写入,还是通过何种安全os来加持;只要是基于TrustZone的技术,在黑客的手中目前都已不再安全。物联网安全已经越来越受到用户关注,因此ARM适时推出Cortex-M23和M33,通过TrustZone来加强物联网节点的安全。虽然此次的华为P9Lite事件让公众对于TrustZone技术产生了不信任感,不过说真的,你没有别的选择。毕竟在这个时代有句名言:只有相对的隐私,从来都没有绝对的安全。 

 
来源:网络