Bitlocker 安全吗?

2021-01-06 21:12:26 +08:00
 lookas2001

启动无 bios 密码,进入系统有账户密码,有以下几个问题:

对 MacOS 系统以及安卓和苹果手机的全盘加密机制也有类似问题,求解答?

5632 次点击
所在节点    信息安全
15 条回复
Vegetables
2021-01-06 21:27:25 +08:00
当在系统驱动器上启用 BitLocker 且电脑具有 TPM 时,你可以选择要求用户先键入 PIN,然后 BitLocker 将解锁驱动器。
https://docs.microsoft.com/zh-cn/windows/security/information-protection/bitlocker/bitlocker-device-encryption-overview-windows-10
felixcode
2021-01-06 21:43:33 +08:00
这样的问题不是应该去看文档吗?
codehz
2021-01-06 21:49:31 +08:00
小道消息:备份密钥到云上的时候可以被微软中国解锁
Osk
2021-01-06 21:55:38 +08:00
梳理一下启动流程:

bios 初始化,cpu 对 bios /固件 进行验证,保证固件是可信的。但有些平台未正确配置验证,带来了风险。

固件初始化 TPM 。TPM 挂在 LPC 总线上,是可以被监听通信并窃取加密 key 的,成本也不高,用 FPGA 搞的。

TPM 本身也会对主板 /固件进行一些验证,发生变化了则得不到解密的 key 。所以换主板基本不行的,倒是 tpm 可能有后门。


固件读取硬盘的未加密分区上的 bootmgr/bootmgfw.efi 并执行,理论上你可以替代 Windows bootmgr 为恶意软件,但是:
- TPM 可能检测到这一变化,拒绝放出 key,出现 bitlocker 恢复,要求提供 40 位 recovery pw 。不专业的用户可能会输入,然后密码被偷。
- 在启用了 UEFI Secure Boot 的平台上,若恶意 bootloader 未签名,固件会拒绝启动,并提出警告通知用户系统可能被攻击。
- 若攻击者有办法签名:如果利用 grub2 等工具的漏洞执行恶意代码,但也拿不到 tpm 的 key,因为 linux 的 grub 和微软 bootmgr 用的 UEFI SB 证书链不一样,导致 pcr7 变化,tpm 不会放出 key. 除非能搞到微软的 CA 私钥来攻击你。。。
- 一些平台使用 UEFI SB + TPM2 + PCR7 时有严重漏洞,用一些手段能让 tpm 错误地给出 key 。

若上面的步骤都正常,bootmgr 解密 c 盘,并启用 Windows 内核,后续就没 tpm 啥事了。

启动后 C 盘确实解锁了,但 key 在内存里,要小心的攻击:液氮冰冻内存,然后读内数据很到机密。所以要小心机器睡眠 (不要和休眠搞混)。
以及雷电接口 /1394/pci-e 设备 dma 偷数据,此处 @AppleBootCamp /doge/



所以至少两个分区:
system/ efi system:未加密,内有 Windows bootmgr 引导代码,这些代码就 uefi sb/tpm 验证。
Windows 的 C 盘:加密分区

另外,Bitlocker 的技术名词
解密:把数据变成未加密存回硬盘,把门拆了。
解锁:打开加密的卷,但是钥匙在内存中,重启你就会丢失钥匙。数据加解密在内存中进行,没有明文内容写在硬盘中。
暂停保护:把钥匙写在硬盘中,相当于你把钥匙挂在你家门口,但你家没拆掉门。有极少数情况需要暂停保护,比如更新 bios 等操作时肯定会触发 pcr 改变的情况,数据加解密于内存中进行,写入的数据是加密存硬盘的(!此处我没做验证!)

对普通人来说,能做到最好的情况就是:
tpm + pin + usb key 三重验证,次一点就是 tpm + 启动 pin 验证(不是登陆界面那个 pin) ,最差也就 tpm 了。
Osk
2021-01-06 21:58:57 +08:00
对了,写的可能有问题,欢迎指正,毕竟这种小众功能讨厌得较少
Vegetables
2021-01-06 22:44:11 +08:00
@Osk v 「 pin 验证(不是登陆界面那个 pin) 」
我原来以为就是登陆页面的那个。。。
放狗搜了一下,还得在组策略里开启 https://www.dell.com/support/kbdoc/zh-cn/000142382/%e5%a6%82%e4%bd%95%e5%b0%86-bitlocker-%e4%b8%8e-pin-%e7%bb%93%e5%90%88%e4%bd%bf%e7%94%a8
ysc3839
2021-01-06 22:51:39 +08:00
Android 的话现在是 FBE,即 File-Based Encryption,只会加密部分文件,系统分区不会加密。启动到锁屏界面提示用户输入密码,用户输入密码后解密数据。
至于加密密钥,有说法是说存在 TEE 里面的。也就是说把闪存芯片弄下来直接读取,在知道锁屏密码的情况下也无法解密。不过这部分我没有确认过。
Huelse
2021-01-06 23:17:05 +08:00
Bitlocker 尽量不用,跨平台建议选择 VeraCrypt https://www.veracrypt.fr/en/Home.html
Hackerchai
2021-01-06 23:30:47 +08:00
对于极端敏感数据,不应该相信闭源的 Bitlocker/FileVault,可以选择 veracrypt,luks 等等开源方案,同时可以同时选择几种加密算法进行组合加密(防止其中的加密算法存在人为后门或者漏洞)
systemcall
2021-01-06 23:35:45 +08:00
系统驱动器不解密,怎么显示登录界面呢?
AMD 这边可以用 AMD CPU 自己的 TPM,锐龙系列的 CPU 和 APU 似乎都有了。那样应该可以确保 TPM 的安全。如果是外置的 TPM 模块,走的 LPC,频率很低,FPGA 可以解。一些支持笔记本的主板诊断卡才 20 多,就是读的 LPC 信号拿到的启动状态
不清楚你更换了硬件之后会不会触发一些防护机制,就我了解到的信息,CPU 是有唯一的标识符的,相信如果厂家愿意的话芯片组也可以整一个。然后 Intel 这边有 ME,是芯片组自己运行的一套系统,不知道有没有什么这方面的机制
Hackerchai
2021-01-06 23:39:59 +08:00
说到 tpm 这件事想起一件旧闻,我國曾经一度禁止搭载外国厂商 的 TPM 模块的电脑进入 ,原因你想一下就明白了
wql
2021-01-07 06:51:30 +08:00
@Hackerchai 其一是 TPM 不符合中国的商用密码标准,其二是理论上美国对华的密码产品出口管制一直存在。
baobao1270
2021-01-07 15:57:09 +08:00
对于普通人,防止小偷 /普通黑客 /维修店数据泄露已经足够安全(前提是系统登录需要密码)
对于军工、高价值商业机密、国家机密肯定是不够的,但是他们也不会用 BitLocker
testcaoy7
2021-01-15 09:36:16 +08:00
@Hackerchai 我在亚马逊上海淘了一块 TPM……
User9901
2021-02-01 10:10:12 +08:00
数据量不大的话刻到光盘里,找个偏远地区单独藏起来。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/742320

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX