NFC seguro

Android admite la emulación de tarjetas fuera del host, lo que significa la emulación de tarjetas NFC con un Elemento seguro. Para obtener más información, consulta la descripción general de la emulación de tarjetas basada en el host.

En ciertos casos de uso, como el uso de FeliCa para el transporte público, se permite la emulación de tarjetas fuera del host cuando la pantalla de un dispositivo está bloqueada o apagada, o cuando un dispositivo está apagado.

La opción Proteger NFC es una función que se introdujo en Android 10 y que permite que la emulación de la tarjeta NFC fuera del host se habilite solo cuando la pantalla del dispositivo esté desbloqueada. La implementación de esta función brinda a los usuarios la opción de habilitar NFC seguro para mejorar la seguridad.

Implementación

Para implementar la función de NFC seguro, el dispositivo debe tener un controlador NFC que admita el estándar NCI 2.0 y debe usar el framework de NFC del Proyecto de código abierto de Android (AOSP). Agrega el hardware (ro.boot.hardware.sku) que admite la función de NFC seguro en el archivo de recursos XML de NFC con el atributo config_skuSupportsSecureNfc.

APIs de Framework

Para implementar NFC seguro, implementa las siguientes APIs de framework que se encuentran en el Proyecto de código abierto de Android:

IU de configuración

En la aplicación de configuración, agrega un botón de activación para permitir que los usuarios habiliten y deshabiliten la función Proteger NFC. Puedes personalizar el parámetro de configuración predeterminado en la aplicación Configuración para que esté habilitado o inhabilitado.

En la figura 1, se muestra un ejemplo de un interruptor de activación para habilitar y, luego, inhabilitar la función NFC seguro en la app de Configuración en Configuración > Dispositivos conectados > Preferencias de conexión > NFC > Requerir desbloqueo del dispositivo para NFC.

Flujo de IU de NFC seguro

Figura 1: Ejemplo de interruptor para habilitar y inhabilitar el método NFC seguro

Cuando la función Proteger NFC está habilitada y un usuario coloca el dispositivo en un lector de NFC, Android muestra la notificación Desbloquea para usar NFC en la pantalla de bloqueo, como se muestra en la Figura 2.

Notificación de NFC seguro

Figura 2: Notificación de desbloqueo para usar NFC en la pantalla de bloqueo

Validación

Para validar tu implementación, habilita la función Proteger NFC y verifica que la emulación de la tarjeta NFC esté inhabilitada cuando la pantalla del dispositivo esté apagada o bloqueada, y cuando el dispositivo esté apagado.