Các chỉ số về quyền riêng tư

Quyền trong thời gian chạy trong Android 6 trở lên cung cấp cho người dùng quyền kiểm soát thời điểm họ cho phép ghi lại âm thanh từ micrô của thiết bị hoặc video từ camera của thiết bị. Trước khi ứng dụng có thể ghi, người dùng phải cấp hoặc từ chối quyền của ứng dụng đó thông qua hộp thoại mà hệ thống hiển thị.

Android 12 mang đến cho người dùng sự minh bạch bằng cách hiển thị các chỉ báo khi ứng dụng sử dụng nguồn dữ liệu riêng tư thông qua quyền sử dụng ứng dụng máy ảnh và micrô. Bản ghi hoạt động ứng dụng có quyền truy cập vào các API được bảo vệ theo quyền trong thời gian chạy.

App-op theo dõi cả trạng thái hoạt động và số lượng lệnh gọi API riêng lẻ, đồng thời tương tác với các chỉ báo micrô và camera trong Android 12 để hiển thị cho người dùng khi ứng dụng đã truy cập vào dữ liệu âm thanh và camera trên thiết bị của họ. Khi người dùng nhấp vào chỉ báo micrô hoặc camera, họ sẽ biết ứng dụng nào đã truy cập vào dữ liệu của họ. Tính năng này là bắt buộc đối với tất cả các OEM.

Yêu cầu về khả năng hiển thị chỉ báo

Đây là những yêu cầu về chỉ báo micrô và camera trên thiết bị chạy Android 12 trở lên:

  • Các chỉ báo phải xuất hiện trên thanh trạng thái và giữ mức ưu tiên hình ảnh cao nhất (ví dụ: nằm ở vị trí ngoài cùng bên phải ở góc trên bên phải).
  • Các chỉ báo phải được đặt nhất quán ở cùng một vị trí và không bị ứng dụng chặn khi khởi chạy.
  • Cả hai chỉ báo phải có màu xanh lục (hoặc một biến thể của màu xanh lục).
  • Việc nhấp vào một hoặc cả hai chỉ báo phải hiển thị thông báo về khả năng chi trả phân bổ ứng dụng thực hiện như sau:
    • Hiển thị tên của ứng dụng đang sử dụng micrô và (hoặc) máy ảnh
    • Hiển thị tên của ứng dụng đã sử dụng micrô và (hoặc) máy ảnh trong vòng 15 giây qua
    • Đưa người dùng đến trang quyền của ứng dụng trong Cài đặt

Cách sử dụng và tính năng

Trong Android 12, giao diện người dùng phân biệt giữa mức sử dụng đang chạy và mức sử dụng gần đây. Các lần sử dụng được coi là "đang hoạt động" nếu chúng được hệ thống đánh dấu là "đang chạy" hoặc cách đây chưa đến 5 giây.

  • Các biểu tượng trên thanh trạng thái hiển thị mỗi khi ứng dụng có quyền truy cập vào micrô hoặc máy ảnh nhạy cảm với người dùng.
  • Người dùng có thể nhấp vào các biểu tượng này và xem ứng dụng nào đang truy cập vào micrô, máy ảnh hoặc cả hai.

Microphone and camera in-use indicators showing that access is active

Hình 1. Chỉ báo sử dụng micrô và máy ảnh hiển thị quyền truy cập đang hoạt động (góc trên bên phải)

Quyền truy cập được coi là hoạt động miễn là các chỉ báo hiển thị. Biểu tượng hiển thị đầu tiên, sau đó chuyển sang dấu chấm tồn tại cho đến khi ứng dụng bị loại bỏ hoặc đóng.

Khi người dùng chạm vào các chỉ báo, một hộp thoại sẽ mở ra, cho biết ứng dụng hiện đang sử dụng máy ảnh, micrô hoặc cả hai.

Indicators for both active and recent access, and whether the access was from camera or microphone

Hình 2. Chỉ báo truy cập hiện hoạt và gần đây

Hình ảnh trong Hình 2 hiển thị các chỉ báo truy cập đang hoạt động khi ứng dụng đang chạy truy cập dữ liệu trong 5 giây qua.

Các chỉ báo truy cập gần đây cho thấy rằng dữ liệu đã được ứng dụng truy cập trong 15 giây trước đó nhưng ứng dụng đó không hoạt động. Tất cả các ứng dụng đang hoạt động đều hiển thị trong hộp thoại nhưng chỉ một ứng dụng hiển thị dưới dạng nguồn truy cập gần đây, ngay cả khi có nhiều hơn 1 ứng dụng truy cập dữ liệu trong khung thời gian 15 giây trước đó. Chế độ xem truy cập vẫn bị đóng băng cho đến khi người dùng loại bỏ hộp thoại thông báo.

Cung cấp và kích hoạt

