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