NFC segura

O Android oferece suporte à emulação de cartão fora do host, ou seja, emulação de cartão NFC com um elemento de segurança. Para mais informações, consulte Visão geral da emulação de cartão com base em host.

Em alguns casos de uso, como o uso de FeliCa para transporte público, a emulação de cartão fora do host é permitida quando a tela de um dispositivo está bloqueada ou desligada ou quando um dispositivo está desligado.

O recurso NFC segura é um recurso introduzido no Android 10 que permite que a emulação de cartão NFC fora do host seja ativada apenas quando a tela do dispositivo está desbloqueada. A implementação desse recurso oferece aos usuários a opção de ativar o NFC segura para melhorar a segurança.

Implementação

Para implementar o recurso NFC seguro, o dispositivo precisa ter um controlador NFC que ofereça suporte ao padrão NCI 2.0 e use o framework NFC do Android Open Source Project (AOSP). Adicione o hardware (ro.boot.hardware.sku) que oferece suporte ao recurso NFC seguro no arquivo XML de recurso do NFC com o atributo config_skuSupportsSecureNfc.

APIs do framework

Para implementar o NFC seguro, implemente as seguintes APIs de framework encontradas no Projeto de código aberto do Android:

Interface de configurações

No app Configurações, adicione um botão para permitir que os usuários ativem e desativem o recurso NFC segura. É possível personalizar a configuração padrão no app Configurações para que ela seja ativada ou desativada.

A Figura 1 mostra um exemplo de um botão de alternância para ativar e desativar o NFC seguro no app Configurações em Configurações > Dispositivos conectados > Preferências de conexão > NFC > Exigir desbloqueio de dispositivo para usar a NFC.

Fluxo de interface da NFC segura

Figura 1. Exemplo de botão para ativar e desativar a NFC segura

Quando a NFC segura está ativada e um usuário coloca o dispositivo em um leitor de NFC, o Android mostra a notificação Unlock to use NFC na tela de bloqueio, conforme mostrado na Figura 2.

Notificação de NFC segura

Figura 2. Notificação "Desbloqueie para usar a NFC" na tela de bloqueio

Validação

Para validar a implementação, ative o recurso NFC segura e verifique se a emulação de cartão NFC está desativada quando a tela do dispositivo está desligada ou bloqueada e quando o dispositivo está desligado.