安全存儲(chǔ)中的安全文件和dirf.db文件中的數(shù)據(jù)內(nèi)容都是按照一定的格式保存的,主要由三部分組成:
? tee_fs_htree_image
? tee_fs_htree_node_image
? 數(shù)據(jù)區(qū)域塊
tee_fs_htree_image和tee_fs_htree_node_image結(jié)構(gòu)體中保存的是安全文件操作時(shí)使用到的重要數(shù)據(jù)的密文數(shù)據(jù),
tee_fs_htree_image區(qū)域中的數(shù)據(jù)是對(duì)元數(shù)據(jù)經(jīng)加密重要數(shù)據(jù)后生成的。
而數(shù)據(jù)區(qū)域塊和tee_fs_htree_node_image中的數(shù)據(jù)則是對(duì)數(shù)據(jù)塊數(shù)據(jù)經(jīng)加密后獲得的。
5.1、各種類型數(shù)據(jù)的組成及作用
tee_fs_htree_image
tee_fs_htree_image主要保存加密頭部的IV值、加密安全文件的FEK使用的enc_fek以及加密之后生成的tag、imeta及標(biāo)記兩個(gè)tee_fs_htree_image哪個(gè)為最新的counter值。
tee_fs_htree_image中的imeta是按照元數(shù)據(jù)的方式經(jīng)加密對(duì)應(yīng)的數(shù)據(jù)獲得
tee_fs_htree_node_image
tee_fs_htree_node_image保存節(jié)點(diǎn)的哈希值、加密數(shù)據(jù)塊區(qū)域使用的IV值、標(biāo)記使用哪個(gè)data
block的ver的flag值以及加密需要被保存的數(shù)據(jù)時(shí)生成的tag數(shù)據(jù)。
tee_fs_htree_node_imaget中的tag跟數(shù)據(jù)塊中的數(shù)據(jù)則是按照數(shù)據(jù)塊加密策略經(jīng)加密后獲得。
數(shù)據(jù)塊區(qū)域
數(shù)據(jù)塊區(qū)域保存的是需要被保存的數(shù)據(jù)的密文數(shù)據(jù)。
5.2、元數(shù)據(jù)的加密
tee_fs_htree_image區(qū)域中的數(shù)據(jù)是按照元數(shù)據(jù)方式經(jīng)加密生成的,該加密過程如圖所示。
上述加密操作過程中相關(guān)元素說明如下:
?FEK:安全文件和dirf.db文件在執(zhí)行加密操作時(shí)使用的密鑰,該值在文件創(chuàng)建時(shí)使用隨機(jī)數(shù)的方式生成。對(duì)已經(jīng)創(chuàng)建好的文件進(jìn)行操作時(shí),該值會(huì)從tee_fs_htree_image的enc_fek成員中使用TSK解密獲得;
? TSK:使用SSK和UUID執(zhí)行HMAC計(jì)算得到;
? AES_ECB:將FEK使用TSK經(jīng)AES的ECB模式加密操作后生成enc_fek;
? Encrypted FEK:使用TSK加密FEK得到,保存在tee_fs_htree_image的enc_fek中,最終會(huì)被寫入安全文件或者dirf.db文件頭的頭部中;
? Meta
IV:使用安全存儲(chǔ)創(chuàng)建文件或?qū)ee_fs_htree_image寫入文件中都會(huì)被隨機(jī)生成,最終會(huì)被寫入安全文件或dirf.db文件頭的頭部中;
? Meta Data:/data/tee目錄下每個(gè)文件中存放的tee_fs_htree_node_image的個(gè)數(shù)相關(guān)的數(shù)據(jù);
? AES_GCM:將enc_fek+meta iv+meta data使用FEK和meta IV進(jìn)行AES的GCM模式加密操作生成tag和Encryption Meta Data數(shù)據(jù);
? Tag:加密enc_fek+meta iv+meta data時(shí)生成的tag值,數(shù)據(jù)會(huì)被保存在tee_fs_htree_image中的tag成員中;
? Encryptoed Meta Data:加密enc_fek+meta iv+meta data時(shí)生成的imeta值,數(shù)據(jù)會(huì)被保存在tee_fs_htree_image中的imeta成員中。
5.3、數(shù)據(jù)塊區(qū)域的加密策略
數(shù)據(jù)塊區(qū)域和tee_fs_htree_node_image中的數(shù)據(jù)是按照數(shù)據(jù)塊區(qū)域的加密策略經(jīng)加密明文數(shù)據(jù)生成的,數(shù)據(jù)塊區(qū)域加密策略的加密過程如圖所示。
上述加密操作過程中相關(guān)元素說明如下:
? Encrypted FEK:使用TSK加密FEK得到,保存在tee_fs_htree_image的enc_fek中,最終會(huì)被寫入安全文件或者dirf.db文件頭的頭部中;
? TSK:使用SSK和UUID執(zhí)行HMAC計(jì)算得到;
? AES_ECB:將Encrypted FEK使用TSK進(jìn)行ECB模式的AES解密操作生成FEK;
? FEK:解密Encrypted FEK之后生成的FEK,用于加密需要被保存的數(shù)據(jù)塊;
? Block IV:每次加密數(shù)據(jù)區(qū)域中每個(gè)數(shù)據(jù)塊是都會(huì)隨機(jī)生成,然后被保存tee_fs_htree_node_image變量的IV成員中;
? Block Data:將需要被保存的數(shù)據(jù)更新到對(duì)應(yīng)的數(shù)據(jù)塊區(qū)域,然后重新加密后生成新的數(shù)據(jù)塊的密文數(shù)據(jù);
-
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
7233瀏覽量
90794 -
安全存儲(chǔ)器
+關(guān)注
關(guān)注
0文章
11瀏覽量
7525 -
TEE
+關(guān)注
關(guān)注
0文章
29瀏覽量
10415
發(fā)布評(píng)論請(qǐng)先 登錄
labviewAES加解密小程序
如何利用MEMS和FPGA設(shè)計(jì)移動(dòng)硬盤數(shù)據(jù)加解密系統(tǒng)?
如何利用MEMS強(qiáng)鏈和FPGA設(shè)計(jì)USB移動(dòng)硬盤數(shù)據(jù)加解密系統(tǒng)?
硬件加解密的分類
硬件加解密主要優(yōu)點(diǎn)及引擎種類
STM32加解密技術(shù)
基于MEMS和FPGA的移動(dòng)硬盤數(shù)據(jù)加解密系統(tǒng)

基于MEMS強(qiáng)鏈和FPGA的USB移動(dòng)硬盤數(shù)據(jù)加解密系統(tǒng)

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

評(píng)論