V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Jasonboy
V2EX  ›  问与答

关于 bitlocker 加密,破解真的很难吗?成本又有多高?

  •  
  •   Jasonboy · 294 天前 · 5503 次点击
    这是一个创建于 294 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我本人笔记本是登录了 Windows 账户的,并且启用了开机 PIN 码,bitlocker 已对整个磁盘都开启了加密。
    众所周知,在电脑开机时如果没有 PIN 码是无法进入系统的,传统的 win pe 也无法清除密码,经过 bitlocker 加密的磁盘会拒绝访问,那么在这种既不知道开机 PIN 码,也不知道 bitlocker 密钥的情况下想要访问磁盘里的数据,对其破解的难度有多难?成本又会有多高?
    77 条回复    2023-07-10 19:14:26 +08:00
    YGHMXFAL
        1
    YGHMXFAL  
       293 天前
    只要不是开机状态被 DMA 了,问题不大吧

    当然还要考虑 TPM 的问题,这个貌似在大陆销售地都是国产?
    allplay
        2
    allplay  
       293 天前
    简单说:破解 bitlocker 是不可能的。
    复杂一点说,看你电脑上 bitlocker 的设置有没有漏洞。UEFI 有没有安全启动,UEFI 有没有密码,有没有 TPM 芯片,你说的开机 PIN 码应该是 windows 登录 PIN 码。
    bitlocke 不是对磁盘加密,是每个分区分别加密,就会有多个密码和恢复密钥。设置 bitlocker 的时候 windows 会让你备份恢复密钥,你备份到哪的?
    最后一个问题,这电脑是你的吗。
    Jasonboy
        3
    Jasonboy  
    OP
       293 天前
    @YGHMXFAL 你是说怕 TPM 留下后门吗
    Jasonboy
        4
    Jasonboy  
    OP
       293 天前
    @allplay 当然是我的,我指的全磁盘竟然磁盘里的所有分区,密码备份在了自己的云端存储里(不用担心被盗,因为文件被加密过,服务器也是我的),UEFI 锁我好像一点也不了解,甚至不知道还有这个锁的存在,一直对 UEFI 的理解就是快速启动,没有 Windows 登录 PIN 码就会要求输入 bitlocker 恢复密钥。
    Jasonboy
        5
    Jasonboy  
    OP
       293 天前
    @allplay bitlocker 应该如何正确设置才能最安全呢?前几天论坛里看见了一篇关于某公司协助公安局破解了一台 bitlocker 加密的计算机,不过那个并不是破解,而是找到了漏洞
    allplay
        6
    allplay  
       293 天前
    @Jasonboy 那从你的云端存储里面找到恢复密钥就可以了啊
    TPM 目前没有后门的报道,只有可能存在漏洞
    Jasonboy
        7
    Jasonboy  
    OP
       293 天前
    @allplay 你不是说存在设置漏洞吗?我查了一下,找不到关于 UEFI 上锁的资料,你的意思还能给 UEFI 单独设置一个密码?
    lslqtz
        8
    lslqtz  
       293 天前
    在避免 BitLocker 自动解锁的情况下, 概率较低.
    allplay
        9
    allplay  
       293 天前
    @Jasonboy 就相当于 BIOS 的 administrator 密码,还有 boot 密码,UEFI 安全启动还要配置是否允许其它操作系统的启动,比如说第二硬盘上还有个操作系统,其它的启动介质(优盘 光驱 网络)
    Jasonboy
        10
    Jasonboy  
    OP
       293 天前
    @allplay 难道对方还能插入第二块硬盘来启动?那和 winpe 有什么区别?可是用别的途径进入,是无法访问被加密的磁盘的,要打开还得输入密钥啊?
    sakisaki
        11
    sakisaki  
       293 天前 via Android
    前几天有帖子讨论这件事了,似乎可以曲线破解? https://www.v2ex.com/t/953530#reply106
    Jasonboy
        12
    Jasonboy  
    OP
       293 天前
    @lslqtz BitLocker 还存在自动解锁?开机不是要输入 Windows PIN 码吗?这个没办法跳过吧?在忘记 PIN 码得情况下好像只能通过微软账户登录修改密码或是输入 BitLocker 密钥
    Jasonboy
        13
    Jasonboy  
    OP
       293 天前
    @sakisaki 这篇帖子我看过,仔细看了并不是破解,而是找到了漏洞,侧入吧
    allplay
        14
    allplay  
       293 天前
    @Jasonboy 有其它启动介质或启动程序的话,既可以模拟一个假的启动界面骗你输入密码
    sakisaki
        15
    sakisaki  
       293 天前 via Android
    @Jasonboy 从结果上看,它不再是完美的加密方案了。
    allplay
        16
    allplay  
       293 天前
    @Jasonboy 感觉你概念有点混淆没有用过 bitlocker 。
    开机密码是载入操作系统以前。windows pin 码的时候,开机早已完成,pin 码是用户登录密码。
    如果 bitlocker 没有自动解锁,那么你开机的过程就要输入两个密码,
    一个是 bitlocker 密码,在 UEFI 开机之,交给操作系统之前,因为要解锁 C 盘
    一个是 windows 登录 pin 码。
    你回忆一下你开机要输入几个密码
    Jasonboy
        17
    Jasonboy  
    OP
       293 天前
    @sakisaki 确实如此啊,我最近在研究反取证,对取证和反取证都很感兴趣,看看目前在已知技术和成本的前提下能破解多少 BitLocker ,又该如何去破解?而使用者又该如何去更安全的去使用和加密保护数据
    Jasonboy
        18
    Jasonboy  
    OP
       293 天前
    @allplay 我当然使用过,不过我一直都是指纹解锁,好像我一直都没有在 BitLocker 加密配置里启用过解锁密码?都是依赖 TPM 自动解锁?
    asdqaz
        19
    asdqaz  
       293 天前 via iPhone
    最简单的方式是设置成那个每次开机需要输入 bitloker 密码的模式,不用自动解锁。这个要更安全一点
    Jasonboy
        20
    Jasonboy  
    OP
       293 天前
    @allplay 要想开机的时候要求 bitlocker 输入解锁密码是不是要在策略配置里启用?设置启动时需要附加身份验证?
    Jasonboy
        21
    Jasonboy  
    OP
       293 天前
    @asdqaz 要想开机的时候要求 bitlocker 输入解锁密码是不是要在策略配置里启用?设置启动时需要附加身份验证?
    allplay
        22
    allplay  
       293 天前   ❤️ 1
    @Jasonboy 那就是 TPM 自动解锁了系统分区,然后登录操作系统后解锁了其他分区。
    最安全的是不启用 TPM ,每次开机手输 bitlocker 密码。也就不存在漏洞了。
    yyzh
        23
    yyzh  
       293 天前 via Android
    不开启 bitlocker 自动解密+1
    Jasonboy
        24
    Jasonboy  
    OP
       293 天前
    @allplay 懂了,这就马上去设置开机手动输入,大佬有 QQ 或者 tg 吗?想和你交流学习,可以请大佬喝杯星巴克
    allplay
        25
    allplay  
       293 天前
    @Jasonboy 不必客气
    Jasonboy
        26
    Jasonboy  
    OP
       293 天前
    @allplay 方便私信我或留下联系方式吗?还有一些关于 bitlocker 配置设置的知识想请教你
    Jasonboy
        27
    Jasonboy  
    OP
       293 天前
    @allplay 我能不能理解为,TPM 的作用就是帮助用户快速登录 bitlocker ?跳过输入密码的过程?
    allplay
        28
    allplay  
       293 天前
    @Jasonboy bitlocker 密钥存在 TPM 里面了
    asdqaz
        29
    asdqaz  
       293 天前 via iPhone
    @Jasonboy 是的 tpm 就是干这个的。在我印象里是在组策略里配置的
    Jasonboy
        30
    Jasonboy  
    OP
       293 天前
    @allplay 卧槽,那别人不是可以在 TPM 芯片里提取密钥吗?又有谁能保证 TPM 芯片没有留后门,刚刚看了些资料,大陆 zf 拒绝大陆 PC 厂商使用进口 TPM ,原因细思极恐啊
    allplay
        31
    allplay  
       293 天前
    @Jasonboy 提取不了。类似于无法银行优盾的密钥证书其取出来。
    Jasonboy
        32
    Jasonboy  
    OP
       293 天前
    @allplay 为什么我在 bitlocker 驱动加密里没有看见 C 盘有禁用自动解锁这个设置?而其它分区有禁用自动解锁这个设置
    passall
        33
    passall  
       293 天前
    楼主还是学生吧?

    要拿你数据并不一定要知道你 Bitlocker 密码呀。

    感觉你对 Bitlocker 知道的还很少。
    Jasonboy
        34
    Jasonboy  
    OP
       293 天前
    @passall 不是学生,只是最近在捣鼓这个。你没有密码也没有密钥怎么拿?怎么打开 Bitlocker ?
    passall
        35
    passall  
       293 天前
    @Jasonboy

    我觉得没有密钥是开不了的,但是会有方法拿你密钥。
    Jasonboy
        36
    Jasonboy  
    OP
       293 天前
    @passall 我现在找不到设置开机启用密码解锁 bitlocker 的设置啊,是需要先在 BIOS 关闭 TPM 吗
    ysc3839
        37
    ysc3839  
       293 天前
    对普通人来说很难,那些能 DMA 的工具都很贵,你要更安全的话设置 BitLocker 的解锁密码即可
    passall
        38
    passall  
       293 天前
    @Jasonboy

    换主板,清空 TPM 都会让你输入 Bitlocker 密码。
    Jasonboy
        39
    Jasonboy  
    OP
       293 天前
    @passall 清空了 TPM ,下次会自动记录自动恢复吗?而且我没有看到开机需要用密码解锁 bitlocker 的设置,可以告诉我吗
    passall
        40
    passall  
       293 天前
    @Jasonboy
    我要手动重做 BL 或者暂停、恢复一次 BL 。下次才不会让你输入 BL 密码。
    Jasonboy
        41
    Jasonboy  
    OP
       293 天前
    @passall 你是说先关闭一次吗?然后再重新启用?启用的时候不要选使用 TPM 自动跳过?
    passall
        42
    passall  
       293 天前
    你可以自己试试。
    YGHMXFAL
        44
    YGHMXFAL  
       293 天前
    还是换 VeraCrypt 吧,开发者明确说了不会支持 TPM
    Zy143L
        45
    Zy143L  
       293 天前 via Android
    你需要 VeraCrypt+Yubikey
    TrevorPhillips
        46
    TrevorPhillips  
       293 天前 via Android
    不支持 tpm 的主板,系统盘 ssd+数据盘机械,后者单独开 bl 加密全盘,除了睡眠/休眠,每次进入系统后都要输入密码解锁此驱动器。目前在用这个方案,优点是不使用数据盘则无需输任何密码,缺点是如果不解锁驱动器它永远不会遵循电源计划断电,偏吵。

    也在考虑安排带系统盘的加密,组策略里有提供选项,总体来说会更麻烦点。
    nyxsonsleep
        47
    nyxsonsleep  
       293 天前
    了解点侧信道攻击知识。做个抗侧信道认证都要几万,这种 DMA 的公司得要有几十万的设备,做这种测试费用又是十几万一次(非成本)。
    bitblock 应该是为了做了什么预加载,把密钥存在物理设备里了吧,否则这种密钥就不应该在系统里才对,设计上就不安全。

    --------
    比如 AES 加密,密钥本身不在文件的信息里,也不在软件层面上,电脑上没有物理信息会存储密钥。除非你知道那几百位的密码,否则不可能解密(据说美国设计了后门? AES 转换表的原理不明)。
    这就是为什么 lastpass 几次被攻击脱库,但是根本没有用户密码泄露的原因了,那些数据都是被 aes 加密过的,除非能拿到用户的 aes 密钥才能解密得到用户账户信息。而暴力破解呢?印象中 256 位 AES 就算超算来也得算几年才能出结果。
    然后闭环了,只要这条密钥仅在脑子里,要么美国五角大楼要么尤里才能解开加密得到原始数据。

    ----
    回归话题的话,我认为 bitblock 这种会把密钥存在物理设备的行为就具有风险性,无论设置什么。
    敏感信息直接用 aes 加密软件挂载就行了,结束使用会自动加密,aes 本身的安全性已经有时间证明了,
    然后敏感操作用一些《安全认证( dddd )》手机当跳板机操作,落地设置随机延迟就行了。
    nyxsonsleep
        48
    nyxsonsleep  
       293 天前
    @nyxsonsleep #47 这个设想存在一些问题。这样的 AES 加密并不防文件复制,只要将文件复制到一些单片机等单核设备上,执行解密动作,依然可能导致 AES 密钥泄露,做已知密文分析。
    不过我认为 bitblock 估计也是不能抗密钥分析的,甚至由于固定会加密 Win 系统文件,导致存在可能进行已知明文密文分析的可能性,具体取决于加密块的设计方式。如果是全盘加密的话会提高破解成本(有限)
    churchmice
        49
    churchmice  
       293 天前 via Android
    你搞个支持 opal 协议的 SSD 就行了,还没有性能损失,就是开机得输个密码
    clorischan
        50
    clorischan  
       293 天前
    系统分区的 BitLocker 密钥存储在 TPM 中
    而且修改 BIOS 相关设置回导致 TPM 的自动解锁失效
    除系统分区外的分区开启了自动解锁会将密钥保存在系统分区中
    组策略可以配置系统锁定时禁用新的 DMA 设备
    allplay
        51
    allplay  
       293 天前
    @Jasonboy 前面说了,bitlocker 不是全盘加密,而是分区加密。
    磁盘上还有一个 EFI 分区是没有加密的。主板的 UEFI 加载的是磁盘的 EFI 分区里的引导程序类似 PE 包含了 bitlocker 程序,输入密码后,bitlocker 去解密 C 盘。
    frankies
        52
    frankies  
       293 天前 via Android
    一句:不难,任何一个国家公安机关通过官方渠道让微软提供技术协助就能搞定的。
    allplay
        53
    allplay  
       293 天前
    @frankies 微软没有协助过任何一个国家公安机关提供客户密码。
    唯一例外是 Azure 和 Office 的世纪互联版,但那不等于微软。
    vcn8yjOogEL
        54
    vcn8yjOogEL  
       293 天前 via Android
    问题在于你没法保证只有你自己知道你的密码
    yankebupt
        55
    yankebupt  
       293 天前
    可以把密钥丢进 TEE 可信执行区内,防 DMA ,但是
    解解 DRM 版权保护还行,用来解密读 SSD 性能惨不忍睹……
    一切加密保护强度不够都是性能问题,感觉是。
    Jasonboy
        56
    Jasonboy  
    OP
       293 天前
    @TrevorPhillips 我现在使用的就是系统分区加密,而另外一个分区也是加密的,但这个分区启用了 TPM 自动解锁,原因时方便一点,系统分区关闭了 TPM 自动解锁,感觉也挺安全的,没有密码启动不了系统,自然也进不去其它盘,使用 WINPE 的话时无法查看自动解锁分区的
    Jasonboy
        57
    Jasonboy  
    OP
       293 天前
    @nyxsonsleep 已经关闭了 TPM 自动解锁,bitblock 密钥存储在本地了吗?我记得我把它存储在了自己的服务器还有手抄本里,难道别人没有密钥的情况下还能用特殊方法在磁盘里找到密钥?问题他也进不去磁盘啊,我提出这些问题是建立在普通人身上。毕竟我们也不是本拉登,没有哪个 ZF 单位和黑客对我的数据感兴趣
    Jasonboy
        58
    Jasonboy  
    OP
       293 天前
    @allplay 问题是得需要知道 bitblock 密码或者密钥不是吗?如果不知道,那输入什么呢?还是无法解密
    Jasonboy
        59
    Jasonboy  
    OP
       293 天前
    @yankebupt 策略组可以配置关闭在电脑锁定时禁用一切新的 DMA
    Jasonboy
        60
    Jasonboy  
    OP
       293 天前
    如题,本人已开启了全磁盘 bitblock 加密,并且关闭了 TPM 启动,策略组配置了开机必须输入 bitblock PIN 码,否则无法进入系统,现在每次开机都要先输入 bitblock PIN 码(获得磁盘访问权限)再输入系统也就是微软的 PIN 码后才能进入操作系统。在输入微软 PIN 码页面也配置禁用了所有了新的 DMA 。我的电脑现在应该很安全了吧?至少在没有 PIN 码没有 bitblock 密钥的情况下普通人和 ZF 机构时无法打开的,如果需要打开,那也得需要很多时间很金钱
    allplay
        61
    allplay  
       293 天前
    @Jasonboy TPM 存了密码,它帮你输入了
    Jasonboy
        62
    Jasonboy  
    OP
       293 天前
    @allplay 你意思别人还能破解 TPM ?我现在已经取消了 TPM 自动输入密码,现在开机需要手动输入密码才能引导加载系统,然后还有输入微软账户密码才能进入系统
    allplay
        63
    allplay  
       293 天前
    @Jasonboy 是的,安全了,可以放心睡觉了。
    再明确一下,不可能全盘加密,全盘加密是另一种情形。只是你 C D E……分区加密了,EFI PE Recovery 分区是没有加密的。bitlocker 程序在 EFI 引导分区内,自己把自己加密了就无法启动了。
    虽然分区加密了,但从外面还是知道你的分区属性,有几个分区,有多大。
    playboy0
        64
    playboy0  
       293 天前
    其实组策略里有一个硬件变动就跳过 tpm 的自动解锁,用那个就够了,一直输入也太麻烦了
    learningman
        65
    learningman  
       293 天前
    在需要使用 bitlocker 对抗的时候,你的嘴比密码学脆弱多了。
    Jasonboy
        66
    Jasonboy  
    OP
       293 天前
    @allplay 别人应该无法从 EFI 分区里找到 bitlocker 密码吧? bitlocker 密钥也不会存在这里吧?
    Jasonboy
        67
    Jasonboy  
    OP
       293 天前
    @learningman 你要这么杠我还能说啥,当然了,在绝对的实力面前,99.9%的都是无法抗衡大记忆恢复术的,你说我二战是我发动的我都相信
    allplay
        68
    allplay  
       293 天前
    @Jasonboy bitlocker 密钥在 TPM 里面,EFI 里面只是 bitlocker 的程序。
    Jasonboy
        69
    Jasonboy  
    OP
       293 天前
    @allplay 嗯,那我现在应该已经处于一个很安全的状态了,差不多都设置完毕了
    Jasonboy
        70
    Jasonboy  
    OP
       293 天前
    @playboy0 有吗?这个硬件变动就跳过 tpm 的自动解锁的策略组叫什么可以告诉我一下吗?
    yankebupt
        71
    yankebupt  
       293 天前
    @Jasonboy 但是你看案情分析,取证那帮人说他们用软件脚本绕过了锁屏密码……
    所以是在不锁屏的情况下操作的,组策略那时是不是可以随便改我也不知道……

    话说真的间谍机关的密钥都是能抗吐真剂的,即使给你灌了药,拿到了方法和基础密码,没有你的高级智能部分参与,算不出解密密钥。
    强度有多大我也不知道就是了
    allplay
        72
    allplay  
       293 天前
    @Jasonboy 还有网络漏洞。只要你开机,各种软件暴露的端口也有可能成为被攻击的弱点
    yankebupt
        73
    yankebupt  
       293 天前
    @Jasonboy 比如密码在一个黑盒单片机算法里,因为是算法读内存没用,算法会问你几个问题
    需要你不按照提问来答,需要根据现场条件,并且涉及高级心算,输入每次不一样的特定的序列算出密钥
    而被灌了吐真剂的人永远只会直白的回答这些问题或者不会答,所以就解不开

    这种90年代的境外电视剧有演过
    Jasonboy
        74
    Jasonboy  
    OP
       293 天前
    @yankebupt 普通人还没有这个资格吧,如果真被什么间谍机关抓了,感觉比被公安局抓了还惨啊
    Jasonboy
        75
    Jasonboy  
    OP
       293 天前
    @allplay 太复杂了,我感觉我的数据还没有价值能让别人这么绞尽脑汁大费周章
    ttimasdf
        76
    ttimasdf  
       292 天前
    > 如题,本人已开启了全磁盘 bitblock 加密,并且关闭了 TPM 启动,策略组配置了开机必须输入 bitblock PIN 码,否则无法进入系统,现在每次开机都要先输入 bitblock PIN 码(获得磁盘访问权限)再输入系统也就是微软的 PIN 码后才能进入操作系统。在输入微软 PIN 码页面也配置禁用了所有了新的 DMA 。我的电脑现在应该很安全了吧?至少在没有 PIN 码没有 bitblock 密钥的情况下普通人和 ZF 机构时无法打开的,如果需要打开,那也得需要很多时间很金钱

    安全。如果你想更安全,就把系统盘放到 USB3 外置硬盘里随身携带。这样只能特定电脑+硬盘的组合才能解锁数据,而数据又在你身上。

    而且电脑里面的管理员权限得严格限制,理论上任何管理员权限的程序都能获得 bitlocker 恢复密钥或者添加一个新的解锁密钥

    PIN 码还存在的问题就是摄像头摄手。可以在前后或者中间插入假字符,或者配合退格键进行混淆,但效果没有验证过哈
    Jasonboy
        77
    Jasonboy  
    OP
       292 天前
    @ttimasdf 安全。如果你想更安全,就把系统盘放到 USB3 外置硬盘里随身携带。这样只能特定电脑+硬盘的组合才能解锁数据,而数据又在你身上。

    而且电脑里面的管理员权限得严格限制,理论上任何管理员权限的程序都能获得 bitlocker 恢复密钥或者添加一个新的解锁密钥

    PIN 码还存在的问题就是摄像头摄手。可以在前后或者中间插入假字符,或者配合退格键进行混淆,但效果没有验证过哈
    ------------------------------------------------------
    就我现在的这个情况,难道别人在不知道我邮箱和密钥还有密码的情况下能打开?应该不行吧?我还特地咨询了好几家取证公司,人家都不接这种单子,哭笑
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2903 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 12:35 · PVG 20:35 · LAX 05:35 · JFK 08:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.