- 什么是TEE?
TEE全称为Trusted execute environment,也就是信任执行环境。TEE是基于trustzone技术搭建的安全执行环境
6. TEE需要硬件支持吗?
是的,硬件软件缺一不可,两者相辅相成。所谓的硬件是集成到处理器中的功能
7. TEE硬件视图
- TEE软件视图
- TEE OS是统一的吗?
不是,目前各家厂商和组织都有各自的实现方式,但是所有方案的外部接口都会遵循GP(GlobalPlatform)标准
10. 各家厂商和组织的TEE OS到底有何区别?
TA的添加和加载时的校验有所区别
- OPTEE-OS属于哪家厂商的?
属于Trustonic的
12. OPTEE-OS全称是什么?
Open-source Portable Trusted Execution Environment OS
- 到底是如何实现安全的呢?
当处于secure world状态,那么就会执行TEE OS部分的代码,当处于non-secure world状态时,就执行linux kernel部分的代码
- Linux内核能直接访问TEE部分的资源吗?
Linux kernel不能直接访问TEE部分的资源
- Linux 内核如何才能访问TEE部分的资源呢?
Linux kernel能通过特定的TA(Trust Appliaction)和CA(Client Application)来访问TEE部分特定的资源
- TA都做了些什么?
处理保密信息,如信用卡pin码,私有密码,客户数据,受DRM (Digital Rights Management,数字版权管理)保护的媒体;
为正常内核提供服务,以便不用协调正常内核就可以充分利用保密信息
- OP-TEE都包括些什么内容?
Secure world OS(optee_os)、normal world client(optee_client)、test suite(optee_test/xtest)以及linux驱动
- OP-TEE软件架构
产品开发团队负责开发一个运行在linux上的client application(CA)和一个运行在OP-TEE上的trusted application(TA),CA使用TEE client API与TA通信,并且从TA获取安全服务。CA和TA使用共享内存进行通信。
- TEE启动流程
理论上来说,在启动过程中,OP-TEE必须尽可能早的启动(bootloader的运行优先于OP-TEE会带来一个缺陷,触碰敏感数据)。在一个典型的linux启动过程中,rom bootloader加载/执行一个第一阶段bootloader(如:SPL,MLO,SBL1,FSBL),这个第一阶段bootloader然后执行一个第二阶段bootloader(如:U-Boot,LittleKernel),这个第二阶段bootloader会执行linux内核,所有的这些过程来自一个安全世界上下文。
在一个基于ARMv7的处理器上,附有TEE的典型启动流程是SPL加载OP-TEE和U-Boot,然后跳转到OP-TEE,一旦OP-TEE初始化完毕,OP-TEE就会切换到非安全上下文,并且跳转到U-Boot中。OP-TEE代码会继续放在内存中,以便为linux内核提供安全服务。
在一个基于ARMv8的处理器上,TEE启动流程还涉及到一个SPL加载ARM Trusted firmware的步骤。SPL跳转到arm trusted firmware,这个firmware随后与OP-TEE共同协作,OP-TEE转而跳转到处于非安全上下文的U-Boot中。
在一个ARMv8平台上,ARM Trusted firmware提供一个监视器代码去管理安全世界和非安全世界之间的切换,而在ARMv7平台上这一功能是被嵌入到OP-TEE中的。
- OP-TEE对linux的支持情况是怎样的?
针对OP-TEE的linux内核驱动出现在内核版本4.12及其以上的版本,如果您运行的内核版本较老,那么您需要backport 补丁(https://lwn.net/Articles/716737/)。当然您也需要做以下操作来使能此驱动:
20.1 设置内核配置项:CONFIG_OPTEE=y
20.2 添加设备树节点(可以参考这里https://github.com/nodeax/linux-at91/commit/6f4de47f0265d75a7d3a1335b5191d464d611ebe)
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数嵌入式工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年嵌入式&物联网开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上嵌入式&物联网开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以+V:Vip1104z获取!!! (备注:嵌入式)
![img](https://img-blog.csdnimg.cn/img_convert/513c4e14e0b34d95b02d8b6137ae85ac.jpeg)
最后
资料整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下小编~
你的支持,我的动力;祝各位前程似锦,offer不断,步步高升!!!
mages/73bb5de17851459088c6af944156ee24.jpg" alt=“img” style=“zoom: 67%;” />
最后
资料整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下小编~
你的支持,我的动力;祝各位前程似锦,offer不断,步步高升!!!