Android 主系列模組透明化記錄

Android Mainline 模組透明度記錄使用可驗證的資料結構,確保 Mainline 模組的完整性。

Pixel 二進位檔透明度和憑證透明化等專案,已證明透明度記錄的實用性。

資訊公開記錄是以 Merkle 樹狀結構為基礎。本頁面假設您已具備 Merkle 樹狀結構和二進位檔透明度的基本知識。如需 Merkle 樹狀結構的總覽,請參閱「可驗證的資料結構」;如需 Android 內二進位透明度工作的總覽,請參閱主頁面。

記錄導入

Android Mainline 模組資訊公開記錄是使用 Tessera 實作,並遵循 tlog-tiles 規格,圖塊高度為 8 (每個圖塊或套件最多包含 28 = 256 個項目)。

記錄內容的根目錄位於: https://www.gstatic.com/android/binary_transparency/mainline/2026/02/tile/entries/

資訊方塊內容的根目錄位於: https://www.gstatic.com/android/binary_transparency/mainline/2026/02/tile/

請注意,這些網址並非標準網頁。相反地,應使用 Tessera 或 Golang SumDB Tlog 程式庫等工具,以程式輔助方式存取子目錄中的記錄項目。

  • 樹狀結構圖塊:Merkle 樹狀結構內部和葉節點雜湊會在 tile/<level>/<path> 下提供 (例如 tile/0/000、tile/1/000)。
  • 項目套件:記錄葉酬載會整理成 tile/entries/<path> 下的項目套件 (例如 tile/entries/000、tile/entries/001),每個套件最多可容納 256 個串連項目。

如要瞭解各個項目包含的內容,請參閱「記錄內容」。

記錄的 Merkle 樹狀結構根雜湊包含在查核點中,並以查核點格式提供,網址為 https://www.gstatic.com/android/binary_transparency/mainline/2026/02/checkpoint。查核點來源為 android.transparency.goog/mainline/modules/2026/1。

檢查點簽章是使用 Ed25519 簽章演算法產生。檢查點的簽章可使用下列公開金鑰驗證,格式可為附註驗證器格式 (如 golang.org/x/mod/sumdb/note 所定義) 或標準 PEM 格式:

  • 附註驗證者格式 (<name>+<key_hash>+<public_key_bytes>):
android.transparency.goog/mainline/modules/2026/1+1a8e4064+AfwnHm59rNQTJICchMd7a2W5PQa7nC5h2gTEfq3fhCEI
  • PEM 格式 (SubjectPublicKeyInfo):
-----BEGIN PUBLIC KEY-----
MCowBQYDK2VwAyEA/Ccebn2s1BMkgJyEx3trZbk9BrucLmHaBMR+rd+EIQg=
-----END PUBLIC KEY-----

封存記錄 (V1)

在 2026 年第 3 季更新前,記錄檔是採用較早的 V1 實作,使用 ECDSA (NIST P-256 搭配 SHA-256) 簽章。V1 記錄會封存並設為唯讀,但仍可公開存取,以便驗證歷來項目:

-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEr6nPds8eKCYU42avidXNM1GDCtQ/
66GjGuIpUcZjqQNngwRFVCFZDpWuvDnqXzhJRxqccL9lbeEVVZGpa4x6pg==
-----END PUBLIC KEY-----

由於 Mainline 模組與 APK 類似,因此 Google APK 驗證頁面所述的驗證方法也適用於此。您可以使用其中的方法,驗證著作權聲明方模型中的著作權聲明。