NFC seguro

O Android oferece suporte à emulação de cartão fora do host, o que significa emulação de cartão NFC com um elemento seguro. Para obter mais informações, consulte Visão geral da emulação de placa baseada em host .

Em certos casos de uso, como o uso do FeliCa para trânsito, 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.

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

Implementação

Para implementar o recurso Secure NFC, o dispositivo deve ter um controlador NFC que suporte o padrão NCI 2.0 e deve usar a estrutura NFC do Android Open Source Project (AOSP). Adicione o hardware ( ro.boot.hardware.sku ) que suporta o recurso Secure NFC no arquivo XML de recurso NFC com o atributo config_skuSupportsSecureNfc .

APIs de estrutura

Para implementar o Secure NFC, implemente as seguintes APIs de estrutura encontradas no Android Open Source Project:

IU de configurações

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

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

Fluxo de UI NFC seguro

Figura 1. Exemplo de chave seletora para ativar e desativar Secure NFC

Quando o Secure NFC está ativado e um usuário coloca o dispositivo em um leitor NFC, o Android exibe a notificação Desbloquear para usar NFC na tela de bloqueio, conforme mostrado na Figura 2.

Notificação NFC segura

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

Validação

Para validar sua implementação, habilite o recurso Secure NFC e verifique se a emulação de cartão NFC está desabilitada quando a tela do dispositivo está desligada ou bloqueada e quando o dispositivo está desligado.