บันทึกความโปร่งใสของโมดูล Android Mainline ใช้โครงสร้างข้อมูลที่ตรวจสอบได้เพื่อให้มั่นใจถึงความสมบูรณ์ของโมดูล Mainline
ประโยชน์ของบันทึกความโปร่งใสได้รับการพิสูจน์แล้วจากโปรเจ็กต์ต่างๆ เช่น ความโปร่งใสของไบนารี Pixel และความโปร่งใสของใบรับรอง
บันทึกความโปร่งใสสร้างขึ้นบน Merkle Tree หน้านี้จะถือว่าคุณมีความรู้ทั่วไปเกี่ยวกับ Merkle Tree และความโปร่งใสของไบนารี ดูภาพรวมของ Merkle Tree ได้ที่โครงสร้างข้อมูลที่ตรวจสอบได้ และดูภาพรวมของความพยายามในการสร้างความโปร่งใสของไบนารีภายใน 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/
โปรดทราบว่า URL เหล่านี้ไม่ใช่หน้าเว็บมาตรฐาน แต่ควรเข้าถึงรายการบันทึกในไดเรกทอรีย่อยแบบเป็นโปรแกรมโดยใช้เครื่องมืออย่าง Tessera หรือไลบรารี Tlog ของ Golang SumDB แทน
- ไทล์ต้นไม้: แฮชโหนดภายในและโหนดปลายสุดของ Merkle Tree จะแสดงในส่วน
tile/<level>/<path>(เช่นtile/0/000,tile/1/000) - แพ็กเกจรายการ: เพย์โหลด Leaf ของบันทึกจะจัดระเบียบเป็นแพ็กเกจรายการภายใต้
tile/entries/<path>(เช่นtile/entries/000,tile/entries/001) โดยแต่ละแพ็กเกจจะมีรายการที่เชื่อมโยงกันสูงสุด 256 รายการ
โปรดดูคำอธิบายสิ่งที่แต่ละรายการมีในเนื้อหาบันทึก
แฮชรูท Merkle Tree ของบันทึกที่อยู่ในเช็คพอยต์จะแสดงที่ https://www.gstatic.com/android/binary_transparency/mainline/2026/02/checkpoint ในรูปแบบเช็คพอยต์
ต้นทางของเช็คพอยท์คือ
android.transparency.goog/mainline/modules/2026/1
ระบบจะสร้างลายเซ็นจุดตรวจสอบโดยใช้อัลกอริทึมลายเซ็น Ed25519
คุณสามารถยืนยันลายเซ็นของจุดตรวจสอบได้ด้วยคีย์สาธารณะต่อไปนี้ในรูปแบบ Note Verifier (ตามที่ระบุไว้ใน 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)
ก่อนการอัปเดตในไตรมาสที่ 3 ปี 2026 บันทึกจะทำงานภายใต้การใช้งาน V1 ก่อนหน้าโดยใช้ลายเซ็น ECDSA (NIST P-256 ที่มี SHA-256) บันทึก V1 จะได้รับการเก็บถาวรและเป็นแบบอ่านอย่างเดียว แต่ยังคงเข้าถึงได้แบบสาธารณะเพื่อยืนยันรายการย้อนหลัง
- จุดตรวจสอบ: https://www.gstatic.com/android/binary_transparency/mainline/2026/01/checkpoint.txt
- Data Leaves: https://www.gstatic.com/android/binary_transparency/mainline/2026/01/module_info.txt
- Tile Root:
https://www.gstatic.com/android/binary_transparency/mainline/2026/01/tile/ - คีย์สาธารณะ (รูปแบบ PEM, ECDSA P-256):
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEr6nPds8eKCYU42avidXNM1GDCtQ/
66GjGuIpUcZjqQNngwRFVCFZDpWuvDnqXzhJRxqccL9lbeEVVZGpa4x6pg==
-----END PUBLIC KEY-----
เนื่องจากโมดูล Mainline คล้ายกับ APK วิธีการยืนยันที่อธิบายไว้ในหน้าการยืนยัน APK ของ Google จึงใช้ที่นี่ด้วยเช่นกัน คุณสามารถใช้วิธีการในส่วนดังกล่าวเพื่อยืนยันการอ้างสิทธิ์ที่ทำในโมเดลผู้อ้างสิทธิ์