OP-TEE的安全存儲的簡介
OP-TEE的安全存儲功能是OP-TEE為用戶提供的安全存儲機制。用戶可使用安全存儲功能來保存敏感數(shù)據(jù)、密鑰等信息。
使用OP-TEE安全存儲功能保存數(shù)據(jù)時,OP-TEE會對需要被保存的數(shù)據(jù)進行加密,且每次更新安全文件時所用的加密密鑰都會使用隨機數(shù)重新生成,用戶只要調(diào)用GP標準中定義的安全存儲相關(guān)接口就能使用OP-TEE的安全存儲功能對私有數(shù)據(jù)進行保護。
需要被保護的數(shù)據(jù)被OP-TEE加密后會被保存到REE側(cè)的文件系統(tǒng)、EMMC的RPMB分區(qū)或數(shù)據(jù)庫中,至于具體需要將加密后的數(shù)據(jù)保存到哪里則由芯片提供商決定。(為啥放在REE側(cè)的文件系統(tǒng)?因為REE側(cè)linux有文件系統(tǒng)啊哈哈哈我猜的)
也可通過打開對應(yīng)的宏開關(guān),使能對應(yīng)的保存方式來滿足用戶的實際需求。安全存儲功能可提供一個安全的存儲環(huán)境,安全文件中數(shù)據(jù)的加解密過程都在OP-TEE中完成,且加解密密鑰的生成也是在OP-TEE中進行的,這樣就能保證數(shù)據(jù)的安全性。
安全存儲功能使用的密鑰
OP-TEE中使用安全存儲功能保存的數(shù)據(jù)都是使用AES算法進行加密的,加密后的文件被保存在文件系統(tǒng)或RPMB分區(qū)。
使用AES算法進行數(shù)據(jù)加密或解密時需提供密鑰和初始化向量IV值。
每個TA在使用安全存儲功能保存數(shù)據(jù)時都會生成一個隨機數(shù)作為IV值,使用FEK的值作為AES的密鑰。FEK的值是OP-TEE對相關(guān)數(shù)據(jù)執(zhí)行HMAC操作后生成的。(HMAC需要三個輸入?yún)?shù),密鑰Key,消息內(nèi)容,Hash算法;(所以HMAC本身并不是一種Hash算法,因而需要調(diào)用現(xiàn)成的Hash算法。)
FEK值的生成涉及SSK和TSK,本章節(jié)將介紹這些密鑰的使用和生成過程。相關(guān)密鑰的關(guān)系和生成方式如圖所示。
(關(guān)于這個秘鑰的派生,芯片廠商會自定義)
-
數(shù)據(jù)庫
+關(guān)注
關(guān)注
7文章
3925瀏覽量
66174 -
安全存儲器
+關(guān)注
關(guān)注
0文章
12瀏覽量
7540 -
密匙
+關(guān)注
關(guān)注
0文章
3瀏覽量
6547
發(fā)布評論請先 登錄
TEE解決了什么問題?
請問Beal環(huán)境下編譯OP-TEE后生成FIP需要哪些文件?
如何將大量電源管理和計時工作從ATF轉(zhuǎn)移到OP-TEE上呢
如何在不使用op-tee的情況下進行編譯?
請問HSE op-tee是什么關(guān)系?
OP-TEE無法在鎖定的i.MX6UL上初始化JR怎么解決?
物聯(lián)網(wǎng)終端應(yīng)用TEE的一些思考

OP-TEE的內(nèi)核初始化過程

OP-TEE的內(nèi)核初始化函數(shù)調(diào)用

OP-TEE服務(wù)項的啟動
ARM64位與ARM32位OP-TEE啟動過程的差異
安全存儲密鑰是什么
OP-TEE安全存儲安全文件的格式

評論