具有完整硬盘驱动器加密和预启动身份验证的多重启动

信息安全 加密 磁盘加密
2021-08-25 06:58:25

我将如何设置一个支持完整硬盘驱动器加密和预引导身份验证的多重引导系统。

我有一个带有 Ubuntu、Windows 7、Windows XP 的系统,我想安装 Red Hat。我使用 grub 2 引导加载程序。什么软件可以支持这种设置,通过预启动身份验证进行全驱动器加密?有用于 Windows 预启动身份验证的 TrueCrypt,但它会与 grub 2 一起使用吗?我可以在 Linux 端使用哪些其他磁盘加密软件?

4个回答

在阅读所有这些之前,请记住这项技术至少有 5 年的历史——现在可能要容易得多(请参阅其他答案)。(但弄清楚这一切确实很有趣。)

几年前,我使用 Fedora 10 和 Windows Vista 进行了此操作,以展示所有错综复杂的事物如何组合在一起。这有点涉及(主要是因为 Windows Vista 不能“与其他人很好地配合”并且不喜欢被安装第二个),但最终我找到了一个适合我的方法。你的情况更复杂,因为你有 3 个现有的操作系​​统,并且你想在你的驱动器上添加另一个。

因为我从来没有在 4 个操作系统上尝试过这个,所以我将把大部分工作留给你(实际的重新分区等),并将尝试从我的经验中获取一般安全原则并将它们应用于你的情况。另请注意,就我而言,我从头开始使用已擦除的驱动器。这更像是一个实验而不是专家的曝光......所以用一粒“盐”(没有双关语)做一些事情,不要让我负责。:)


请记住,这些只是我的笔记。您将不得不根据您的情况调整它们。所以我们开始:

此处描述的方法克服的问题

  • 我的笔记本硬盘只能包含 4 个主分区。

  • 主分区是唯一可以安装操作系统的分区(无论如何,Windows)。

  • 主分区是系统可以引导的唯一分区

  • 每个扩展分区都算作一个主分区。

  • 可能需要 6 或 7 个分区。

  • 当 TrueCrypt 仅在一个上运行时,它无法加密具有多个分区、操作系统和各种文件系统的整个驱动器

  • TrueCrypt 不能很好地与 Grub 或任何非 Windows 引导加载程序配合使用。

  • Windows 喜欢首先安装在标记为“可引导”的分区上(或者,如果根本没有分区标记为“可引导”)

到底有什么好处

  • 在初始引导加载程序提示后,可以使用脚本自动安装各种加密分区。(<3 Truecrypt)

  • 文件可以在加密的操作系统之间共享(使用密码)。

  • 每个分区都被加密,甚至交换文件。

引导加载程序如何协同工作

  • 我们安装并使用 Windows 的默认引导加载程序到 MBR。这是计算机将首先启动的内容。

  • 我们安装了 GRUB(Fedora 的引导加载程序),但没有安装到 MBR。这仅可供我们稍后启动。

  • 我们安装了 TrueCrypt,它接管了 Windows 引导加载程序。TrueCrypt 的引导加载程序进入 MBR。在启动时,用户将使用 TrueCrypt 进行身份验证,然后被带到 Windows 启动加载程序,在此选项 Vista 或 Linux(实际上是 GRUB)变得可用。

  • 最后,我的启动过程如下所示:

全盘加密双启动流程示意图

全盘加密双启动过程示意图(黄色框为加密分区;挂锁为另一层安全)

根据您的情况进行可能的调整

  • 除了挂载 Windows 分区外,我没有在 Linux 端使用 Truecrypt。我不确定如何从 Windows 挂载本机 Linux 加密分区,所以我的设置是单向的。例如,您可能会考虑使用 Truecrypt 至少加密您的 Linux/home目录,并让本机 Linux 加密保护/swap分区。这可能允许 Truecrypt 在 Windows 端挂载您的 Linux 文件。

  • 就地重新分区您的硬盘,或为 Red Hat 添加另一个驱动器。SuperUser的人可能对此了解更多。

  • 提前弄清楚你将如何对硬盘进行分区......你不需要像我使用的那样多的分区。

要求

  • 一台至少有一个硬盘你愿意擦干净的电脑(首先备份你的数据,当然......)

  • 您要安装的操作系统的安装光盘

  • Gparted LiveCD 或 LiveUSB

  • TrueCrypt

  • EasyBCD修改 Windows 引导加载程序(有免费版本...)


指示

备份您的数据。您将很快将硬盘彻底擦干净并重新格式化。

重新格式化整个驱动器。为此,我使用 Gparted LiveCD。如果您不想使用 Gparted,Fedora 10 的安装程序带有一个分区编辑器。但是,这有点棘手。您必须部分完成 Fedora 设置才能进入它,将更改应用到磁盘,然后退出设置,因为不应该先安装 Fedora。(Windows Vista 的分区编辑器不够强大。您不能为此使用它。)我强烈建议使用 Gparted LiveCD 或 LiveUSB。

我考虑了如何拆分驱动器,过了一会儿,我想出了这个:

