Android est compatible avec l'émulation de carte hors hôte, c'est-à-dire l'émulation de carte NFC avec un élément sécurisé. Pour en savoir plus, consultez Présentation de l'émulation de cartes basée sur l'hôte.
Dans certains cas d'utilisation, comme l'utilisation de FeliCa pour les transports en commun, l'émulation de carte hors hôte est autorisée lorsque l'écran d'un appareil est verrouillé ou éteint, ou lorsque l'appareil est éteint.
La NFC sécurisée 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é. L'implémentation de cette fonctionnalité permet aux utilisateurs d'activer le NFC sécurisé pour une sécurité renforcée.
Implémentation
Pour implémenter la fonctionnalité NFC sécurisé, l'appareil doit disposer d'un contrôleur NFC compatible avec la norme NCI 2.0 et utiliser le framework NFC du projet Android Open Source (AOSP). Ajoutez le matériel (ro.boot.hardware.sku
) qui prend en charge la fonctionnalité NFC sécurisé 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 disponibles dans l'Android Open Source Project :
isSecureNfcSupported()
: vérifie si l'appareil est compatible avec la fonctionnalité NFC sécurisé.isSecureNfcEnabled()
: Vérifie si la fonctionnalité NFC sécurisé est activée.enableSecureNfc(boolean enable)
: Active la fonctionnalité NFC sécurisé.
Interface utilisateur des paramètres
Dans l'application Paramètres, ajoutez un bouton bascule pour permettre aux utilisateurs d'activer et de désactiver la fonctionnalité NFC sécurisé. Vous pouvez personnaliser le paramètre par défaut dans l'application Paramètres pour l'activer ou le désactiver.
La figure 1 montre un exemple de bouton bascule permettant d'activer et de désactiver le NFC sécurisé dans l'application Paramètres, sous Paramètres > Appareils connectés > Préférences de connexion > NFC > Exiger le déverrouillage de l'appareil pour le NFC.
Figure 1 : Exemple de bouton bascule permettant d'activer et de désactiver le NFC sécurisée
Lorsque le NFC sécurisé est activé et qu'un utilisateur place l'appareil sur un lecteur NFC, Android affiche la notification Déverrouiller pour utiliser le NFC sur l'écran de verrouillage, comme illustré sur la figure 2.
Figure 2. Notification "Déverrouillez l'écran pour pouvoir utiliser le NFC" sur l'écran de verrouillage
Validation
Pour valider votre implémentation, activez la fonctionnalité NFC sécurisé et vérifiez que l'émulation de carte NFC est désactivée lorsque l'écran de l'appareil est éteint ou verrouillé, et lorsque l'appareil est éteint.