Chế độ bảo vệ nâng cao

Chế độ Bảo vệ nâng cao trên Android (AAPM) là một tính năng mới được ra mắt trong Android 16 nhằm tăng cường tính bảo mật cho các thiết bị Android đối với những người dùng có nguy cơ, chẳng hạn như nhà báo và nhà hoạt động. Đây là một chế độ cài đặt duy nhất triển khai một bộ cấu hình được xác định trước nhằm tăng cường khả năng bảo vệ thiết bị. AAPM ưu tiên tính bảo mật hơn một số chức năng và khả năng sử dụng có thể bị giảm, tức là một số tính năng có thể bị hạn chế để giảm thiểu bề mặt tấn công.

Tác động

AAPM thay đổi hành vi của một số dịch vụ hệ thống để tăng cường tính bảo mật. Nếu ứng dụng của bạn phục vụ những người dùng quan tâm đến vấn đề bảo mật, thì bạn phải điều chỉnh cho phù hợp với những hạn chế này.

  • Tín hiệu hệ thống: Khi người dùng bật AAPM, hệ thống sẽ thông báo cho các ứng dụng mà người dùng đã đăng ký để các ứng dụng đó có thể thích ứng với môi trường bị hạn chế.
  • Các điểm cần sửa đổi trong ứng dụng: Bạn phải cập nhật ứng dụng để xử lý các thay đổi về hành vi do AAPM kích hoạt. Ví dụ: ứng dụng của bạn phải tính đến:
    • Đã tắt kết nối mạng 2G và WEP.
    • Đã chặn việc cài đặt ứng dụng bên ngoài.
    • Đang ghi nhật ký điều tra số.
    • Cuộc gọi bị chặn từ số điện thoại lạ.
    • Đã bật cơ chế chống tin nhắn rác cho các đường liên kết trong ứng dụng nhắn tin.
    • Các biện pháp giảm thiểu tuỳ chỉnh bổ sung để bảo vệ người dùng có nguy cơ

Tích hợp với AAPM

Để sử dụng các API có liên quan, bạn cần khai báo quyền sau đây.

Xin cấp quyền

<uses-permission android:name="android.permission.QUERY_ADVANCED_PROTECTION_MODE" />

Kiểm tra trạng thái

Kiểm tra để đảm bảo người dùng đã bật AAPM trên thiết bị. Việc này được thực hiện bằng dịch vụ hệ thống AdvancedProtectionManager.

import android.security.advancedprotection.AdvancedProtectionManager

// ... inside your Activity or Service
val aapmManager = getSystemService(AdvancedProtectionManager::class.java)

if (aapmManager?.isAdvancedProtectionEnabled) {
    // 🛡️ User is in Advanced Protection Mode.
    // Engage shields: Disable risky features, enforce stricter authentication.
    // TODO: Add Method which implements extra protections
}

Lắng nghe các thay đổi trong thời gian chạy

Người dùng có thể bật hoặc tắt AAPM trong khi ứng dụng của bạn đang chạy. Đăng ký một lệnh gọi lại để nhận thông tin cập nhật theo thời gian thực.

import android.security.advancedprotection.AdvancedProtectionManager
import java.util.concurrent.Executor

// Define the callback
val aapmCallback = AdvancedProtectionManager.Callback { isEnabled ->
    if (isEnabled) {
        // TODO: User just engaged protections. Lock it down!
    } else {
        // TODO: User disabled protections. You may relax restrictions.
    }
}

// Register the callback (for example, in onStart)
// Ensure you use the correct executor (for example, mainExecutor for UI updates)
aapmManager?.registerAdvancedProtectionCallback(mainExecutor, aapmCallback)