Lớp PermissionManager cung cấp một phương thức để điền hộp thoại nằm trong Giao diện người dùng hệ thống.

  • Giao diện người dùng hệ thống phản ứng với nút chuyển cấu hình thiết bị: privacy/mic_camera_indicators_enabled .
  • Việc chuyển đổi là cần thiết vì có hai phương tiện giao hàng riêng biệt, theo thứ tự sau:
    1. Giao.
    2. Cho phép.
  • Giao diện người dùng hệ thống không được gặp sự cố nếu phương thức trong PermissionManager không thể cung cấp dữ liệu cần thiết.

Quy trình công nghệ

Chức năng Chỉ báo quyền có ba phần chính:

  • Các ứng dụng
  • Các chỉ báo (được xử lý bởi SystemUI)
  • Một cách để xác định ứng dụng nào đang sử dụng dữ liệu

PermissionController cung cấp cơ chế để xác định ứng dụng nào đang sử dụng dữ liệu. SystemUI lắng nghe các ứng dụng sử dụng dữ liệu riêng tư. SystemUI hiển thị một biểu tượng ở thanh điều hướng trên cùng tương ứng với các quyền được sử dụng. PermissionController hiển thị dữ liệu về cách sử dụng khi người dùng nhấp vào biểu tượng.

Process flow for Permission Indicator functions

Hình 3. Luồng chuyển tiếp các thành phần hệ thống và (UI)

Các chuyển đổi được đánh số trong Hình 3 được mô tả dưới đây:

1- Một ứng dụng yêu cầu dữ liệu riêng tư từ hệ thống.

2- Hệ thống kiểm tra quyền. Nếu quyền được cho phép, hệ thống sẽ thông báo cho nhà cung cấp dữ liệu và ghi chú việc sử dụng trong ứng dụng

3- Nhà cung cấp dữ liệu cung cấp dữ liệu cho ứng dụng.

4-5 Người dùng nhấp vào biểu tượng. Giao diện người dùng hệ thống yêu cầu dữ liệu từ PermissionManager và hiển thị hộp thoại cho người dùng.

Chi tiết quy trình

  1. Các ứng dụng sử dụng micrô và máy ảnh, gọi AppOpsManager.startOp , stopOp và (hoặc) noteOp . Điều này tạo ra các bản ghi app-op trong máy chủ hệ thống.
  2. Giao diện người dùng hệ thống lắng nghe các hoạt động ứng dụng mới bằng cách sử dụng trình nghe AppOpsManager.OnOpActiveChangedInternalListenerOnOpNotedListener . Khi có một cách sử dụng mới (thông qua lệnh gọi tới startOp hoặc noteOp ), Giao diện người dùng hệ thống sẽ xác minh rằng việc sử dụng đó là của một ứng dụng hệ thống.
  3. Nếu Giao diện người dùng hệ thống xác minh việc sử dụng ứng dụng hệ thống và nếu việc sử dụng là dành cho micrô thì Giao diện người dùng hệ thống sẽ kiểm tra xem micrô có bị tắt tiếng hay không.
  4. Nếu Giao diện người dùng hệ thống xác minh việc sử dụng ứng dụng không phải hệ thống, (và đối với việc sử dụng micrô, micrô được bật tiếng; đối với việc sử dụng máy ảnh, máy ảnh đã được bật), nó sẽ hiển thị biểu tượng phản ánh việc sử dụng đó.

Nếu Giao diện người dùng hệ thống nhận được noteOp , không có thời lượng, nó sẽ hiển thị biểu tượng trong ít nhất 5 giây. Nếu không, biểu tượng sẽ hiển thị cho đến khi nhận được stopOp hoặc trong 5 giây, tùy theo thời gian nào dài hơn. Người dùng nhấp vào biểu tượng sẽ bắt đầu một ý định đi tới PermissionController để bắt đầu Hộp thoại.

PermissionController tải tất cả hoạt động sử dụng gần đây của micrô và máy ảnh. Nó kiểm tra xem có bất kỳ ứng dụng nào trong số đó hiện đang chạy hoặc đang chạy trong khung thời gian do Giao diện người dùng hệ thống đặt hay không. Nếu tìm thấy kết quả khớp, nó sẽ hiển thị tên của ứng dụng đã sử dụng quyền và những quyền mà ứng dụng đã sử dụng.

Do sự thay đổi này trong Android 12 trở lên, một số ứng dụng phải thay đổi hành vi hoặc triển khai hành vi đặc biệt.

Điện thoại phải triển khai việc sử dụng quyền (để tính đến ngăn xếp micrô riêng biệt được sử dụng trong các cuộc gọi điện thoại), trong khi làm việc với ứng dụng Google Tìm kiếm trên Android (AGSA) và Dịch vụ di động của Google (GMS).