Bạn có thể xem thông tin chung về tính năng Minh bạch của tệp nhị phân Android trên Trang minh bạch của tệp nhị phân chính.
Trang này chứa thêm thông tin chi tiết về định dạng của các tệp trong nhiều thư mục tile/
.
Các tệp này chứa hàm băm của các nút Cây Merkle đại diện cho nhật ký Minh bạch nhị phân cho Hình ảnh nhà máy Pixel. Ngoài ra, các hàm băm này được đóng gói thành thẻ thông tin. Để biết thông tin tổng quan về cách phân tách cây thành các ô, hãy xem phần Sắp xếp nhật ký theo ô.
Trong nhật ký này, các nút được băm bằng thuật toán SHA256. Chúng ta sử dụng thư viện tlog để viết các thẻ thông tin cụ thể với chiều cao thẻ thông tin là 1. Điều đó có nghĩa là mỗi thẻ thông tin chứa tối đa 2^height = 2 hàm băm, mỗi hàm băm có kích thước 32 byte.
Bạn có thể xem thông tin chi tiết về cách tạo đường dẫn thẻ thông tin trong tài liệu về Thẻ thông tin tlog.
Phần gốc của thẻ thông tin cho mỗi nhật ký được phân phát tại:
- Nhật ký minh bạch của Pixel
https://developers.google.com/android/binary_transparency/tile
- Nhật ký minh bạch về APK hệ thống của Google
https://developers.google.com/android/binary_transparency/google1p/tile/
Ví dụ về tính toán bằng Thẻ thông tin
Để hiểu rõ hơn về cách hoạt động của thẻ thông tin, chúng ta sẽ xem xét một ví dụ sử dụng Nhật ký độ trong suốt của pixel.
Giả sử một cây có kích thước 8. Nếu bạn đang xem mục nhập tại chỉ mục 3, thì đó sẽ là hàm băm đầu tiên trong thẻ thông tin t(0, 1)
. Đường dẫn cho thẻ thông tin có dạng tile/H/L/NNN[.p/W]
. Do đó, đường dẫn cho thẻ thông tin t(0, 1)
sẽ là
https://developers.google.com/android/binary_transparency/tile/1/0/001.
Phần gốc của cây sẽ nằm trong thẻ thông tin t(3, 0)/1
, tức là đường dẫn
https://developers.google.com/android/binary_transparency/tile/1/3/000.p/1.