密鑰管理
從上節(jié)中我們了解到eCryptfs中核心機制中主要有兩個KEY,即FEKEK和FEK,前者和用戶輸入passphrase_passwd有關,后者是每個文件唯一的隨機數(shù)。下面結(jié)合ecryptfs-utils源碼,分別介紹這兩個KEY的生成過程。
1、用戶passphrase_passwd 到 FEKEK的轉(zhuǎn)換
從C測試用例中看到,opt參數(shù)只有key_sig信息,并不指定FEKEK。且mount操作前提是已添加對應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有一個默認值ECRYPTFS_DEFAULT_SALT如下圖),在generate_passphrase_sig函數(shù)中進行hash計算,并將結(jié)果記錄在變量fekek中,然后對fekek再進行一次hash計算,結(jié)果記錄為passphrase_sig/auth_token_sig,并返回給用戶后續(xù)使用(key_sig)。
generate_payload則為每一次session創(chuàng)建一個auth_tok結(jié)構(gòu)體,記錄更多加解密相關信息。
最后調(diào)用ecryptfs_add_auth_tok_to_keyring中,將對應FEKEK、key_sig、salt等信息都添加到keyring。至此就完成了從passphrase_passwd到FEKEK的轉(zhuǎn)換和內(nèi)核keyring添加。
-
內(nèi)核
+關注
關注
3文章
1416瀏覽量
41431 -
Linux
+關注
關注
87文章
11511瀏覽量
213810 -
磁盤
+關注
-
密鑰管理
+關注
關注
0文章
23瀏覽量
7725
發(fā)布評論請先 登錄
Linux內(nèi)核的作用

使用CAAM安全密鑰的磁盤加密,設備映射器在調(diào)用dmsetup時啟動報錯怎么解決?
Arm密鑰管理單元規(guī)范
Linux的內(nèi)核教程
安全組播密鑰管理方案研究
基于非對稱加密的根密鑰管理方案

基于三叉樹的OFT組密鑰管理協(xié)議

網(wǎng)絡安全密鑰是什么_網(wǎng)絡安全密鑰怎么修改
密鑰管理系統(tǒng)概述_密鑰管理系統(tǒng)架構(gòu)圖

LINUX電源管理

Linux內(nèi)核的安全性對Android的影響
一文解讀密鑰管理與密鑰分散
磁盤eCryptfs加密測試用例

eCryptfs整體架構(gòu)和核心加解密機制介紹

評論