密鑰管理
從上節(jié)中我們了解到eCryptfs中核心機(jī)制中主要有兩個(gè)KEY,即FEKEK和FEK,前者和用戶輸入passphrase_passwd有關(guān),后者是每個(gè)文件唯一的隨機(jī)數(shù)。下面結(jié)合ecryptfs-utils源碼,分別介紹這兩個(gè)KEY的生成過程。
1、用戶passphrase_passwd 到 FEKEK的轉(zhuǎn)換
從C測試用例中看到,opt參數(shù)只有key_sig信息,并不指定FEKEK。且mount操作前提是已添加對應(yīng)key(FEKEK)到內(nèi)核keyring。腳本命令實(shí)際是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有一個(gè)默認(rèn)值ECRYPTFS_DEFAULT_SALT如下圖),在generate_passphrase_sig函數(shù)中進(jìn)行hash計(jì)算,并將結(jié)果記錄在變量fekek中,然后對fekek再進(jìn)行一次hash計(jì)算,結(jié)果記錄為passphrase_sig/auth_token_sig,并返回給用戶后續(xù)使用(key_sig)。
generate_payload則為每一次session創(chuàng)建一個(gè)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)核
                                +關(guān)注
關(guān)注
4文章
1432瀏覽量
42367 - 
                                Linux
                                +關(guān)注
關(guān)注
88文章
11585瀏覽量
217346 - 
                                磁盤
                                +關(guān)注
關(guān)注
1文章
394瀏覽量
26248 - 
                                密鑰管理
                                +關(guān)注
關(guān)注
0文章
23瀏覽量
7778 
發(fā)布評論請先 登錄
Linux內(nèi)核的作用
    
使用CAAM安全密鑰的磁盤加密,設(shè)備映射器在調(diào)用dmsetup時(shí)啟動報(bào)錯(cuò)怎么解決?
Arm密鑰管理單元規(guī)范
Linux的內(nèi)核教程
安全組播密鑰管理方案研究
基于非對稱加密的根密鑰管理方案
    
基于三叉樹的OFT組密鑰管理協(xié)議
    
網(wǎng)絡(luò)安全密鑰是什么_網(wǎng)絡(luò)安全密鑰怎么修改
密鑰管理系統(tǒng)概述_密鑰管理系統(tǒng)架構(gòu)圖
    
LINUX電源管理
    
Linux內(nèi)核的安全性對Android的影響
一文解讀密鑰管理與密鑰分散
磁盤eCryptfs加密測試用例
    
eCryptfs整體架構(gòu)和核心加解密機(jī)制介紹
    
          
        
        
Linux內(nèi)核安全eCryptfs密鑰管理
                
 
           
            
            
                
            
評論