Skip to content

卷与加密容器

一、 核心概念定义

1. 加密容器 (Encryption Container)

加密容器在文件系统层面表现为一个普通文件(如 .truecrypt, .hc 或无后缀文件),但在逻辑层面,它包含了一个完整的加密虚拟磁盘。

  • 本质:它是一个存储加密数据的“盒子”。操作系统视其为单一的数据流文件,但通过专用驱动程序挂载后,它被映射为一个虚拟块设备(Virtual Block Device)。

  • 特性:

    • 高熵值:优秀的加密容器在未解密状态下,其二进制内容表现为完全随机的噪声,没有任何可识别的文件头(Magic Header)或特征码。这使得通过文件签名分析无法判断其是否为加密容器。

    • 实时透明加密 (On-the-Fly Encryption, OTFE):数据在写入容器前自动加密,读取时自动解密,无需用户手动干预。

2. 卷 (Volume)

“卷”是存储领域的逻辑概念,指代一个已被格式化并包含文件系统(如 FAT32, NTFS, exFAT)的存储区域。在加密软件(如 TrueCrypt/VeraCrypt)中,卷存在于加密容器内部。

  • 挂载 (Mounting):指将加密容器内的“卷”通过密钥解密,并映射为操作系统中的一个盘符(如 Z: 盘)的过程。

二、 卷的分层架构

在高级磁盘加密方案中,卷的结构设计核心在于可抵赖性 (Plausible Deniability)。为此,TrueCrypt 等软件设计了嵌套的卷结构。

1. 外层卷 / 标准卷 (Outer Volume / Standard Volume)

这是容器被创建时默认生成的卷。

  • 可见性:使用常规密码即可解密并挂载。

  • 用途:通常用于存放“诱饵”数据或非敏感数据。当被迫交出密码时,用户提供外层卷密码,攻击者只能看到这些普通文件。

  • 物理存储:占据容器的起始部分。

2. 隐藏卷 (Hidden Volume)

隐藏卷是嵌套在外层卷内部的一个独立加密区域。

  • 存储位置:它位于外层卷文件系统的空闲空间 (Free Space) 中。

  • 不可见性:外层卷的空闲空间通常被填充为随机数据。隐藏卷的数据也是加密的随机数据。因此,在数学上无法证明外层卷的空闲空间里是否包含隐藏卷。除非拥有隐藏卷的密码,否则无法区分那是无意义的随机噪声还是加密后的数据。

  • 操作原理:

    • 如果输入外层卷密码:软件挂载外层卷,读取诱饵数据。

    • 如果输入隐藏卷密码:软件跳过外层卷头,直接解密并挂载位于“空闲区域”的隐藏卷。

三、 密钥文件 (Keyfiles)

1. 定义

Keyfile 是作为认证凭证的文件。它可以是任何类型的文件(图片、MP3、PDF、TXT 等)。

2. 原理

  • 哈希混合:软件并不直接比对 Keyfile 文件本身,而是读取 Keyfile 的内容(通常是前 1MB 或全部内容),通过哈希函数(如 SHA-512, Whirlpool)计算出一个摘要值。

  • 密钥生成:这个摘要值会与用户输入的口令(Password)进行混合(XOR 或拼接),共同作为输入参数,送入密钥派生函数(如 PBKDF2),最终生成用于解密卷头(Volume Header)的主密钥。

  • 安全性:

    • 增加熵值:极大增加了暴力破解的难度。即使密码很简单,只要 Keyfile 足够复杂且未泄露,攻击者也无法破解。

    • 隐蔽性:Keyfile 可以混入成千上万个普通文件中,攻击者难以确定哪一个才是密钥。

四、 运作原理总结

  1. 认证阶段:

    • 用户输入 Password + 选择 Keyfile。

    • Hash(Keyfile) + Password + Salt (from file header) -> Header Key (派生密钥)。

  2. 解密卷头:

    • 使用 Header Key 尝试解密容器的前 512 字节(或特定偏移量)。

    • 解密后检查魔数 (Magic String)(如 "TRUE" 或 "VERA")。

    • 如果魔数正确,说明密码正确,成功提取出内部存储的 Master Key (主密钥)。

  3. 数据读写 (XTS 模式):

    • Master Key 被加载到内存中。

    • 当操作系统请求读取扇区 N 的数据时,驱动程序使用 Master Key 和扇区号 N(作为 Tweak)通过 AES-XTS 等算法解密该扇区的密文,返回明文给操作系统。

    • 整个过程在内存中完成,物理磁盘上始终只有密文。

通过这种架构,加密容器实现了数据的机密性(加密)、完整性(无明显特征)和可抵赖性(隐藏卷)。