บันทึกความโปร่งใสของโมดูล Mainline ใน Android ใช้โครงสร้างข้อมูลที่ตรวจสอบได้เพื่อรับประกันความสมบูรณ์ของโมดูล Mainline
ประโยชน์ของบันทึกความโปร่งใสได้รับการพิสูจน์แล้วจากโปรเจ็กต์ต่างๆ เช่น ความโปร่งใสของไบนารีของ Pixel และ ความโปร่งใสของใบรับรอง
บันทึกความโปร่งใสสร้างขึ้นจาก Merkle Tree หน้านี้ถือว่าคุณมีความรู้ทั่วไปเกี่ยวกับ Merkle Tree และความโปร่งใสของไบนารี ดูภาพรวมของ Merkle Tree ได้ที่โครงสร้างข้อมูลที่ตรวจสอบได้ และดูภาพรวมของความพยายามด้านความโปร่งใสของไบนารีใน Android ได้ที่หน้าหลัก
การใช้งานบันทึก
บันทึกความโปร่งใสของโมดูล Mainline ใน Android ใช้ Tessera และเป็นไปตามข้อกำหนด tlog-tiles โดยมีความสูงของไทล์อยู่ที่ 8 (ไทล์หรือชุดข้อมูลแต่ละรายการมีข้อมูลไม่เกิน 28 = 256 รายการ)
ระบบจะแสดงผลรูทของเนื้อหาบันทึกที่
https://gstatic.com/android/binary_transparency/mainline/2026/02/tile/entries/
ระบบจะแสดงผลรูทของเนื้อหาไทล์ที่
https://gstatic.com/android/binary_transparency/mainline/2026/02/tile/
โปรดทราบว่า URL เหล่านี้ไม่ใช่หน้าเว็บมาตรฐาน แต่ควรเข้าถึงรายการบันทึกใน ไดเรกทอรีย่อยแบบเป็นโปรแกรมโดยใช้เครื่องมือต่างๆ เช่น Tessera หรือไลบรารี Golang SumDB Tlog
- ไทล์ของ Tree: ระบบจะแสดงผลแฮชของโหนดภายในและโหนดลีฟของ Merkle Tree ภายใต้
tile/<level>/<path>(เช่นtile/0/000,tile/1/000) - ชุดข้อมูลรายการ: ระบบจะจัดระเบียบเพย์โหลดลีฟของบันทึกเป็นชุดข้อมูลรายการภายใต้
tile/entries/<path>(เช่นtile/entries/000,tile/entries/001) โดย แต่ละชุดข้อมูลจะมีรายการที่เชื่อมต่อกันได้สูงสุด 256 รายการ
ดูคำอธิบายเกี่ยวกับเนื้อหาของแต่ละรายการได้ที่ เนื้อหาบันทึกสำหรับคำอธิบายเกี่ยวกับสิ่งที่แต่ละรายการ มี
ระบบจะแสดงผลแฮชรูทของ Merkle Tree ของบันทึก ซึ่งอยู่ใน จุดตรวจที่ https://gstatic.com/android/binary_transparency/mainline/2026/02/checkpointในรูปแบบจุดตรวจ
ต้นทางของจุดตรวจคือ gstatic.com/android/binary_transparency/mainline/modules/2026/1
ระบบจะสร้างลายเซ็นของจุดตรวจโดยใช้อัลกอริทึมลายเซ็น Ed25519
คุณสามารถยืนยันลายเซ็นของจุดตรวจได้ด้วยคีย์สาธารณะต่อไปนี้
ในรูปแบบเครื่องมือยืนยันโน้ต (ตามที่กำหนดไว้ใน golang.org/x/mod/sumdb/note)
หรือรูปแบบ PEM มาตรฐาน:
- รูปแบบเครื่องมือยืนยันโน้ต (
<name>+<key_hash>+<public_key_bytes>)
MainlineModulesLogV2+e490c9dd+AfwnHm59rNQTJICchMd7a2W5PQa7nC5h2gTEfq3fhCEI
- รูปแบบ PEM (SubjectPublicKeyInfo):
-----BEGIN PUBLIC KEY-----
MCowBQYDK2VwAyEA/Ccebn2s1BMkgJyEx3trZbk9BrucLmHaBMR+rd+EIQg=
-----END PUBLIC KEY-----
บันทึกที่เก็บถาวร (V1)
ก่อนการอัปเดตในไตรมาสที่ 3 ปี 2026 บันทึกจะทำงานภายใต้การใช้งาน V1 ก่อนหน้าโดยใช้ลายเซ็น ECDSA (NIST P-256 พร้อม SHA-256) ระบบจะเก็บถาวรบันทึก V1 และตั้งค่าเป็นแบบอ่านอย่างเดียว แต่จะยังคงเข้าถึงได้แบบสาธารณะเพื่อยืนยันรายการย้อนหลัง
- จุดตรวจ: https://gstatic.com/android/binary_transparency/mainline/2026/01/checkpoint.txt
- ลีฟของข้อมูล: https://gstatic.com/android/binary_transparency/mainline/2026/01/module_info.txt
- รูทของไทล์:
https://gstatic.com/android/binary_transparency/mainline/2026/01/tile/ - คีย์สาธารณะ (รูปแบบ PEM, ECDSA P-256):
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEr6nPds8eKCYU42avidXNM1GDCtQ/
66GjGuIpUcZjqQNngwRFVCFZDpWuvDnqXzhJRxqccL9lbeEVVZGpa4x6pg==
-----END PUBLIC KEY-----
เนื่องจากโมดูล Mainline มีลักษณะคล้ายกับ APK วิธีการยืนยันที่อธิบายไว้ ในหน้าการยืนยัน Google APKจึงใช้ได้ กับที่นี่ด้วย คุณสามารถใช้วิธีการเหล่านั้นเพื่อยืนยันการอ้างสิทธิ์ที่ระบุไว้ใน โมเดลผู้อ้างสิทธิ์