Android prend en charge l'émulation de carte hors hôte, ce qui signifie une émulation de carte NFC avec un élément sécurisé. Pour plus d'informations, voir Présentation de l'émulation de carte basée sur l'hôte .
Dans certains cas d'utilisation, comme l'utilisation de FeliCa pour le transport, l'émulation de carte hors hôte est autorisée lorsque l'écran d'un appareil est verrouillé ou éteint, ou lorsqu'un appareil est éteint.
Secure NFC est une fonctionnalité introduite dans Android 10 qui permet d'activer l'émulation de carte NFC hors hôte uniquement lorsque l'écran de l'appareil est déverrouillé. La mise en œuvre de cette fonctionnalité donne aux utilisateurs la possibilité d'activer Secure NFC pour une sécurité améliorée.
Mise en œuvre
Pour implémenter la fonctionnalité Secure NFC, l'appareil doit disposer d'un contrôleur NFC prenant en charge la norme NCI 2.0 et doit utiliser le framework NFC Android Open Source Project (AOSP). Ajoutez le matériel ( ro.boot.hardware.sku
) qui prend en charge la fonctionnalité Secure NFC dans le fichier XML de ressources NFC avec l'attribut config_skuSupportsSecureNfc
.
API du framework
Pour implémenter Secure NFC, implémentez les API de framework suivantes trouvées dans le projet Android Open Source :
-
isSecureNfcSupported()
: vérifie si l'appareil prend en charge la fonctionnalité Secure NFC. -
isSecureNfcEnabled()
: Vérifie si la fonctionnalité Secure NFC est activée. -
enableSecureNfc(boolean enable)
: Active la fonctionnalité Secure NFC.
Interface utilisateur des paramètres
Dans l'application Paramètres, ajoutez un interrupteur à bascule pour permettre aux utilisateurs d'activer et de désactiver la fonction Secure NFC. Vous pouvez personnaliser le paramètre par défaut dans l'application Paramètres pour qu'il soit activé ou désactivé.
La figure 1 montre un exemple de commutateur à bascule pour activer et désactiver Secure NFC dans l'application Paramètres dans Paramètres > Appareils connectés > Préférences de connexion > NFC > Exiger le déverrouillage de l'appareil pour NFC .
Figure 1. Exemple de commutateur à bascule pour activer et désactiver Secure NFC
Lorsque Secure NFC est activé et qu'un utilisateur place l'appareil sur un lecteur NFC, Android affiche la notification Déverrouiller pour utiliser NFC sur l'écran de verrouillage, comme illustré dans la figure 2.
Figure 2. Déverrouiller pour utiliser la notification NFC sur l'écran de verrouillage
Validation
Pour valider votre implémentation, activez la fonctionnalité Secure NFC et vérifiez que l'émulation de la carte NFC est désactivée lorsque l'écran de l'appareil est éteint ou verrouillé, et lorsque l'appareil est éteint.