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

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

3天内不再提示

OP-TEE的安全存储的简介

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

OP-TEE的安全存储的简介

OP-TEE的安全存储功能是OP-TEE为用户提供的安全存储机制。用户可使用安全存储功能来保存敏感数据、密钥等信息

使用OP-TEE安全存储功能保存数据时,OP-TEE会对需要被保存的数据进行加密,且每次更新安全文件时所用的加密密钥都会使用随机数重新生成,用户只要调用GP标准中定义的安全存储相关接口就能使用OP-TEE的安全存储功能对私有数据进行保护。

需要被保护的数据被OP-TEE加密后会被保存到REE侧的文件系统、EMMC的RPMB分区或数据库中,至于具体需要将加密后的数据保存到哪里则由芯片提供商决定。(为啥放在REE侧的文件系统?因为REE侧linux有文件系统啊哈哈哈我猜的)

也可通过打开对应的宏开关,使能对应的保存方式来满足用户的实际需求。安全存储功能可提供一个安全的存储环境,安全文件中数据的加解密过程都在OP-TEE中完成,且加解密密钥的生成也是在OP-TEE中进行的,这样就能保证数据的安全性。

安全存储功能使用的密钥

OP-TEE中使用安全存储功能保存的数据都是使用AES算法进行加密的,加密后的文件被保存在文件系统或RPMB分区。

使用AES算法进行数据加密或解密时需提供密钥和初始化向量IV值。

每个TA在使用安全存储功能保存数据时都会生成一个随机数作为IV值,使用FEK的值作为AES的密钥。FEK的值是OP-TEE对相关数据执行HMAC操作后生成的。(HMAC需要三个输入参数,密钥Key,消息内容,Hash算法;(所以HMAC本身并不是一种Hash算法,因而需要调用现成的Hash算法。)

FEK值的生成涉及SSK和TSK,本章节将介绍这些密钥的使用和生成过程。相关密钥的关系和生成方式如图所示。

图片

(关于这个秘钥的派生,芯片厂商会自定义)

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

    关注

    7

    文章

    3798

    浏览量

    64370
  • 安全存储器
    +关注

    关注

    0

    文章

    11

    浏览量

    7474
  • 密匙
    +关注

    关注

    0

    文章

    3

    浏览量

    6488
收藏 人收藏

    评论

    相关推荐

    TEE解决了什么问题?

    一、引言近年来,可信执行的概念在物联网安全领域也逐渐流传。可信执行环境(TEE,Trusted Execution Environment)在智能手机中的应用非常广泛,如OP-TEE[1
    发表于 02-16 06:03

    请问Beal环境下编译OP-TEE后生成FIP需要哪些文件?

    stm32mp157d-***-bl32.dtb fip.bin但是当我使用 OP-TEE 时,我使用以下命令:fiptool 创建 --tos-fw tee
    发表于 12-05 07:06

    如何将大量电源管理和计时工作从ATF转移到OP-TEE上呢

    你好!据我了解,ST 正在将大量电源管理和计时工作从 ATF 转移到 OP-TEE。为了准备这次转变,我和我的合作开发人员已经开始尝试在 STM32MP157F-DK2 上构建和运行以下软件
    发表于 12-07 06:01

    如何在不使用op-tee的情况下进行编译?

    我按照本指南使用自定义 DTS 文件(按步骤操作)并出现以下错误,如何在不使用 op-tee 的情况下进行编译?ERROR: optee-os-stm32mp-3.12.0.r1-r0
    发表于 12-28 10:01

    请问HSE op-tee是什么关系?

    我有个问题。S32G同时支持HSE和op-tee。S32G的安全加解密和证书管理是通过HSE完成的吗?op-tee 和 HSE 只是其中之一吗?有没有相关的设计文档?谢谢
    发表于 04-06 06:26

    OP-TEE无法在锁定的i.MX6UL上初始化JR怎么解决?

    imx 存储库,而 U-boot 来自主线存储库 (2023.1)在我们锁定设备之前,这似乎工作正常。锁定设备后,我们在 OP-TEE 初始化时得到以下输出(启用了一些额外的跟踪消息):E/TC:0 0
    发表于 04-17 07:31

    物联网终端应用TEE的一些思考

    一、引言近年来,可信执行的概念在物联网安全领域也逐渐流传。可信执行环境(TEE,Trusted Execution Environment)在智能手机中的应用非常广泛,如OP-TEE[1
    发表于 12-17 18:21 12次下载
    物联网终端应用<b class='flag-5'>TEE</b>的一些思考

    OP-TEE安全驱动的框架

    OP-TEE中的安全驱动是OP-TEE操作安全设备的载体。 TA通过调用某个安全驱动的接口就可实现对特定
    的头像 发表于 10-30 16:04 822次阅读
    <b class='flag-5'>OP-TEE</b>中<b class='flag-5'>安全</b>驱动的框架

    OP-TEE的内核初始化过程

    1 OP-TEE OS的入口函数 • OP-TEE镜像的入口函数是在编译OP-TEE OS时通过链接文件来确定的, • OP-TEE在编译时是按照optee_os/core/arch/
    的头像 发表于 11-02 17:57 1422次阅读
    <b class='flag-5'>OP-TEE</b>的内核初始化过程

    OP-TEE的内核初始化函数调用

    用init_primary_helper函数来完成系统运行环境的建立 ,如果系统支持ATF,则该函数会返回OP-TEE的处理句柄,该处理句柄主要包含 • 各种安全监控模式调用的处理函数、 • 安全世界状态(SWS)的中断 • 以
    的头像 发表于 11-02 18:18 749次阅读
    <b class='flag-5'>OP-TEE</b>的内核初始化函数调用

    OP-TEE服务项的启动

    OP-TEE服务项的启动分为: service_init以及service_init_late ,需要被启动的服务项通过使用这两个宏,在编译时,相关服务的内容将会被保存到initcall1
    的头像 发表于 11-07 15:04 724次阅读

    ARM64位与ARM32位OP-TEE启动过程的差异

    ARM32的OP-TEE与ARM64的OP-TEE启动过程大致相同。ARM64的OP-TEE的_start函数定义在generic_entry_a64.S文件中,而且该函数不像ARM32位系统一样会
    的头像 发表于 11-07 15:12 775次阅读

    安全存储密钥是什么

    安全存储密钥 安全存储密钥(Secure Storage Key, SSK)在每台设备中的值都不同。 OP-TEE启动时会使用 芯片ID和H
    的头像 发表于 11-21 11:37 768次阅读

    OP-TEE安全存储安全文件的格式

    安全文件、dirf.db文件的数据格式和操作过程 OP-TEE安全存储功能可满足用户保存敏感数据的需求,需要被保存的数据会被加 密保存到文件系统或RPMB分区中 。 当选择将数据保存
    的头像 发表于 11-21 11:49 808次阅读
    <b class='flag-5'>OP-TEE</b><b class='flag-5'>安全</b><b class='flag-5'>存储</b><b class='flag-5'>安全</b>文件的格式

    安全存储文件的创建

    OP-TEE中调用GP标准接口使用安全存储功能时,对文件的读写操作最终是由REE侧来完成的。 OP-TEE无法直接操作REE侧的
    的头像 发表于 11-21 15:02 566次阅读
    <b class='flag-5'>安全</b><b class='flag-5'>存储</b>文件的创建