📌 项目地址:veracrypt/VeraCrypt | ⭐ 10,419 颗星 | 🔧 C | 📜 未标注
为什么需要 VeraCrypt
磁盘加密不是新生事物,但很多方案都存在“来源可疑”或“维护停滞”的问题。TrueCrypt 曾在磁盘加密领域拥有广泛用户,但 2014 年突然宣布项目终止,其安全审计中也发现了一些设计缺陷。VeraCrypt 直接 fork 了 TrueCrypt 7.1a 的源码,在此基础上修补了已知漏洞,并持续发布新版本。它保留了 TrueCrypt 的操作习惯,同时增强了加密算法的迭代次数(PBKDF2 次数更高),对暴力破解的抵抗能力更强。如果你的需求是“一个仍在维护、可被审计的开源全盘/分区加密工具”,VeraCrypt 是目前最接近 TrueCrypt 精神的后继者。
实际用法:GUI 为主,命令行可选
VeraCrypt 提供图形界面(Windows、Linux、macOS)和命令行工具,但 README 仓库本身是源码与构建指南,并不包含具体的运行命令。官方文档对使用方式有完整描述,这里列出最典型的使用思路:
-
创建加密卷(文件容器或分区)
运行veracrypt(Linux/macOS)或双击桌面图标(Windows),点击“Create Volume”,选择“Standard VeraCrypt volume”或“Hidden VeraCrypt volume”,然后按照向导指定路径、加密算法、密码。文件容器大小固定,分区加密则直接选择设备。 -
挂载/卸载加密卷
图形界面中点“Select File”或“Select Device”,点击“Mount”输入密码即可。卸载时右键点击已挂载的盘符选择“Dismount”。命令行示例(来自官方文档常见用法):
veracrypt --mount /path/to/volume
实际参数请以官方手册为准。 -
系统盘加密(Windows)
VeraCrypt 支持在 Windows 系统启动之前加密整个系统分区,需要先创建“VeraCrypt Rescue Disk”(应急救援盘),并在引导时输入密码。该功能对硬件兼容性有一定要求,官方列出了已知不兼容的主板列表。
需要注意的是,VeraCrypt 的 Windows 内核驱动(.sys)必须经过数字签名才能运行在 64 位 Windows 及以上版本,官方发布版本已由 IDRIX 使用 GlobalSign 证书签名。如果你自行编译,签名环节需要自行解决(README 中引用了详细的构建与签名指南)。
和同类工具的区别
- TrueCrypt:VeraCrypt 是它的直接分支,但不允许衍生作品再使用“TrueCrypt”或“VeraCrypt”名称(见许可证条款)。VeraCrypt 修复了 TrueCrypt 的安全审计问题,并增加了对 SHA-256、HMAC 等算法的更强迭代次数。
- BitLocker:Windows 自带的方案,闭源,依赖 TPM 安全芯片,用户无法审计源码。VeraCrypt 完全开源,不依赖特定硬件,支持跨平台(Windows、Linux、macOS、FreeBSD),而且提供隐藏加密卷(类似于 deniable encryption)功能。
- LUKS:Linux 上的标准磁盘加密格式,通常用 cryptsetup 工具管理。LUKS 拥有更好的内核集成和成熟的管理生态,但 Windows 上支持较弱。VeraCrypt 的优势在于一个加密卷可以同时用在 Windows、Linux 和 macOS 上,无需转换格式。如果你需要在多系统间共享加密数据,VeraCrypt 是更直接的选择。
需要注意的事项
-
许可证限制
衍生作品不得使用“TrueCrypt”或“VeraCrypt”名称,这意味着不能简单 fork 后换个 Logo 就发布。如果你要基于此源码构建自己的加密工具,必须仔细阅读License.txt(源代码仓库中包含)。 -
签名问题
在 64 位 Windows Vista 以上的系统里,未签名的驱动会被阻止加载。自行编译的 VeraCrypt 驱动如果没有数字签名,只能用于测试或需要在测试模式下运行。官方版本已包含签名,直接下载可执行安装包即可避免此问题。 -
警惕“死而复生”的 TrueCrypt 版本
网上仍存在一些号称“TrueCrypt 继续开发”的版本,绝大多数未经安全审计或可能植入了恶意代码。VeraCrypt 是目前唯一被广泛信任的 TrueCrypt 后继项目,GitHub 上有 10k+ Star,且社区持续维护。 -
文件容器性能
VeraCrypt 使用软件加密,对性能有一定影响。现代 CPU 的 AES-NI 指令集可以大幅加速,但如果加密的是大文件或频繁随机读写的高负载场景,需要对比测试。 -
旧版加密卷兼容性
VeraCrypt 可以挂载 TrueCrypt 格式的加密卷,但反向不行。从 TrueCrypt 迁移到 VeraCrypt 通常需要新建卷并复制数据,虽然安全,但步骤繁琐。
如何获取与参与
- 预编译二进制包:访问 veracrypt.fr 下载对应系统的安装程序。
- 从源码构建:Windows 下需要 Visual Studio 和 Windows SDK 8.1,详细步骤见仓库内
doc/html/en/CompilingGuidelineWin.html;Linux 和 macOS 下执行make即可(具体要求参考README中对应的章节)。 - 贡献代码:VeraCrypt 接受 C 语言修改,但需确保遵守其许可证并不得使用官方商标命名。
VeraCrypt 不是“装完就能忘掉”的工具——你需要理解加密卷的备份策略、应急救援盘的用途、以及密码丢失后数据永久不可恢复的特性。但它给出的是一套经过多年实践检验的、透明的磁盘加密方案,对于重视数据隐私且需要跨平台访问的用户来说,是目前最稳的选择之一。