分区图

使用 TrueCrypt 双重引导 Fedora 10 和 Windows Vista 的分区布局

我希望我事后对它们的大小有所不同,但你可以随心所欲地做。每个挂锁表示一个加密分区。带有“TC”的黄色挂锁在 Windows 中使用 TrueCrypt 加密。蓝色的是 Fedora 加密的。如您所见,每个分区(当然,/boot 分区除外)都是加密的。标记为红色的分区用于 Windows。黑色适用于 Linux。

好的,这是一个适合我的设置。基本上,你会想要这些东西:

  • 放置 Grub 的主引导分区(Fedora 可以为您安装的引导加载程序) - 我建议大约 50 到 100 兆字节。分区时不要将其标记为“可启动” - Windows 会抱怨。

  • 用于保存所有“数据”或“杂项”分区的扩展分区。这将保存您的 Fedora /home 目录(基本上是 Linux 的“我的文档”文件夹)、Windows 备份分区(可选)和您的 Linux 交换文件(强烈推荐)。交换文件应至少与 RAM 的容量一样大。

  • 要安装到的 Windows Vista 的主分区。

  • 用于安装 Fedora 10 的主分区。

像这样对您的驱动器进行分区,并确保使用适当的文件系统进行格式化。您可以使用上表作为参考。

记下分区的大小(按顺序)及其文件系统。在操作系统安装期间您将需要它。

开始安装 Windows Vista。您将被迫进行自定义安装。选择您为 Windows 安装保留的主 NTFS 分区。不要忘记加载硬盘驱动程序——尤其是在笔记本电脑上。如果您的 Windows 安装挂起 70% 左右,那么您需要为您的笔记本电脑安装 SATA 驱动程序。加载驱动程序并选择正确的分区后,安装 Windows。

Windows 安装后,正常启动并完成设置。不要花太多时间定制东西。运行后,关闭并插入 Fedora 10 DVD。启动并安装 Fedora。但是,请注意以下事项:

  • 确保您选择为分区进行自定义布局默认情况下,Fedora 将希望擦除内容并创建其首选的分区布局。不要让它这样做。确保直接进入可以查看和修改当前分区信息的部分。

  • 不要格式化 NTFS 分区。Windows 位于其中之一上。

  • 确保将小分区(100 MB?)的挂载点设置为 /boot。-选中“格式为”并选择“ext3”。您无法加密此分区。

  • 将 /home 目录的分区挂载点设置为……您猜对了:/home。检查“格式为”并选择“ext3”,然后选择“加密”选项。

  • 将交换文件的分区挂载点设置为 /swap。Linux 必须对其进行格式化,当然,您应该选择“加密”。

  • 将 Fedora 主安装分区的挂载点设置为“/”。检查“格式为”并选择“ext3”,然后选择“加密”选项。

在继续之前,请确保两个 NTFS 分区旁边都没有复选标记。如果这样做,它们将被格式化,您将不得不重新开始。继续。Fedora 会警告您它将删除修改分区上的所有数据。没关系。您现在可能还需要设置密码。继续做吧。

很快它会询问您有关引导加载程序的信息。在这里小心行事。不要将 GRUB 引导加载程序写入 MBR。当它显示“在/dev/sda1”上安装引导加载程序时(“sda1”可能不同) - 选中该框但单击“更改设备”并选择“引导分区的第一个扇区”。

在这一步之后,你应该可以自由回家了。完成安装并重新启动计算机。它将直接启动到 Windows。

Windows 加载后,下载并安装 EasyBCD。您会希望它轻松修改 Windows 引导加载程序。向引导加载程序添加一个条目:单击“添加/删除条目”-选择“Linux”选项卡,从下拉列表中选择“GRUB”,并将其命名为智能。选择包含 GRUB 的分区,而不是 Fedora。不选中该复选框。

添加条目然后尝试重新启动。您现在应该能够启动到 Fedora 或 Windows!再次启动进入 Windows 并对其进行加密,如下所示:

安装 TrueCrypt 并创建一个新卷。选择“加密系统分区或整个系统驱动器”。从这一点开始,您必须选择正确的选项。仔细阅读它们!我不记得确切的顺序,但您需要在某些时候指定“Multi-boot”。最后它会询问 Windows 是否在 MBR 中有它的引导加载程序,或者是否使用了不同的引导加载程序(如 GRUB)。请记住:我们使用的是 Windows 的引导加载程序(我们希望 Truecrypt 能够“超越”它)。

完成卷创建向导后,系统会要求您“测试”系统。它将为您重新启动。它应该引导到 TrueCrypt 引导加载程序,您将在其中输入密码。之后,它应该加载 Windows 引导加载程序,您可以在其中引导到 Linux 或 Windows。

从这里开始,完成对 Windows 系统分区的加密,然后记得加密您为 Windows 创建的任何其他 NTFS 分区。

完成后,尝试启动到 Linux。它应该进入 GRUB 引导菜单,您可以在其中选择 Fedora 或改变主意并返回 Windows。当 Fedora 启动时,系统会在安装加密分区时要求您输入密码。


