高通msm8916平台QSEE之trustzone分析

从硬件背景上看TZ是在ARMv6的架构上产生的,在ARMv7上重新设计了,TZ的目的是提供一个软硬件都安全的环境,安全的环境是单独的运行在一个硬件空间,和非安全的进行了硬件上的隔离。




QSEE主要负责加载APP,以及安全APP的堆栈管理,提供安全的API接口,安全的字符操作和LOG功能

QSAPPS是高通开发的APP,运行在QSEE之上

用户空间通过加载并调用QSEEAPP来是实现一些安全数据或敏感操作的加密


QSEEComAPIlib是暴露给HLOSAPIHLOS客户端和监听端利用QSEEComdriver通过这些API来和QSEE进行数据的收和发。


QSEEComclient是需要调用QSEECom_start_app来得到一个句柄指向QSEECom字符设备,并且可以用这个句柄来进行数据的首发



QSEEComlistener需要用QSEECom_register_listener来注册,可以注册多个listener,每个listener所在的线程将会被挂起,直到接收到包含到该listener的信息。

QSEEComdriver是一个字符型设备,通过IOCTL来和QSEECom进行通讯,这些IOCTL都应该被QSEEComAPI进行调用








因为qsee不开源 tz部分只能看到少量符号

所以主要从用户和开发角度观察tz


开发需要开发相应的qsapp来实现安全的一些数据操作

用户态中需要加载相应的qsapp,并且利用qsapplib提供的API来和qsapp进行通讯


而qsapp如何与qsee进行通讯的呢

qsapp则调用scm来将数据保存到安全空间


为什么tz能实现安全呢


从硬件上 就区分了两个世界,安全世界用一根总线,非安全世界用一根总线


非安全世界的操作无法访问到安全世界


必须通过qsee中的scm调用来访问


而用户操作只能访问qsapp


所以达到了安全保护的作用


你可能感兴趣的:(高通msm8916平台QSEE之trustzone分析)