Безопасное использование NFC

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

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

Защита NFC – это функция, появившаяся в Android 10, которая позволяет включить эмуляцию NFC-карты вне хоста, только когда экран устройства разблокирован. Эта функция позволяет пользователям включить безопасный NFC для повышения уровня защиты.

Реализация

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

Framework APIs

Чтобы реализовать защиту NFC, реализуйте следующие API фреймворка из Android Open Source Project:

Интерфейс настроек

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

На рисунке 1 показан пример переключателя для включения и отключения защиты NFC в приложении "Настройки" в разделе Настройки > Подключенные устройства > Настройки подключения > NFC > Запрашивать разблокировку устройства для использования NFC.

Интерфейс защиты NFC

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

Если защита NFC включена и пользователь прикладывает устройство к NFC-ридеру, на заблокированном экране Android появляется уведомление Разблокируйте устройство, чтобы использовать NFC (как показано на рисунке 2).

Уведомление о защите NFC

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

Проверка

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