我有一个 2 TB 的硬盘,必须用于 Windows 8.1 / Windows 10、Yosemite、OS X / OS X El Capitan,甚至 Linux。
我需要加密卷。或者说,我想创建两个分区:一个 1.7 TB 的加密分区和一个未加密的剩余空间。
现在我使用 Windows BitLocker 到 512 位。在 Mac 和 Linux 上显然没有。
你有什么建议吗?
我看到了 TrueCrypt(并且我读到了关于 2014 年 5 月之后造成的所有混乱)、VeraCrypt、GNUPG 和 Disklocker(用于在 Unix 上阅读 BitLocker)。
但我感到迷茫,没有什么好主意。
如果我使用 TrueCrypt 7.1a,等待新的解决方案(例如防止内存转储和其他潜在破解的预防措施)会怎样?
那么我应该如何使用 TrueCrypt 来格式化驱动器?GPT?MBR?日志式?FAT?
答案1
如果驱动器是自加密驱动器 (SED),大多数在 SSD 上可用,但一些面向企业的常规驱动器也具有此功能,使用用户+主 ATA 密码(在 BIOS/UEFI 中,或通过 Linux 上的 hdparm 工具),您可以设置加密密钥,并在启动期间解锁驱动器(如果 BIOS/UEFI 提示您解锁),或者至少在 Linux 中通过 hdparm 手动解锁。这样,加密由驱动器的硬件完成,并由独立于操作系统的 ATA 命令管理。操作系统会将此类驱动器视为未加密的驱动器。
问题在于某些驱动器(例如 Crucial MX100/MX100 SSD 等)在 SED 的实施中存在严重缺陷,并且早期的固件允许泄露密钥。
另一个问题是,许多 BIOS/UEFI 实现都很糟糕,没有正确实现 ATA 密码功能,因此要么通过不允许输入主密码(并在那里输入一些公开的秘密)来保留后门,要么不允许输入完整的字符范围或完整的密码长度,甚至更糟的是,不直接输入密码,而是应用一些中间步骤,使这种密码加密的驱动器与任何其他品牌的笔记本电脑/BIOS 都不兼容(这种驱动器在以不同方式实现此功能的硬件上根本无法解锁)。联想 Thinkpad、富士通 Lifebook、一些 HP Probooks/ELitebooks 和戴尔 Latitudes/Precisions 的行为或多或少是正确的(以及面向商业用途的台式机)。用于家庭使用或娱乐的廉价机器具有非常差的 BIOS/UEFI 实现(老一代的 InsydeH20 UEFI 等),使得使用 ATA 密码是一个非常糟糕的主意(如果不是直接不可能的话)。
实际上,可以通过 Dislocker 从 Linux 访问 NTFS 和 BitLocker(它允许以某种方式保存损坏分区的数据,以便在任何试图打开此类分区的 Windows 机器上可靠地引发 BSOD),但我不建议定期运行 Dislocker 和在 Linux 上安装 NTFS 以实际使用磁盘定期读写数据。
Veracrypt 加密容器是从多个操作系统访问数据的合理方法之一。如果可以通过两个操作系统安装,则通过 Virtualbox 加密虚拟磁盘可能是另一种选择。基本上,透明地解密块设备并将其安装在两个系统上的方法应该有效。加密的 Virtualbox 虚拟驱动器、Veracrypt 容器/分区可能是实现此目的的一种经过充分测试且标准可靠的方法。
答案2
你有什么建议吗?
我看到了 TrueCrypt(并且我读到了关于 2014 年 5 月之后造成的所有混乱)、VeraCrypt、GNUPG 和 Disklocker(用于在 Unix 上阅读 BitLocker)。
如果您需要在上述三种操作系统上使用驱动器,那么 VeraCrypt 可能是您的最佳解决方案。事实证明,它是从 TrueCrypt 的灰烬中诞生的最有前途的分支。它在所有平台上都得到了良好的维护和稳定(即使某些功能仅在 Windows 中可用)
那么我应该如何使用 TrueCrypt 来格式化驱动器?GPT?MBR?日志式?FAT?
首先,您必须按自己想要的方式对硬盘进行分区。VeraCrypt 仅使用操作系统提供的块设备,因此使用 GPT 还是 MBR 并不重要,只要您使用的所有操作系统都支持它即可。
文件系统的创建可以在 VeraCrypt 中完成,您可以在其中选择所需的文件系统。FAT 是最简单的,因为它直接受上述所有操作系统支持。您也可以使用其他文件系统,但在这种情况下,您将需要适用于 Windows 的特殊驱动程序。