[trustzone]-TZC400学习总结

270 篇文章 405 订阅
本文详细介绍了ARMv8架构中TZC400的信任Zone控制器在系统架构中的作用,包括其硬件框图、区域设置、FPIDs和NSAIDs的概念。TZC400通过过滤机制确保CPU对DDR内存的访问安全,通过配置region权限,即使是缓存在CPU cache的数据,也能通过NSAID验证来保证非安全访问的安全性。文章还探讨了region的重叠规则和安全访问权限设置。
摘要由CSDN通过智能技术生成

快速链接:
.
👉👉👉 个人博客笔记导读目录(全部) 👈👈👈

在这里插入图片描述

思考:
如果硬件是这种连接cpu–>tzc–>dmc–>ddr, 那么配置某块region对cpu的nsaid权限后,cpu再次读写该region范围的内存时,cache中已经缓存了该数据,那么这个数据流在cache中就完成了,不会经过TZC,那么是怎么保证安全的呢?

1、系统架构图

我们先看一张系统架构图,了解一下TZC400的作用或位置,其实就是下core和DDR(DMC)之间,添加了一个TAC, 其作用其实就是memory Filter。
在这里插入图片描述

2、tzc400的硬件框图

从图中可以看出

  • apb接口 : 用于cpu读写tzc-400的寄存器;
  • ACE-Lite接口 : TZC400的通过ACE-Lite接口接到Master和DDR中间,
    对Master访问DDR进行filter控制 : 一块TZC400支持0-x个filter,x一般是1、2、3
  • 也就是说,tzc400中,有一个control unit单元、x个filter unix单元;
  • 一个TZC400,支持9个region(包含region0)
    在这里插入图片描述

那么最多支持4个Filter最多支持9个region, Filter和Region到底是什么关系呢?
什么关系都不是!!!
Filter就是Filter,Region就是Region,无论您是几个Filter,一个TZC最多只支持9个region。

因为有着不同类型的Master,都需要连接到TZC上,所以才需要的多个Filter。 如下图所示便有一个示例:

  • Core和GPC 通过ACE接口与Filter0相连
  • DMA/LCD 通过AXI接口与Filter1相连
    在这里插入图片描述

3、FPIDs and NSAIDs

对应每一个filter unit, TZC400提供了两种identity path :FPIDs和NSAIDs

  • Fast Path IDentity
  • Non-secure Access IDentity
    在这里插入图片描述

4、region setup

Region 0 永远是enable的,整块DDR中未设置region的区域,都属于region 0.
建立一块region,需要配置:Top address、Base address、Region enables、Secure access permissions、Non-secure ID filtering
在这里插入图片描述

region的overlap规则:

  • 不在Regionx(x=1-8)范围内的地址,属于region0
  • 在同一个Filter中,Regionx(x=1-8)不能有互相覆盖的情况,
    如果进行了overlap的配置,那么当访问该地址时,将产生一个中断,暗示 overlapping access
  • 不同Filter中的Regionx(x=1-8)可以相互overlap

secure access permissions的权限参见 region_attributes寄存器
在这里插入图片描述
nsaid权限访问的路由规则 : 先检查Master的身份,若是secure发起的访问,则去检查Secure access permissions, 如果是non-secure发起的访问,则取检查nsaid权限

5、NSAID

对于Non-Secure的访问,NSAID从何而来?
其实如果是Non-Secure发起的访问(NSAccess_Identifiers为True),那么AWNSAID 和 ARNSAID的接口就必需提供.

  • 如果Master支持nsaid,那么它会自动提供AWNSAID 或ARNSAID,
  • 如果Master不支持nsaid,那么可以在SOC设计的时候,在系统寄存器种增加NSAID标志位,该Master发起读写时,则自动传送相关NSAID value

如下是AMBA-AXI总线协议中nsaid相关的bit位
在这里插入图片描述

