第 7 章 联邦标准和法规

要保证安全等级,可能需要您的机构在符合联邦和行业安全规格、标准和规则方面有所努力。本章论述了这些标准和规则的一部分。

7.1. 联邦信息处理标准(FIPS)

FIPS (美国联邦信息处理标准)出版物 140-2,是一个计算机的安全标准,有美国政府和业界工作组来验证密码模块的质量。FIPS 出版物(包括140-2)可以在以下网址中找到:http://csrc.nist.gov/publications/PubsFIPS.html。注意在编写的时候,出版物 140-3 处于草稿阶段,并不能代表完成的标准。 FIPS 标准提供了四项安全 等级来确保可以足够涵盖不同的行业、加密模块的执行和组织大小和要求。这些层次描述如下:
  • 等级1 — 安全等级 1 提供了最低等级的安全性。基本的安全要求对于加密模块有详细规定(比如,至少需要使用一个 Approved 算法或者 Approved 安全性能)。没有具体的物理安全机制在安全等级 1 的加密模块中必须超过生产等级组成的基本要求。一个安全等级为1的加密模块的例子就是 PC(个人电脑)加密板。
  • 等级2 — 安全等级2通过增加了篡改证据的要求,以加强安全等级1加密模块的物理安全机制,这包括了使用篡改争取的涂膜和封章,或模块中可移动覆盖或门的防盗锁。篡改证据的涂膜和印章被置于加密模块上因此涂膜或封印必须被破解以物理进入模块中的纯文本加密秘钥和 CSP (重要安全参数)。篡改证据印章或防盗锁都被置于封面或者门上以防止未授权的物理访问。
  • 等级3— 除了安全等级2所要求的篡改证据安全机制外,安全等级3尝试阻止入侵者获得进入加密模块中 CSP 的权限。安全等级3所要求的物理安全机制目的是得到尝试物理访问探测和反应的高可能性,使用或者修改加密模块。当加密模块中可移动的封面/门被打开时,物理安全机制也许包括使用强大的附件和篡改检测器/响应电路中将所有的纯文本 CSP 归零。
  • 等级4—安全等级4 提供了这一标准中最高的安全等级。在这一安全等级上,物理安全机制提供了在加密模块周围的完整保护套,目的是监测并对所有不授权的物理访问尝试作出回应。加密模块从任何方向渗透有非常高的几率会被探测出,导致了所有纯文本 CSP 的即刻归零。安全等级4的加密模块对于物理不受保护的环境中的运作十分有用。
更多关于这些等级和 FIPS 标准的其他说明,请见http://csrc.nist.gov/publications/fips/fips140-2/fips1402.pdf完整 FIPS 140-2标准。

7.1.1. 启动 FIPS 模式

为了让红帽 Linux 系统符合 FIPS (联邦信息处理标准)的 140-2 出版物,您需要作出一些修改以确保得到认可的加密模块得到使用。将您的系统(内核或者用户空间)切换到 FIPS 模式,请遵守以下步骤:
  1. 为了适当核查操作插入式模块完整性,预链接不得不废止。这可以通过设置/etc/sysconfig/prelink 配置文件中的PRELINKING=no 来完成。如有任何既存的预链接,应该使用 prelink -u -a要求,在所有系统文件中解除。
  2. 接下来,安装 dracut-fips包:
    ~]# yum install dracut-fips
  3. 重命名initramfs文档:
    ~]# dracut -f

    警告

    这个操作会改写既存的initramfs文档。
  4. 修改在 /boot/grub/grub.conf 文档中当前内核的内核命令行,添加以下选项:
                fips=1
    

    注意

    如果 /boot 或者 /boot/efi 位于单独的分区,内核参数boot=<partition of /boot or /boot/efi> 必须被添加到内核命令行。你可以分别通过运行 df /boot 或者 df /boot/efi这两个指令。
    ~]$ df /boot
    Filesystem           1K-blocks      Used Available Use% Mounted on
    /dev/sda1               495844     53780    416464  12% /boot
    即使是在启动时设备名称改变,通过运行以下要求来辨认 UUID (通用唯一标准)以确保 the boot= 参数选择仍然运作。
    ~]$ blkid /dev/sda1
    /dev/sda1: UUID="05c000f1-f899-467b-a4d9-d5ca4424c797" TYPE="ext4"
    根据上述例子,以下字符串需要被附到内核命令行上;
    boot=UUID=05c000f1-f899-467b-a4d9-d5ca4424c797
  5. 重启系统。
您应该需要严格的 FIPS 合规性,fips=1 内核选项需要在系统安装时被添加到内核命令行,因此密码的生成是通过计算法则以及运作中持续的监控而完成的。用户应该同样通过移动鼠标以确保系统在安装过程中有足够的信息熵,或如果没有鼠标,也要确保可以多次按下按键。对于敲击键盘的次数应该多于 256 次。少于 256 次的键盘敲击次数会产生非唯一的钥匙。