Cân nhắc
Những điều cần cân nhắc sau đây phải được giải quyết để đảm bảo tính toàn vẹn của Xác nhận được bảo vệ của Android. Nếu những cân nhắc này không thể được giải quyết thỏa đáng thì Xác nhận được bảo vệ sẽ không thể được triển khai trên thiết bị.
Những cân nhắc về nhân Linux
Xác nhận được bảo vệ được thiết kế để hoạt động an toàn ngay cả khi hạt nhân của thiết bị bị xâm phạm. Khi hộp thoại Xác nhận được bảo vệ đang hoạt động, hạt nhân không thể can thiệp vào tính toàn vẹn của nội dung màn hình, tính toàn vẹn của dữ liệu đầu vào của người dùng và tính nguyên tử giữa đầu vào và đầu ra của người dùng. Về mặt kiến trúc, hạt nhân phải được ngăn chặn khỏi việc tăng cường quyết định của người dùng và giả mạo các sự kiện của người dùng ngay từ đầu. Hạt nhân không được coi là đáng tin cậy trong trường hợp sử dụng này vì nó có thể nằm dưới sự kiểm soát của kẻ tấn công hoặc được thay thế bằng thứ gì đó hoàn toàn khác.
Cân nhắc về phần sụn
Xác nhận được bảo vệ chỉ có thể được triển khai trên thiết bị nếu tất cả các thành phần liên quan đều có chương trình cơ sở đáng tin cậy. Xác nhận được bảo vệ được thiết kế để đảm bảo rằng người dùng có cơ hội đọc thông báo hiển thị trong Giao diện người dùng đáng tin cậy để đưa ra quyết định sáng suốt về việc có nên tiếp tục giao dịch hay không. Trình điều khiển bảng hiển thị đặc biệt quan trọng vì điều này có thể ngăn người dùng xem Giao diện người dùng đáng tin cậy.
Cân nhắc đầu vào
Chọn một phương thức nhập an toàn để đảm bảo rằng các sự kiện nhập do phương thức nhập đã chọn này tạo ra không được truyền tới hộp thoại Xác nhận được bảo vệ trừ khi người dùng tạo sự kiện trong khi hộp thoại đó đang hoạt động.
Phần cứng vật lý
Bất kỳ thành phần nào có thể được điều khiển bởi nhân Android, chẳng hạn như hệ thống trên chip (SoC) hoặc mạch tích hợp quản lý nguồn (PMIC), đều không được phép điều khiển dây kết nối với nút xác nhận vật lý.
Cân nhắc về bộ điều khiển cảm ứng
Xác nhận được bảo vệ có thể sử dụng các nút phần mềm trên màn hình làm đầu vào. Bất cứ khi nào bộ điều khiển cảm ứng được TEE điều khiển, phải thực hiện các biện pháp để vệ sinh trạng thái của bộ điều khiển cảm ứng.
Hành vi dự kiến
Gián đoạn
Nếu hệ thống làm gián đoạn phiên xác nhận do có cuộc gọi đến hoặc sự kiện mất điện, HAL phải báo cáo ResponseCode::Aborted
. Ứng dụng nhận được lệnh gọi lại onCanceled()
và biết người dùng không chọn hành động. Báo động không cần hủy phiên nhưng cần thông báo cho người dùng. Không được phép sử dụng bất kỳ loại lớp phủ thông báo nào khi hộp thoại đang hoạt động.
Thời gian gia hạn đầu vào
Sau khi bắt đầu Xác nhận được bảo vệ, đầu vào cần không hoạt động trong tối thiểu 1 giây trước khi phản hồi với tương tác của người dùng. Thời gian gia hạn này đảm bảo rằng người dùng có cơ hội phản ứng với hộp thoại xác nhận không mong muốn. Thời gian gia hạn này phải được thực thi bởi ứng dụng đáng tin cậy.
Xoay màn hình
Chân dung là chế độ bắt buộc duy nhất và không hỗ trợ xoay màn hình. Xoay màn hình có thể tạo ra khả năng lạm dụng trên một hệ thống bị xâm nhập, chẳng hạn như đặt nút sai hoặc thao tác nội dung văn bản.
Lỗi hiển thị nội dung văn bản
Có giới hạn cố định là 6144 (0x1800) byte cho nội dung văn bản bao gồm dữ liệu không được hiển thị bổ sung và thông tin tiêu đề CBOR. Ngoài ra, còn có một ranh giới mềm phải được thực thi. Nếu thông báo được hiển thị không hoàn toàn vừa với không gian màn hình có sẵn, hãy đảm bảo rằng Xác nhận được bảo vệ bị hủy bỏ và giao dịch bị hủy. Nếu MessageSize
vượt quá kích thước tối đa cho phép, việc triển khai của bạn phải trả về UIErrorMessageTooLong
trên promptUserConfirmation
.
Cách tốt nhất là định dạng nội dung văn bản sau khi nhận được lệnh gọi API. Nội dung văn bản phải được hiển thị đầy đủ cho người dùng.
Màn hình phụ
Màn hình phụ được hỗ trợ trong một số điều kiện nhất định. Tính toàn vẹn của đầu ra và đầu vào của người dùng phải được duy trì và không được hiển thị thông tin sai lệch thông qua các phương tiện khác. Nếu không, hộp thoại chỉ có thể được hiển thị trên màn hình chính và tất cả các màn hình khác sẽ bị tắt hoặc để trống. Các giải pháp phát trực tuyến và chia sẻ màn hình không được phép hiển thị hộp thoại hoặc tạo xác nhận.