0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

安全存储功能中使用的重要结构体

麦辣鸡腿堡 来源:TrustZone 作者:Hcoco 2023-11-21 14:36 次阅读

安全存储功能中使用的重要结构体

在整个安全存储功能的操作过程中,存在一些很重要的结构体,这些结构体用于记录或保存所有安全文件和dirf.db文件的操作信息,这些结构体的关系框图如图所示。

图片

tee_fs_htree_node_image:用于保存文件的节点信息,通过节点可找到对应文件的头部或数据块信息;

• tee_fs_htree_image:用于保存安全文件的头部数据,从头部数据中可获取安全文件的加密密钥和加密头部时使用的IV值;

• tee_fs_fd:安全存储操作时使用的重要结构体,存放对文件操作时使用的fd、dir、TA的UUID等信息。

安全存储中的文件节点组成

在安全存储中,dirf.db文件和安全文件都是使用二叉树的方式来保存文件编号或数据块。

dirf.db文件的数据块区域保存的是dirfile_entry结构体变量(密文保存),
dirf.db文件中的节点区域保存的是与保存的数据块相对应的节点信息。通过查找dirf.db文件中的tee_fs_htree_node_image就能找到对应的dirfile_entry数据块的数据。

在安全文件中同样也存在这样的对应关系,只不过数据块中保存的不再是dirfile_entry,而是实际需要被保存的数据。

二叉树的保存方式如图所示,第一个节点作为dirf.db文件或安全文件的根节点使用。

图片

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据库
    +关注

    关注

    7

    文章

    3750

    浏览量

    64207
  • 文件
    +关注

    关注

    1

    文章

    560

    浏览量

    24653
  • 结构体
    +关注

    关注

    1

    文章

    129

    浏览量

    10821
收藏 人收藏

    评论

    相关推荐

    RealView MDK中结构存储方式

    经历来说明有些情况是不允许对齐访问的,好在强大的MDK早就意料到这些特殊应用,并有相应的对策。下面举例说明结构以对齐方式和非对齐方式存储的差别。下面以三种不同的方式定义了结构foo,
    发表于 08-02 10:17

    DLL导入结构 联合体

    DLL函数参数中,有结构、联合体,结构中使用联合体,这种方式的函数怎么使用LABVIEW导入DLL共享库?
    发表于 09-06 10:32

    漫谈C语言结构

    32位机为4字节,则要从4的整数倍地址开始存储)。  原则2 结构的总大小,也就是sizeof的结果,必须是其内部最大成员的整数倍,不足的要补齐。  *原则3 结构
    发表于 11-15 15:59

    如何在C语言中把结构定义为常量?

    结构是只读的(不能改变结构变量的值),此时,结构的所有成员也是只读的不知道能不能用但是co
    发表于 10-24 04:37

    硬盘的存储功能

    尽管现在固态硬盘大行其道,不少人甚至觉得固态硬盘取代机械硬盘的时候到来了,但是我们别忘了,硬盘最重要的还是存储功能存储的关键除了容量以外还有安全
    发表于 09-02 06:31

    简单分析linux内核中的结构使用方法

    所谓linux驱动编程可以理解为linux内核的编程。既然在内核编程那就必须要符合内核的逻辑和各种规定好的框架。Linux中使用了大量的结构方便我们在使用内核的时候调用。很多单片机开发者其实对于
    发表于 01-19 08:26

    如何去实现单片机系统中结构数据类型的存储和读取呢

    单片机系统中结构数据类型的存储和读取在单片机系统开发中,系统配置参数通常需要永久存储在外部或者内部的flash / eeprom中。对于系统参数较多时,我们常常使用
    发表于 01-26 07:42

    消息队列传递结构指针和结构异同

    FreeRTOS消息队列 传递结构指针和结构异同1 消息队列传递结构指针和
    发表于 02-11 07:02

    共用结构的区别

    在c++中,结构(struct)和共用(union)是两种很相似的复合数据类型,都可以用来存储多种数据类型,但是两者还有很大的区别。 结构
    发表于 11-19 17:46 3.7w次阅读

    嵌入式系统中结构数据类型的存储和读取

    单片机系统中结构数据类型的存储和读取在单片机系统开发中,系统配置参数通常需要永久存储在外部或者内部的flash / eeprom中。对于系统参数较多时,我们常常使用
    发表于 12-02 14:06 10次下载
    嵌入式系统中<b class='flag-5'>结构</b><b class='flag-5'>体</b>数据类型的<b class='flag-5'>存储</b>和读取

    数字硬件建模SystemVerilog-结构

    默认情况下,结构体会被非压缩的。这意味着结构的成员被视为独立变量或常量,并以一个共同的名称分组在一起。SystemVerilog没有指定软件工具应该如何存储非压缩
    的头像 发表于 06-30 09:54 968次阅读

    结构对齐为什么那么重要

    以前我也没觉得懂得这个结构对齐或者内存对齐有多重要,直到已经从事了嵌入式开发经验不断积累,才慢慢体会到,这是一种很基础的知识,就因为这个东西不常用,而出现相关的问题是非常致命的,排查起来成本非常高。
    的头像 发表于 04-03 10:13 1339次阅读

    为什么要结构对齐?为什么结构对齐那么重要

    C语言结构对齐问题,是面试必备问题。我参与招聘技术面试的时候,也喜欢问这个技术点。
    的头像 发表于 05-26 14:10 1155次阅读
    为什么要<b class='flag-5'>结构</b><b class='flag-5'>体</b>对齐?为什么<b class='flag-5'>结构</b><b class='flag-5'>体</b>对齐那么<b class='flag-5'>重要</b>?

    基于存储体系结构重要

    电子发烧友网站提供《基于存储体系结构重要性.pdf》资料免费下载
    发表于 08-30 17:20 0次下载
    基于<b class='flag-5'>存储</b>体系<b class='flag-5'>结构</b>的<b class='flag-5'>重要</b>性

    为什么云存储安全如此重要

    增长到2029年的3763.7亿美元。 在本文中,小编将告诉大家为什么云存储安全如此重要?云存储安全的好处: 1、数据加密 我们
    的头像 发表于 12-04 17:07 411次阅读