关于功能块

如需了解有关 Android 二进制文件透明度的一般信息,请访问“二进制文件透明度”主页面

本页面详细介绍了各种 tile/ 目录下的文件格式。

这些文件包含表示 Pixel 工厂映像二进制透明度日志的 Merkle 树节点的哈希值。此外,这些哈希会打包到功能块中。如需简要了解如何将树分割为功能块,请参阅将日志划分为功能块

在此日志中,系统使用 SHA256 对节点进行哈希处理。我们使用 tlog 库专门写入功能块,功能块高度为 1。这意味着,每个图块最多包含 2^height = 2 个哈希,每个哈希的大小为 32 字节

如需详细了解功能块路径构建,请参阅 tlog 功能块文档

每个日志的功能块的根位于:

  • Pixel 透明度日志
    • https://developers.google.com/android/binary_transparency/tile
  • Google 系统 APK 透明度日志
    • https://developers.google.com/android/binary_transparency/google1p/tile/

使用功能块进行计算的示例

为了更好地了解功能块的运作方式,我们将通过一个使用像素透明度日志的示例进行演示。假设树的大小为 8。如果您查看的是索引 3 处的条目,则该条目是功能块 t(0, 1) 中的第一个哈希。功能块的路径采用 tile/H/L/NNN[.p/W] 的格式。因此,功能块 t(0, 1) 的路径为 https://developers.google.com/android/binary_transparency/tile/1/0/001。树根位于功能块 t(3, 0)/1 中,其路径为 https://developers.google.com/android/binary_transparency/tile/1/3/000.p/1