VeraCrypt - 为偏执者提供强大安全保障的免费开源磁盘加密工具
Description: VeraCrypt是一款适用于Windows、Mac OS X和Linux的免费开源磁盘加密软件。若攻击者强迫您透露密码，VeraCrypt可提供合理否认性。与文件加密不同，VeraCrypt执行的数据加密是实时（即时）、自动、透明的，只需极少内存，且不涉及临时未加密文件。
Keywords: 加密, 安全

文档 合理否认性 隐藏卷 隐藏卷的安全要求

# 与隐藏卷相关的安全要求和预防措施

如果您使用 VeraCrypt 隐藏卷，则必须遵循本节列出的安全要求和预防措施。免责声明：本节不保证包含可能对 VeraCrypt 保护隐藏 VeraCrypt 卷中存储的数据的能力以及提供合理否认性的能力产生不利影响或限制的 所有 安全问题和攻击列表。

- 如果对手在不同时间点多次访问（未挂载的）VeraCrypt 卷，他可能能够确定该卷中哪些扇区正在发生变化。如果您更改 隐藏卷 的内容（例如，创建/复制新文件到隐藏卷，或修改/删除/重命名/移动隐藏卷上存储的文件等），隐藏卷区域中扇区（密文）的内容将会改变。在获得外部卷的密码后，对手可能会要求解释这些扇区为何发生变化。如果您无法提供合理的解释，可能会表明外部卷中存在隐藏卷。
  请注意，类似上述描述的问题也可能在以下情况下出现：
  - 存储文件型 VeraCrypt 容器的文件系统已进行碎片整理，并且 VeraCrypt 容器（或其片段）的副本仍保留在宿主卷的空闲空间中（在已碎片整理的文件系统中）。为防止这种情况发生，请执行以下操作之一：
    - 使用分区/设备型 VeraCrypt 卷代替文件型。
    - 在碎片整理后，安全擦除宿主卷（在已碎片整理的文件系统中）的空闲空间。在 Windows 系统上，可以使用 Microsoft 免费实用工具SDelete。在Linux系统中，可以使用GNU coreutils软件包中的shred实用工具来达到此目的。
    - 不要对存储VeraCrypt卷的文件系统进行碎片整理。
  - 文件托管的VeraCrypt容器存储在日志文件系统（如NTFS）中。VeraCrypt容器的副本（或其片段）可能会保留在主机卷上。为防止这种情况发生，请采取以下操作之一：
    - 使用分区/设备托管的VeraCrypt卷，而不是文件托管的。
    - 将容器存储在非日志文件系统（例如，FAT32）中。
  - VeraCrypt卷位于使用损耗均衡机制的设备/文件系统（例如，闪存SSD或USB闪存驱动器）上。VeraCrypt卷的副本（或片段）可能会保留在设备上。因此，请勿将隐藏卷存储在此类设备/文件系统上。 有关损耗均衡的更多信息，请参阅 损耗均衡章节，该章节位于 安全要求和预防措施部分。
  - VeraCrypt卷位于保存数据的设备/文件系统上（或位于由保存数据的系统/设备控制或监控的设备/文件系统上）（例如，计时器或计数器的值），这些数据可用于确定一个块的写入时间早于另一个块，和/或确定一个块被写入/读取的次数。因此，请勿将隐藏卷存储在此类设备/文件系统上。要了解设备/系统是否保存此类数据，请参阅设备/系统附带的文档或联系供应商/制造商。
  - VeraCrypt卷位于容易损耗的设备上（可以确定一个块的写入/读取次数比另一个块多）。因此，请勿将隐藏卷存储在此类设备/文件系统上。要了解设备是否容易出现此类损耗，请参阅设备附带的文档或联系供应商/制造商。
  - 您通过克隆隐藏卷的主机卷来备份隐藏卷的内容，或者通过克隆其主机卷来创建新的隐藏卷。因此，您绝对不能这样做。请遵循 如何安全备份章节和 卷克隆部分中的说明。

- 在加密打算创建隐藏卷的分区/设备时，请确保禁用快速格式化。
- 在Windows系统中，确保您没有删除打算创建隐藏卷的卷内的任何文件（簇位图扫描器无法检测到已删除的文件）。
- 在Linux或Mac OS X系统中，如果您打算在文件托管的VeraCrypt卷内创建隐藏卷，请确保该卷不是稀疏文件托管的（Windows版本的VeraCrypt会验证这一点，并禁止在稀疏文件内创建隐藏卷）。
- 当隐藏卷挂载时，操作系统和第三方应用程序可能会将有关隐藏卷中存储的数据的未加密信息（例如，最近访问文件的文件名和位置、文件索引工具创建的数据库等）、未加密形式的数据本身（临时文件等）、有关隐藏卷中文件系统的未加密信息（例如，可用于识别文件系统并确定它是否是外部卷中的文件系统）、隐藏卷的密码/密钥或其他类型的敏感数据写入非隐藏卷（通常是未加密的系统卷）。因此，必须遵循以下安全要求和预防措施：
  - Windows：创建一个隐藏操作系统（有关如何操作的信息，请参阅 隐藏操作系统部分），并仅在隐藏操作系统运行时挂载隐藏卷。 注意：当隐藏操作系统运行时，VeraCrypt会确保所有本地未加密文件系统和非隐藏VeraCrypt卷为只读（即无法向此类文件系统或VeraCrypt卷写入文件）。* 允许将数据写入 隐藏VeraCrypt卷内的文件系统。 或者，如果无法使用隐藏操作系统，请使用“实时CD” Windows PE系统（完全存储在CD/DVD上并从其启动），该系统可确保写入系统卷的任何数据都写入RAM磁盘。 仅在运行此类“实时CD”系统时挂载隐藏卷（如果无法使用隐藏操作系统）。此外，在这样的“实时CD”会话期间，只有隐藏VeraCrypt卷中的文件系统可以以读写模式挂载（外部或未加密的卷/文件系统必须以只读模式挂载，或者根本不挂载/不可访问）；否则，您必须确保应用程序和操作系统在“实时CD”会话期间不会将任何敏感数据（见上文）写入非隐藏卷/文件系统。
  - Linux：下载或创建您的操作系统的“实时CD”版本（即完全存储在CD/DVD上并从其启动的“实时” Linux系统），该系统可确保写入系统卷的任何数据都写入RAM磁盘。 仅在运行此类“实时CD”系统时挂载隐藏卷。在会话期间，只有隐藏VeraCrypt卷中的文件系统可以以读写模式挂载（外部或未加密的卷/文件系统必须以只读模式挂载，或者根本不挂载/不可访问）。如果您无法满足此要求，并且无法确保应用程序和操作系统不会将任何敏感数据（见上文）写入非隐藏卷/文件系统，则不得在Linux系统下挂载或创建隐藏VeraCrypt卷。
  - Mac OS X：如果您无法确保应用程序和操作系统不会将任何敏感数据（见上文）写入非隐藏卷/文件系统，则不得在Mac OS X系统下挂载或创建隐藏VeraCrypt卷。
