|
在设置加密文件系统之前,你应该随意分区,这样排除一个潜在关于磁盘内容的信息漏洞,图1示范了一个抽象的半满磁盘,它没有恰当进行随机排列,图2示范了一个恰当随机排列的磁盘,在格式化之前包含一个加密的文件系统,注意,从图1中可以获取到一些关于它的内容的知识(如它们跨越了磁盘的二分之一),图2提供了一个没有那么豪华的对手,假如这样,磁盘可以很容易被清空,分区随机排列是通过用随机数据重写它的内容实现的:dd if=/dev/urandom of=/dev/hda4,这个过程可能要花很长的时间,因为创建随机数据有些困难的。
 |
|
图1 |
 |
|
图2随机排列的分区隐藏了使用量 |
要在/dev/hda4上创建一个加密的ext3文件系统,使用下面的步骤: 1)确认aes,dm-mod,dm-crypt模块已经载入内核 2)卸载将要托管加密root文件系统的分区/dev/hda4 #umount /dev/hda4 3)创建一个随机256位加密密钥并存储在/etc/root-key #dd if =/dev/urandom of=/etc/root-key bs=1c count=32 这个密钥稍后将拷贝到闪存盘。 4)创建一个dm-crypt设备,使用前面创建的密钥加密 #cryptsetup -d /etc/root-key create /dev/hda4 现在访问/dev/mapper/root在/dev/hda4上提供了一个加密层,默认情况下,cryptsetup创建一个aes加密的dm-crypt设备并任务密钥大小为256位。 5)在/dev/mapper/root上创建一个ext3文件系统 #mkfs.ext3 /dev/mapper/root 6)挂载新文件系统 #mkdir /mnt/encroot #mount /dev/mapper/root /mnt/encroot 7)现在你已经有一个加密文件系统了,你必须用/dev/hda5(原始的root文件系统)的内容来填充它 #cp -ax / /mnt/encroot 8)最后,在/mnt/encroot/crypttab中创建一个条目以便不同的实用程序知道文件系统是如何配置的: root /dev/hda4 /etc/root-key cipher=aes
现在我们的加密文件系统已经准备好了,需要理解更多关于目标架构的启动过程,通常,计算机有一个固件程序来掌管系统启动的全过程,保护固件程序超出了本文的范畴,因此我们假设系统固件程序是可以信任的,大多数读者可能对BIOS比较熟悉,它是PC平台的启动固件程序,我主要讨论的是Open Firmware,它用于计算机制造厂商如苹果,sun和IBM启动系统。
NetBSD/macppc的安装指令对Open Firmware做了一个充分的介绍,我们对使用Open Firmware命令行接口配置计算机从一个闪存盘启动非常感兴趣,Open Firmware允许你查看连接到计算机的设备和设置固件程序变量的值。 在一个新世界(G3或更新的)苹果计算机初始化启动过程中,可以通过暂停选择性命令来访问Open Firmware提示符。
变量boot-device用于确定系统将从哪个设备启动,printenv命令允许查看当前的值: > printenv [...] boot-devicehd:,\\:txbihd:,\\:txbi
这实际上意味着通过执行在第一块IDE磁盘上HFS类型txbi的文件来实现启动的,第二:txbi前的字符作为解释一个HFS文件类型的标志,否则,txbi可能被理解为文件路径,假如这样,标志hd实际上是更复杂的/pci@f4000000/ata-6@d/disk@0的一个别名,这个字符串通过子系统变量表现了路径,你可以使用Open Firmware命令查看设备对应的别名。
上一页 [1] [2] [3] [4] 下一页 |