Hãy sử dụng các tính năng được mô tả trong phần này để đảm bảo các 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à cô lập các tài nguyên ứng dụng. Để làm việc này, Android sẽ chỉ định một mã nhận dạng người dùng (UID) riêng biệt cho mỗi ứng dụng Android và chạy ứng dụng đó trong 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 được 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 Gatekeeper thực hiện quy trình xác thực bằng hình mở khoá hoặc mật khẩu của 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 quy trình 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. Bạn chỉ có thể sử dụng các khoá này nếu đã xác thực người dùng bằng một trong những 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ể 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 độc lập với thiết bị và phương thức. Chỉ 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 được ghi vào ổ đĩa và tất cả các thao tác đọc sẽ tự động giải mã dữ liệu trước khi trả về cho quy trình gọi. 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á nằm 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 tắc mã hoá, giải mã, ký và thoả thuận khoá.
Security-Enhanced Linux
Trong mô hình bảo mật 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) đối với tất cả các quy trình, ngay cả những quy trình chạy với đặc quyền gốc hoặc siêu người dùng (các chức năng của Linux).
Trusty TEE
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 cách ly 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ã đã thực thi đều đến từ một nguồn đáng tin cậy (thường là OEM thiết bị), chứ không phải từ kẻ tấn công hoặc nội dung bị hỏng. Tính năng Khởi động đã xác minh thiết lập một chuỗi tin cậy hoàn chỉnh, 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.