使用加密文件系统(EFS)
下面将详细介绍利用dm-crypt来创建加密文件系统的方法。与其它创建加密文件系统的方法相比,dm-crypt系统有着无可比拟的优越性:它的速度更快,易用性更强。除此之外,它的适用面也很广,能够运行在各种块设备上,即使这些设备使用了RAID和LVM也毫无障碍。dm-crypt系统之所以具有这些优点,主要得益于该技术是建立在2.6版本内核的device-mapper特性之上的。device-mapper是设计用来为在实际的块设备之上添加虚拟层提供一种通用灵活的方法,以方便开发人员实现镜像、快照、级联和加密等处理。此外,dm-crypt使用了内核密码应用编程接口实现了透明的加密,并且兼容cryptloop系统。
1、内核准备
dm-crypt利用内核的密码应用编程接口来完成密码操作。一般说来,内核通常将各种加密程序以模块的形式加载。对于AES来说,其安全强度已经非常之高,即便用来保护绝密级的数据也足够了。为了保证用户的内核已经加载AES密码模块,请根据图7所示命令进行检查:
▲图7.检查AES模块是否成功加载
否则,可以使用modprobe来手工加载AES模块,命令如下所示:
接下来,用户安装dmsetup软件包,该软件包含有配置device-mapper所需的工具,如下命令所示:
为检查dmsetup软件包是否已经建立了设备映象程序,键入下列命令进行:
然后,需要使用如下命令加载dm-crypt内核模块:
dm-crypt加载后,它会用evice-mapper自动注册。如果再次检验的话,device-mapper已能识别dm-crypt,并且把crypt添加为可用的对象。执行完上述步骤后,用户应该可以根据如下命令看到crypt的下列输出,如图8所示:
▲图8.成功做好装载加密设备的显示
这说明系统已经为装载加密设备做好了准备。下面,我们先来建立一个加密设备。
2、创建加密设备
要创建作为加密设备装载的文件系统,有两种选择:一是建立一个磁盘映像,然后作为回送设备加载;二是使用物理设备。无论那种情况,除了在建立和捆绑回送设备外,其它操作过程都是相似的。
3、建立回送磁盘映象
如果用户没有用来加密的物理设备(比如存储棒或另外的磁盘分区),作为替换,你可以利用命令dd来建立一个空磁盘映象,然后将该映象作为回送设备来装载,照样能用。下面我们以实例来加以介绍:
这里我们新建了一个大小为100MB的磁盘映象,该映象名字为virtual.img。要想改变其大小,可以改变count的值。
接下来,我们利用losetup命令将该映象和一个回送设备联系起来:
现在,我们已经得到了一个虚拟的块设备,其位于/dev/loop0,并且我们能够如同使用其它设备那样来使用它。
4、设置块设备
准备好了物理块设备(例如/dev/hda1),或者是虚拟块设备(像前面那样建立了回送映象,并利用device-mapper将其作为加密的逻辑卷加载),我们就可以进行块设备配置了。
下面我们使用cryptsetup来建立逻辑卷,并将其与块设备捆绑:
其中,ly_EFS是新建的逻辑卷的名称。并且最后一个参数device_name必须是将用作加密卷的块设备。所以,如果要使用前面建立的回送映象作为虚拟块设备的话,应当运行以下命令:
无论是使用物理块设备还是虚拟块设备,程序都会要求输入逻辑卷的口令,-y的作用在于要你输入两次口令以确保无误。这一点很重要,因为一旦口令弄错,就会把自己的数据锁住,如图9所示:
▲图9.为EFS输入密码
(责任编辑:闫小琪)