optee默认支持的timer是arch timer,当然你也可以使用SOC Timer来替换这个timer。使用 可以注册一个timer 上述代码注册的是一个arch timer,和硬件交互的有两个寄存器: 如果optee跑在VM(SP)里,则读取的cntvct_el...
在前面的文章OPTEE学习笔记 - AArch64 RPC(一)中我们分析了fast call的AArch64 RPC。本文基于前文,分析一下std call的实现。 我们以
标签: optee
optee 有专用的 repo 程序来同步拉取其代码,其他 repo 会不好用
OPTEE之sonarlint静态代码扫描实战二——optee_client,希望各位读者,可以将此方法应用到自己的平台代码或者定制代码修改中,进行静态代码扫描分析,提升代码质量及产品安全。
虚拟机Ubuntu20.04环境下用qemu v8搭建optee环境
根据最近的学习心得,准备记录一下optee的启动流程分析。在第一部分里,我着重介绍BL31启动optee(BL32)的过程,以及主核从核的启动流程。下一部分,我着重介绍optee的启动流程。 我所参考的代码是optee-3.11.0,ATF...
以optee在REE侧的驱动为例,学习LINUX驱动。可以参考https://blog.csdn.net/shuaifengyun/article/details/72934531 OP-TEE驱动通过subsys_initcall和module_init宏来告知系统在初始化的什么时候去加载OP-TEE驱动,...
标签: 安全架构
optee TA签名
当OPTEE发生异常时,安全控制台会输出dump信息,虽然有了Call stack,但是仅有函数的地址,并不知道确切的调用关系,尚且不能精准定位问题。因此就需要本节的知识对异常调用栈进行精确解析。
附件中的代码实现了一个TA和CA,在CA中调用对应的指令可以让TA执行特定的算法对数据进行处理。该份代码已在OP-TEE中测试通过,当前只有RSA/AES/HMAC/PBKDF2/SHA/BASE64/RANDOM
如果没有专门的硬件来hwrng,则客户用trustos的optee来产生hwrng,这个是的实现在driver/char/hwrng/optee-rng.c中,前面已经看过hwrng代码的架构,我们重点看看核心函数read的实现 static struct optee_rng_private...
标签: git
optee qemu 3.8 3.10 3.14环境搭建
tee
OPTEE学习笔记 - 启动流程(二) 接上一篇OPTEE启动流程,本篇主要描述OPTEE被启动以后自己初始化的过程。由上篇文章可知,OPTEE第一个被执行的函数是__start
编译riscv gnu 工具链依赖 sudo apt-get install autoconf automake autotools-dev curl libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc zlib1g-dev ...
开源安全操作系统-OPTEE
之前在QEMU上学习optee,学习CA和TA的开发。现在需要在开发板上运行,故购了开发板和显示屏。(谁知道开发板和显示屏大小差别那么大啊。汗||)当然之前在QEMU上运行的optee也需要移植到hikey960上了。下面就...
Argparse是 Python 标准库中推荐的命令行解析模块。该模块会自动生成提示信息,且在用户给程序传入非法参数时报错。刚好最近在看optee的sign_encrypt.py,以它为例介绍python的argparse命令解析模块。
本文以REE驱动的加载为例,描述REE侧驱动与TEE侧驱动通信的过程 ...已经做出较为详细的说明,这里对于其中一些更细节的内容...文中提到了optee_probe是建立optee驱动的最后一步,其中前半部分的操作大多数型如下: ...
标签: 安全
libteec主要是用于CA->TA的其流程如下: CA->libteec.so->tee_driver->ATF->TEE_kernel->TA 假如TA服务有部分工作需要返回非安全态执行,则会通过如下流程来嗲用tee_supplicant去完成 ...