Безопасный NFC

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

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

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

Выполнение

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

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

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

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

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

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

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

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

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

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

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

Проверка

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