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

[请教] windows bitlocker 仅通过恢复密钥能解密磁盘吗?

  •  
  •   zddwj · 2022-02-12 00:09:02 +08:00 · 4305 次点击
    这是一个创建于 1018 天前的主题,其中的信息可能已经有所发展或是发生改变。

    前两天电脑主板坏了拿去维修,今天去提电脑的时候,售后的工作人员给我的 bitlocker 恢复密钥拍了照片,由于之前没有这方面的经验,当时也是想着赶紧按他的流程提机器走人,没考虑这方面的问题,回来之后才想起来这个问题,假如售后克隆了我的磁盘,然后又搞到了我的恢复密钥,但是没有我的 windows 账户密码,这种情况会造成数据泄露的风险吗?(虽然遇到坏人只是小概率事件,但总归心里有些不爽。)

    39 条回复    2022-06-17 11:21:34 +08:00
    visitant
        1
    visitant  
       2022-02-12 00:16:38 +08:00
    可以,恢复密钥就是用来解密磁盘的
    zddwj
        2
    zddwj  
    OP
       2022-02-12 00:21:12 +08:00
    @visitant 这么一说我更闹心了,就没有跟账户密码联合加密吗-_-!
    docx
        3
    docx  
       2022-02-12 03:02:43 +08:00 via Android
    不懂就问,售后是什么原因需要拍这个密钥?
    zddwj
        4
    zddwj  
    OP
       2022-02-12 04:10:54 +08:00
    @dzyou2007 他在另外一台展示机上让我登录 windows 账户获取恢复密钥,受桌子布局限制,这台机器跟我的机器之间呈 90 度夹角,还隔了一小段距离,他就直接拿手机拍了张照片过来我的机子上输入密钥。
    而且我感觉那个工作人员专业度太差,解锁电脑之后问都不问直接给我设备加密关了,害我回来打开加密又等了半天,还多了两次全盘写入。
    他还跟我说每次用完电脑都要关机,否则会影响电脑寿命,我都无语了..
    dingwen07
        5
    dingwen07  
       2022-02-12 05:06:59 +08:00 via iPhone
    把旧的密钥删掉再增加一个就好了
    用 manage-bde 命令行
    131
        6
    131  
       2022-02-12 09:35:02 +08:00 via Android
    如果担心的话,建议不要把密钥上传至巨硬,可以自己加密 /打印存储(
    acess
        7
    acess  
       2022-02-12 11:42:11 +08:00 via Android
    恢复密钥又名数字密码,其实也是可以用 manage-bde 删掉的,删了就解不了了。
    Telegram
        8
    Telegram  
       2022-02-12 11:47:23 +08:00
    一、维修人员不会这么闲,去特意看你磁盘内容。
    除非:1 、你特别漂亮,2 、你是陈冠希这种明星
    二、作为维修人员,应该是遇到过太多次客户不知道 bitlocker 加密,导致数据无法解锁的情况,所以默认情况都是直接给他关闭加密。
    三、不关机影响寿命这个,理论上来说确实可能是。(关机完全不工作,休眠或者睡眠至少要维持内存供电,或者磁盘存储当初状态)不过基本忽略不计的把,反正我从来不关机,让他自己休眠。
    ysc3839
        9
    ysc3839  
       2022-02-12 11:58:53 +08:00 via Android
    这种情况就不应该在别的机子上登录自己的账号。而且维修时完全可以不管 BitLocker ,全程保持锁定状态,一般来说售后不需要用你的硬盘你的系统做测试,甚至可以把硬盘带走,不留在售后,除非硬盘是不可拆卸的。
    ysc3839
        10
    ysc3839  
       2022-02-12 12:01:49 +08:00 via Android
    把硬盘带走的另一个好处是可以防止售后误操作删除了数据。比如可能售后的人没沟通好,以为不需要保留数据,就格式化重装系统了。
    zddwj
        11
    zddwj  
    OP
       2022-02-12 13:35:58 +08:00 via Android
    @ysc3839 售后可能完全拿我当小白了,(当然我自己也担心有什么我不知道的东西,所以任由他来主导最后的流程)
    zddwj
        12
    zddwj  
    OP
       2022-02-12 13:47:29 +08:00 via Android
    @Telegram 我说一个邪恶一点的想法,假如售后工作人员受到不法分子的利益诱惑收集用户磁盘数据,一套数据奖励几十几百甚至上万不等,售后工作人员利用职业人员在特定场景下的权威感,可以很轻松的使大多数普通客户乖乖就范(相当于一种社会工程学攻击)。而这些数据还能跟客户的个人信息(姓名,电话号码)结合起来,一旦被售卖,就相当于受害者在黑市处于半裸奔状态
    duke807
        13
    duke807  
       2022-02-12 14:39:17 +08:00 via Android
    我的電腦只加密敏感的目錄,用字符串生成 aes256 的 key ,用開源軟件配合自己寫的腳本,解密成功才把加密的 image 文件和目錄做映射,image 文件方便拷貝,自己只要記得字符串密碼就行,用的時候才解密

    https://github.com/dukelec/cde/blob/master/tools/aes-mount.sh (僅測試 linux 系統)

    反而用 key 加密不安全,特別是國行 tpm 2.0 的一堆問題
    zddwj
        14
    zddwj  
    OP
       2022-02-12 16:24:09 +08:00 via Android
    @duke807 tpm 的安全性我倒不是很担心,这种级别的攻击应该也不是我这种吊丝能享受到的😄
    duke807
        15
    duke807  
       2022-02-12 17:05:02 +08:00 via Android
    @zddwj 主要是擔心各種情況下,被人檢查電腦,你們用的方法沒法保護自己,他們會讓你自己輸入密碼。而我喜歡沒有任何特徵的裸式加密,無法通過文件內容和文件名確認是加密數據,更加無法得知是用哪款軟件加的密。

    譬如 BitLocker 的特徵之一是:
    A BitLocker encrypted volume starts with the "-FVE-FS-" signature.
    zddwj
        16
    zddwj  
    OP
       2022-02-12 17:32:57 +08:00 via Android
    @duke807 这种极端场景我确实没考虑过,遇到这种情况就认栽了吧😂
    KoMAsS121
        17
    KoMAsS121  
       2022-02-12 20:35:29 +08:00
    有密钥解密倒是可以解密,但是他们官方售后还有这闲心搞黑产,咱们的信息都从其他途径漏成啥样了,咱们电脑上的那点东西,能值几个钱 2333 。不过题外话,bitlocker 感觉没必要开的,误删文件用第三方软件恢复时很麻烦,有软件经常自动备份另说。关键文件自己加密就是了 2333 (比如 veracrypt 啊,7z 压缩加密啊,用 7z 是因为他是唯一压缩包加密文件名字的)。并且貌似 bitlocker 是能破解的?看淘宝不少收费破这玩意的,就是不知道真假。
    zddwj
        18
    zddwj  
    OP
       2022-02-12 21:23:24 +08:00
    @KoMAsS121 脱敏的数据不值钱,但是能跟个人身份精准匹配性质就变了,有人想搞你的话可以买一份慢慢研究,这种情况你的个人数据就值钱了
    jim9606
        19
    jim9606  
       2022-02-12 21:31:27 +08:00
    售后能获得恢复代码的前提是能登进机器里的管理员账户(可以是本地账户也可以是微软账户),否则无法获得这个恢复代码。不想让售后接触数据就不要提供账户密码。从你的情况看售后已经是最低限度接触你的密码了,而且你完全可以要求你自行操作解锁机器。
    如果你追求更高的安全性,可以在组策略选择对操作系统驱动器启用 PIN 或 PIN+TPM 联合保护,这个坏处就是每次开机 Bootloader 阶段要再输一次密码。

    因为现在符合设备加密硬件要求的机器会在 OOBE 后自动启用加密,网上能搜到一堆因为解密不了对微软或者厂商破口大骂的帖子,售后顺手关掉减少售后压力实在太正常了,在意的最好预先叮嘱一下。


    @duke807 你说的这种是可否认加密,目前 VeraCrypt 有这种实现。不过没有任何实践案例验证可行。例如你怎么让调查者相信你在用 VeraCrypt 但不拥有秘密? Bitlocker 反而好一些,因为有很多人在用着 Bitlocker 而浑然不知,宣称不知道恢复代码很有可能是真的。你说的这个问题不是一个技术问题。
    zddwj
        20
    zddwj  
    OP
       2022-02-12 21:35:45 +08:00 via Android
    @jim9606 也就是说登不进系统还是拿不到数据吗?我昨天找了一晚上的 windows 文档都没看到具体这方面的说明
    jim9606
        21
    jim9606  
       2022-02-12 21:59:16 +08:00
    @zddwj 基本是的,TPM 自动解锁是通过 PCR (平台配置寄存器)验证实现的。典型配置下,自动解锁的唯一方法就是引导原系统,RE 和 U 盘 PE 都不能解锁。(参考 https://zhuanlan.zhihu.com/p/29840740
    系统启动后就是登录界面了,如果你有什么拥有管理员权限的程序在用户之前会运行,它们是泄密的弱点(还记得输入法提权漏洞吗,第三方输入法很容易引入这种问题)。否则,除了输密码,没法运行任何接触到恢复代码的命令。
    kikikiabc
        22
    kikikiabc  
       2022-02-12 22:03:46 +08:00 via iPhone
    可以。不过你随时可以改,几秒钟的事
    jim9606
        23
    jim9606  
       2022-02-12 22:07:10 +08:00
    @zddwj
    忘了提一个。
    Window 账户登录选项有一个“使用我的登录信息在更新后完成设置”,启用这个选项会导致用户会话在登录前就打开,并运行所有用户登录后会自动运行的程序和服务。可以将这个理解为系统帮你自动登录但把屏幕锁了。这个选项会扩大攻击面,不在意登录后后台忙一会的建议关闭此选项。
    zddwj
        24
    zddwj  
    OP
       2022-02-12 22:17:40 +08:00 via Android
    @jim9606 好的谢谢,我再研究研究
    jousca
        25
    jousca  
       2022-02-12 22:57:02 +08:00   ❤️ 1
    因为很多客户误开 bitlocker ,没有备份恢复密钥,然后重置系统,结果数据就打不开了。 这种事情太多了,作为维修人员对你数据毫无兴趣,只是单纯的避免客户“哎?你修了我机器,为什么我的文件怎么打不开了”这种问题的困扰……
    duke807
        26
    duke807  
       2022-02-12 23:16:31 +08:00 via Android
    @jim9606
    我調用的開源加密命令 cryptsetup 也是主流 linux 發行版自帶的程序,不用單獨安裝
    就算是 windows 用戶,只能安裝有類似功能的第三方加密軟件的話,可以提前準備一個不是太重要的加密文件用來解釋,而不交代重要的加密文件
    duke807
        27
    duke807  
       2022-02-12 23:22:23 +08:00 via Android
    @jim9606
    或者,使用我這個開源的在線小工具進行加解密,不用安裝,加密后導出的文件也沒有任何特徵:
    https://www.v2ex.com/t/832302
    當然,需要頻繁讀寫的東西還是用可以映射為文件夾的方式更方便
    jim9606
        28
    jim9606  
       2022-02-13 00:22:25 +08:00
    @duke807
    不是说 cryptsetup 不行,是用这个东西为基础做 Windows 那套基于 TPM 的无密码自动解锁太麻烦了,这套东西凑齐 SecureBoot(MOKManager)+shim+grub2+LUKS+TPM ,还要不能把内核更新、DKMS 模块搞崩。我都没心情实战操作一次。如果无所谓每次输 PIN 的话那确实够了。

    且不说你这个轮子实现是不是完备吧(造密码学轮子极易犯错),“可否认性”是不符合的,“文件没有特征”也是特征,防不住五美刀扳手( https://xkcd.com/538/ )。 你还是得藏得够好没被搜出来。但你要是自信能藏好,那不加密也没事。
    duke807
        29
    duke807  
       2022-02-13 00:48:21 +08:00 via Android
    @jim9606
    我覺得需要用的時候才輸入密碼解鎖才安全,而且也很方便,存放加密目錄的文件我還有放在 U 盤裏面隨身帶着,托管的服務器也在用,反而 tpm 、自動解鎖我都不需要

    我那個網頁加密小工具用的是標準的 AES-256-CBC 加密,不是自己造輪子

    至於 藏好 和 加密 應該是水桶的不同木板,都要兼顧,要不要追求極致另說

    沒有特徵也是特徵 這句話更適合描述翻牆的流量
    對於文件,想偽裝有很多方法,譬如把加密文件追加在一個壓縮包文件的尾部,然後藏好
    424778940
        30
    424778940  
       2022-02-13 02:44:49 +08:00
    @jim9606 你说的是错误的, 微软备份的恢复代码是 "recovery password" 就是那一大串数字那个, 这个是可以直接把盘挂其他机器解锁的, 不需要什么 tpm.

    TPM 加密是把密钥放 tpm 里 开机输入的第一道密码是 tpm 的 pin 而不是 bitlocker 的密码.
    无 pin 加密也是一样密钥放 tpm 里 开机自动解锁 这时候只有第二道 也就是 windows 密码.
    但无论是哪种 TPM 加密 跟 recovery password 都没有任何关系 他们是彼此独立的"protector"
    任何一个独立的"protector"都不依赖其他条件可以直接解锁 bitlocker 的 volume
    所以如果售后做了 byte to byte 镜像并且有"recovery password" 是完全可以不依赖原电脑本身的 TPM 解锁的.
    424778940
        31
    424778940  
       2022-02-13 02:49:52 +08:00
    至于 VeraCrypt, 是有隐藏加密分区的选项的, 甚至还可以先做一个不隐藏的加密分区放一些无关紧要的文件 然后再单独建立一个隐藏加密分区套娃, 具体挂载哪个分区完全看你输入哪个分区的密码, 不会有任何提示或者方法能找到你有隐藏分区, 因为他没签名, 分区头也是通过你输入的密码加密的乱码数据.

    你完全可以一个 raw 盘, 然后直接做个隐藏分区 连分区表都没, 问就是刚买的二手盘
    mason961125
        32
    mason961125  
       2022-02-13 03:48:16 +08:00
    上次因为笔记本电源管理的问题去联想售后换过一次主板,机器本身是开着 BitLocker 的,送修的时候维修人员也没开机查看,我描述了下问题就接收了;修完之后打电话来问我 BitLocker 的事情,我就直接让他别管,等我去拿的时候再说。

    回到本贴,密钥性质的东西,本质上是除了你之外所有人都不应该交出去的,吃一堑长一智吧;但是你的担心实际上也是相对多余的,维修人员没有心情去看你的数据,一来你没有那么高的价值,二来如果出事被查出来他也是吃不了兜着走的。
    wangxn
        33
    wangxn  
       2022-02-13 08:50:21 +08:00 via Android
    RSA 发明者说永远不要自己设计加密算法
    jim9606
        34
    jim9606  
       2022-02-13 17:20:34 +08:00
    @424778940
    我没说错。
    我说需要 TPM ( TPM Protector )的是操作系统驱动器的**自动解锁**,使用 recovery password ( Numerical Password Protector )解锁的不属于自动解锁。本来恢复代码就是最高安全性的方法,增加其他 protector 都只是为了省去每次解锁都要输恢复代码的麻烦而已。恢复代码本身需要比 PIN 更严格的保密措施。企业环境可以仅创建唯一的 AD Protector ,避免员工拆硬盘在非域控主机上解锁驱动器盗取数据。

    不可能在不掌握 recovery password 又不通过其他 protector 解锁的情况下,使用 Numerical Password Protector 解锁驱动器并获得 recovery password (这都是废话了)。如果楼主自己不知道 recovery password ,除非想办法恢复送修前的 PCR 使得 TPM Protector 可用,无法解锁。

    如果通过组策略选择使用 TPM+PIN 联合,系统会创建另一个 TPM&PIN Protector 并删除 TPM Protector ,正如你所说的,两者是完全不同、相互独立的 protector 。接受 PIN 输入的不是 TPM 固件而是引导器 BOOTMGR (所以一定需要 Secure Boot 避免被篡改的 BOOTMGR 实现邪恶女仆攻击)。
    jim9606
        35
    jim9606  
       2022-02-13 17:35:16 +08:00
    @duke807
    我说的完备可不是引用成熟的 AES 实现那么简单。密码原语基本都不是弱点。
    PIN 要通过 salt 和 KDF 函数转换成 AES 使用的主密钥来提高暴力破解难度;需要认证( AEAD )来防篡改;流密码模式的 IV 怎么产生;主密钥多久替换一次;怎么做 padding ,如果明文片段可以被猜测,能不能抵抗选择明文攻击。

    当然对于个人用途,这些都不做可能不是什么问题。
    huntagain2008
        36
    huntagain2008  
       2022-02-14 08:40:53 +08:00
    小白的看法是实在不放心就重新生成新的恢复密钥就行了。
    424778940
        37
    424778940  
       2022-02-15 00:17:01 +08:00
    @jim9606 所以你倒是读一下楼主的问题啊
    他已经提供了 recovery password, 怀疑售后做了镜像, 问这种情况售后能否得到数据, 答案当然是可以
    本来跟 tpm 什么的就半毛钱关系都没有
    juzijun2333
        38
    juzijun2333  
       2022-06-17 11:20:06 +08:00
    @zddwj 重新加密过就不用担心前面的问题了,旧的恢复密钥解不开的
    juzijun2333
        39
    juzijun2333  
       2022-06-17 11:21:34 +08:00
    做了镜像又有恢复密钥那确实没办法了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1811 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 16:37 · PVG 00:37 · LAX 08:37 · JFK 11:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.