与之对应的TZC400接口,每个Filter都有NSAIDR0[3:0]、NSAIDW0[3:0]、NSAIDRx[3:0]、NSAIDWx[3:0]、


  • 5
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论
# 课程背景2021年ARM又推出了ARMv9架构,系统软件架构也在悄无声息地发生变化。在这种架构中,强调的是隔离技术,包括资源的隔离、运行时隔离,特权操作系统的权限也变得越来越小…不管您是什么领域,ARM服务器、汽车电子、手机或者是其它设备终端,安全都是其中的一个重要环节。我们常说的安全一般是只网络安全/业务安全/App安全,这些安全依赖的正是操作系统安全,操作系统安全所依赖的就是安全架构技术,在该安全架构中,首当要学习的就是Trustzone/TEE技术。只有设备安全/操作系统安全/APP安全/网络安全/服务器安全整个一条链都安全了,那么你的业务才算得上的安全.不管您是做什么的,您做不做安全或虚拟化,掌握整个系统软件架构也是一件必要的事情。您只有掌握了安全架构,你才具有全局的视野,才能进行全局的软件设计,才称得上架构师。安全不仅仅是架构安全,安全还是一种生态,安全还产生一类标准。安全出现在产品声明周期的任何一个角落,它可能零碎地出现在硬件中、零碎地出现在软件代码中。如果你不了解安全,你可能无法进行优秀的产品设计,你甚至无法去正确的阅读代码。# 课程介绍(1) 讲解ARM最新硬件架构(ARM Core、ARM Architecture)、SOC架构(2) 讲解最新的Trustzone安全架构、TEE架构、Secureboot等(3) 讲解软件组件:TF-A(ATF)、optee_os、Linux Kernel、CA/TA应用程序等,及其交互模型、设计模型(4) 多系统交互代码导读、安全论证实践、CA/TA示例实践、安全业务设计实践(5) 我们学习的是全部硬件、全部系统,软硬结合,或者是大系统的软硬件融合# 课程收益1、安全不再神秘,能cover住全局2、熟悉ARM Architecture架构知识3、熟悉SOC架构知识4、熟悉主流的系统软件框架5、知道多系统之间是如何交互的,也能够进行系统级的设计6、深入了解当前的系统安全架构以及未来安全架构趋势7、熟悉基础的安全业务设计方法8、熟悉系统的启动流程、Secureboot等9、知道Linux Kernel在大系统中的位置,以及与其它系统交互的方法10、熟悉各类标准和规范11、学习资料的获取方法 # 课程大纲《Trustzone/TEE/系统安全开发速成班》 --当前48节课/19小时说明: 本视频会持续更新,购买时请以课程目录为主。本EXCEL一个月更新一次。章节编号课程时常第一章基础和简介1课程介绍 8:332ARM和SOC的架构简介60:13第二章软硬件基础3armv8/armv9基础概念26:204ARMv8/ARMv9的Trustzone技术77:565ARMv7的Trustzone技术8:376安全架构及其未来趋势(FF-A/SPM/CCA)6:417ARMv9 CCA机密计算框架底层核心原理简介20:448ARMv9 RME安全扩展详解61:299ATF Quick Start0161:2710Optee Quick Start49:3411系统软件Quick Start21:0412Secureboot原理深度讲解60:2813Android AVB的介绍26:0914TZC400详解17:5615TZC400代码导读之ATF13:4416RPMB详解30:0617RPMB代码导读之optee14:0318efuse详解12:1919Anti-Rollback的介绍11:33第三章软件架构20TEE的组件介绍67:5921TEE的RPC反向调用31:1422TEE的调度模型21:3223各类标准和规范22:17第四章软件架构(高级)24多系统之间的管理模型(ABI/标准)10:3025多系统之间的调度12:2126多系统之间的中断(不含虚拟化)61:4727多系统之间的中断(虚拟化)6:5728再谈多系统之间的调度(多核多线程)10:3129其它(内存管理/PSCI...)10:12第五章安全应用开发基础30安全应用开发基础5:3731TEE环境:qemu_V8环境的使用4:2032TEE环境:编写一个CA和TA程序11:0433TEE环境:编写漂亮的文档4:1434TEE环境:搭建阅读代码神器opengrok3:2635TEE环境(必看):使用集成好的qemu_v8镜像程序20:2936[CA/TA开发]CA到TA的通信9:1837[CA/TA开发]CA到TA的传参27:1638[CA/TA开发]TEE中的存储系统20:5739[CA/TA开发]TEE中的密码学系统简介12:3740[CA/TA开发]TEE中的密码学系统简介-数字摘要Hash等33:2141[CA/TA开发]TEE中的密码学系统简介-对称密码学算法AES等12:2042[CA/TA开发]TEE中的密码学系统简介-消息摘要算法HMAC等15:4843[CA/TA开发]TEE中的密码学系统简介-非对称密码学算法RSA等7:33第六章安全业务设计高级44Gatekeeper的介绍29:3245keymaster/keymint/keystore/keystore213:2746生物认证(指纹/人脸)13:5747DRM的介绍21:3748TUI的介绍17:03总计时统计(分钟)1128:12 说明:本课程会持续更新…
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

代码改变世界ctw

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

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

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

打赏作者

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

抵扣说明:

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

余额充值