结合具体厂商MTK的安全启动分为MTK芯片级安全启动链和Android AVB系统级验证链两大类。一、整体信任链总览MT8766采用两级嵌套链式信任信任根锚定硬件eFuse每一级验签通过后才会获得信任进而验证下一级硬件eFuse根公钥哈希→ BROM验签 → Preloader → Preloader验签 → LK → LK执行AVB验签 → vbmeta.img → 链式验签 → vbmeta_system.img / vbmeta_vendor.img → 校验各业务分区二、芯片级安全启动链MTK私有签名体系这一级是MTK平台原生的硬件级安全启动使用私有镜像格式不遵循AVB规范信任根为芯片eFuse中一次性烧录的根公钥哈希。1. Boot ROMBROM片上固化固件镜像内公钥/哈希不存储完整公钥仅在芯片eFuse/OTP区烧录根公钥的SHA-256哈希硬件信任根RoT Hash不可篡改。自身签名无代码固化在芯片硅片内是整个系统的信任起点不接受任何软件验证。签名产生方无。验签执行者自身为平台第一级验签主体。被验签对象Preloader镜像。MT8766 平台的 Boot ROMBROM对 Preloader 的验签核心分为「公钥哈希锚定」和「镜像签名校验」两步先提取 Preloader 镜像中携带的完整公钥计算其 SHA-256 哈希值与芯片 eFuseOTP 一次性可编程区中预先烧录的根公钥哈希做比对比对通过后再用这把经过可信锚定的公钥验证 Preloader 镜像主体的数字签名最终确认镜像合法。信任关系作为硬件信任根主动校验下一级Preloader的合法性是整条信任链的起点。2. Preloader 镜像镜像内公钥/哈希镜像头部携带完整的根公钥用于自身签名校验。自身签名镜像头部附带MTK私有格式数字签名签名覆盖Preloader全部有效代码与数据段。签名产生方设备厂商/方案商持有的根私钥与eFuse中的根公钥哈希一一对应量产阶段完成签名。验签执行者BROM。验签逻辑BROM先计算镜像中根公钥的哈希与eFuse中的预置哈希比对匹配后再用该公钥验证Preloader的数字签名。被验签对象LKLittle Kernel镜像。信任关系自身被BROM验证通过后获得信任继续向下验证LK镜像传递信任链。3. LKLittle Kernel / Bootloader镜像镜像内公钥/哈希镜像头部携带芯片级签名公钥可与根公钥为同一对或为派生的子公钥由厂商配置代码内部预置AVB可信公钥哈希用于后续系统级AVB验签。自身签名镜像头部附带MTK私有格式数字签名覆盖LK核心代码与数据区。签名产生方设备厂商持有的芯片级签名私钥。验签执行者Preloader。验签逻辑Preloader使用已被信任的公钥校验LK镜像的签名完整性。被验签对象vbmeta.imgAVB顶级元数据镜像。信任关系承接芯片级信任链自身验证通过后成为Android AVB验证的执行主体完成从芯片级到系统级的信任传递。三、Android AVB 系统级验证链标准AVB 2.0规范这一级遵循Google AVB 2.0标准所有vbmeta镜像采用统一格式信任锚点为LK中预置的AVB可信公钥哈希。4. vbmeta.img顶级主元数据镜像镜像内公钥/哈希镜像自身携带AVB根公钥完整公钥用于验证自身签名描述符区包含boot、dtbo、recovery等分区的全量哈希Hash描述符vbmeta_system、vbmeta_vendor的授权公钥哈希镜像预期哈希Chain链式描述符全局回滚版本号。自身签名镜像尾部的签名块AVB Footer签名覆盖「镜像头部 所有描述符数据」算法为RSA 2048/4096 SHA-256。签名产生方设备厂商持有的AVB根私钥系统编译/OTA打包时完成签名。验签执行者LK中的libavb库。验签逻辑LK提取vbmeta中的AVB根公钥计算其哈希与LK内置的可信公钥哈希比对哈希匹配后用该公钥验证vbmeta自身的数字签名校验回滚版本号防止降级攻击。被验签对象boot、dtbo、recovery等小分区全量哈希校验vbmeta_system.img、vbmeta_vendor.img链式授权校验。信任关系承接芯片级信任链是系统分区验证的根节点自身合法性由LK担保。5. vbmeta_system.imgSystem分区元数据镜像镜像内公钥/哈希镜像自身携带System专属签名公钥描述符区包含system、system_ext分区的dm-verity哈希树根哈希Hashtree描述符、哈希树参数、数据块大小。自身签名镜像尾部签名块签名覆盖自身头部全部描述符数据。签名产生方设备厂商System团队持有的System签名私钥独立于AVB根私钥。验签执行者LK中的libavb库基于主vbmeta的授权。验签逻辑两步校验完整性校验计算vbmeta_system镜像的全量哈希与主vbmeta.img中Chain描述符记录的预期哈希比对授权校验提取vbmeta_system的签名公钥计算哈希与主vbmeta的Chain描述符中预置的授权公钥哈希比对匹配后用该公钥验证自身签名。被验签对象system、system_ext分区通过哈希树根哈希做运行时完整性校验。信任关系由主vbmeta.img授权信任独立负责System分区的验证支持System分区单独OTA更新无需修改主vbmeta。6. vbmeta_vendor.imgVendor分区元数据镜像镜像内公钥/哈希镜像自身携带Vendor专属签名公钥描述符区包含vendor、odm分区的dm-verity哈希树根哈希、哈希树参数。自身签名镜像尾部签名块签名覆盖自身头部全部描述符数据。签名产生方芯片厂商MTK或设备厂商Vendor团队持有的Vendor签名私钥。验签执行者LK中的libavb库基于主vbmeta的授权。验签逻辑与vbmeta_system完全一致基于主vbmeta的Chain描述符完成授权与签名校验。被验签对象vendor、odm分区。信任关系由主vbmeta.img授权信任独立负责Vendor分区验证适配Project Treble的分区解耦更新。补充业务分区boot.img / system.img / vendor.img自身不携带独立公钥与数字签名boot等小分区的完整性由vbmeta.img中的Hash描述符担保system/vendor等大分区的完整性由对应子vbmeta中的Hashtree描述符根哈希担保运行时由内核dm-verity模块按需校验。四、签名-验签关系汇总表镜像名称签名由谁签发私钥持有方由谁执行验签验签的信任依据验签通过后验证谁Preloader设备厂商根私钥BROMeFuse根公钥哈希LK镜像LK设备厂商芯片级签名私钥Preloader芯片级根公钥vbmeta.imgvbmeta.img设备厂商AVB根私钥LKLK内置AVB公钥哈希boot等小分区 子vbmeta镜像vbmeta_system.img设备厂商System签名私钥LKlibavb主vbmeta的Chain授权system/system_ext分区vbmeta_vendor.imgMTK/厂商Vendor签名私钥LKlibavb主vbmeta的Chain授权vendor/odm分区五、关键设计说明硬件只存哈希不存完整公钥eFuse中仅烧录公钥哈希避免攻击者直接替换镜像中的公钥绕过验证确保信任根不可篡改。公私钥分层隔离芯片级密钥、AVB根密钥、System/Vendor子密钥分层管理不同团队持有不同密钥降低密钥泄露风险。链式解耦适配OTA子vbmeta独立签名的设计让System、Vendor分区可以单独更新、单独签名完美匹配Project Treble的分区解耦架构也是MT8766这类入门平台支持独立厂商定制的核心基础。