这篇文章起源于这样一篇推文,虽然它已经被证明是噱头大过实际,但我依然很难忘记刚开始看到它时的震撼,毕竟作为我最常用的社交软件之一的 Telegram,竟然可以随意的被读取聊天记录和图片。不过随后就有大佬指出尽管 Telegram 存储在本地的记录是加密的,它的密钥很有可能也以某种形式被缓存在本地,因此只要找到密钥就可以解密记录了。
因此这个问题并不是不可以解决的,解决方式有几个:
2、本文要介绍的方法,加密整个磁盘,使外部攻击者无法读取到密钥,也就自然无法读出记录了。
3、改用网页版 Telegram ,不过这同样可能不安全,因为浏览器缓存同样是不加密的可被读取的数据。
- Bitlocker是什么
Bitlcoker 发展于 Windows XP 上的“安全启动”功能,内置于 Windows Vista 及之后发布的系统中,当与兼容的可信平台模块(TPM)结合使用时可以在解密受保护的卷之前验证引导和系统文件的完整性,如果验证失败,会禁止用户访问受保护的卷。Bitlocker 使用 AES-CBC(已被Windows 10/11弃用) 或 AES-XTS 128/256位密钥执行全盘加密,有基础的 GUI 设置界面,但高级功能需要使用自带的 manage-bde 命令行工具设置和管理。
作为从很久以前开始就一直存在的系统自带加密工具,Bitlocker 的存在感一直不强,甚至很多人可能都不知道有这样一个东西的存在。然而作为数据的第一道防线,Bitlocker 可以有效的防止物理攻击,这是其他数据安全工具无法做到的。
- Bitlocker 的验证方式
Bitlocker支持已下六种验证方式
仅口令(PIN):类似于 Windows 的登陆密码,输入正确的 PIN 后会解密磁盘并启动,可以防范物理攻击,但由于缺乏硬件安全能力,仅靠软件无法实现对 BIOS 和 MBR 的早期检查功能。
仅 USB-Key:使用这个方式则会在设置 Bitlocker 时要求你选择一个 U盘 用于存储验证密钥,此后每次启动都需要插入这个 U盘 ,待系统验证密钥后可正常启动。同样仅靠软件无法实现对 BIOS 和 MBR 的早期检查功能,并且注意如果你的 U盘 和电脑一起被盗则无法发挥保护效果。
TPM+PIN(推荐):启动系统时首先由 TPM 对系统底层和启动组件进行检查和验证,若正常则要求用户输入 PIN ,两项验证均通过后释放密钥并开始启动系统。这种验证方式能够提供完整的保护能力也可防御物理攻击。
TPM+USB-Key:与上一种类似,只不过是把手动输入的 PIN 换成了U盘中的密钥。有完整保护能力,但同样需要注意如果你的 U盘 和电脑一起被盗则无法发挥保护效果。
TPM+PIN+USB-Key:究极保护方式,有三重验证,不过一般真用不着,而且可能会带来麻烦(尤其是我这种喜欢丢U盘的)。启动时需要 3 个验证均通过才会释放密钥。这种验证方式能够提供完整的保护能力也可防御物理攻击。
一般来说建议对系统盘使用 TPM+PIN 的方式,比较方便也可以享受到完整的保护,也不容易有麻烦。不过如果你想要最高级的安全性的话,也可以使用最后一种,不过要再提醒一遍,如果你要用这种方式的话请一定保护好你的 U 盘。对于一般的数据盘建议使用仅 TPM 模式,十分方便。并且 Bitlocker 在系统启动时是会先解密系统盘再解密其余磁盘的,因此如果系统盘没有解密的话,数据盘也会保持加密状态。
- 设置并启动 Bitlocker
在打开命令行之前,我们需要去到组策略来更改一些设置。按下 Win+R 键打开运行,然后输入 gpedit.msc 并按回车键。随后依次打开 计算机配置 ——> 管理模板 ——> Windows组件 ——> Bitlocker驱动器加密 ——> 操作系统驱动器加密。
打开“启动时需要附加身份验证”选项卡,将左上角的选项切换为“已启用”,然后关闭“没有兼容的TPM时允许Bitlocker”功能。最后将 配置TPM需要启动PIN 选项设置为“有TPM时允许启动PIN”,其他选项保持默认即可,完成设置后应该如下图所示。
接下来打开 “启用Bitlocker身份验证需要在平板电脑上预启动键盘上输入” 选项卡(这个东西看上去很奇怪只是因为微软的翻译有问题),将左上角切换为“已启用”。然后来到“允许增强型启动PIN”,同样切换为已启用。最后来到“在操作系统驱动器上强制实施驱动器加密类型”选项卡,切换为已启用,然后在下方选择加密类型为“完全加密”。
至此组策略设置完成,然后以管理员权限打开命令行,接下来我们将使用 manage-bde 命令来设置Bitlocker。其全部可用参数如下:
-status 提供有关支持 BitLocker 的卷的信息。
-on 加密卷并启用 BitLocker 保护。
-off 解密卷并关闭 BitLocker 保护。
-pause 暂停加密、解密或擦除可用空间。
-resume 恢复加密、解密或擦除可用空间。
-lock 阻止访问 BitLocker 加密的数据。可在启动后重新加密已解密的磁盘,不可对系统盘使用。
-unlock 允许访问 BitLocker 加密的数据。
-autounlock 管理数据卷的自动解锁。
-protectors 管理加密密钥的保护方法。
-SetIdentifier 或 -si
配置卷的标识字段。
-ForceRecovery 或 -fr
强制 BitLocker 保护的操作系统在重新启动时恢复。
-changepassword
修改数据卷的密码。
-changepin 修改卷的 PIN。
-changekey 修改卷的启动密钥。
-KeyPackage 或 -kp
为卷生成密钥数据包。
-upgrade 升级 BitLocker 版本。
-WipeFreeSpace 或 -w
擦除卷上的可用空间。
-ComputerName 或 -cn
在其他计算机上运行。示例: “ComputerX”, “127.0.0.1”
-? 或 /? 显示简略帮助。示例: “-ParameterSet -?”
-Help 或 -h 显示完整帮助。示例: “-ParameterSet -h”
我们给C盘启动 Bitlocker 加密,使用 TPM+PIN 模式,并生成恢复用的密钥和密码,命令如下:
manage-bde -on C: -TPMAndPIN -RecoveryPassword -RecoveryKey 你想保存密钥的路径 -SkipHardwareTest
#解释如下:
-TPMAndPIN:使用 TPM 与 PIN 双重验证模式,可替换为你想要使用的模式。
-RecoveryPassword:生成在忘记PIN或更换电脑时恢复用的密码,密码将在成功启动Bitlocker后出现在命令行上,请妥善保管。
-RecoveryKey:生成作用同上的密钥文件,不能保存于已加密或将要加密的驱动器中,请妥善保管。
-SkipHardwareTest:略过硬件兼容性测试,选择双重/三重验证的方式时不使用此项会导致玄学问题,所以一定要开启。一般允许 Windows11 的电脑都有兼容的TPM芯片。
输入以上命令并回车后它会要求你输入两次 PIN (建议使用大小写+数字+特殊字符的强密码),系统随后会显示出恢复用密码并在后台开始加密流程,你可以使用 manage-bde -status C:
来查看加密进度,加密时间视硬盘大小和性能有所不同,在加密完成前不要关闭电脑,否则会无法进入系统。
在加密完成后关闭电脑并重新启动,你会看到如下一个界面,先按 Insert 键使你能看到输入的东西,然后输入你的密码并回车即可。需要注意的是某些电脑在这里时按 Shift键 和 Caps Lock键 也可能会有字符输入,请注意检查。
- 忘记密码/丢了密钥怎么办
在输入PIN 的界面的左下角告诉了你如何进入恢复模式(按 Esc 键),进入恢复模式后按照指引进行并输入在设置 Bitlocker 时系统给你的恢复密码或密钥(二选一即可),随后系统会解密磁盘并关闭 Bitlocker,如果需要继续使用 Bitlocker 的话使用需要重新开启。如果你真的连恢复密码和密钥都丢了的话只能祈祷你平时的重要数据有备份吧。
- 了解Bitlocker的缺陷并进一步加强安全性
1、不能在驱动器解锁后保护你的数据,因此在日常使用电脑时仍需注意隐私安全。
2、如果电脑处于睡眠模式下(就是笔记本合上盖子后吗的默认状态),Bitlocker 并不会加密磁盘,因此请养成不用时随手关电脑的习惯。
3、Bitlocker在系统运行时将密钥存储于内存中,因此可能遇到冷启动攻击(如果你的电脑是不可拆卸式的内存则不太用担心这一点)
4、Bitlocker非开源程序,并不保证没有后门或未发现的安全漏洞,而其开源的近似替代品 Veracrypt 由于没有硬件加密支持因此无法对 BIOS/MBR 恶意程序提供保护,请酬情选择。关于两者结合使用的方式和优缺点我还没研究过。
关于上方的第二点,我们可以通过修改电源配置的方式来规避,首先打开控制面板,来到 系统和安全——> 电源选项 ——> 选定的计划 ——> 更改计划设置 ——> 更改高级电源设置,找到睡眠 ——> 在此时间后休眠,将 “使用电池” 和 “使用电源” 两个子选项都设置为 120分钟(设置的太短会很麻烦,设置的太长会 影响安全性,120分钟时我的个人建议,具体可以自行调整)。与睡眠不同,进入休眠状态后 Bitlocker 会加密磁盘。你还可以在 电源选项 中左侧的“选择电源按钮的功能”选项卡里把合上笔记本盖后的默认动作也调整为休眠来进一步加强安全性。
- 结语
Bitlocker 很实用,但并不是一个完美的工具,例如其不能提供“可否认加密”的功能,但也已经足以抵抗大部分攻击了。关于它的更多内容和详细的技术细节,你可以在 Windows 的官方文档里找到。如果你想要更强大的加密防护,可以考虑再额外使用 Veracrypt ,不过那又是另外的话题了。以上。
完
SSL 证书过期啦
感谢提醒,已经更新了