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解决了什么问题?
请问Beal环境下编译OP-TEE后生成FIP需要哪些文件?
如何将大量电源管理和计时工作从ATF转移到OP-TEE上呢
如何在不使用op-tee的情况下进行编译?
请问HSE op-tee是什么关系?
OP-TEE无法在锁定的i.MX6UL上初始化JR怎么解决?
物联网终端应用TEE的一些思考

OP-TEE的内核初始化过程

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

OP-TEE服务项的启动
ARM64位与ARM32位OP-TEE启动过程的差异
安全存储密钥是什么
OP-TEE安全存储安全文件的格式

评论