Để tăng độ tin cậy đối với các ứng dụng và sản phẩm của Google, chúng tôi cam kết liệt kê mọi gói sản phẩm của Google trong nhật ký minh bạch. Chúng tôi đã xuất bản nhật ký minh bạch để xác minh công khai các tuyên bố mà chúng tôi đưa ra liên quan đến những gói này (APK và APEX).
Mô hình mối đe doạ
Bạn có thể sử dụng các hệ thống minh bạch để phát hiện và ngăn chặn các cuộc tấn công vào chuỗi cung ứng. Chúng tôi minh hoạ bằng một số ví dụ.
Giả sử kẻ tấn công sửa đổi một cách độc hại một ứng dụng Google hoặc sản phẩm của Google và thậm chí còn tìm cách ký ứng dụng hoặc sản phẩm đó bằng khoá ký được dùng để phân phối thông qua Google Play. Với nhật ký minh bạch nhị phân, bất kỳ ai nhận được một gói đáng ngờ (APK hoặc APEX) đều có thể sử dụng nhật ký này làm nguồn thông tin thực tế có thể xác minh bổ sung để xác minh tính xác thực của gói. Họ sẽ thấy rằng Google chưa thêm siêu dữ liệu gói tương ứng vào nhật ký và sẽ biết không nên tin tưởng gói bị xâm nhập.
Vì việc xuất bản vào nhật ký là một quy trình riêng biệt với quy trình phát hành có chữ ký (như minh hoạ trong Sơ đồ hệ sinh thái), điều này sẽ nâng cao yêu cầu đối với kẻ tấn công, không chỉ là xâm phạm khoá.
Mặc dù chúng tôi cũng dự định tích hợp nhật ký này vào một mạng công cộng của các nhân chứng bằng cách sử dụng một giao thức nhân chứng tiêu chuẩn, nhưng chúng tôi khuyến khích các bên độc lập bên ngoài giám sát tính toàn vẹn của nhật ký có sẵn công khai này. Các bên này có thể chứng thực thuộc tính chỉ cho phép thêm của nhật ký và báo cáo mọi hành vi giả mạo.
Sự tồn tại của một hệ thống minh bạch như vậy và khả năng phát hiện thêm các cuộc tấn công sẽ ngăn chặn hoạt động độc hại. Nếu một gói bị xâm nhập nhưng người dùng chỉ tin tưởng những gói có trong nhật ký, thì gói bị xâm nhập đó cần được công khai. Điều này làm tăng khả năng phát hiện gói bị xâm nhập và bạn có thể thực hiện biện pháp để loại bỏ việc phân phối gói đó.
Mô hình bên xác nhận quyền sở hữu
Mô hình Người xác nhận quyền sở hữu là một khung được dùng để xác định vai trò và cấu phần phần mềm trong một hệ thống có thể xác minh. Trong trường hợp Tính minh bạch của ứng dụng sản phẩm của Google, chúng tôi tuyên bố rằng hàm băm của một tệp gói được ghi lại trong nhật ký này đại diện cho một phiên bản cụ thể của một sản phẩm chính thức của Google dành cho người dùng công khai.
- ClaimGoogleApp: (Tôi, Google, tuyên bố rằng
$hashApplà dành cho$googleApp), trong đó:$hashApplà một hàm băm mật mã (ví dụ: SHA256) của tệp gói (bao gồm các tệp APK phân tách và các gói APEX) của một phiên bản cụ thể của$googleApp.$googleApplà một gói Android (APK hoặc APEX) tạo nên một ứng dụng hoặc sản phẩm do Google tạo và phân phối.
Bất kỳ ai có bản sao $googleApp đều có thể xác minh tuyên bố này và chúng tôi mô tả chi tiết quy trình này trên trang xác minh.
Nội dung nhật ký
Khi phát hành một phiên bản mới của gói APK hoặc APEX, Google sẽ thêm một mục tương ứng vào Nhật ký minh bạch về ứng dụng sản phẩm của Google.
Mỗi mục trong nhật ký này chứa 4 phần siêu dữ liệu:
- Mã băm của tệp APK hoặc APEX của một gói có chữ ký của Google. Đây là một chuỗi hex của thuật toán SHA256 cho toàn bộ tệp.
- Nội dung mô tả về loại hàm băm trước đó. Đây là một chuỗi.
- Tên gói của gói. Đây là một chuỗi.
- Số phiên bản (versionCode) của gói. Đây là một số nguyên khác 0.
Định dạng của một mục nhập nhật ký là sự kết hợp của 4 thông tin với một ký tự dòng mới (\n), như minh hoạ trong phần sau:
hash\nhash_description\npackage_name\npackage_version\n
Vì một sản phẩm của Google có thể được phân phối dưới dạng tệp APK hoặc tệp APEX, nên nội dung mô tả hàm băm được đặt thành SHA256(APK) hoặc SHA256(APEX). Điều này giúp cung cấp thông tin đầy đủ về nội dung của từng tệp và giúp người dùng dễ dàng thu thập thông tin đo lường này.
Sơ đồ hệ sinh thái
