密鑰管理
從上節(jié)中我們了解到eCryptfs中核心機制中主要有兩個KEY,即FEKEK和FEK,前者和用戶輸入passphrase_passwd有關,后者是每個文件唯一的隨機數(shù)。下面結合ecryptfs-utils源碼,分別介紹這兩個KEY的生成過程。
1、用戶passphrase_passwd 到 FEKEK的轉換
從C測試用例中看到,opt參數(shù)只有key_sig信息,并不指定FEKEK。且mount操作前提是已添加對應key(FEKEK)到內核keyring。腳本命令實際是mount helper協(xié)助(隱式)完成了添加keyring的操作。
核心函數(shù)即C用例中調用的ecryptfs_add_passphrase_key_to_key_ring。
首先ecryptfs_generate_passphrase_auth_tok會根據(jù)用戶輸入的passphrases信息、salt信息(參數(shù)指定,ecryptfs-utils有一個默認值ECRYPTFS_DEFAULT_SALT如下圖),在generate_passphrase_sig函數(shù)中進行hash計算,并將結果記錄在變量fekek中,然后對fekek再進行一次hash計算,結果記錄為passphrase_sig/auth_token_sig,并返回給用戶后續(xù)使用(key_sig)。
generate_payload則為每一次session創(chuàng)建一個auth_tok結構體,記錄更多加解密相關信息。





最后調用ecryptfs_add_auth_tok_to_keyring中,將對應FEKEK、key_sig、salt等信息都添加到keyring。至此就完成了從passphrase_passwd到FEKEK的轉換和內核keyring添加。

-
內核
+關注
關注
4文章
1476瀏覽量
43089 -
Linux
+關注
關注
88文章
11817瀏覽量
219543 -
磁盤
+關注
關注
1文章
401瀏覽量
26591 -
密鑰管理
+關注
關注
0文章
23瀏覽量
7815
發(fā)布評論請先 登錄
Linux內核的作用
使用CAAM安全密鑰的磁盤加密,設備映射器在調用dmsetup時啟動報錯怎么解決?
Linux的內核教程
安全組播密鑰管理方案研究
基于非對稱加密的根密鑰管理方案
基于三叉樹的OFT組密鑰管理協(xié)議
網(wǎng)絡安全密鑰是什么_網(wǎng)絡安全密鑰怎么修改
密鑰管理系統(tǒng)概述_密鑰管理系統(tǒng)架構圖
Linux內核的安全性對Android的影響
一文解讀密鑰管理與密鑰分散
磁盤eCryptfs加密測試用例
eCryptfs整體架構和核心加解密機制介紹
Linux內核安全eCryptfs密鑰管理
評論