Pixel 二進位檔透明度技術詳細資料頁面

Pixel 二進位透明化記錄採用透明度記錄技術。

透明度記錄檔的實用性經過證明 憑證透明化,網際網路 需要憑證授權單位才能發布憑證的通訊協定 問題。這個流程大幅減少 導致憑證誤發,從而提升 網際網路。許多 Certificate Transparency 記錄運算子都需要仰賴實作 的透明度記錄,請見 transparency.dev

資訊公開記錄是以 Merkle 樹狀結構實作。本頁預設 對 Merkle 樹狀結構和二進位透明度的瞭解詳情請見 可驗證的資料結構 瞭解 Merkle 樹 到達網頁總覽頁面 資訊公開。

記錄檔導入

Pixel 二進位透明度記錄是以 圖塊式 Merkle 樹。根目錄 圖塊內容 https://developers.google.com/android/binary_transparency/tile.請注意: 而不是一般網頁內含的記錄項目 使用 Golang SumDB 以程式方式讀取 TLog 程式庫,而非透過 。

請參閱記錄內容以瞭解 項目包含內容的說明。

記錄檔中的 Merkle 樹根雜湊 (包含在查核點中) https://developers.google.com/android/binary_transparency/checkpoint.txt. 它顯示在 檢查點格式。 如要瞭解這個 Merkle 樹的葉子,可以前往 https://developers.google.com/android/binary_transparency/image_info.txt。 查核點的簽名可使用下列公開金鑰進行驗證:

-----BEGIN CERTIFICATE-----
MIICPDCCAeOgAwIBAgIVAPooxISw/nFF/dPwmCUaV36Z4s3hMAoGCCqGSM49BAMCMHQxCzAJBgNV
BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYD
VQQKEwtHb29nbGUgSW5jLjEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDAgFw0y
MTA3MTkyMjQxNDFaGA8yMDUxMDcxOTIyNDE0MVowdDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNh
bGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxFDASBgNVBAoTC0dvb2dsZSBJbmMuMRAw
DgYDVQQLEwdBbmRyb2lkMRAwDgYDVQQDEwdBbmRyb2lkMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcD
QgAEU83uXNUiTYE53c2TfdWmqpW20bBXy4KEf5Ff8dV8GLKlVAXKHyjw3Lp9J3E0yCRJ/39XKeuA
AMF7KzSvhD248KNQME4wDAYDVR0TBAUwAwEB/zAdBgNVHQ4EFgQUHRpvuNkzjtBY213BWgUyWWHm
3VYwHwYDVR0jBBgwFoAUHRpvuNkzjtBY213BWgUyWWHm3VYwCgYIKoZIzj0EAwIDRwAwRAIgZsZb
CNBXRkCKLS+LG/41VWj1cTszt9QCdJQNuy7aT94CIDPgn7v5b1ykBVUTuLgRSofxAzHg9R4dg1oA
7tTFAuDg
-----END CERTIFICATE-----

驗證程序會讀取查核點和圖塊 包含記錄檔中的記錄項目

驗證程序

實作資訊公開記錄檔時,系統會透過由雜湊組成的 Merkle 樹狀結構。A 罩杯 分葉節點包含資料,而父項節點則含有其子項的雜湊。

會在 Merkle 樹上執行兩項運算,驗證破壞證據 屬性:包含證明及一致性的證明。 前者會驗證記錄是否包含與映像檔版本相對應的項目 也就是預先訓練模型記錄項目包含 VBMeta 摘要、 代表 OS 映像檔的雜湊,可從裝置傳回的。 後者則證明當新項目加入樹狀結構時,新的檢查點會是 與前一個版本的樹狀結構中的一致

如要驗證 Pixel 圖片,請使用隨附證明。執行 一致性計算是選用項目,因為第三方會持續 。

想瞭解 Pixel 驗證的概念 二進位透明度,您可以按照下方操作說明使用映像檔 都是透過 Pixel 裝置運作的硬體應用程式如要執行最高等級的 Pixel 韌體 請參閱驗證程序的 Pixel 二進位檔透明化控管機製完整驗證

必要條件

確認下列依附元件可用:

  • Golang:驗證工具必須使用 Go 1.17 以上版本建構, 前往 Go 網站
  • Android Debug Bridge (ADB):與 Android 裝置通訊以進行檢查 映像檔, Android SDK 平台工具網站
  • 「包容性」驗證器:一併顯示記錄介面,供使用者確認 Pixel 手機是否 是在二進位透明度記錄檔中 找到映像檔
# Source code for the inclusion proof verifier is found at avb/tools/transparency/verify
git clone https://android.googlesource.com/platform/external/avb

「多元包容」驗證

Pixel 擁有者可以先擷取 相關中繼資料,然後將重新計算的根雜湊和根雜湊進行比較 包含在 如果兩者相符,Pixel 擁有者就能確保一切安全 是 威脅模型

如何確認 Pixel 裝置上的影像是否在透明度記錄中: 透過 ADB 連線至裝置, 然後執行下列指令:

FINGERPRINT=$(adb shell getprop ro.build.fingerprint)
VBMETA_DIGEST=$(adb shell getprop ro.boot.vbmeta.digest)
LOG_ENTRY="${FINGERPRINT}\n${VBMETA_DIGEST}\n"
PAYLOAD_PATH="/tmp/log_payload.txt"
echo -e $LOG_ENTRY >> $PAYLOAD_PATH

cd avb/tools/transparency/verify/
go build cmd/verifier/verifier.go
./verifier --payload_path=$PAYLOAD_PATH

第一隻聖母島會從 Pixel 裝置擷取中繼資料,格式為 記錄項目,並儲存至 /tmp/log_payload.txt

第二位聖經節錄後, Android 驗證開機程序存放區。 這項工具會計算候選記錄項目的雜湊值,擷取另一個 重新計算記錄中查核點所需的雜湊值,並與 以及記錄檔發布的查核點

指令輸出內容會寫入 stdout:

  • OK (如果映像檔包含在記錄中),
  • FAILURE 表示必要。

一致性證明 (選填)

由於 Google 會定期推出新版的 Pixel 原廠映像檔,因此 透明度記錄會持續增加。見證會檢查樹狀結構是否成長 與先前的葉子一致見證者記錄 樹狀結構根雜湊,並要求新的 樹狀結構中的分葉雜湊。如要確保資訊公開記錄遭竄改,必須 ,確認內容是否一致

第三階段主動檢查透明度記錄中僅供附加的行為 大多數使用者不需要自行完成此操作 方便所有人監控記錄的一致性Google 已推出開放原始碼的 並實作見證 GitHub 存放區。必須 請使用 設定 Pixel 二進位制透明化 (PixelBT) 記錄。