linux - dm(disk mapper)
发布日期:2021-06-29 14:21:28 浏览次数:3 分类:技术文章

本文共 476 字,大约阅读时间需要 1 分钟。

dm-verity是如何保证安全的?

前面说过每个block都在hash-tree中记录了对应的hash值,这样就能防止别人篡改block的内容了,但是如果黑客把block改了之后,重新计算hash把hash-tree中对应的hash值也改了呢,这样就能神不知鬼不觉了,所以必须要有一种机制防止hash-tree被篡改,hash-tree是这样一种结构,所有的block对应的hash值放在最底层,也就是第0层,如下图:

第1层的hash值由下面一层的hash值计算得到,除了第0层,其他的层hash值都不对应物理上block的hash值,它们存在的意义只是为了构建hash链,防止hash篡改,这样第0层的hash值改变了的话,上层对应的hash值也需要修改,也就是说根hash也需要修改,所以只需要一种机制能保证root-hash不被篡改就行了。

Android中采用的方法是算root-hash的签名,verity-table中保存了root-hash,对verity-table进行签名,它们的存储分布如下:

dm-verity-hash-tree

 

# dm 在linux内核中的位置

 

转载地址:https://chilaidashi.blog.csdn.net/article/details/108499099 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:CAN - 汽车上为什么选择CAN作为主要的通讯总线
下一篇:N个静态库转换成静态库或动态库(.a to .so)

发表评论

最新留言

关注你微信了!
[***.104.42.241]2024年04月30日 11时26分27秒