整體架構(gòu)
eCryptfs整體架構(gòu)如下圖,主要是內(nèi)核模塊eCryptfs以及用戶態(tài)進程ecryptfsd。ecryptfsd進程只在使用key type為openssl模式時需要,使用passphrase模式(如上述測試用例)時不需要。ecryptfs-utils可作為用戶態(tài)輔助工具或C接口編程參考。
應(yīng)用程序發(fā)起系統(tǒng)調(diào)用時先經(jīng)過VFS,判斷目錄類型為eCryptfs時調(diào)用eCryptfs模塊的注冊函數(shù)。之后eCryptfs根據(jù)mountsession中保存的key signature參數(shù)從keyring中找到對應(yīng)密鑰(FEKEK),再調(diào)用crypto模塊API完成文件加解密。
eCryptfs核心加解密機制如下圖,主要特點歸納如下:
1、FEK(File Encryption Key)唯一,即每個文件的加密密鑰均不同,是隨文件創(chuàng)建時生成的一個隨機數(shù)。
2、每個文件的FEK經(jīng)過FEKEK(File Encryption Key Encryption Key)加密保護,加密后FEK稱為EFEK(Encrypted File Encryption Key),并保存在eCryptfs加密文件的header信息中(如前述page 0區(qū)域)。
3、passphrase模式下,F(xiàn)EKEK是基于用戶passphrase_passwd派生而來,派生方式是hash計算(參考代碼分析章節(jié))。
4、文件內(nèi)容按照page大小(Data Extent)進行塊加密。
核心過程可簡單描述為:
1、新文件加密時,生成隨機數(shù)FEK,對文件內(nèi)容進行分塊加密并存儲。根據(jù)用戶傳遞的key_sig參數(shù)從keyring找到對應(yīng)的FEKEK,用FEKEK加密FEK,生成EFEK并保存在文件header中。
2、解密時,同樣根絕key_sig找到FEKEK,用FEKEK解密EFEK后得到FEK,再用FEK解密文件內(nèi)容。
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
相關(guān)推薦
本帖最后由 eehome 于 2013-1-5 10:10 編輯
使用AES算法對128bit加密和解密版本:LabVIEW 8.6 8.6.1作者:zerld功能:使用AES算法對128bit加密和解密為便于閱讀,算法還留有優(yōu)化空間。本
發(fā)表于 02-22 14:12
stm32F4中如何看加解密的代碼
發(fā)表于 04-08 11:23
來源:維庫電子隨著信息量的急劇增長,信息安全日益受到人們重視。一個完整的數(shù)據(jù)加解密系統(tǒng)應(yīng)該 具備安全可靠的密碼認(rèn)證機制和加解密算法。本文基于MEMS 強鏈、USB 控制器和FPGA 設(shè) 計了一種
發(fā)表于 07-31 07:40
隨著信息量的急劇增長,信息安全日益受到人們重視。一個完整的數(shù)據(jù)加解密系統(tǒng)應(yīng)該具備安全可靠的密碼認(rèn)證機制和加解密算法。利用MEMS強鏈和FPGA設(shè)計USB移動硬盤數(shù)據(jù)加解密系統(tǒng),我們具體
發(fā)表于 08-01 06:48
文章目錄1、硬件加解密的分類2、ARM-CE / ARM-NEON3、Soc crypto engion4、cryptoisland5、cryptocell1、硬件加解密的分類在armv8的芯片
發(fā)表于 07-22 07:55
如何對AES加解密效率進行測試呢?怎樣去測試AES的加解密效率呢?
發(fā)表于 11-11 06:22
應(yīng)用對安全保護的需求,推出以Arm Cortex-M4為核心且內(nèi)建硬件加解密引擎的M480系列,本系列除提供完整安全防護外,亦能在72 MHz至192 MHz的頻率下提供高達90 DMIPS至240
發(fā)表于 08-28 07:29
沒有加解密技術(shù)是萬萬不能的? 通訊安全? 平臺安全? *例外:STM32 RDP保護知識產(chǎn)權(quán)? 加解密技術(shù)不是萬能的? 只是工具? 無法代替其它STM32安全技術(shù)
發(fā)表于 09-08 08:18
基于MEMS和FPGA的移動硬盤數(shù)據(jù)加解密系統(tǒng)
隨著信息量的急劇增長,信息安全日益受到人們重視。一個完整的數(shù)據(jù)加解密系統(tǒng)應(yīng)該 具備安全可靠的密碼認(rèn)證機制和加解密
發(fā)表于 11-05 08:57
?751次閱讀
WAPI由中國無線局域網(wǎng)國家標(biāo)準(zhǔn)升級為國際標(biāo)準(zhǔn),出于進入中國市場的需要,主流半導(dǎo)體廠商都已開始推出支持WAPI的WLAN方案。通常,WAPI的加解密機制可由軟硬件兩種方式實現(xiàn),一
發(fā)表于 07-01 10:36
?1396次閱讀
易語言是一門以中文作為程序代碼編程語言學(xué)習(xí)例程:易語言-源碼-加解密文本
發(fā)表于 06-06 17:43
?6次下載
電子發(fā)燒友網(wǎng)站提供《STM32的加解密硬件模塊.pdf》資料免費下載
發(fā)表于 08-02 09:14
?1次下載
銅墻鐵壁的最佳安全保護-硬件加解密MCU
發(fā)表于 08-11 14:44
?318次閱讀
方案架構(gòu)原理和核心機制,最后對關(guān)鍵業(yè)務(wù)流程代碼進行簡單梳理。 測試環(huán)境使用Ubuntu20.04虛擬機,因Ubuntu系統(tǒng)默認(rèn)打開eCryptfs內(nèi)核配置(CONFIG_ECRYPT_FS=y),只需
發(fā)表于 11-29 11:27
?895次閱讀
可編程AES加解密IP內(nèi)建密鑰擴展功能,使用初始密鑰產(chǎn)生擴展密鑰,用于加解密過程。可編程AES加解密IP處理128-bit分組數(shù)據(jù),并且支持可編程的密鑰長度:128-bit,192-bit和256-bit。
發(fā)表于 01-09 10:49
?361次閱讀
評論