NFC segura

O Android oferece suporte à emulação de cartão fora do host, o que significa a 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 baseada 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 Projeto Android Open Source (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 a NFC segura, implemente as seguintes APIs de framework encontradas no Android Open Source Project:

Interface das configurações

No app Configurações, adicione um botão para permitir que os usuários ativem e desativem o recurso NFC segura. Você pode personalizar a configuração padrão para ser ativada ou desativada no aplicativo Configurações.

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 seguro da interface de NFC

Figura 1. Exemplo de botão de alternância 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. Desbloqueie para usar a notificação NFC na tela de bloqueio

Validação

Para validar sua 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.