本文主要是介绍TEE的由来以及TEE的概念,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
-
TEE的由来
-
TEE-with-OS启动实例
-
TEE概览
将一个物理处理器分时复用为两个逻辑处理器一半是Rich Execution Environment , 用来运行不可信的系统和APP一半是Trusted Execution Environment , 用来运行可信的系统 ,管理 关键硬件, 为 不可信的系统提供接口TEE是一种环境,可信执行环境。TEE的实现方案需要硬件和软件的参与。硬件:arm的trustzone,rv的多区域等。软件:op-tee等
- TEE深入
TEE会独占访问某些硬件资源TEE会暴露一个接口给不可信的OS(例如linux)当应用要访问这些硬件的时候,会陷入内核,内核通过接口(SMC陷入下一层)与TEE中的软件交互(一般参数用内存传递),TEE将TEE管理的硬件的数据传递(一般通过内存)给内核,应用从内核返回,从而获取到硬件数据TEE 与 linux 在 cpu的占用上是分时的,在时间上是天然互斥的将一个物理处理器分时复用为两个逻辑处理器一般来说 linux内核中 通过 SMC 陷入 TEE , 然后 TEE 通过 ret 返回 linux内核假设 时间 "linux 内核 通过 SMC 陷入 TEE , 然后 TEE 通过 ret 返回 linux内核" 为 时间Alinux 对 时间A 的大小有没有要求因为如果此时看门狗在工作的话,而且 喂狗时机只在 linux内核(tee-os中没有喂狗时机), 时间A长了,肯定会触发看门狗 reset cpu
- TEE 硬件厂商及实现
ArmTrustZone技术提供了一种高效的、系统范围的安全方法,它将硬件强制隔离内置于CPU中。
Hex-Five多区域安全是Hex-Five安全创建的第一个RISC-V可信执行环境。
AMD平台安全处理器(PSP)的正式名称是AMD安全技术,是一个集成在AMD微处理器中的可信执行环境子系统。
IntelSoftware Guard Extensions(SGX)是一组与安全相关的指令代码,内置于一些现代Intel CPU中,可用于实现TEE。
苹果使用了一种专用处理器SEP(Secure Enclave processor)来实现数据保护、触摸ID和人脸识别等功能。SEP负责处理密钥和其他信息,如生物特征识别,这些信息非常敏感,不会被应用处理器处理。
谷歌也有一个类似的解决方案称为Titan M,这是一些Android Pixel设备上可用的外部芯片,可以实现TEE和处理安全引导、锁屏保护、磁盘加密等功能。
————————————————
版权声明:本文为CSDN博主「奔人之旅」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Thanksgining/article/details/111248666
- TEE软件
对Trust侧系统的实现,国际组织GP对其有一部分规范和要求,可以参考https://github.com/OP-TEE/optee_os/blob/master/documentation/globalplatform_api.md当前具有自己TEE解决方案的厂商有:高通的Qsee(qcomsee)三星的Trustonictee OSgoogle的trustyOP-TEE OSopentee海思MstarVIA豆荚科技ARM Linaroop-tee几个TEE的软件实现(提供开源工具或者基于TEE开发的SDK)如下:商业的TEE实现,如Trustonic的t-base,Solacia的securiTEE不花钱肯定是无法使用的。而T6和SierraTEE貌似都必须购买相应的硬件开发板才能使用其开源的TEE软件,而且硬件开发板也不便宜。OP-TEE、TLK和Open TEE是完全开源实现(1)Trustonic公司的t-base,是一个商业产品,已经得到GlobalPlatform的授权认可https://www.trustonic.com/products-services/trusted-execution-environment/(2)Solacia公司的securiTEE,也是一个商业产品,并且得到了GlobalPlatform的授权认可http://www.sola-cia.com/en/securiTee/product.asp(3)OP-TEE,开源实现,来自STMicroelectronics,BSD授权支持下的开源开源地址:https://github.com/OP-TEE(4)TLK,开源实现,来自Nvidia,BSD授权支持下的开源开源地址:http://nv-tegra.nvidia.com/gitweb/?p=3rdparty/ote_partner/tlk.git;a=summary(6)T6,开源实现,GPL授权下的开源研究,主要是上海交大的,是国内开展TEE研究比较早的地址:http://www.liwenhaosuper.com/projects/t6/t6_overview.html(7)Open TEE,开源实现,来自芬兰赫尔辛基大学的一个研究项目,由Intel提供支持,在Apache授权下提供支持开源地址:https://github.com/Open-TEE/project(8)SierraTEE,来自Sierraware公司的实现,拥有双重属性,一半开源一半商业性质地址:http://www.openvirtualization.org/
其他
- 非安全模式到安全模式的切换
armv8非安全code 跑 arm trust firmware,切换到el3,然后再跑optee
armv7非安全code 跑 core/arch/arm/sm的子模块 ,然后再跑optee
- 安全模式到非安全模式的切换
armv8➔ EL3 has platform specific runtime firmware.➔ EL3 has secure privileges.➔ ARM64 start from EL3, means in secure world.➔ Bootloaders(non-secure) uses ARM Trustedfirmware (TF-A) switch normal world EL2 sincesystem boot from secure EL3.
这篇关于TEE的由来以及TEE的概念的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!