Безопасный NFC

Android поддерживает эмуляцию карт вне хоста, что означает эмуляцию карт NFC с защищенным элементом. Для получения дополнительной информации см. Обзор эмуляции карт на основе хоста .

В некоторых случаях, например при использовании FeliCa для транзита, разрешена эмуляция внешней карты, когда экран устройства заблокирован или выключен, либо когда само устройство выключено.

Secure NFC — это функция, представленная в Android 10, которая позволяет включать эмуляцию NFC-карты вне хоста только при разблокированном экране устройства. Реализация этой функции дает пользователям возможность включить Secure NFC для повышения безопасности.

Выполнение

Для реализации функции Secure NFC устройство должно иметь контроллер NFC, поддерживающий стандарт NCI 2.0, и использовать фреймворк Android Open Source Project (AOSP) NFC. Добавьте оборудование ( ro.boot.hardware.sku ), поддерживающее функцию Secure NFC, в XML-файл ресурсов NFC с атрибутом config_skuSupportsSecureNfc .

API-интерфейсы фреймворка

Для реализации безопасного NFC реализуйте следующие API-интерфейсы фреймворка, найденные в проекте Android Open Source:

Настройки пользовательского интерфейса

В приложении «Настройки» добавьте переключатель, чтобы пользователи могли включать и отключать функцию Secure NFC. Вы можете настроить настройку по умолчанию в приложении «Настройки» так, чтобы она была включена или отключена.

На рисунке 1 показан пример переключателя для включения и отключения функции Secure NFC в приложении «Настройки» в разделе «Настройки» > «Подключенные устройства» > «Параметры подключения» > «NFC» > «Требовать разблокировку устройства для NFC» .

Безопасный поток пользовательского интерфейса NFC

Рисунок 1. Пример переключателя для включения и выключения безопасного NFC

Когда включена функция Secure NFC и пользователь помещает устройство в считыватель NFC, Android отображает уведомление «Разблокировать для использования NFC» на экране блокировки, как показано на рисунке 2.

Безопасное уведомление NFC

Рисунок 2. Разблокируйте, чтобы использовать уведомление NFC на экране блокировки

Проверка

Для проверки вашей реализации включите функцию Secure NFC и убедитесь, что эмуляция карты NFC отключена, когда экран устройства выключен или заблокирован, а также когда устройство выключено.