1
henglinli OP 刚才复查的 intel 的规格文档,主板跳线可清除 bios 密码。这不就是后门吗?安全启动的意义就不太大了。
估计 Apple 的主板也有类似的跳线,清除 T2 的 key。 现在想来,Chromebook 虽然没有开机密码,但是开启 devmode 会重置系统这个设置来看还是很安全的。 这个 nuc8i7hnk 的硬盘加密功能仅仅支持 sata 0。intel 的规格文档还补充说 AHCI 或者 NVME 的驱动器的硬件加密实现还没有标准,早点看到这点,我就就会选择 intel 545s 了。对硬盘加密有需求的,并且不太了解的人,希望你看到了这里。估计今后的重要数据不会放到本地了,加密后放到 google drive 才安心。 |
2
realpg 2019-02-02 18:26:09 +08:00
感觉你说的乱的一塌糊涂……
你的方案选择啥的 甚至我觉得一些技术的理解都有问题 |
3
henglinli OP @realpg 我的锅,“假装 bootmgrfw “,用其他 bootloader 替换 windows 的,然后 chainload windows bootloader。
我就是吐槽下,intel 论坛我上不了,估计墙了部分,而且代理挂上也很慢很慢。 |
4
wevsty 2019-02-02 19:24:18 +08:00
启动引导的问题我个人不是很清楚细节,不做任何评论。
BIOS 密码的问题,我并不认为 BIOS 密码不储存在 TPM 是一个安全问题。因为清空 BIOS 并不代表 TPM 密钥会泄露出去,只要 TPM 能检测到 BIOS 或者 BIOS 设置产生了变化拒绝提供密钥就不会有什么安全问题。 |
5
henglinli OP @wevsty nuc8i7hnk 的密码是存储在 TPM 上的,准确的是 intel PTT (应该是 cpu 内置的 TPM 吧,不是第三方 TPM 芯片,intel 规格文档有说明主板上还有一个位置可放置 TPM 芯片)。BIOS 密码放在内置 flash 上或者 TPM 上都对我而言都很安全。我担心的不安全的情况是:有人物理访问到主机,并使用跳线清除 BIOS 密码,并用其他系统从 USB 启动就问访问到用户文件了。
|
7
chinvo 2019-02-02 20:20:33 +08:00 via iPhone
使用 tpm 全盘加密可以杜绝你说的问题。BIOS 重设并不能影响 tpm 密码,而且 tpm 密码一旦变化全盘加密就无法解密
|
8
ysc3839 2019-02-02 20:26:33 +08:00 via Android
我认为要保证数据安全的话靠固件密码是不够的。建议把数据加密,同时不要把密码存储在系统内部,也就是尽量避免仅使用 TPM 存储密码。
|
9
henglinli OP @chinvo 磁盘加密不是硬件(drive)级别的很会变慢,但是我依然能接受,可惜当时不知道 nvme 的 ssd 不支持硬件(drive)级别的加密,不然购买 sata 接口的 intel 545s 了。年后把 btrfs 换成 zfs,毕竟内核还没有做好,加密更重要。重要的数据,还是不放本地,加密后放到 google drive 才安心。
|
10
realpg 2019-02-02 20:44:55 +08:00
@henglinli #3
从来没研究过安全启动这套东西 我也没看明白你说这一坨是想干啥 如果你只是想要硬盘数据防盗,全盘加密不就完事了,跟 secure boot 有啥关系…… windows 下,bitlocker+tpm 你只要保管好自己的登录密码就好了 至于 linux,直接数据独立分区 AES 不就完了,软件加密性能也足够。 |
11
chinvo 2019-02-02 20:45:16 +08:00
@henglinli #9 你这个思路有问题,重要数据本地才更安心,因为除非物理访问,不然入侵你的成本比入侵云服务的成本低(入侵云服务可以获取更多人的数据,而且密码泄漏、撞库等是云服务的软肋)
|
12
chinvo 2019-02-02 20:46:11 +08:00
如果你认为本地的安全性都存疑,建议删数据抹盘上榔头,直接干掉更安全
|
13
henglinli OP @ysc3839 是的。需要注意的是 TPM 保存的应该是密钥,并不是密码本身。目前在考虑购买 https://cloud.google.com/titan-security-key/这个玩意儿,记得 system76 好像也有一款类似的产品,刚才去看了下却找不到了。
|
14
henglinli OP @chinvo 我的思路如果在国外是有问题的,可是国内法律不一样,我认为我的思路就没有问题了。比如我就把自定义 uefi 相关的 key 加密后放到 google drive 上。即使小偷偷了我的电脑,他首先开不了机,有 bios 密码,然后他主板跳线清除 bios 密码,然后 usb 启动后,mount 不了我的加密分区,当然也不知道我用电脑干了什么,其实只是看了 pornhub,怕懂技术的朋友发现了。
|
15
zingl 2019-02-02 23:52:58 +08:00
> 主板跳线清除 bios 密码,然后 usb 启动后,mount 不了我的加密分区
既然已经假定物理接触了,有且只有硬盘 /分区 /文件加密能起作用,其它那些都不是为了解决这个问题的 |
16
Tyanboot 2019-02-03 01:49:13 +08:00
Windows 会还原 efi entry,所以我直接在主板里面把 efi nvram 给锁了。
|
17
Osk 2019-02-03 08:24:25 +08:00 via Android
完全没看明白楼主的启动流程,,,我的经验是不要把其它的 boot loader 安装成默认的,即 efi/boot/bootx64.efi ,windows 有时会神经病地替换它。
然后自签证书的话可以用自己的证书给 ms 的根证书签名,这样就不用动 windows 的 efi 文件了。 |
18
henglinli OP @Osk 未遇到过 efi/boot/bootx64.efi 被替换掉的情况,倒是 Ubuntu 会安装该文件,估计 windows 启动修复会替换它吧。
启动流程具体是:使用另一个 boot manager (我选择的是 systemd boot )替换掉 efi/boot/microsoft/bootmgrfw.efi ,然后用该 boot manager chain boot bootmgrfw.efi 重命名后的 bootw.efi 。 我发现只要从 efi shell 直接执行 bootmgrfw.efi (不管其是否被重命名) windows 都会还原 boot entry,以及 bootmgrfw.efi 本身,chainload bootmgrfw.efi 却不会。 签名部分目前我确实是签名了 MS 的 2 个证书和 intel 的一个证书(应该是更新固件要用到的,正应该有 intel 的证书在,我才不能确定是否能用 me_cleaner 清除 bios 固件中的 me,至少 me_cleaner 的 issue list 里面没有看到相同 nuc 的使用结果报告)。我的考量是,如果我签名(旧的 MS 签名会被替换掉)了 bootmgrfw.efi 等,Windows 也许不会替换它(比如假如神州网信版的签名也许就不是 MS 的签名呢?),那么我就可以用自己添加的 boot entry 启动 systemd boot 再用 system boot chainload 未被重命名的 bootmgrfw.efi 。如果可行的化,个人认为这比假装 bootmgrfw.efi 要好一点。 |
19
henglinli OP @Tyanboot 怎么锁? Windows 启动后自己再把它改回来?( stackoverflow 上有人就是这么干的。。。)
还是 efishell 有相关的命令或者是你的主板支持? |
20
henglinli OP @zingl 分区加密部分是应该的,但是个人单方面认为应该要注意的是应该避免使用神州网信版以及简体中文版(都是特供版)的 bitlocker。目前猜测 windows 繁体中文版不是特供版,但是安装的时候还是不要选简体中文的好。
|
21
Tyanboot 2019-02-03 12:55:28 +08:00 via Android
@henglinli 是主板支持的。可能只有部分支持吧…这个锁定的效果就是所做的修改在重启之后恢复到锁定时候的状态。所以 Windows 也没法自作主张的增删调整顺序了。
|
22
dingwen07 2019-02-04 00:19:31 +08:00 via Android
跳线破解 BIOS 密码后 TPM 会拒绝提供密钥,不会有安全问题。你要更加安全用 EFS。买个智能卡(比如 YubiKey,最好不要选支持国密的),用智能卡生成不可导出的密钥。敏感数据用 EFS 加密,在没设置恢复代理的情况下没有智能卡绝对打不开。
|
23
henglinli OP @dingwen07 跳线清除 bios 密码后,就可以从 USB 启动其他 OS 了,从其他 OS 访问本地遵循国内法律的加密方案保护的文件是可能的。目前在考虑 google 泰坦 https://cloud.google.com/titan-security-key
|