对磁盘进行加密 模型
为运行本地大语言模型的磁盘加密,可以使用系统原生工具:macOS 上的 FileVault、Windows Pro 上的 BitLocker、Linux 上的 LUKS。但首先要保护的并不是公开的模型权重,而是您的对话记录、文档索引、日志和交换文件。因此,请加密存放这些数据的磁盘,并将恢复密钥备份到这台机器以外的位置。
运行本地大语言模型的电脑会留下明文记录:对话历史、文档索引数据库和临时文件。如果电脑丢失,只需将硬盘连接到另一台设备,所有内容就能被读取。本指南说明究竟需要加密哪些内容,如何启用 FileVault、BitLocker 或 LUKS,如何将 Ollama 模型移到加密卷,以及哪些密钥使用错误会使保护失效。
#磁盘加密保护了什么,又不保护什么
静态数据加密使磁盘内容在没有密钥的情况下无法读取:有人偷走笔记本电脑、拆下 SSD,或扣押一台已关机的电脑,也只能得到无法使用的数据。这正是它所应对的场景,它并不涵盖其他情况:已开机且解锁的电脑、在您的用户会话下运行的恶意软件,或弱密码,仍然可能成为访问数据的途径。在法规层面,《通用数据保护条例》(RGPD)第 32 条将个人数据的假名化和加密列为数据控制者应根据风险考虑的技术措施;该条款并未指定具体工具,要求取决于具体情境(医疗、金融)。
| 情况 | 受保护吗? | 备注 |
|---|---|---|
| 被盗或丢失且已关机的笔记本电脑 | 是 | 典型场景,也正是采用加密要应对的场景 |
| 硬盘已卸下并连接到另一台设备 | 是 | 缺少密钥时,内容将无法读取 |
| 电脑已开机,用户已登录,屏幕未锁定 | 否 | 磁盘已解锁:请锁定会话 |
| 您的会话中存在恶意软件 | 否 | 它像你一样读取数据 |
| 备份到未加密的磁盘 | 否 | 复制后,副本不再受源文件的保护 |
| 丢失了恢复密钥 | 数据丢失 | 不存在任何后门 |
#哪些内容需要加密:权重并不是需要保密的内容
在工作场所部署本地 AI:GDPR、AI 法案、多用户架构、成本、供管理层参考的说明材料。
- 在线空间,终身可用
- PDF + 文件
- 30 天内退款
从 Ollama 或 Hugging Face 下载的模型是公开的:开放权重模型的权重本身并不保密,除非您用私有数据对模型进行了微调。真正需要保密的是使用过程中产生的一切内容。因此,仅加密模型文件夹,仍会让最重要的信息处于未受保护的状态。
- 对话历史
- Ollama 终端会将输入历史记录保存在您的用户目录下的 .ollama 文件夹中(Ollama 的代码会拼接出 .ollama/history 这一路径);Open WebUI 等网页界面则将对话保存在各自的数据库中。
- 文档索引
- ChromaDB、Qdrant 或 Weaviate 数据库中存储了您的文档片段,内容可直接阅读,相当于您文件的副本。
- 源文件与导出
- 放入 RAG 文件夹的 PDF、转录文本以及保存的输出。
- 交换文件和休眠
- 当内存已满时,系统会将内存页写入磁盘:这些页可能包含您的对话片段。Arch Linux 文档指出,每次启动时重新初始化的加密交换空间能提供更好的保护,因为它可以避免留下始终未被覆盖的敏感片段。
- 日志和临时副本
- 服务器日志、缓存文件、创建副本的编辑器。
由此可得两种策略。最简单、最安全的方法是加密整个系统磁盘,一次操作即可覆盖所有内容。第二种方法适用于无法改动系统的情况:加密一个用于存放数据(索引、文档、微调模型)的专用卷,并将存放这些数据的文件夹迁移到该卷。
#macOS:FileVault
在搭载 Apple 芯片或 T2 安全芯片的 Mac 上,Apple 文档说明数据会自动加密:启用 FileVault 会增加一层保护,要求输入登录密码才能访问数据。在没有 T2 芯片的 Intel Mac 上,需要启用 FileVault 才能加密数据。技术文档描述,FileVault 使用 AES-XTS 算法保护整个卷,并借助较新款 Mac 的硬件 AES 引擎和安全隔区(Secure Enclave)。
- 01打开设置菜单Apple → 系统设置 → 隐私与安全 → FileVault
- 02启用FileVault点击“启用”;macOS 会提供两种恢复方法。
- 03选择恢复方式iCloud 账户使用方便,无需额外保存独立密钥;恢复密钥为需手动记录并存于其他位置的字符串,不可存于 Mac 上。对于敏感数据,建议优先使用恢复密钥。
- 04让Mac工作加密过程将在后台持续进行,您可继续正常使用该设备。
#Windows:BitLocker 和设备加密
BitLocker 是 Windows 的卷加密功能。根据 Microsoft 文档,可在 Windows 专业版、企业版、专业教育版/SE 和教育版上启用。Windows 家庭版无法直接使用该功能,但提供设备加密(device encryption),会在符合条件的机器上自动启用 BitLocker;自 Windows 11 24H2 起,硬件要求有所降低,因此更多机器符合条件。
需要注意的陷阱:只有使用 Microsoft 账户或工作账户登录后,设备自动加密才会启用,恢复密钥随后会保存到该账户中(可在 aka.ms/myrecoverykey 找到)。使用本地账户时,它不会自动启用,但可以在支持 BitLocker 的版本上手动启用 BitLocker。对于高度敏感的数据,请有意识地决定密钥存放在哪里:在线账户在密钥丢失时很方便,但密钥就不再只保存在您自己这里。
- 01打开BitLocker在开始菜单中搜索「管理BitLocker」(适用于专业版及更高版本)。
- 02在系统驱动器上启用请选择TPM解锁方式;启动时增加PIN码以防止被盗设备直接启动。
- 03保存恢复密钥将其保存到安全的保管库中,或打印出来;避免只保存在这台设备上。
- 04选择加密范围对于新 PC,只加密已使用的空间就足够了;对于使用过的 PC,建议选择完整加密,这样也能覆盖仍残留旧数据的空闲空间。
#Linux:全盘使用 LUKS
LUKS 是 Linux 下的磁盘加密标准,由 cryptsetup 工具管理。根据其手册页,默认格式为 LUKS2。最简单的方法是在安装时选择磁盘加密:Ubuntu、Fedora 等发行版提供“加密新安装”复选框,勾选后需要设置密码。这样,整个系统磁盘,包括交换文件,都会受到保护。之后可以将已打开的卷名传给 cryptsetup status 来检查状态,也可以使用 lsblk -f,它会显示 crypto_LUKS 类型。
#Linux:仅对数据盘进行加密,并将 Ollama 存放其中
常见的情况是系统未加密,并有第二块 SSD 专门存放 AI 数据。用 LUKS 加密这第二块磁盘,再将模型目录和索引目录移到其中。Ollama 的文档说明,模型存储位置可通过 OLLAMA_MODELS 变量设置;在 Linux 上使用标准安装程序安装时,ollama 用户必须对所选目录具有读写权限。
RequiresMountsFor 这一选项告知 systemd,服务仅在卷挂载后才启动:若不设置此选项,Ollama 可能在卷解锁前启动,导致在未加密磁盘上创建空文件夹,并重新下载模型至该位置。修改后,请执行 sudo systemctl restart ollama。
#密码还是密钥文件:将密钥文件存放在系统盘上的陷阱
启动时解锁卷有两种方法。使用密码时,系统每次启动都会要求输入密码(在 crypttab 条目中将密钥字段设为“none”)。使用密钥文件时,卷会自动解锁,但一切取决于文件存放在哪里。将密钥放在未加密系统的 /root/ 目录中,几乎会使保护完全失效:任何偷走机器的人都能从系统磁盘读取密钥文件,然后解锁卷。只有存放密钥文件的磁盘本身也已加密,密钥文件才有意义。对于没有显示器的服务器,常见的折中方案是使用可远程解锁的加密系统,或者在每次重启后手动解锁。
加密会为每次读写增加计算开销。对于 LLM,权重读取主要发生在模型加载阶段:影响最明显的是加载时间,而不是 token 生成。请使用 cryptsetup benchmark 测量处理器的加密吞吐量,并比较加密前后同一个模型的加载时间;不要依赖一个笼统的数值。
#NAS与备份:不得取消加密
- NAS
- 请确认包含模型或备份的共享文件夹已加密,并查明密钥存储在哪里。如果 NAS 在启动时自动解锁其存储卷,那么仅硬盘被盗时,数据仍受到保护;但整台设备被盗时,这种保护就无效了。
- 备份硬盘
- 未加密的 USB 备份磁盘会使电脑的加密保护失去意义:请用同一工具将备份磁盘加密,或使用在写入前进行加密的备份软件。
- 云端备份
- 请确保加密在您本地进行,并使用只有您持有的密钥:否则,服务提供商在技术上仍能读取您的文件。
- 恢复密钥
- 始终将密钥与它所保护的备份存储分开:使用两个独立位置。
| 机器 | 工具 | 注意事项 |
|---|---|---|
| 配备Apple芯片的MacBook或Mac mini | FileVault(已由芯片加密的数据) | 若涉及敏感数据,使用恢复密钥而非 iCloud 进行恢复 |
| Windows Pro 或企业版 PC | 结合 TPM 和 PIN 使用 BitLocker | 恢复密钥保存在哪里? |
| Windows 家庭版电脑 | 设备加密,或使用 VeraCrypt | 与 Microsoft 账户绑定的密钥 |
| PC或Linux服务器,系统盘 | 安装时启用LUKS | 备份加密头部;启动时输入密码 |
| Linux,非加密系统,第二块硬盘 | 第二个磁盘启用LUKS | 不要将密钥文件保存在未加密的系统上 |
| NAS | NAS 上的加密卷或加密文件夹 | 重启后手动解锁 |
#关于存放模型的磁盘加密的常见问题
需要加密 Ollama 的模型文件夹吗?+
FileVault 会降低本地 LLM 的运行速度吗?+
BitLocker在Windows家庭版中可用吗?+
如果我丢失了恢复密钥会怎样?+
能否在启动时自动解锁 LUKS 卷?+
仅靠磁盘加密就足以满足 GDPR 要求吗?+
有反馈、发现了错误,或想补充说明?请告诉我们,让这份指南对每个人都更有帮助。