自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 【RISC-V】risc-v架构学习笔记(架构初学)

Register介绍RISC-V架构提供31个用户可修改的通用(基本)寄存器,即x1到x31,以及一个额外的只读寄存器x0,硬连接到0。x0寄存器的一个常见用途是帮助将其他寄存器初始化为零。• 共有31个通用寄存器。• 其中7个是临时寄存器(t0−t6)。• a0−a7用于函数参数。s0−s11用于保存寄存器或函数定义内。• 一个堆栈指针,一个全局指针和一个线程指针寄存器。• 一个返回地址寄存器(x1),用于存储函数调用的返回地址。• 一个程序计数器(pc)。PC保存着当前指令的地址。•

2022-05-16 15:06:26 9412 2

原创 【TF-M】Trusted Firmware-M TF-M 固件学习【三】安全服务处理流程

TF-M安全服务处理流程本篇讲解安全服务是如何在TF-M里处理的,基于TF-Mv1.5版本。IPC模型流程图安全服务处理依赖于TF-M实现的IPC机制。基于连接响应的服务器与客户端模型。由psa_connect → psa_call → psa_close的过程psa_connect 请求服务的发起一次服务的发起依赖于客户端调用PSA client APIs里的psa_connect函数开始。psa_connect传入参数SID。带入SG头进入SPE环境。TF-M里运行的SPM负责处理此连接

2022-04-11 20:30:51 1089

原创 【TF-M】Trusted Firmware-M TF-M固件学习【二】TF-M软件架构

TF-M 软件框架TF-M是基于PSA架构开发的安全固件,本文基于v1.5v版本。下图是官方的图,详细的TF-M功能。简要的框图如下:其核心就是PSA架构,SPM管理分区线程、IPC等机制。分区通过分区线程的形式运行,并提供一种或多种服务。NSPE运行着RTOS,在RTOS上运行着task,task需要用到安全相关服务时,可以调用PSA client APIs请求安全服务,通过IPC机制由SPM通知并调度对应分区线程运行,执行此次的服务请求。然后返回结果给client。partition在上面

2022-04-11 19:42:59 1624

原创 【TF-M】Platform Security Architecture (PSA)框架学习

PSA框架PSA架构是ARM推出的保障物联网设备安全的安全框架。软件架构下图是从PSA官方文档截取的软件架构图。其按照功能分为安全分区(secure partition)、安全分区管理器(secure partition manager)、RoT service、secure IPC等secure partition在SPE中,RoT服务需要一个执行环境来提供对资源的访问、对自己的代码和数据的保护,以及与系统中的其他组件进行交互的机制。在PSA固件框架,一个安全分区就是这个执行环境。每个安全分区

2022-04-11 13:53:50 6580

原创 【TF-M】Trusted Firmware-M TF-M 固件学习【一】安全分区调用流程

TF-M调用流程TF-M是以ARM_v8_M的TrustZone架构开发的安全固件,采用PSA架构,实现各种安全服务partition runtime model:IPC model:类似线程,分区中有一个等待信号的线程,客户端的调用信息将被SPM转换为消息,向分区发送信号,找到对应的分区,分区完成服务后将结果返回给客户端优点:更好的隔离,数据在本地缓冲区中处理;可以处理多个服务的访问。因为可以将服务访问转换为消息,让分区逐个处理消息中的服务访问。SFN model:类似调用库函数,类似由安全分区

2022-03-23 15:52:04 11776

原创 【OP-TEE】 TA的签名与验签 基于optee 3.11

TA的签名以optee-os 3.11版本为例。在optee_os目录下,存放着签名的私钥和签名脚本。工程目录/optee_os/keys/default_ta.pem工程目录/optee_os/scripts/sign_encrypt.py编译TA时会先将TA编译为elf文件。此时执行签名脚本,对elf文件签名并生成.ta文件。签名使用了default_ta.pem私钥,此私钥通过编译时makefile调用python脚本时传入。此脚本还会放置头部数据,shdr,放在TA镜像的头部。这是与签名

2021-12-23 16:03:09 1420

原创 【OP-TEE】 TA的加密与解密简介

关于optee os 默认的TA加解密的讲解

2021-12-21 17:32:37 4077

原创 【OP-TEE】tee supplicant简介

tee supplicant的工作流程tee supplicant介绍工作流程tee supplicant介绍tee supplicant是optee os的ree侧也就是运行于linux应用层的守护进程,其作用为处理rpc请求。帮助tee侧访问ree侧的资源等。工作流程作为进程被linux启动时加载。open_dev打开内核的tee驱动,然后执行daemon(0, 0)函数将程序作为后台程序执行,所以调试的时候看不见log信息,此时要看到打印信息需要修改daemon参数。daemon(1, 1)

2021-12-15 18:21:09 1300

原创 【OP-TEE】TA的加载(超详细)

TA验签与加载TA的签名TA的验签TA的加载动态TA的加载TA的签名在optee或sdk的目录下,有一个default_ta.pem(RSA2048 priv key)和sign.py签名脚本. 在编译TA结束后,会使用这个脚本和key对TA进行签名。工程目录/optee_os/keys/default_ta.pem工程目录/optee_os/scripts/sign_encrypt.pyTA的验签在编译optee_os时,pem_to_pub_c.py脚本中将default_ta.pem中解析

2021-12-15 18:20:43 3993 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除