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

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

3天内不再提示

安全文件中数据的加解密

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

安全存储中的安全文件和dirf.db文件中的数据内容都是按照一定的格式保存的,主要由三部分组成:

tee_fs_htree_image

• tee_fs_htree_node_image

• 数据区域块

tee_fs_htree_image和tee_fs_htree_node_image结构体中保存的是安全文件操作时使用到的重要数据的密文数据,

tee_fs_htree_image区域中的数据是对元数据经加密重要数据后生成的。

而数据区域块和tee_fs_htree_node_image中的数据则是对数据块数据经加密后获得的。

5.1、各种类型数据的组成及作用

tee_fs_htree_image

tee_fs_htree_image主要保存加密头部的IV值、加密安全文件的FEK使用的enc_fek以及加密之后生成的tag、imeta及标记两个tee_fs_htree_image哪个为最新的counter值。

tee_fs_htree_image中的imeta是按照元数据的方式经加密对应的数据获得

tee_fs_htree_node_image

tee_fs_htree_node_image保存节点的哈希值、加密数据块区域使用的IV值、标记使用哪个data
block的ver的flag值以及加密需要被保存的数据时生成的tag数据。

tee_fs_htree_node_imaget中的tag跟数据块中的数据则是按照数据块加密策略经加密后获得。

数据块区域

数据块区域保存的是需要被保存的数据的密文数据。

5.2、元数据的加密

tee_fs_htree_image区域中的数据是按照元数据方式经加密生成的,该加密过程如图所示。

图片

上述加密操作过程中相关元素说明如下:

•FEK:安全文件和dirf.db文件在执行加密操作时使用的密钥,该值在文件创建时使用随机数的方式生成。对已经创建好的文件进行操作时,该值会从tee_fs_htree_image的enc_fek成员中使用TSK解密获得;

• TSK:使用SSK和UUID执行HMAC计算得到;

• AES_ECB:将FEK使用TSK经AES的ECB模式加密操作后生成enc_fek;

• Encrypted FEK:使用TSK加密FEK得到,保存在tee_fs_htree_image的enc_fek中,最终会被写入安全文件或者dirf.db文件头的头部中;

• Meta
IV:使用安全存储创建文件或将tee_fs_htree_image写入文件中都会被随机生成,最终会被写入安全文件或dirf.db文件头的头部中;

• Meta Data:/data/tee目录下每个文件中存放的tee_fs_htree_node_image的个数相关的数据;

• AES_GCM:将enc_fek+meta iv+meta data使用FEK和meta IV进行AES的GCM模式加密操作生成tag和Encryption Meta Data数据;

• Tag:加密enc_fek+meta iv+meta data时生成的tag值,数据会被保存在tee_fs_htree_image中的tag成员中;

• Encryptoed Meta Data:加密enc_fek+meta iv+meta data时生成的imeta值,数据会被保存在tee_fs_htree_image中的imeta成员中。

5.3、数据块区域的加密策略

数据块区域和tee_fs_htree_node_image中的数据是按照数据块区域的加密策略经加密明文数据生成的,数据块区域加密策略的加密过程如图所示。

图片

上述加密操作过程中相关元素说明如下:

• Encrypted FEK:使用TSK加密FEK得到,保存在tee_fs_htree_image的enc_fek中,最终会被写入安全文件或者dirf.db文件头的头部中;

• TSK:使用SSK和UUID执行HMAC计算得到;

• AES_ECB:将Encrypted FEK使用TSK进行ECB模式的AES解密操作生成FEK;

• FEK:解密Encrypted FEK之后生成的FEK,用于加密需要被保存的数据块;

• Block IV:每次加密数据区域中每个数据块是都会随机生成,然后被保存tee_fs_htree_node_image变量的IV成员中;

• Block Data:将需要被保存的数据更新到对应的数据块区域,然后重新加密后生成新的数据块的密文数据;

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

    关注

    8

    文章

    6877

    浏览量

    88810
  • 安全存储器
    +关注

    关注

    0

    文章

    11

    浏览量

    7473
  • TEE
    TEE
    +关注

    关注

    0

    文章

    29

    浏览量

    10242
