Trạng thái thiết bị

Trạng thái thiết bị cho biết mức độ thoải mái của phần mềm có thể được cài đặt ROM cho một thiết bị và liệu quy trình xác minh có được thực thi hay không. Trạng thái thiết bị là LOCKEDUNLOCKED LOCKED thiết bị ngăn bạn cài đặt ROM phần mềm vào thiết bị, trong khi UNLOCKED thiết bị cho phép nội dung sửa đổi.

Khi một thiết bị bật nguồn, trước tiên, trình tải khởi động sẽ kiểm tra xem thiết bị có LOCKED hoặc UNLOCKED. Nếu một thiết bị là UNLOCKED, trình tải khởi động sẽ hiển thị cảnh báo cho người dùng rồi tiếp tục để khởi động ngay cả khi hệ điều hành đã tải không được ký hiệu bởi gốc tin cậy.

Nếu thiết bị là LOCKED, trình tải khởi động sẽ thực hiện các bước trong Xác minh quy trình khởi động để xác minh phần mềm của thiết bị. Thiết bị LOCKED chỉ khởi động nếu hệ điều hành đã tải được ký đúng cách bởi gốc tin cậy. Để biết thêm thông tin, hãy xem Quy trình khởi động.

Thay đổi trạng thái thiết bị

Để thay đổi trạng thái của thiết bị, hãy sử dụng lệnh fastboot flashing [unlock | lock]. Để bảo vệ người dùng dữ liệu, tất cả các chuyển đổi trạng thái sẽ xoá sạch các phân vùng dữ liệu và yêu cầu người dùng xác nhận trước khi dữ liệu bị xoá.

Quá trình chuyển đổi UNLOCKED sang LOCKED dự kiến khi người dùng mua thiết bị phát triển đã qua sử dụng. Do việc khoá thiết bị, người dùng phải yên tâm rằng thiết bị đang ở trạng thái do thiết bị tạo ra nhà sản xuất, miễn là không có cảnh báo. LOCKED đến Quá trình chuyển đổi UNLOCKED dự kiến diễn ra khi nhà phát triển muốn tắt trên thiết bị cho mục đích phát triển.

Nguồn gốc của niềm tin

Gốc tin cậy là khoá mã hoá dùng để ký bản sao của Android được lưu trữ trên thiết bị. Phần riêng tư của nguồn gốc tin cậy chỉ được và được dùng để ký mọi phiên bản Android dành cho phạm vi phân phối. Phần công khai của niềm tin được nhúng trong thiết bị và được lưu trữ ở một nơi để không thể bị can thiệp (thường ở chế độ chỉ đọc bộ nhớ).

Khi tải Android, trình tải khởi động sẽ sử dụng gốc tin cậy để xác minh chân thực. Để biết thêm chi tiết về quy trình này, hãy xem Xác minh quy trình khởi động. Các thiết bị có thể có nhiều trình tải khởi động và cũng như nhiều khoá mã hoá như vậy có thể đang hoạt động.

Nguồn gốc tin cậy mà người dùng có thể thiết lập

Thiết bị có thể tuỳ ý cho phép người dùng định cấu hình gốc của tin cậy (cho ví dụ: khoá công khai). Các thiết bị có thể sử dụng gốc tin cậy mà người dùng có thể thiết lập này cho Xác minh quy trình khởi động thay vì gốc tích hợp sẵn của tính năng tin cậy. Điều này cho phép người dùng cài đặt và sử dụng các phiên bản Android tuỳ chỉnh mà không làm giảm tính bảo mật những điểm cải tiến của tính năng Xác minh quy trình khởi động.

Nếu triển khai gốc tin cậy mà người dùng có thể thiết lập, thì phải thực hiện theo cách rằng:

  • Cần có xác nhận vật lý để thiết lập/xoá gốc mà người dùng có thể đặt của tin cậy.
  • Chỉ người dùng cuối mới có thể đặt gốc tin cậy có thể thiết lập được cho người dùng. Không được phép được đặt tại trạng thái ban đầu hoặc tại bất kỳ điểm trung gian nào trước khi người dùng cuối nhận được thiết bị.
  • Gốc tin cậy mà người dùng có thể thiết lập được lưu trữ trong bộ nhớ phát hiện giả mạo. Bằng chứng giả mạo có nghĩa là có thể phát hiện xem Android có bị can thiệp vào dữ liệu, ví dụ: nếu dữ liệu đã bị ghi đè hoặc thay đổi.
  • Nếu bạn đặt gốc tin cậy có thể cài đặt cho người dùng, thiết bị phải cho phép một phiên bản của Android được ký bằng gốc tin cậy tích hợp sẵn hoặc tập dữ liệu người dùng có thể cài đặt gốc tin cậy để khởi động.
  • Mỗi lần thiết bị khởi động bằng gốc tin cậy mà người dùng có thể thiết lập, sẽ được thông báo rằng thiết bị đang tải phiên bản Android tuỳ chỉnh. Cho ví dụ: màn hình cảnh báo, xem LOCKED có bộ khoá tuỳ chỉnh.

Một cách để triển khai gốc tin cậy mà người dùng có thể thiết lập là đặt phân vùng chỉ có thể được cài đặt ROM hoặc xoá khi thiết bị đang ở Trạng thái UNLOCKED. Thiết bị Google Pixel 2 áp dụng phương pháp này và phân vùng ảo được gọi là avb_custom_key. Định dạng của dữ liệu trong phân vùng này là dữ liệu đầu ra của Lệnh avbtool extract_public_key. Sau đây là ví dụ về cách đặt gốc mà người dùng có thể thiết lập:

avbtool extract_public_key --key key.pem --output pkmd.bin
fastboot flash avb_custom_key pkmd.bin

Bạn có thể xoá gốc tin cậy có thể cài đặt của người dùng bằng cách cấp:

fastboot erase avb_custom_key