什么是设备真实状态

问题描述 投票:1回答:1

device verity state is: ENABLED

我在启动日志中位于命令行上方。我可以知道,它会做什么呢?我已经阅读了android的源链接,但听不懂。

您能帮我吗?

提前感谢。

android android-source bootloader
1个回答
0
投票

Android可以使用dm-verity保护非数据分区以防操纵(linklink)。

目标是防止攻击者(具有对设备的物理访问权限)插入恶意代码,例如进入存储在/system/recovery分区上的低级Android服务。

[对于verity中标有fstab标志的分区,在构建时,将计算该分区的dm-verity哈希树。哈希树用RSA密钥签名,并作为元数据附加到分区。 RSA密钥的公共部分已添加到boot分区。

[在启动时,内核使用boot分区中存储的RSA公钥来验证分区元数据中已签名哈希树的完整性。然后,它可以计算分区的哈希树,并将其与元数据中的哈希树进行比较。如果不匹配,内核将拒绝引导。

因此,如果攻击者操纵该分区,则在启动时计算出的哈希树将与来自分区元数据的哈希树不匹配。如果攻击者还从分区元数据中操纵哈希树,则使用RSA公钥的签名验证将失败。

当然,您需要另外一种机制来确保boot分区的完整性。这可以通过类似安全启动的机制来完成,其中再次使用另一个(RSA)密钥对boot分区进行签名,并将该密钥的公共部分嵌入到较低的级别(特定于供应商)。这样的验证机制链称为信任链。理想情况下,您希望将信任链扩展到硬件级别,并且将一些供应商密钥刻录到芯片中。

© www.soinside.com 2019 - 2024. All rights reserved.