设为首页 加入收藏

TOP

ARM TrustZone白皮书部分阅读(二)
2023-07-23 13:31:25 】 浏览:128
Tags:ARM TrustZone 白皮书
:基于公钥签名算法的协议。受信任的供应商使用他们的私钥(PrK)生成要部署的代码的签名,并将其与软件二进制文件一起推送到设备上。设备包含供应商的公钥(PuK),该公钥可用于验证二进制文件是否未被修改,以及该二进制文件是否由相关的受信任供应商提供。
  • 信任链:从一个隐式可信组件开始,在执行之前,可以对每个其他组件进行身份验证。信任根位于ROM中,不容易被修改或替换。
  • 片内/片外安全世界:最简单的防御shack攻击的方法是将任何安全世界资源的执行放在SoC片内内存位置。如果代码和数据从未暴露在SoC封装之外,则很难窥探或修改数据值。
  • 监控模式软件:管理安全和非安全处理器状态之间的切换,类似于上下文切换。正常世界进入监控模式需通过以下异常实现:中断、外部中止或通过SMC指令的显式调用;从安全世界进入监控模式除了通过正常世界可用的异常机制外,还可以通过直接写入CPSR来实现。

    • 上下文切换:监视器保存的任何安全状态都应该保存在安全内存的某个区域中,这样正常世界就不会对其进行篡改。可以通过过SMC指令、惰性上下文切换(仅在必要时保存协处理器的上下文,而不是在每次操作系统上下文切换或TrustZone世界切换时都保存)来实现世界切换。
  • 安全软件和多处理器系统:安全世界软件实现可以选择实现一个单处理器安全世界(不具备多处理能力)。

    • 将安全世界的执行固定在一个特定的处理器上:在这种设计中,与安全世界通信的普通世界驱动程序通常需要使用处理器间通信将使用安全世界的请求路由到正确的处理器。此外,安全世界不使用的处理器上的监控软件必须防止普通世界造成恶意的世界切换。

      image-20221101172157955

    • 让安全世界在系统的多个处理器上迁移:但通过限制它使其在任何单一时间只在一个处理器上执行。

  • TrustZone API

    1. 定义了一个软件接口,在富操作环境中运行的客户端应用可以使用该接口与安全环境交互。该API主要是一个通信API,使客户端能够向安全服务发送命令请求,并使客户端能够有效地与所连接的服务交换数据。
    首页 上一页 1 2 下一页 尾页 2/2/2
    】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
    上一篇AIR32F103(五) FreeRTOSv202112核.. 下一篇TEE学习(一) OP-TEE

    最新文章

    热门文章

    Hot 文章

    Python

    C 语言

    C++基础

    大数据基础

    linux编程基础

    C/C++面试题目