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

手机解锁 bootloader 后,还限制了 lk 或 uefi 的签名吗?

  •  
  •   systemcall · 2020-12-21 23:08:14 +08:00 · 8947 次点击
    这是一个创建于 1431 天前的主题,其中的信息可能已经有所发展或是发生改变。

    现在的手机大部分都有安全启动,启动的时候会检测各级 bootloader 以及内核的签名
    但是,Google 自己的手机以及别的一些手机,还是可以解锁 bootloader 的,这样的话就可以启动别的系统,内核被修改过也可以启动
    想知道这里所说的“解锁”,是只是不再限制 lk 或 uefi 要加载的 Android OS 的签名,还是说完全放开 lk 或 uefi,还是说 CPU 的 efuse 也得到了修改,不再验证 Secure Boot?

    7 条回复    2020-12-25 16:52:45 +08:00
    cmostuor
        1
    cmostuor  
       2020-12-21 23:19:48 +08:00
    解锁 bootloader 以前是指可以自由读写分区 现在不知道还是不是这样 你说的 Android OS 的签名 是不是指 验证启动( Verified Boot )???
    szlytlyt
        2
    szlytlyt  
       2020-12-22 00:18:17 +08:00 via iPhone
    vk42
        3
    vk42  
       2020-12-22 01:46:19 +08:00
    解锁 bootloader 就等同于禁用 secure boot 了啊,不然不能启动第三方 boot 还有啥意义……
    至于 efuse 不是所有厂商都用,我知道的就三星自家的 Knox 用的,Pixel 可以再 lock 恢复原样的
    systemcall
        4
    systemcall  
    OP
       2020-12-22 10:03:19 +08:00 via Android
    @vk42 lk 或 uefi 到底解锁了吗?
    看了一些文章,感觉只是不再验证将要启动的内核。但是更改分区甚至是 multi-boot 在部分设备上依然可行
    如果是彻底禁用了 secure boot,那么设备的 lk 或 uefi 是否就有修改的可能?
    如果只是可以加载修改过的内核,还有方法启动别的系统吗?不太清楚 ARM 架构,X86 那边如果是在实模式的话,可以跑 grub4dos 来载入别的系统,而且 secure boot 的资料感觉更多
    12101111
        5
    12101111  
       2020-12-22 10:51:07 +08:00
    lk 和 UEFI 没有解锁的, 只有极少数密钥 /代码泄漏或者有安全漏洞的设备可以解锁 uefi 的限制(比如 Lumia 950), 否则依旧只能引导 Linux 内核.

    https://worthdoingbadly.com/qcomxbl/
    vk42
        6
    vk42  
       2020-12-22 11:11:39 +08:00
    @systemcall secure boot 是一整个链路,任何一环都要做验证,如果 unlock 了等于 lk 那边就直接撂挑子不管了,给啥加载啥不会去验证,所以理论上你只要能提供一个加载地址和原系统一致的可执行代码段,也是能跑的
    lk 自己的话 ARM 上一般是跑在 TE 里面的,商业产品一般你是拿不到代码的,除非你拿开发板玩
    RLib
        7
    RLib  
       2020-12-25 16:52:45 +08:00
    @systemcall
    对的, bootloader 解锁只是不再验证或者允许加载验证失败的 boot 镜像(取决于系统版本, 如果 boot 分区没有正确的 vbmeta 结构, 解锁了 bl 也可能拒绝加载), 后续其它分区的 dm-verity 验证依然进行的.
    至于改写 bl, 理论上不行(安卓手机), 解锁是在 bl 里做的, 无法干预加载 bl 的上一环节, 另外实际上像华为机型, 解锁后关键分区依然是锁定的, 只能刷用户分区
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2754 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 11:39 · PVG 19:39 · LAX 03:39 · JFK 06:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.