Hãy sử dụng các tính năng được mô tả trong phần này để đảm bảo thiết bị Android mà bạn phát triển an toàn nhất có thể.
Hộp cát ứng dụng
Nền tảng Android tận dụng tính năng bảo vệ dựa trên người dùng của Linux để xác định và tách biệt các tài nguyên ứng dụng. Để làm việc này, Android chỉ định một mã nhận dạng người dùng duy nhất (UID) cho mỗi ứng dụng Android và chạy ứng dụng đó theo quy trình riêng. Android sử dụng UID này để thiết lập Hộp cát ứng dụng cấp hạt nhân.
Ký ứng dụng
Tính năng ký ứng dụng cho phép nhà phát triển xác định tác giả của ứng dụng và cập nhật ứng dụng mà không cần tạo các giao diện và quyền phức tạp. Mọi ứng dụng chạy trên nền tảng Android đều phải do nhà phát triển ký.
Xác thực
Android có khái niệm về trình xác thực người dùng có thể mở khoá thiết bị và thực hiện các tác vụ khác:
- Hệ thống con của Trình kiểm soát thực hiện xác thực mật khẩu hoặc hình mở khoá thiết bị trong Môi trường thực thi đáng tin cậy (TEE).
- Thành phần Weaver không bắt buộc thực hiện xác thực bằng hình mở khoá hoặc mật khẩu trong một phần tử bảo mật riêng biệt.
- Các thiết bị có cảm biến vân tay hỗ trợ việc sử dụng vân tay đã đăng ký.
- Thiết bị có thể hỗ trợ tính năng xác thực khuôn mặt.
Android cũng hỗ trợ các khoá mã hoá dựa trên phần cứng mà bạn chỉ có thể sử dụng nếu đã xác thực người dùng bằng một trong các cơ chế này.
Thông tin sinh trắc học
Android 9 trở lên có một lớp BiometricPrompt
mà nhà phát triển ứng dụng có thể sử dụng để tích hợp tính năng xác thực bằng sinh trắc học vào ứng dụng của họ theo cách không phân biệt thiết bị và phương thức. Chỉ những dữ liệu sinh trắc học mạnh mới có thể tích hợp với BiometricPrompt
.
Mã hóa
Sau khi thiết bị được mã hoá, tất cả dữ liệu do người dùng tạo sẽ tự động được mã hoá trước khi ghi vào ổ đĩa và tất cả các lượt đọc sẽ tự động giải mã dữ liệu trước khi trả về cho quy trình gọi. Tính năng mã hoá đảm bảo rằng ngay cả khi một bên trái phép cố gắng truy cập vào dữ liệu, họ cũng không thể đọc được dữ liệu đó.
Kho khoá
Android cung cấp một kho khoá dựa trên phần cứng cung cấp chức năng mã hoá trong đó nội dung khoá được chứa trong một môi trường bảo mật. Kho khoá Android hỗ trợ việc tạo và nhập cả khoá đối xứng và khoá bất đối xứng, kết hợp với các nguyên hàm mã hoá, giải mã, ký và thoả thuận khoá.
Security-Enhanced Linux
Trong mô hình bảo mật của Android, Android sử dụng Security-Enhanced Linux (SELinux) để thực thi quyền kiểm soát truy cập bắt buộc (MAC) trên tất cả các quy trình, ngay cả các quy trình chạy bằng đặc quyền thư mục gốc hoặc người dùng cấp cao (các tính năng của Linux).
Trusty TEE
Trusty là một hệ điều hành (OS) bảo mật cung cấp TEE cho Android. Hệ điều hành Trusty chạy trên cùng một bộ xử lý với hệ điều hành Android, nhưng Trusty được tách biệt với phần còn lại của hệ thống bằng cả phần cứng và phần mềm.
Xác minh quy trình khởi động
Xác minh quy trình khởi động được thiết kế để đảm bảo rằng tất cả mã được thực thi đều đến từ một nguồn đáng tin cậy (thường là nhà sản xuất thiết bị gốc (OEM)), thay vì từ kẻ tấn công hoặc mã bị hỏng. Tính năng Khởi động đã xác minh thiết lập một chuỗi tin cậy đầy đủ, bắt đầu từ gốc tin cậy được bảo vệ bằng phần cứng đến trình tải khởi động, đến phân vùng khởi động và các phân vùng đã xác minh khác.