Next Previous Contents

3. 摘要

这项过程涉及许多步骤。在下节 详细内容 中对这些步骤有详细说明。 先对这些步骤作出摘要说明也许是不错的主意,因为 Unix 和 Linux 的高手也许不需要详细步骤。 这些步骤如下:

  1. 下载最新的国际加密修补软件 (编写本文时的最新版本为“patch-int-2.2.10.4”):

    http://ftp.kerneli.org/pub/kerneli/

  2. 修补内核

  3. 运行 'config' (或 'menuconfig' 或 'xconfig'),为新内核设置 'MakeFile'。 设定加密的各个选项并不集中在一起。首先,要设定任何选项都得选用 'Code Maturity level options' 项下的 'Prompt for development and/or incomplete code/drivers'。在 'Crypto options' 项下选用 'crypto ciphers' 和 'serpent' 两项。在此再次假设使用 serpent 加密,不过也可试用其他的加密办法。 在此必须指出,DES 到 2.2.10.4 版都还与系统不兼容 - 估计未来也不会兼容。在 'Block Devices' 下有几个重要选项必须选定。这包括 'Loopback device support', 'Use relative block numbers as basis for transfer functions (RECOMMENDED)' 和 'General encryption support' 等各项。此处不要选 'cast 128' 或 'twofish' 加密。此外在各种网路中也不需选取任何加密选项。 任何有关内核的设置方法均可参阅 LDP 文件,不在此处再次赘述。

  4. 编辑新内核

  5. 编辑 '/etc/lilo.conf',以便在设置文档内增加新内核。运行 'lilo -v' 将内核加到 boot loader 内。

  6. 从下列网址下载最新的 'util-linux' 源代码 (此处使用 'util-linux-2.9v' 版):

    ftp://ftp.kernel.org/pub/linux/utils/util-linux/

  7. 解压 'util-linux' 源代码。

  8. 利用在 '/usr/src/linux/Documentation/crypto/' 目录内的相应修补软件。

  9. 仔细阅读 'INSTALL'。这套软件内有许多与系统有关的文档的源代码 (重要的工具如'login', 'passwd'和'init'等)。如果在编辑这些源代码之前 不仔细地编辑 MCONFIG,最好手头随时有启动片可用,因为系统随时都会错乱。 基本上,将所有 'HAVE_*' 都设成“yes”,使所有重要的系统软件都不会被更改。 需要重建的工具是 'mount' 和 'losetup',以适合新的加密需要。 细节不妨参看下文 详细内容

  10. 编辑和安装 'util-linux'。

  11. 用新内核重新启动电脑。

  12. 编辑 '/etc/fstab',增加加载点,步骤如下:


    /dev/loop0  /mnt/crypt  ext2  user,noauto,rw,loop 0 0
    

  13. 如上文 '/mnt/crypt' 的方式,建立能收存文档系统的目录。

  14. 作为使用者,收存加密的文档如下:

    dd if=/dev/urandom of=/etc/cryptfile bs=1M count=10
    

  15. 运行 losetup 如下:

    losetup -e serpent /dev/loop0 /etc/cryptfile
    

    注意:设定使用密码的机会只有一次。可用下列指令查核使用密码:

    losetup -d /dev/loop0
    

    这条指令会使 loop device 停止作用。随后再启动 losetup 就可测试使用密码,方法如下:

    losetup -e serpent /dev/loop0 /etc/cryptfile
    

  16. 设定 ext2 文档系统如下:

    mkfs -t ext2 /dev/loop0 100000
    

  17. 此时就可加载加密的文档系统:

    mount -t ext2 /dev/loop0 /mnt/crypt
    

  18. 完成加密之后,可卸载和保护文档系统如下:

    umount /dev/loop0
    losetup -d /dev/loop0'
    


Next Previous Contents