linux安全-ecryptfs
sudo apt-get install ecryptfs-utils2 创建登录密码和挂载密码ecryptfs-setup-privatemkdir /root/tPrivatemount -t ecryptfs /root/tPrivate /root/tPrivatemount -t ecryptfs /root/tPrivate /root/tPrivatehttps://blog.csd
https://www.ibm.com/developerworks/cn/linux/l-cn-ecryptfs/
https://www.linuxjournal.com/article/9400
内核源码:fs\ecryptfs
1、介绍
架构在在文件系统之上,VFS之下。
eCryptfs 采用 OpenPGP 的文件格式存放加密文件, 对称密钥加密算法以块为单位进行加密/解密,因此 eCryptfs 将加密文件分成多个逻辑块,称为 extent。当读入一个 extent 中的任何部分的密文时,整个 extent 被读入 Page Cache,通过 Kernel Crypto API 被解密;当 extent 中的任何部分的明文数据被写回磁盘时,需要加密并写回整个 extent。
加密文件的头部存放元数据,包括元数据长度、标志位以及 EFEK 链,目前元数据的最小长度为 8192 字节
A. 加密写入
eCryptfs Layer 创建一个新文件时,Keystore 利用内核提供的随机函数创建一个 FEK;新文件关闭时,Keystore 和 eCryptfs Daemon 合作为每个授权用户创建相应 EFEK,存放在加密文件的头部元数据中。
B、解密读出
eCryptfs Layer 首次打开一个文件时,通过下层文件系统读取该文件的头部元数据,交与 Keystore 模块进行 EFEK(加密后的 FEK)的解密。
2、安装
sudo apt-get install ecryptfs-utils
ecryptfs-add-passphrase $FNEK -
输入:passphrase
输出:计算出两组sig加到keyring,前一组加密文件内容,后一组加密文件名
Inserted auth tok with sig [cbd6dc63028e5602] into the user session keyring
Inserted auth tok with sig [e8d80a5db4e67d9e] into the user session keyring
可获取写入Private.sig
mount.ecryptfs_private
通过文件(如Private.sig )得到上面的两组sig, sig_fekek = sigs[0]; sig_fnek = sigs[1];
通过参数得到其余参数,调用mount
ecryptfs_check_dev_ruid,
ecryptfs_cipher=%s, KEY_CIPHER
ecryptfs_key_bytes=%d, KEY_BYTES
ecryptfs_sig sig_fekek
ecryptfs_fnek_ sigsig_fnek
一些操作可常见脚本:ecryptfs-setup-private
https://blog.csdn.net/shenlan211314/article/details/6439573
https://blog.csdn.net/jy54264946/article/details/71336049
更多推荐
所有评论(0)