Nhật ký minh bạch nhị phân của Pixel sử dụng công nghệ nhật ký minh bạch.
Nhật ký minh bạch hữu ích đã được chứng minh bằng Tính minh bạch của chứng chỉ, Internet giao thức yêu cầu Tổ chức phát hành chứng chỉ phải công bố các chứng chỉ mà họ đã cấp vấn đề liên quan đến nhật ký công khai về Tính minh bạch của chứng chỉ. Quá trình này đã làm giảm đáng kể cấp sai chứng chỉ, nhờ đó tăng độ bảo mật của Internet. Nhiều toán tử nhật ký Tính minh bạch của chứng chỉ dựa vào việc triển khai của nhật ký minh bạch có tại transparency.dev.
Nhật ký về tính minh bạch được triển khai bằng cây Merkle. Trang này giả định rằng các khái niệm chung kiến thức về cây Merkle và độ trong suốt nhị phân. Xem Cấu trúc dữ liệu có thể xác minh để biết thông tin tổng quan về cây Merkle và trang đích để xem thông tin tổng quan về tệp nhị phân trong suốt.
Ghi nhật ký triển khai
Nhật ký về tính minh bạch nhị phân của Pixel được triển khai dưới dạng cây Merkle dựa trên ô. Gốc nội dung thẻ thông tin được phân phát tại https://developers.google.com/android/binary_transparency/tile. Lưu ý: đây là không phải là một trang web thông thường; các mục nhập nhật ký nằm trong các thư mục con của nó phải được đọc theo chương trình bằng Golang SumDB thư viện TLog chứ không thông qua trình duyệt.
Xem phần Ghi nhật ký nội dung để biết mô tả nội dung của mục.
Hàm băm gốc cây Merkle của nhật ký, nằm trong một điểm kiểm tra, được cung cấp tại https://developers.google.com/android/binary_transparency/checkpoint.txt. Nó được trình bày trong định dạng của điểm kiểm tra. Lá của cây Merkle này có tại https://developers.google.com/android/binary_transparency/image_info.txt. Chữ ký của điểm kiểm tra có thể được xác minh bằng khoá công khai sau đây:
-----BEGIN CERTIFICATE-----
MIICPDCCAeOgAwIBAgIVAPooxISw/nFF/dPwmCUaV36Z4s3hMAoGCCqGSM49BAMCMHQxCzAJBgNV
BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYD
VQQKEwtHb29nbGUgSW5jLjEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDAgFw0y
MTA3MTkyMjQxNDFaGA8yMDUxMDcxOTIyNDE0MVowdDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNh
bGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxFDASBgNVBAoTC0dvb2dsZSBJbmMuMRAw
DgYDVQQLEwdBbmRyb2lkMRAwDgYDVQQDEwdBbmRyb2lkMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcD
QgAEU83uXNUiTYE53c2TfdWmqpW20bBXy4KEf5Ff8dV8GLKlVAXKHyjw3Lp9J3E0yCRJ/39XKeuA
AMF7KzSvhD248KNQME4wDAYDVR0TBAUwAwEB/zAdBgNVHQ4EFgQUHRpvuNkzjtBY213BWgUyWWHm
3VYwHwYDVR0jBBgwFoAUHRpvuNkzjtBY213BWgUyWWHm3VYwCgYIKoZIzj0EAwIDRwAwRAIgZsZb
CNBXRkCKLS+LG/41VWj1cTszt9QCdJQNuy7aT94CIDPgn7v5b1ykBVUTuLgRSofxAzHg9R4dg1oA
7tTFAuDg
-----END CERTIFICATE-----
Quy trình xác minh sẽ đọc điểm kiểm tra và các ô chứa các mục nhập nhật ký từ nhật ký.
Quy trình xác minh
Nhật ký minh bạch được triển khai bằng cây Merkle bao gồm các hàm băm. Đáp nút lá chứa dữ liệu và nút mẹ chứa hàm băm của các nút con.
Hai phép tính được thực hiện trên cây Merkle để xác minh bằng chứng thuộc tính của nhật ký minh bạch: bằng chứng bao gồm và bằng chứng về tính nhất quán. Chiến lược phát hành đĩa đơn chứng minh rằng nhật ký bao gồm mục nhập tương ứng với phiên bản hình ảnh, tức là Mục nhập nhật ký bao gồm Thông báo VBMeta, một hàm băm đại diện cho hình ảnh hệ điều hành có thể được trả về từ một thiết bị. Chiến lược phát hành đĩa đơn chứng minh rằng khi các mục mới được thêm vào cây, điểm kiểm tra mới là nhất quán với phiên bản trước của cây.
Để xác minh hình ảnh Pixel, hãy thực hiện bằng chứng đưa vào. Thực hiện không bắt buộc phải dùng phép tính chứng minh tính nhất quán, vì các bên thứ ba liên tục làm điều đó.
Nếu bạn muốn làm quen với các khái niệm về việc xác minh trong Pixel Độ trong suốt nhị phân, bạn có thể làm theo hướng dẫn bên dưới để sử dụng hình ảnh chạy trên thiết bị Pixel của bạn. Nếu bạn muốn chạy chương trình cơ sở Pixel ở mức cao nhất mức độ tin cậy, hãy xem quy trình xác minh trên Xác minh đầy đủ về tính minh bạch nhị phân của Pixel.
Điều kiện tiên quyết
Hãy đảm bảo có các phần phụ thuộc sau:
- Golang: Công cụ xác minh phải được xây dựng với phiên bản Go 1.17 trở lên, có sẵn trên trang web Go.
- Cầu gỡ lỗi Android (adb): Giao tiếp với một thiết bị Android để kiểm tra hình ảnh, có sẵn trên Trang web về Công cụ nền tảng SDK Android.
- Trình xác minh bằng chứng bao gồm: Giao diện với nhật ký để kiểm tra xem Pixel nằm trong nhật ký độ trong suốt nhị phân.
# Source code for the inclusion proof verifier is found at avb/tools/transparency/verify
git clone https://android.googlesource.com/platform/external/avb
Bằng chứng bao gồm
Chủ sở hữu thiết bị Pixel có thể kiểm tra để đảm bảo hình ảnh của mình có trong nhật ký bằng cách trích xuất siêu dữ liệu có liên quan, sau đó so sánh hàm băm gốc đã tính toán lại với hàm băm gốc có trong điểm kiểm tra đã xuất bản. Nếu các đoạn mã này khớp nhau thì chủ sở hữu thiết bị Pixel có thể yên tâm nhận được một số biện pháp bảo vệ được minh hoạ trong Mô hình mối đe doạ.
Cách kiểm tra để đảm bảo hình ảnh trên thiết bị Pixel có trong nhật ký về độ trong suốt: kết nối với thiết bị bằng adb, sau đó chạy các lệnh sau:
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
Câu đầu tiên truy xuất siêu dữ liệu từ thiết bị Pixel ở định dạng
mục nhập nhật ký và lưu vào /tmp/log_payload.txt.
khổ thứ hai chạy trình xác minh bằng chứng đưa vào được xuất bản trong Kho lưu trữ Xác minh quy trình khởi động của Android. Công cụ này tính toán hàm băm của mục nhập nhật ký ứng viên, truy xuất hàm băm cần thiết để tính toán lại điểm kiểm tra từ nhật ký và so sánh điểm kiểm đó với điểm kiểm tra được nhật ký xuất bản.
Kết quả của lệnh được ghi vào stdout:
OKnếu hình ảnh có trong nhật ký,FAILUREnếu không.
Bằng chứng về tính nhất quán (Không bắt buộc)
Vì Google định kỳ phát hành các phiên bản mới của hình ảnh gốc của Pixel, nên nhật ký về tính minh bạch không ngừng tăng lên. Một nhân chứng kiểm tra xem cây có mọc theo cách phù hợp với những chiếc lá trước đó. Nhân chứng ghi lại hàm băm gốc của cây và tính toán hàm băm gốc của đề xuất tiếp theo bằng cách yêu cầu hàm băm mới hàm băm lá từ cây. Để nhật ký minh bạch được thể hiện rõ ràng là bị can thiệp, nhật ký đó phải được kiểm tra liên tục để đảm bảo tính nhất quán.
Hành vi chỉ bổ sung của nhật ký trong suốt được chủ động kiểm tra bởi thứ ba và do đó hầu hết người dùng không cần tự thực hiện việc này, nhưng có thể để bất kỳ ai giám sát tính nhất quán của nhật ký. Google đã xuất bản một nguồn mở việc thực hiện một nhân chứng trong Kho lưu trữ GitHub. Cần phải sử dụng cấu hình dành riêng cho nhật ký về Tính minh bạch nhị phân của Pixel (PixelBT).