Google 产品应用透明度日志利用了透明度日志技术。
Pixel 二进制透明度和证书透明度等项目已证明透明度日志的实用性。
透明度日志通过 Merkle 树实现。 本页面假定您对 Merkle 树和二进制透明度有大致的了解。 如需简要了解 Merkle 树,请参阅可验证的数据结构;如需简要了解 Android 中的二进制透明度工作,请参阅主页。
日志实现
Google 产品应用透明度日志使用 Tessera 实现,并遵循 tlog-tiles 规范,其中 tile 高度为 8(每个 tile 或 bundle 最多包含 28 = 256 个项目)。
日志内容的根目录位于:
https://gstatic.com/android/binary_transparency/google1p/apk/2026/02/tile/entries/
图块内容根目录的提供位置:https://gstatic.com/android/binary_transparency/google1p/apk/2026/02/tile/
请注意,这些不是常规网页:子目录中包含的日志条目应通过 tlog-tiles 客户端库(例如 Tessera 或 Golang SumDB Tlog 库)以程序化方式读取,而不是通过浏览器读取。为清晰起见,我们在此处提供了链接。
- 树状图块:Merkle 树内部和叶节点的哈希值在
tile/<level>/<path>下提供(例如tile/0/000、tile/1/000)。 - 条目 bundle:日志叶载荷在
tile/entries/<path>(例如tile/entries/000、tile/entries/001)下整理为条目 bundle,每个 bundle 最多包含 256 个串联的条目。
如需了解每个条目包含的内容,请参阅日志内容。
日志的 Merkle 树根哈希(包含在检查点中)以检查点格式在 https://gstatic.com/android/binary_transparency/google1p/apk/2026/02/checkpoint 提供。
检查点来源为 android.transparency.goog/google1p/apk/2026/1。
检查点签名使用 Ed25519 签名算法生成。可以使用以下公钥(采用注释验证器格式 [如 golang.org/x/mod/sumdb/note 中所定义] 或标准 PEM 格式)验证检查点的签名:
- 注意验证器格式 (
<name>+<key_hash>+<public_key_bytes>):
android.transparency.goog/google1p/apk/2026/1+fc654374+ATr9NQE0gvOtVfj5cCStUzdlflEp3oZoNHD8pImzPj5O
- PEM 格式 (SubjectPublicKeyInfo):
-----BEGIN PUBLIC KEY-----
MCowBQYDK2VwAyEAOv01ATSC861V+PlwJK1TN2V+USnehmg0cPykibM+Pk4=
-----END PUBLIC KEY-----
已归档的日志 (V1)
在 2026 年第 3 季度更新之前,该日志在早期 V1 实现下运行,使用 ECDSA(NIST P-256 与 SHA-256)签名。V1 日志已归档并设为只读,但仍可公开访问,以便验证历史条目:
- 树大小:1,797,152 个条目(归档时)
- 根哈希:
IkmuYB2xKKEOLiaQkIho1o9/uGjrKDbk8xa3xXaFeHY= - 检查点:https://gstatic.com/android/binary_transparency/google1p/apk/2026/01/checkpoint.txt
- 数据叶:由于
gstatic.com上的单个文件大小和存储空间限制(单个静态文件上限为 200 MiB),完整归档日志的叶载荷会跨两个连续文件进行分区:- 第 1 部分(条目 0 - 1,714,860):https://gstatic.com/android/binary_transparency/google1p/apk/2026/01/package_info.txt
- 第 2 部分(条目 1,714,861 - 1,797,151):https://gstatic.com/android/binary_transparency/google1p/apk/2026/01/package_info2.txt
- Tile Root:
https://gstatic.com/android/binary_transparency/google1p/apk/2026/01/tile/ - 公钥(PEM 格式,ECDSA P-256):
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEaP7xodTP5/teDOUYFAUHF0MqvOXt
+jamtcDYWxTjY99hyYczpB/cF2fxHhIqEznNpLcI2Vorl+iEchWhZ0y3Mg==
-----END PUBLIC KEY-----