Google cam kết thúc đẩy công bằng chủng tộc cho Cộng đồng người da đen. Xem cách thực hiện.

Tích hợp fs-verity

fs-verity là một tính năng nhân Linux cho phép hệ thống liên tục xác minh các tệp APK bằng các chứng chỉ kỹ thuật số đáng tin cậy. Khi nền tảng cung cấp cơ chế xác minh khi truy cập này, với chứng chỉ đáng tin cậy từ một cửa hàng được hỗ trợ như Play, cửa hàng có thể cài đặt các tệp APK có chữ ký fs-verity để xác minh liên tục. Các tệp được bảo vệ bởi fs-verity là bất biến và yêu cầu đọc chỉ thành công nếu nội dung được xác minh.

Khi fs-verity được hỗ trợ trong nhân, các đối tác có thể đặt loại chứng chỉ mới từ các cửa hàng đáng tin cậy của họ trong phân vùng /product/etc/security/fsverity , các chứng chỉ sẽ được tải vào kernel keyring trong thời gian khởi động. Trên thiết bị hỗ trợ tính năng này, cửa hàng đáng tin cậy có thể cài đặt APK có chữ ký fs-verity tương ứng của họ.

Thực hiện

Thiết bị khởi chạy với Android R

fs-verity là một tính năng của nhân Linux được ngược dòng từ phiên bản 5.4 và đã được hỗ trợ cho nhân phổ biến của Android 4.14 trở lên. Các thiết bị mới sử dụng nhân phổ biến 4.14 trở lên và sử dụng ext4 hoặc f2fs cho phân vùng dữ liệu người dùng không cần thực hiện bất kỳ hành động nào vì chúng đã hỗ trợ fs-verity thông qua nhân Linux .

Thiết bị đang nâng cấp lên Android R

Các bản vá lỗi fs-verity cần được phản hồi cho nhân thiết bị. Đối với ext4, thêm fsverity vào cờ fs_mgr trong fstab . Sau đó, tính năng này có thể được kích hoạt với cài đặt sau:

ro.apk_verity.mode=2

API

Một API công khai mới đã được giới thiệu để truy vấn trạng thái hỗ trợ của thiết bị và xác định xem chứng chỉ có được tin cậy trên thiết bị hay không.

  public final class FileIntegrityManager {
    public boolean isApkVeritySupported();
    @RequiresPermission(anyOf={
        android.Manifest.permission.INSTALL_PACKAGES,
        android.Manifest.permission.REQUEST_INSTALL_PACKAGES})
    public boolean isAppSourceCertificateTrusted(@NonNull java.security.cert.X509Certificate)
            throws java.security.cert.CertificateEncodingException;
  }

Thẩm định

Chạy các bài kiểm tra VTS, CTS và GTS sau đây để xác nhận việc triển khai.

  • [VTS] ApkVerityTest
  • [CTS] CtsAppSecurityHostTestCases: android.appsecurity.cts.ApkVerityInstallTest
  • [CTS] CtsSecurityHostTestCases # android.security.cts.KernelConfigTest
  • [GTS] GtsPlayFsiTestCases & GtsPlayFsiHostTestCases