- 当外部卷以启用 隐藏卷保护的方式挂载时（请参阅 隐藏卷防损坏保护部分），您必须遵循与隐藏卷挂载时相同的安全要求和预防措施（见上文）。原因是操作系统可能会将隐藏卷的密码/密钥泄露到非隐藏或未加密的卷中。
- 如果您使用 隐藏卷内的操作系统（请参阅 隐藏操作系统 部分），那么，除上述内容外，您还必须遵循以下安全要求和预防措施：
  - 您应该像使用计算机一样频繁地使用诱饵操作系统。理想情况下，您应该将其用于所有不涉及敏感数据的活动。否则，隐藏操作系统的合理否认性可能会受到不利影响（如果您向对手透露了诱饵操作系统的密码，他可能会发现该系统使用频率不高，这可能表明您的计算机上存在隐藏操作系统）。请注意，您可以随时将数据保存到诱饵系统分区，而不会有损坏隐藏卷的风险（因为诱饵系统 未 安装在外层卷中）。
  - 如果操作系统需要激活，则必须在克隆之前激活（克隆是创建隐藏操作系统过程的一部分 —— 请参阅 隐藏操作系统 部分），并且隐藏操作系统（即克隆体）绝不能重新激活。原因是隐藏操作系统是通过将系统分区的内容复制到隐藏卷来创建的（因此，如果操作系统未激活，隐藏操作系统也不会激活）。如果您激活或重新激活了隐藏操作系统，激活的日期和时间（以及其他数据）可能会记录在 Microsoft 服务器上（以及隐藏操作系统上），但不会记录在 诱饵操作系统 上。因此，如果对手可以访问服务器上存储的数据或拦截您向服务器发出的请求（并且如果您向他透露了诱饵操作系统的密码），他可能会发现诱饵操作系统在不同的时间被激活（或重新激活），这可能表明您的计算机上存在隐藏操作系统。
    出于类似的原因，任何需要激活的软件都必须在开始创建隐藏操作系统之前安装并激活。
  - 当您需要关闭隐藏系统并启动诱饵系统时，不要 重启计算机。相反，关闭或休眠计算机，然后在打开计算机并启动诱饵系统之前，至少让其断电几分钟（时间越长越好）。这是为了清除可能包含敏感数据的内存。有关更多信息，请参阅 RAM 中的未加密数据 部分，该部分位于 安全要求和预防措施 章节中。
  - 计算机仅在诱饵操作系统运行时才可连接到网络（包括互联网）。当隐藏操作系统运行时，计算机不应连接到任何网络，包括互联网（最可靠的方法之一是，如果有网络电缆，拔掉它）。请注意，如果从远程服务器下载或上传数据，连接的日期和时间以及其他数据通常会记录在服务器上。各种数据也会记录在操作系统上（例如，Windows 自动更新数据、应用程序日志、错误日志等）。因此，如果对手可以访问服务器上存储的数据或拦截您向服务器发出的请求（并且如果您向他透露了诱饵操作系统的密码），他可能会发现连接不是从诱饵操作系统内发起的，这可能表明您的计算机上存在隐藏操作系统。
    还要注意，如果隐藏操作系统下有任何通过网络共享的文件系统（无论该文件系统是远程的还是本地的），您也会遇到类似的问题。因此，当隐藏操作系统运行时，绝不能有通过网络共享的文件系统（任何方向）。
  - 任何可能被对手检测到的操作（或任何修改已挂载隐藏卷之外任何数据的操作）必须仅在诱饵操作系统运行时执行（除非您有合理的替代解释，例如使用“Live-CD”系统执行此类操作）。例如，“自动调整夏令时”选项只能在诱饵系统上启用。
  - 如果 BIOS、EFI 或任何其他组件记录关机事件或任何其他可能表明使用了隐藏卷/系统的事件（例如，通过将此类事件与 Windows 事件日志中的事件进行比较），您必须要么禁用此类记录，要么确保每次会话后安全擦除日志（或以其他适当的方式避免此类问题）。

此外，您还必须遵循以下章节中列出的安全要求和预防措施：

- 安全要求和预防措施
- 如何安全备份

下一部分 >>

* 这不适用于 CD/DVD 类介质以及自定义、不常见或非标准设备/介质上的文件系统。