use*_*048 12 c linux-kernel ecryptfs
我试图在linux中读取ecryptfs的源代码.任何人都可以帮我解释一下linux内核子系统dm-crypt和ecryptfs的区别.有没有介绍ecryptfs来源的参考书.谢谢你的帮助.
Dus*_*and 36
dm-crypt和eCryptfs都是紧密集成在Linux内核中的功能,可以对静态数据进行加密.自2006年以来,它们都已经在Linux内核的上游,并且被消费者和企业大量使用.然而,每种方法都是完全不同的.
dm-crypt提供" 块 "级加密.使用dm-crypt,Linux内核会创建一个完整的加密块设备,然后可以像系统中的任何其他块设备一样使用它.它可以分区,刻入LVM,RAID或直接用作磁盘.但这确实意味着您必须先决定使用加密,并预先分配空间,然后创建并格式化文件系统.它非常快速有效,尤其是当您的CPU支持CPU上的Intel AES-NI加密加速时.但是,整个块设备只使用一个密钥.因此,这是一种直接的,全有或全无的加密方法.
eCryptfs提供"每个文件"加密.eCryptfs是一个完全符合POSIX标准的Linux堆叠文件系统.eCryptfs将元数据存储在每个文件的标头中,以便可以在主机之间复制加密文件; 该文件将使用Linux内核密钥环中的正确密钥进行解密.除了已加密文件本身的内容之外,无需跟踪任何其他信息.您可能会认为eCryptfs是一种" GnuPG作为文件系统".可以使用不同的密钥加密不同的文件,并且可以选择加密文件名.但是,文件属性不会被屏蔽,因此攻击者可以看到文件的大致大小,所有权,权限和时间戳.由于eCryptfs是一个分层文件系统,因此您不必提前预先分配空间.你只需将一个目录挂载到另一个目录之上(有点像NFS); 写入和读取上层目录的所有数据(假设您有密钥)看起来像明文数据,但所有数据在下面以密文形式写入磁盘之前都是加密的.由于eCryptfs必须基于每个文件处理密钥和元数据,因此在饱和读取和写入时,它比dm-crypt执行速度稍慢.
大多数Linux发行版在其安装程序和Android中都支持某种程度的dm-crypt .您可以使用dm-crypt加密整个设备或桌面,平板电脑,手机或服务器的根安装,但这通常意味着系统无法再无人值守启动,因为您需要在启动时以交互方式输入密码.
出于这个原因,Ubuntu在其安装程序中添加了对eCryptfs的支持,使用户只能加密磁盘的敏感部分,例如其主目录,并利用用户的登录密码来打开一个特殊的,长的,随机生成的密钥.大约300万Ubuntu用户利用eCryptfs加密他们的主目录.某些商业网络附加存储设备(如Synology)使用eCryptfs加密静态数据.每个Google Chromebook设备都使用eCryptfs来保护和加密用户的本地缓存和静态凭据.
完全披露:我是eCryptfs的作者和维护者之一.
归档时间: |
|
查看次数: |
7377 次 |
最近记录: |