Безопасный NFC

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

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

Безопасный 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 платформы

Чтобы внедрить Secure NFC, реализуйте следующие API-интерфейсы платформы, найденные в проекте Android с открытым исходным кодом:

Пользовательский интерфейс настроек

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

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

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

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

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

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

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

Проверка

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