TEE

  • TEE=OP-TEE
    • 名称
      • TEE=Trusted Execution Environment=信任执行环境=可信任执行环境
      • OP-TEE=Open Portable Trusted Execution Environment=Open-Source Portable Trusted Execution Environment=开放可移植的可信任执行环境
    • 一句话描述
      • 基于TrustZone技术搭建的安全执行环境
        • designed as companion to a non-secure Linux kernel running on Arm
          • 注:Cortex-A cores using the TrustZone technology
    • 用途=目的=为什么
      • 为了更安全
        • 处理那些需要和安全密切相关的、需要保密处理的信息
    • 历史
      • 最早是ST-Ericsson开发的
      • 2013年,ST-Ericsson实现了兼容GlobalPlatform
      • 2013年之后,ST和Ericsson分开了
      • 现在TEE属于STMicroelectronics
      • 2013年后期,Linaro成立了SWG=Security Working Group=安全工作组
        • 其最重要的任务之一就是继续开发TEE
      • 在开源TEE之前,花了很多个月去把之前部分私有模块,换成开源实现
        • 包括:密码库, 安全监控, 编译系统及其他
      • 2014-06-12,TEE开源了,叫做OP-TEE
        • 目前现状主要是:
          • 项目属于STMicroelectronics
          • 但是Linaro和STMicroelectronics联合在开发
      • 2015年,项目所有权从STMicroelectronics转给Linaro了
    • 资料
    • 主要设计目标
      • Isolation
        • the TEE provides isolation from the non-secure OS and protects the loaded Trusted Applications (TAs) from each other using underlying hardware support,
      • Small footprint
        • the TEE should remain small enough to reside in a reasonable amount of on-chip memory as found on Arm based systems
      • Portability
        • the TEE aims at being easily pluggable to different architectures and available HW and has to support various setups such as multiple client OSes or multiple TEEs.
    • OP-TEE包含内容
      • Secure world OS=optee_os
        • 现有实现:
          • OP-TEE OS, Trusty, 高通的QSEE, SierraTEE
            • 注:所有方案的外部接口都会遵循GP=Global Platform标准
        • 对比:Normal world os
          • 普通操作系统:Linux、Android等
        • 问:各家厂商和组织的TEE OS到底有何区别?
          • 答:TA的添加和加载时的校验有所区别
        • 系统架构
          • op_tee_arch_1
          • op_tee_arch_2
          • op_tee_arch_3
        • 相关概念
          • TA=Trusted Application=可信应用
          • CA=Client Application=客户端应用
        • 原理
          • 产品开发团队负责开发一个运行在Linux上的CA和一个运行在OP-TEE上的TA
          • CA使用TEE client APITA通信,并且从TA获取安全服务
          • CATA使用共享内存进行通信
        • 运行机制
          • 当处于secure world状态,那么就会执行TEE OS部分的代码
          • 当处于non-secure world状态时,就执行linux kernel部分的代码
        • 举例
          • 芯来科技和瓶钵信息合作开发基于RISC-V的TEE方案
            • tee_example_nuclei_security_solution
              • 其中也是符合TEE的架构
                • 可信区
                • 不可信区
      • Normal world client=optee_client
      • test suite = optee_test/xtest
      • linux驱动
    • 常见问题
      • Linux内核
        • Linux内核能直接访问TEE部分的资源吗?
          • Linux kernel不能直接访问TEE部分的资源
        • Linux 内核如何才能访问TEE部分的资源呢?
          • Linux kernel能通过特定的TACA来访问TEE部分特定的资源

results matching ""

    No results matching ""