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.

Sinh trắc học

Các yếu tố sinh trắc học cho phép xác thực an toàn trên nền tảng Android. Khung Android bao gồm xác thực sinh trắc học bằng khuôn mặt và dấu vân tay. Android có thể được tùy chỉnh để hỗ trợ các hình thức xác thực sinh trắc học khác (chẳng hạn như Iris). Tất cả hiện thực sinh trắc học phải đáp ứng thông số kỹ thuật an toàn và có một đánh giá mạnh mẽ để tham gia vào BiometricPrompt lớp . Sinh trắc học được đo với kẻ mạo danh Chấp nhận Rate (IAR)Spoof Chấp nhận Rate (SAR) .

Để biết thêm chi tiết về thông số kỹ thuật an ninh sinh trắc học, xem đo sinh trắc học Mở khóa bảo mật .

Nguồn

Android 10

  • Giới thiệu các BiometricManager lớp các nhà phát triển có thể sử dụng để truy vấn sự sẵn có của xác thực sinh trắc học.
  • Bao gồm dấu vân tay và khuôn mặt của hội nhập xác thực cho BiometricPrompt

Android 9

  • Bao gồm tích hợp dấu vân tay chỉ cho BiometricPrompt .
  • Không chấp nhận lớp FingerprintManager. Nếu đóng gói và hệ thống ứng dụng của bạn sử dụng lớp này, cập nhật chúng để sử dụng BiometricPromptBiometricManager để thay thế.
  • Cập nhật FingerprintManager CTS xác minh các xét nghiệm để kiểm tra BiometricPrompt sử dụng BiometricPromptBoundKeysTest .

Thực hiện

Để đảm bảo rằng người dùng và các nhà phát triển có kinh nghiệm sinh trắc học liền mạch, tích hợp ngăn xếp sinh trắc học của bạn với BiometricPrompt . Thiết bị cho phép BiometricPrompt cho bất kỳ phương thức, trong đó có mặt, dấu vân tay, mống mắt và phải tuân thủ các yêu cầu về sức mạnh . Nếu họ không đáp ứng các yêu cầu về sức mạnh, thì họ không thể triển khai lớp này.
Thực hiện lồng ghép chồng sinh trắc học của bạn với BiometricPromptBiometricManager :

  • Đảm bảo rằng bạn <Phương thức> Dịch vụ được nối đúng cách để BiometricService và móc authenticate() phương pháp. Phương thức chung (vân tay, khuôn mặt) kéo dài từ một chung lớp cha . Nếu bạn cần phải tích hợp một phương thức không được hỗ trợ, hãy làm theo các dấu vân tay / khuôn mặt ví dụ và hướng dẫn CDD cho sinh trắc học.
  • Đảm bảo rằng phương thức mới của bạn được hỗ trợ đúng cách trong SystemUI . Có mặc định BiometricPrompt giao diện người dùng cho dấu vân tay và khuôn mặt
  • Cập nhật khuôn khổ để vinh dự KEYGUARD_DISABLE_* cờ cho sinh trắc học thêm.
  • Đảm bảo rằng thiết bị của bạn vượt qua các bài kiểm tra CTS và CtsVerifier cho mỗi phương thức mà bạn đã tích hợp vào BiometricPrompt / BiometricManager . Ví dụ: nếu bạn có cả dấu vân tay và khuôn mặt, các bài kiểm tra phải vượt qua từng điểm riêng lẻ cho từng người.
Kiến trúc BiometricPrompt
Kiến trúc Hình 1. BiometricPrompt

Hướng dẫn triển khai HAL

Thực hiện theo các hướng dẫn HAL sinh trắc học để đảm bảo rằng dữ liệu sinh trắc học không bị rò rỉ và được lấy ra khi người dùng được lấy ra từ một thiết bị:

  • Đảm bảo rằng dữ liệu sinh trắc học thô hoặc các dẫn xuất (chẳng hạn như mẫu) không bao giờ có thể truy cập được từ bên ngoài trình điều khiển cảm biến hoặc môi trường cô lập an toàn (chẳng hạn như TEE hoặc Phần tử bảo mật).
  • Nếu phần cứng hỗ trợ nó, hãy giới hạn quyền truy cập của phần cứng vào môi trường cách ly an toàn và bảo vệ nó bằng chính sách SELinux. Làm cho kênh giao tiếp (ví dụ: SPI, I2C) chỉ có thể truy cập được trong môi trường cách ly an toàn với chính sách SELinux rõ ràng trên tất cả các tệp thiết bị.
  • Việc thu thập, đăng ký và nhận dạng sinh trắc học phải diễn ra bên trong môi trường cô lập an toàn để ngăn chặn vi phạm dữ liệu và các cuộc tấn công khác. Yêu cầu này chỉ áp dụng cho sinh trắc học mạnh mẽ.
  • Chỉ lưu trữ dạng dữ liệu sinh trắc học hoặc các dẫn xuất được mã hóa trên hệ thống tệp, ngay cả khi bản thân hệ thống tệp đã được mã hóa.
  • Để bảo vệ khỏi các cuộc tấn công phát lại, hãy ký vào các mẫu sinh trắc học bằng khóa riêng tư, dành riêng cho thiết bị. Đối với Tiêu chuẩn mã hóa nâng cao (AES), tối thiểu phải ký một mẫu bằng đường dẫn hệ thống tệp, nhóm và ID sinh trắc học tuyệt đối để các tệp mẫu không thể hoạt động trên một thiết bị khác hoặc cho bất kỳ ai khác ngoài người dùng đã đăng ký chúng trên cùng một thiết bị . Ví dụ: ngăn sao chép dữ liệu sinh trắc học từ một người dùng khác trên cùng một thiết bị hoặc từ một thiết bị khác.
  • Sử dụng các đường dẫn tập tin hệ thống được cung cấp bởi các set_active_group() chức năng hoặc cung cấp một cách khác để xóa tất cả dữ liệu dùng mẫu khi người dùng được lấy ra. Chúng tôi đặc biệt khuyên rằng các tệp mẫu sinh trắc học được lưu trữ dưới dạng mã hóa trong đường dẫn được cung cấp. Nếu điều này là không khả thi do yêu cầu lưu trữ của môi trường cách ly an toàn, hãy thêm móc để đảm bảo loại bỏ dữ liệu khi người dùng bị xóa hoặc thiết bị bị xóa.

Tùy biến

Nếu thiết bị của bạn hỗ trợ nhiều sinh trắc học, người dùng sẽ có thể chỉ định một giá trị mặc định trong cài đặt. Bạn BiometricPrompt thực hiện, nếu thích sinh trắc học mạnh mẽ như là mặc định trừ khi người dùng ghi đè nó một cách rõ ràng, sau đó một nhu cầu thông điệp cảnh báo sẽ được hiển thị để giải thích những rủi ro liên quan đến việc sinh trắc học (ví dụ, Một bức ảnh của bạn có thể mở khóa điện thoại của bạn)

Thẩm định

Việc triển khai sinh trắc học của bạn phải vượt qua các bài kiểm tra sau:

Ngoài ra, nếu điện thoại của bạn hỗ trợ một sinh trắc học có một AOSP HIDL ( fingerprint@2.1 , face1.0 ), nó phải vượt qua bài kiểm tra VTS có liên quan của nó ( dấu vân tay , khuôn mặt )