TEE 背景知识

TEE 背景

计算机世界的安全,是保护计算机系统和网络免受攻击者的攻击,这些攻击可能导致未经授权的信息泄露、窃取或损坏硬件、软件或数据,以及它们所提供的服务的中断或误导。更多参考 Computer_security

1 安全是什么

谈安全,我联想到各种概念(网络安全/信息安全/功能安全),我认为都可以归类到安全领域,只是看待的角度不同。然后阅读《现代操作系统:原理与实现》中对操作系统安全的介绍,从数据、应用、系统三个角度来分析安全

  • 数据安全,计算机存储部分用户隐私或者机密数据,这些数据只能被特定的应用所访问。如何设计应用访问数据的权限和数据不被随便访问,需要一种机制来满足这种实现。
  • 应用安全,系统中可能存在一些恶意应用,企图利用操作系统的正常功能(或者时系统的漏洞),窃取用户的数据。因此操作系统需要保护好自己,也需要防御恶意应用的攻击。
  • 系统安全,操作系统体量庞大,不可避免存在各种 BUG ,在系统运行的过程中,存在被攻击者控制的可能。因此操作系统需要在被控制的情况下,依然能为用户数据提供一定程度的保护。

2 安全机制

引入 TCB(Trusted_computing_base) 概念,是安全保护机制(硬件/固件/软件)的集合,某种意义上来说 TCB 出现错误和漏洞会危害整个系统。例如,基于 TCB 的应用只能访问到合法的资源,受限于系统的安全策略,它不能对权限之外的资源进行非法操作。更多参考 Trusted_computing_base
在这里插入图片描述

图参考源《现代操作系统:原理与实现》

  1. 假设操作系统是安全的,系统保证数据等资源只能被有权限的应用访问。具体机制包括两个方面: 控制机制来限制应用对文件的访问; 虚拟内存机制保证数据在内存中是隔离的。
  2. 假设操作系统存在漏洞,恶意应用绕过系统的安全机制来攻击系统或应用,具体机制有: 沙盒机制来运行不信任的应用,提供有限的功能和资源。
  3. 假设操作系统完全沦陷,恶意应用控制了整个操作系统来进而控制应用,需要更底层的安全机制: 例如虚拟化 Hypervisor 提供隔离环境; 例如硬件安全扩展 TEE 保护安全数据。

3 TEE 是什么

可信执行环境(TEE)是系统底层软件和硬件技术实现的一个安全环境。硬件上,例如 ARMv7 架构就引入了 Trustzone 架构,ARM公司实现安全扩展; 软件上,例如开源了的 OPTEE,由社区维护。

可信执行环境(TEE)目前在手机,车载,服务器领域有大量应用。

4 TEE 手机历史

  • 2013年: Apple 公司推出第一款带指纹的手机 iphone
  • 2014年: 国内公司开始陆陆续续的搞指纹,然后开始有些厂家做 TEE
  • 2015年: Google 还没有强制,这时候很多厂商在用指纹了
  • 2016年: Google 推出安全标准,加入 CTS 认证
  • 2017年-2018年: 安全是一个热度很大的话题
  • 2020年: Google 要求的的事情都硬件做的差不多了,此时 TEE 的方案都比较全了
  • 2020年-2021年: 安全技术开始向汽车领域上切入

5 TEE 技术趋势

  • 安全技术标准:
    • GP: GlobalPlatform 定义了 GP Client API 和 GP internal Core API,约束了 CA/TA 程序的开发接口和使用
    • SMCCC: 定义了 smc_abi ,约束 TEE 厂商和 SOC 厂商的接口和使用,约定了关于调用过程中 command id 划分
    • PSCI: 电源状态一致性接口,定义了 psci drvier,约定了关于从核启动/下电功能的执行
    • SDEI: ,定义了 SDEI API,用于注册不可屏蔽中断,它与 Kernel 和 ATF 相关,与 TEE 无关
    • SCMI: PSCI 底层用 SCMI 接口与运行在 Cortex-M 核的上固件交互
    • FF-A: 关于运行时如何切换,如何启动相关标准
  • ARM 架构演进:
    • Trustzone: ARM v7 的软件架构引入 Trustzone 的概念
    • Hypervisor: ARM v8.1 的引入虚拟化扩展,此时系统分四种异常等级
    • S-EL2: ARM v8.4 引入 S-EL2 的支持,之后又引入 FF-A 的概念
    • CCA(RME): ARM v9 引入的软件架构,此时分四个安全等级 root/realm/secure/non-secure
  • 行业解决方案
    • 指纹识别
    • 支付场景
    • 数字版权管理(DRM)
    • 安全图形接口(TUI)

6 References

  1. 《现代操作系统: 原理与实现》
  2. 代码改变世界 arm
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hinzer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值