密鑰管理
從上節(jié)中我們了解到eCryptfs中核心機(jī)制中主要有兩個KEY,即FEKEK和FEK,前者和用戶輸入passphrase_passwd有關(guān),后者是每個文件唯一的隨機(jī)數(shù)。下面結(jié)合ecryptfs-utils源碼,分別介紹這兩個KEY的生成過程。
1、用戶passphrase_passwd 到 FEKEK的轉(zhuǎn)換
從C測試用例中看到,opt參數(shù)只有key_sig信息,并不指定FEKEK。且mount操作前提是已添加對應(yīng)key(FEKEK)到內(nèi)核keyring。腳本命令實際是mount helper協(xié)助(隱式)完成了添加keyring的操作。
核心函數(shù)即C用例中調(diào)用的ecryptfs_add_passphrase_key_to_key_ring。
首先ecryptfs_generate_passphrase_auth_tok會根據(jù)用戶輸入的passphrases信息、salt信息(參數(shù)指定,ecryptfs-utils有一個默認(rèn)值ECRYPTFS_DEFAULT_SALT如下圖),在generate_passphrase_sig函數(shù)中進(jìn)行hash計算,并將結(jié)果記錄在變量fekek中,然后對fekek再進(jìn)行一次hash計算,結(jié)果記錄為passphrase_sig/auth_token_sig,并返回給用戶后續(xù)使用(key_sig)。
generate_payload則為每一次session創(chuàng)建一個auth_tok結(jié)構(gòu)體,記錄更多加解密相關(guān)信息。
最后調(diào)用ecryptfs_add_auth_tok_to_keyring中,將對應(yīng)FEKEK、key_sig、salt等信息都添加到keyring。至此就完成了從passphrase_passwd到FEKEK的轉(zhuǎn)換和內(nèi)核keyring添加。
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
相關(guān)推薦
Linux操作系統(tǒng)是當(dāng)今世界上最為廣泛使用的開源操作系統(tǒng)之一,內(nèi)核則是一個操作系統(tǒng)的核心和靈魂所在。對于一名Linux驅(qū)動開發(fā)者來說,了解Linux
發(fā)表于 07-06 11:46
?1834次閱讀
設(shè)備映射器:表:253:0:加密:解碼和設(shè)置密鑰設(shè)備映射器時出錯:ioctl:將目標(biāo)添加到表時出錯開發(fā)板為MCIMX7SABRE(設(shè)備狀態(tài)為OPEN)測試的 Linux 內(nèi)核是來自 linux
發(fā)表于 04-18 08:29
Arm?密鑰管理單元(KMU)是一種集中的密鑰管理架構(gòu),用于存儲對稱密鑰材料(資產(chǎn))。存儲在KMU中的密
發(fā)表于 08-09 06:43
隨著組播應(yīng)用的不斷發(fā)展,其安全性尤其是組播密鑰管理成為熱點(diǎn)問題。本文對基于邏輯密鑰樹的集中控制方案進(jìn)行了分析和改進(jìn)。改進(jìn)方案在不增加組播成員密鑰
發(fā)表于 08-18 09:02
?8次下載
系統(tǒng)為代表的移動通信系統(tǒng)中,根密鑰的管理存在缺乏更新機(jī)制或更新機(jī)制不安全的問題。本文提出了一種適用于移動通信系統(tǒng)的基于非對稱加密的根密鑰管理
發(fā)表于 12-13 15:44
?0次下載
針對集中式組播密鑰管理協(xié)議具有前向安全、后向安全、同謀破解等問題,本文提出了一種基于三叉樹(Ternary Tree)的OFT組密鑰
發(fā)表于 12-13 16:07
?0次下載
本文開始闡述了網(wǎng)絡(luò)安全密鑰的定義,其次闡述了如何設(shè)置無線網(wǎng)絡(luò)的安全密鑰以及無線網(wǎng)絡(luò)的加密方法,最后闡述了網(wǎng)絡(luò)安全
發(fā)表于 03-14 10:29
?14.2w次閱讀
本文開始介紹了密鑰管理系統(tǒng)的定義和密鑰管理系統(tǒng)架構(gòu),其次闡述了密鑰管理設(shè)計原則和對智能卡
發(fā)表于 03-14 13:43
?1.5w次閱讀
Linux的系統(tǒng)suspend和resumeLinux內(nèi)核 runtime_PM 框架Linux內(nèi)核電源管理綜述
發(fā)表于 11-07 19:36
?8次下載
在操作系統(tǒng)級別,Android平臺不僅提供Linux內(nèi)核的安全功能,而且還提供安全的進(jìn)程間通信 (IPC)機(jī)制,以便在不同進(jìn)程中運(yùn)行的應(yīng)用之間安全
發(fā)表于 09-13 09:09
?1304次閱讀
密鑰管理是數(shù)據(jù)加密技術(shù)中的重要一環(huán),密鑰管理的目的是確保密鑰的安全性(真實性和有效性)。
發(fā)表于 01-11 16:41
?2685次閱讀
方案架構(gòu)原理和核心機(jī)制,最后對關(guān)鍵業(yè)務(wù)流程代碼進(jìn)行簡單梳理。 測試環(huán)境使用Ubuntu20.04虛擬機(jī),因Ubuntu系統(tǒng)默認(rèn)打開eCryptfs內(nèi)核配置(CONFIG_ECRYPT_FS=y),只需
發(fā)表于 11-29 11:27
?1255次閱讀
整體架構(gòu) eCryptfs整體架構(gòu)如下圖,主要是內(nèi)核模塊eCryptfs以及用戶態(tài)進(jìn)程ecryptfsd。ecryptfsd進(jìn)程只在使用key type為openssl模式時需要
發(fā)表于 11-29 11:43
?971次閱讀
密鑰管理是數(shù)據(jù)加密技術(shù)中的重要一環(huán),密鑰管理的目的是確保密鑰的安全性(真實性和有效性)。
發(fā)表于 02-23 13:43
?488次閱讀
Universal Keystore Kit(密鑰管理服務(wù),下述簡稱為HUKS)向業(yè)務(wù)/應(yīng)用提供各類密鑰的統(tǒng)一安全操作能力,包括密鑰
發(fā)表于 07-04 14:20
?491次閱讀
評論