【ARM】Trustzone和安全架构

Trustzone的基本概念&背景和历史

什么是Trustzone? 什么是TEE?

Trustzone是一个技术,是一个技术的设计,一个安全架构,既不是软件也不是硬件。

TEE (Trusted Execution Environment) 可信执行环境。就是依托Trustzone所实现的一个安全操作系统。

TZC400,内存过滤单元,要不要挡住,不允许访问。

TAPC,配置controler的安全属性

2013 年 Apple 推出了第一款搭载指纹解锁的 iPhone:iPhone 5s,用以保证指纹信息安全的Secure Enclave 技术据分析深度定制了 ARM trustzone 架构,印象中这大概是 Trustzone 技术第一次走进大众视线

一个大系统中有很多操作系统。从图中可以看出有四个安全状态,Realm state、Non-secure state、Secure state、Root state。还有四个特权等级,每个志状态都可以跑多个虚拟机。

Runtime模型

任意时刻cpu都可能会跳过来进行工作叫做runtime

交互接口

从用户交互层到核心业务层的交互,从APPs调用GP Client API,该API是在llbteec.so中实现的。llbteec.so调用在KernelSpace中的tee_driver,KernelSpace中的tee_driver调用ATF中的opteed,opteed把消息转给optee_os,optee_os再把消息转给TA,TA再调用GP Internal Core API使用optee_os上的各种资源。

Processor (v8)

和core、cpu是一个概念
NS=1表示是非安全的processor,程序跑在EL3时可以是安全也可以是非安全。SCR寄存器只有一个,只有SCR_EL3,只有EL3可以操作。

Processor (v9)

到了v9多了一个NSE比特位,有四种安全状态。后面也主要讨论v8。

安全和非安全状态的切换

从non-secure切到secure就是切cpu context,切换一堆系统寄存器。

所以只要经过ATF切换cpu context,就能达到SCR寄存器中NS比特位从0到1或从1到0的切换。

Secure Boot

业务安全<---APP安全<---操作系统安全<---SecureBoot<---efuse和签名私钥

<--- 依赖关系,业务安全依赖APP安全

efuse

efuse每个比特只能下一次,从0到1

Boot模型

启动模型

BootROM(BL1)就相当于开机程序,只跑一次。BL1、BL2、BL31统称ATF。

编译和生产流程

首先对preloade签名,签名后变为preloade,img,sig,签名时首先把preloade,img放到xxxx,img,拿私钥对preloade.img进行签名,签名后生成一个证书cert1,证书中包含公钥。再拿root_priv.pem

密钥对cert1进行签名,签完名生成cert2证书。

私钥签名,公钥验签;

相关推荐
梦帮科技4 小时前
可证伪性工程测评与生产部署红蓝对抗:压力测试、长尾鲁棒性与全生命周期安全质检守卫
人工智能·深度学习·神经网络·安全·机器学习·自然语言处理·压力测试
女神下凡4 小时前
芯参谋(37):EEPROM_电路设计指南
arm开发·单片机·嵌入式硬件·fpga开发·设计规范
姜鱼问生6 小时前
deploy.sh 部署脚本:健康检查 + 自动回滚
安全·github
其实防守也摸鱼7 小时前
渗透测试学习计划(全栈综合 · 零基础进阶)
android·数据库·学习·安全·oracle·自动化·学习方法
Black蜡笔小新7 小时前
EasyCVR从“人盯人”到“AI盯岗”:可视化大屏+智能告警,岗位管理一屏掌控
网络·安全·easycvr
kakakahahahaha7 小时前
电脑显示器无信号排查:HDMI/DP接口、独立显卡、内存与安全模式
windows·安全·电脑·笔记本电脑·内容运营·软件需求
释厄6238 小时前
AI犯错即异质论——正确认知=免疫与安全防控技术算法
大数据·算法·安全
积流成海8 小时前
哈希碰撞攻击全解析:从MD5到SHA1的安全演进史
算法·安全·哈希算法·哈希函数·盘子工具站·哈希计算
kali-Myon8 小时前
ARTEX:AI 驱动的自动化漏洞挖掘平台
人工智能·安全·ai·自动化·web
每天题库8 小时前
汽车维修工考试题库:真题错题复盘与高频考点清单
学习·安全·考试·题库·考证