V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lookas2001
V2EX  ›  信息安全

Bitlocker 安全吗?

  •  
  •   lookas2001 · 2021-01-06 21:12:26 +08:00 · 5401 次点击
    这是一个创建于 1177 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    • 系统启动,但是没有进入到桌面(登录界面),c 盘和其他分区此时是否为解密状态,也就是说,Bitlocker 对待两种分区,解密的时机是什么时候?
    • 如果在登录界面的时候就已经解密,那么将 tpm 芯片和硬盘拆下来到一个特制的主板上(监听 cpu 到 tpm 的通信),是否就可以绕过用户密码读取硬盘的数据?

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

    15 条回复    2021-02-01 10:10:12 +08:00
    Vegetables
        1
    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
        2
    felixcode  
       2021-01-06 21:43:33 +08:00
    这样的问题不是应该去看文档吗?
    codehz
        3
    codehz  
       2021-01-06 21:49:31 +08:00
    小道消息:备份密钥到云上的时候可以被微软中国解锁
    Osk
        4
    Osk  
       2021-01-06 21:55:38 +08:00 via Android   ❤️ 17
    梳理一下启动流程:

    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
        5
    Osk  
       2021-01-06 21:58:57 +08:00 via Android
    对了,写的可能有问题,欢迎指正,毕竟这种小众功能讨厌得较少
    Vegetables
        6
    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
        7
    ysc3839  
       2021-01-06 22:51:39 +08:00 via Android
    Android 的话现在是 FBE,即 File-Based Encryption,只会加密部分文件,系统分区不会加密。启动到锁屏界面提示用户输入密码,用户输入密码后解密数据。
    至于加密密钥,有说法是说存在 TEE 里面的。也就是说把闪存芯片弄下来直接读取,在知道锁屏密码的情况下也无法解密。不过这部分我没有确认过。
    Huelse
        8
    Huelse  
       2021-01-06 23:17:05 +08:00
    Bitlocker 尽量不用,跨平台建议选择 VeraCrypt https://www.veracrypt.fr/en/Home.html
    Hackerchai
        9
    Hackerchai  
       2021-01-06 23:30:47 +08:00 via Android
    对于极端敏感数据,不应该相信闭源的 Bitlocker/FileVault,可以选择 veracrypt,luks 等等开源方案,同时可以同时选择几种加密算法进行组合加密(防止其中的加密算法存在人为后门或者漏洞)
    systemcall
        10
    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
        11
    Hackerchai  
       2021-01-06 23:39:59 +08:00 via Android   ❤️ 1
    说到 tpm 这件事想起一件旧闻,我國曾经一度禁止搭载外国厂商 的 TPM 模块的电脑进入 ,原因你想一下就明白了
    wql
        12
    wql  
       2021-01-07 06:51:30 +08:00 via Android
    @Hackerchai 其一是 TPM 不符合中国的商用密码标准,其二是理论上美国对华的密码产品出口管制一直存在。
    baobao1270
        13
    baobao1270  
       2021-01-07 15:57:09 +08:00
    对于普通人,防止小偷 /普通黑客 /维修店数据泄露已经足够安全(前提是系统登录需要密码)
    对于军工、高价值商业机密、国家机密肯定是不够的,但是他们也不会用 BitLocker
    testcaoy7
        14
    testcaoy7  
       2021-01-15 09:36:16 +08:00
    @Hackerchai 我在亚马逊上海淘了一块 TPM……
    User9901
        15
    User9901  
       2021-02-01 10:10:12 +08:00
    数据量不大的话刻到光盘里,找个偏远地区单独藏起来。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3323 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 13:30 · PVG 21:30 · LAX 06:30 · JFK 09:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.