铊;博士(太长了;没读过)

我花了几次尝试才弄好两个操作系统,并使用了 EasyBCD、Truecrypt 和 Gparted 等软件,但最终我成功了……两个操作系统。祝你好运4。关键是有效地计划。正确调整分区大小和格式,然后按正确顺序安装操作系统。(通常 Windows 会先运行。)

PS。嗯,对于一个更简单的解决方案,虽然不完全符合您的要求:您是否考虑过在虚拟机中运行 4 个操作系统中的 3 个?您可以加密主机,从而同时保护其他 3 台。(如果您担心丢失 VHD 文件,请记住您也可以完全加密来宾操作系统。)

Necro'd 更新:

现在这变得容易多了;最新版本的 TrueCrypt 支持 Linux,并允许涉及多个分区和 GRUB 的双重引导方案。

完整的说明在这里

可以通过两种方式向您提供预启动身份验证 (PBA):

  1. 通过软件

如果您想完全依赖软件并需要预启动身份验证,即一个软件执行加密(就地或在安装操作系统之前)并安装和管理预启动身份验证环境(PBA),这种设置的示例和软件名称可以在这里找到。正如文章所述,

FDE 系统涉及一些处理器(因此也是功率)开销来执行动态加密和解密,其影响取决于各个应用程序所需的磁盘 I/O 量。对于执行典型的电子邮件和办公生产力活动的用户来说,性能影响不太可能很明显——但对于数据密集型活动(如视频处理)来说可能很重要,除非计算机的主处理器和 FDE 产品都支持英特尔的 AES-用于硬件加速加密和解密的 NI 指令。

因此,另一种解决方案是使用硬件加密。

. 2.通过硬件

在这里,您可以使用自加密驱动器 (SED) 并使用 ATA 安全功能(允许像 TPM 模块一样进行预启动身份验证),或者选择符合 TCG 的 OPAL (2.0) 的 SED 并使用它之一能够利用它们的(主要是仅限 Windows)软件。Microsoft 制定了有关此类驱动器的规范,请参见此处,因此,如果您已升级到 Windows 8 并满足要求,BitLocker 将初始化您的驱动器并在其上安装 PBA,同时管理加密密钥。

例如,您可以在 Crucial M500 SSD 上复制/重新安装您的操作系统并使用 WinMagic 的 SecureDoc 独立软件,或者如果您已升级到 Windows 8 BitLocker。然后,您可以按照您想要的任何方案安装其他操作系统。

不过要小心,因为硬件加密有点像黑匣子,你必须相信实施它的制造商。非自由软件也是如此,因为还没有自由软件能够管理 OPAL 兼容的驱动器。

Linux 可以安装在扩展分区内的逻辑分区上(windows 是拒绝从扩展分区内的逻辑启动的那个)。

如何在不触及主分区内容的情况下从扩展内部的逻辑内部引导:

假设:您在扩展分区内有未分区空间)并从像 SystemRescueCD 这样的 LiveCD 启动以完成工作,完成后,HDD 将从扩展分区内的逻辑分区启动...感谢 Grub2 bootloader可以做到,可以从扩展分区启动。

  • 启动任何具有 Grub2 和 GParted 的 LiveCD,如 SystemRescueCd(用于创建分区的 GUI 界面)
  • 在扩展分区内创建(我使用 GParted)格式为 ext4(或 Grub2 支持的任何其他格式)的逻辑分区
  • 现在从控制台挂载 /boot 之类的分区并使用以下命令安装 grub2:grub2-install /dev/sda#(其中 # 是分区号)
  • 使用文本编辑器创建 /boot/grub/grub.cfg(请参阅 Internet 以获取示例)
  • 重启,解压LiveCD
  • PC 将从 MBR 启动(我们说的是扩展分区,GPT 在这里没有任何意义),它将从扩展内的逻辑分区加载 Grub2,然后它可以加载 Linux / 驻留在扩展内的另一个逻辑分区上划分。

此外,如果您没有 Windows(最好说如果您只有一个或多个 Linux),则不需要任何主分区,您可以在逻辑分区内拥有所有 Linux,只有一个扩展分区占用 100%硬盘。

注意:也许BSD和其他操作系统也可以在逻辑分区内,我对它们没有经验,对不起!

大技巧:Grub2 引导加载程序可以从具有 0、1、2 或 3 个主分区的逻辑分区内部启动,如果存在第二个 HDD,也可以链式加载到第二个 HDD,还可以使第二个 HDD 在 OS 中看起来好像它是首先(使用 drivemap 命令)等。

不利的一面:TrueCrypt / VeraCrypt 加密的 Windows 在它的启动方式上很糟糕......它强制使用它自己的数据来跟踪磁盘的 0,因此它与两个或多个 Windows 或 Grub2 不兼容,为什么他们这样做了不使用 PBR 轨道而不是 MBR 轨道对其进行编程?所以我们可以使用加密的窗口进行多重引导(每个磁盘多一个窗口)!!!