收藏 人收藏

    评论

    相关推荐

    labviewAES加解密小程序

    本帖最后由 eehome 于 2013-1-5 10:10 编辑 使用AES算法对128bit加密和解密版本:LabVIEW 8.6 8.6.1作者:zerld功能:使用AES算法对128bit加密和解密为便于阅读,算法还留有优化空间。本
    发表于 02-22 14:12

    加解密

    stm32F4如何看加解密的代码
    发表于 04-08 11:23

    数据加解密项目如何选取有效的加密芯片?

    数据加解密项目如何选取有效的加密芯片?
    发表于 07-19 10:42

    如何利用MEMS和FPGA设计移动硬盘数据加解密系统?

    来源:维库电子随着信息量的急剧增长,信息安全日益受到人们重视。一个完整的数据加解密系统应该 具备安全可靠的密码认证机制和加解密算法。本文基于
    发表于 07-31 07:40

    如何利用MEMS强链和FPGA设计USB移动硬盘数据加解密系统?

    随着信息量的急剧增长,信息安全日益受到人们重视。一个完整的数据加解密系统应该具备安全可靠的密码认证机制和加解密算法。利用MEMS强链和FPG
    发表于 08-01 06:48

    硬件加解密的分类

    中,有ARM-CE可以进行aes/hash/md5计算,有ARM-NEON也可以进行aes/hash/md5计算arm的security IP,有cryptoisland加密芯片,有cryptocell加密芯片另外SOC厂商也可能集成自己设计的crypto engion加解密
    发表于 07-22 07:55

    硬件加解密主要优点及引擎种类

    IoT联网装置日渐普及,大家在享受联网装置所带来便利性的同时,也必须同时承担联网装置的风险,即数据在传输过程可能遭窃取、伪造,因此数据传输过程的安全性,对于IoT联网装置是基本的要求,而利用
    发表于 08-28 07:29

    STM32加解密技术

    没有加解密技术是万万不能的• 通讯安全• 平台安全• *例外:STM32 RDP保护知识产权• 加解密技术不是万能的• 只是工具• 无法代替其它STM32
    发表于 09-08 08:18

    基于MEMS和FPGA的移动硬盘数据加解密系统

    基于MEMS和FPGA的移动硬盘数据加解密系统 随着信息量的急剧增长,信息安全日益受到人们重视。一个完整的数据加解密系统应该 具备
    发表于 11-05 08:57 763次阅读
    基于MEMS和FPGA的移动硬盘<b class='flag-5'>数据</b><b class='flag-5'>加解密</b>系统

    基于MEMS强链和FPGA的USB移动硬盘数据加解密系统

    基于MEMS强链和FPGA的USB移动硬盘数据加解密系统 随着信息量的急剧增长,信息安全日益受到人们重视。一个完整的数据加解密系统应该 具
    发表于 11-07 11:15 676次阅读
    基于MEMS强链和FPGA的USB移动硬盘<b class='flag-5'>数据</b><b class='flag-5'>加解密</b>系统

    源码-加解密文本

    易语言是一门以中文作为程序代码编程语言学习例程:易语言-源码-加解密文本
    发表于 06-06 17:43 6次下载

    STM32的加解密硬件模块

    电子发烧友网站提供《STM32的加解密硬件模块.pdf》资料免费下载
    发表于 08-02 09:14 1次下载
    STM32的<b class='flag-5'>加解密</b>硬件模块

    铜墙铁壁的最佳安全保护-硬件加解密MCU

    铜墙铁壁的最佳安全保护-硬件加解密MCU
    的头像 发表于 08-11 14:44 397次阅读

    探秘STM32U5安全特性|硬件加解密引擎与软件算法对比

    探秘STM32U5安全特性|硬件加解密引擎与软件算法对比
    的头像 发表于 10-27 10:23 1637次阅读
    探秘STM32U5<b class='flag-5'>安全</b>特性|硬件<b class='flag-5'>加解密</b>引擎与软件算法对比

    基于FPGA的可编程AES加解密IP

    可编程AES加解密IP内建密钥扩展功能,使用初始密钥产生扩展密钥,用于加解密过程。可编程AES加解密IP处理128-bit分组数据,并且支持可编程的密钥长度:128-bit,192-b
    发表于 01-09 10:49 433次阅读
    基于FPGA的可编程AES<b class='flag-5'>加解密</b>IP