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,本章节将介绍这些密钥的使用和生成过程。相关密钥的关系和生成方式如图所示。
(关于这个秘钥的派生,芯片厂商会自定义)
全部0条评论
快来发表一下你的评论吧 !